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

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

Ich habe einen nicht privilegierten Benutzer erstellt, um Tomcat 8 als Dienst zu starten. Tomcat führt Jenkins aus, das verwendet wird, um Jobs bereitzustellen, bei denen Mitglieder meines Teams eine IPA-Datei und ein Bereitstellungsprofil hochladen und die IPA-Datei dann erneut signieren können. Jenkins führt jedes Mal, wenn es die IPA-Datei erneut signiert, ein Shell-Skript aus. Dieses Shell-Skript wurde kürzlich aktualisiert und ruft jetzt den Sicherheitsbefehl auf, was zu folgendem Fehler führt:

Sicherheit: Zertifikatimport fehlgeschlagen: Es konnte kein Standardschlüsselbund gefunden werden.

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

Wie kann ich einem nicht privilegierten Benutzer einen Standardschlüsselbund hinzufügen oder diesen Benutzer dazu bringen, diesen Schlüsselbund zu verwenden?

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

Antwort1

Ich habe einen Workaround 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 von einem Shell-Skript aus ausführen, das von einem nicht privilegierten Benutzer ausgeführt wird (wie ich es tue).

verwandte Informationen