iOS-Standardschlüsselbund für nicht privilegierte Benutzer, der zum Starten von Tomcat und Jenkins verwendet wurde

828
Chris Harris

Ich habe einen nicht privilegierten Benutzer, den ich erstellt habe, um Tomcat 8 als Dienst zu starten. Tomcat führt Jenkins aus, mit dem Jobs bereitgestellt werden, bei denen Mitglieder meines Teams eine .ipa-Datei und ein Bereitstellungsprofil hochladen und die .ipa-Datei anschließend erneut signieren können. Jenkins führt ein Shell-Skript aus, wenn die .ipa-Datei erneut signiert wird. Dieses Shellskript wurde kürzlich aktualisiert und ruft jetzt den Sicherheitsbefehl auf, was zu dem folgenden Fehler führt:

Sicherheit: Zertifikatimport fehlgeschlagen: Es wurde kein Standardschlüsselbund gefunden.

Ich muss den Standard-Schlüsselbund für meinen nicht privilegierten Tomcat-Benutzer festlegen.

Wie kann ich einem nicht privilegierten Benutzer einen Standardschlüsselbund hinzufügen oder diesen Benutzer von diesem Benutzer verwenden?

Ich bin nicht sicher, ob ich einen Befehl ausführen oder den Schlüsselbund in meiner tomcat.plist angeben muss.

1

1 Antwort auf die Frage

0
Chris Harris

Ich habe eine Problemumgehung gefunden. Ich konnte folgendes verwenden, um dynamisch einen neuen Schlüsselbund zu erstellen, dem Schlüsselbund ein Zertifikat hinzuzufügen und den Schlüsselbund später zu entfernen:

security create-keychain -p temp "temp.keychain" security add-certificates -k "temp.keychain" "ios_distribution.cer" security unlock-keychain -p temp "temp.keychain"  security cms -D -k "temp.keychain" -i "blah.mobileprovision" > <entitlements>  ...do some stuff...  security delete-keychain -h "temp.keychain" 

Wenn Sie den Schlüsselbund für einen nicht privilegierten Benutzer festlegen möchten, können Sie den folgenden Befehl verwenden:

default-keychain [-h] [-d user|system|common|dynamic] [-s [keychain]] 

Ex.

default-keychain -h "temp.keychain" 

Sie können diesen Befehl über ein Shell-Skript ausführen, das vom unprivilegierten Benutzer ausgeführt wird (wie ich es tue).

Wird die Option -h in neueren Versionen entfernt? pinkpanther vor 6 Jahren 0
@pinkpanther - man security listet -h immer noch als Flagge in High Sierra. Chris Harris vor 6 Jahren 0