wake-up-neo.net

Codesign gab unbekannten Fehler zurück -1 = ffffffffffffff

Ich habe versucht, eine iOS-Anwendung mit einem Code zu signieren, Dies sind die Schritte, die ich befolgt habe

    security create-keychain -p password ${KEYCHAIN}
    security set-keychain-settings -u -t 300 ${KEYCHAIN}
    security list-keychains -d user -s login.keychain ${KEYCHAIN}
    security import "$1" -k ${KEYCHAIN} -A -P "${PASSPHRASE}" -A >/dev/null
    security unlock-keychain -p password ${KEYCHAIN}

    /usr/bin/codesign -f -s $IDENTITY --keychain $KEYCHAIN --entitlements $ENTITLEMENTS Payload/Test.app

Dies gab mich zurück. Codesign gab den unbekannten Fehler -1 = fffffffffffffff über ssh zurück.

Wenn ich den Code-Sign-Befehl direkt in der Maschine ausführe, wird er erfolgreich signiert.

Das Problem ist nur in Mac OS Sierra.

23
Madhu Avinash

Hatte vor einer Weile dasselbe Problem und fügte hinzu 

security set-key-partition-list -S Apple-tool:,Apple:,codesign: -s -k password ${KEYCHAIN}

hat es für mich gelöst.

21
Gereon

Dasselbe Problem, aber während der Archivierung direkt von Xcode . Freigabe der Lösung für den Fall, dass es hilfreich ist.

Manchmal scheint der Schlüsselbund in einem beschädigten Zustand zu enden. Verwenden Sie auch MacOS Sierra.

Symptome: 

Relogin musste nach dem Neustart von Xcode auf Konten zugreifen  Relogin needed to access Accounts after restarting Xcode

Aufforderung zur Eingabe eines Kennworts während der Verwendung von Keychain Access für einige Vorgänge  Prompting for password while using Keychain Access for some operations

Schlüsselbundzugriff - Fehler beim Zugriff auf den Anmeldeschlüsselbund über Einstellungen für Schlüsselbund ändern ...  Keychain Access - Error while accessing login keychain via Change Settings for Keychain ...

Für mich ist das Sperren und Entsperren (Kennwort erforderlich) des betroffenen Schlüsselbunds login in meinem Fall ein Problem.

20
Romano

Ich werde einsteigen und ich musste noch ein paar mehr Dinge ausprobieren als die hier genannten: Das Problem war, dass der Schlüsselbund SSH-Sitzungen nicht mag. Ich musste diese in meiner Sitzung ausführen, um das Problem zu beheben:

security unlock-keychain -p MY_PASS ~/Library/Keychains/login.keychain
security set-key-partition-list -S Apple-tool:,Apple:,codesign: -s -k MY_PASS ~/Library/Keychains/login.keychain
security set-keychain-settings ~/Library/Keychains/login.keychain

Ich habe auch meine aktuellen Zertifikatssystem-/Kontozertifikate entfernt, indem ich mein Konto aus XCode entfernte (ich benutze fastlane, um zu bauen), aber ich habe den Verdacht, dass dies keinen Einfluss auf das Zertifikat hatte.

6
Tadas Šubonis

@madhu Ich habe versucht, dasselbe Problem zu beheben, und festgestellt, dass die Zugriffskontrolle für den mit dem fraglichen Zertifikat verknüpften Schlüssel auf "Bestätigen, bevor der Zugriff zugelassen wurde" eingestellt war. Dies funktionierte in Jenkins nicht. Ich habe es geändert (über Keychain Access gui - Informationen abrufen, Zugriffskontrolle) auf "Allen Anwendungen den Zugriff auf dieses Element erlauben" und mein Build war erfolgreich.

5
Simon H

Möglicherweise haben Sie eine Datei wie p12 von KeyChain exportiert. Wenn das Betriebssystem Sie nach Ihrem Root-Kennwort gefragt hat und Sie es verweigert haben, wird der Xcode-Code einen Fehler mit diesen Informationen codieren. 

Wenn dies der Fall ist, sollten Sie die obige Aktion wiederholen, Ihr Kennwort eingeben und auf "Erlauben" klicken, und dann ist das Code-Zeichen in Ordnung.

2
Dan Lee

Dies geschieht in einem Headless-Build, da die Eingabeaufforderung für den Schlüsselzugriff nicht angezeigt oder beantwortet werden kann. Die Lösung besteht darin, die Anzeige dieser Eingabeaufforderung zu verhindern, indem Sie den Schlüssel im Voraus erteilen.

Öffnen Sie Keychain Access, suchen Sie den Schlüssel für Ihr Signaturzertifikat (login-> Certificates, erweitern Sie dann das Zertifikat, um seinen Schlüssel anzuzeigen). Klicken Sie mit der rechten Maustaste auf den Schlüssel, und wählen Sie: Informationen abrufen -> Zugriffskontrolle, und wählen Sie "Allen Anwendungen den Zugriff auf dieses Objekt erlauben". 

2
pmacro

Ich habe fast alle bestehenden Vorschläge über das Web ausprobiert, keiner hat geholfen ...

Schließlich das Provisioning-Profil (für AdHoc) nur neu generieren, erneut herunterladen und in ~/Library/MobileDevice/Provisioning Profiles/ setzen, wobei das vorhandene überschrieben wird, das hat mein Leben gerettet.

AppStore Build war übrigens die ganze Zeit erfolgreich, daher lag das Thema definitiv im AdHoc-Profil (ziemlich seltsam, da es auf jeden Fall Nizza aussah).

0
RAM237

Obwohl wir die richtigen Zertifikate im Schlüsselbund und das richtige Bereitstellungsprofil unter ~/Library/MobileDevices/Provisioning Profiles installiert haben. 

Wir können auch sehen 

unknown error -1=ffffffffffffffff

Für diesen Fehler habe ich die folgenden Schritte ausgeführt, um das Problem zu beheben:

  1. Starten Sie die Maschine neu, entsperren Sie den Schlüsselbund mit "Entriegelungsschlüssel sichern", und sperren Sie den Schlüsselbund wieder
  2. Entfernen Sie den Ordner ~/Library/Developer/Xcode/DerivedData.
  3. Führen Sie carthage bootstrap --platform iOS aus
  4. Öffnen Sie den Quellcode, indem Sie den Arbeitsbereich synchronisieren, und führen Sie "xattr -rc" aus. dann öffnen Sie die .xcodeproject-Datei in xcode. 
  5. Automatisches Signieren für jedes Ziel aktiviert. Sie müssen sich mit gültigen Anmeldeinformationen anmelden.
  6. Klicken Sie unter Signatur auf das Bereitstellungsprofil. 
  7. entsperren Sie den Schlüsselbund wieder
  8. Ändern des Buildgeräts in Generic Devices unter Produkt -> Reinigen, dann Produkt -> Archiv
  9. Es wird ein Zugriff auf den Schlüsselbund angezeigt, klicken Sie auf "Immer zulassen".
  10. Sie sollten sicherstellen, dass das Archiv erfolgreich ist, und dann den Jenkins-Job erneut auslösen. 
0
Its not blank