productsign error: SignData ist fehlgeschlagen: CSSMERR_CSP_NO_USER_INTERACTION

8

Beim Signieren einer App von einer SSH-Terminalsitzung wird der folgende Fehler angezeigt:

%Vor%

productsign hat bis vor kurzem funktioniert.

Wie komme ich zu diesem Fehler?

    
Danny Schoemann 29.04.2013, 12:56
quelle

3 Antworten

3

Ich habe es aus Versehen gelöst - nachdem ich das Internet stundenlang durchgekämmt habe - und dabei die Schritte bei der Einreichung eines Ereignisberichts mit dem Apple Support wiederholt habe.

Vom Mac (im Gegensatz zu einer SSH-Sitzung) erzeugte derselbe Befehl ein Popup, in dem um Erlaubnis gebeten wurde, auf den Schlüsselbund zuzugreifen.

Nach Auswahl von "Immer erlauben" ging das Problem verloren. Für immer.

    
Danny Schoemann 29.04.2013 12:56
quelle
3

Versuchen Sie, den Schlüsselbund von diesem Terminal zu entsperren:

%Vor%     
Alex 10.03.2015 09:28
quelle
2

Basierend auf Danny Schoemanns Antwort und meinen eigenen Recherchen fand ich eine vollständige Lösung für mich:

  1. Sie müssen sich wirklich mit Ihrem Mac-Computer anmelden, indem Sie GUI , zum ersten Mal verwenden, und alles mit dem benötigten Zertifikat signieren. Dann erhalten Sie das Anfragefenster mit der Option "Immer zulassen" um dieses Zertifikat zu verwenden (oder so ähnlich).

    • Wichtig: Wenn Sie productsign mit ssh oder einer anderen Konsolensitzung (wie Jenkins ) verwenden müssen, muss Ihr Zertifikat in system installiert werden Bereich, aber nicht in Benutzerbereich.
  2. Wenn Sie Ihr Zertifikat im Benutzerbereich behalten möchten, müssen Sie Ihren Schlüsselbund jedes Mal in der Konsolensitzung entsperren, wenn Sie etwas signieren müssen (als Alex schrieb):

    %Vor%

    Sie können es in Ihr Build-Skript einfügen.

    Offensichtliches Minus dieser Lösung - Sie müssen Ihr Passwort in einem unverschlüsselten Skript speichern, das ist unsicher, daher bevorzuge ich die erste Lösung.

Youw 11.09.2015 09:52
quelle