security — Schlüsselbund und Zertifikate verwalten

Praxis-Guide zum macOS-Tool security — Passwörter, Zertifikate, Signier-Identitäten und Schlüsselbünde bequem im Terminal verwalten.

Das security-Kommando ist die Kommandozeilen-Schnittstelle zu den macOS-Schlüsselbünden (Keychains). Damit fragst du Passwörter, Zertifikate, Schlüssel und Signier-Identitäten ab, legst sie an oder löschst sie – alles aus dem Terminal heraus, ohne die grafische Schlüsselbundverwaltung zu öffnen. Das macht es ideal für Skripte, CI-Builds und Code-Signing-Workflows. Dieser Guide zeigt dir die wichtigsten Unterbefehle für den Alltag: vom Schlüsselbund-Handling über Passwort- und Zertifikatsverwaltung bis zu Code-Signierung und Vertrauensketten.

Schlüsselbund-Verwaltung

security list-keychains — Listet alle Schlüsselbünde in der Suchliste auf.

security list-keychains

security default-keychain — Zeigt den Standard-Schlüsselbund an.

security default-keychain

security create-keychain <name> — Erstellt einen neuen Schlüsselbund.

security create-keychain mykeys.keychain-db

security delete-keychain <name> — Löscht einen Schlüsselbund.

security delete-keychain mykeys.keychain-db

security lock-keychain — Sperrt den Standard-Schlüsselbund.

security lock-keychain

security unlock-keychain <name> — Entsperrt einen Schlüsselbund (fragt das Passwort ab).

security unlock-keychain login.keychain-db

Passwörter

security find-generic-password -s '<service>' -w — Findet ein Passwort über den Dienstnamen und gibt es aus.

security find-generic-password -s 'MyApp' -w

security find-generic-password -a '<account>' -s '<service>' -w — Findet ein Passwort über Konto und Dienst.

security find-generic-password -a 'admin' -s 'MyDatabase' -w

security add-generic-password -a '<account>' -s '<service>' -w '<password>' — Fügt dem Schlüsselbund ein Passwort hinzu.

security add-generic-password -a 'admin' -s 'MyDatabase' -w 'secret123'

security delete-generic-password -s '<service>' — Löscht ein Passwort aus dem Schlüsselbund.

security delete-generic-password -s 'MyApp'

security find-internet-password -s '<server>' -w — Findet ein Internet-Passwort (von Browsern usw. gespeichert).

security find-internet-password -s 'github.com' -w

security add-internet-password -a '<account>' -s '<server>' -w '<password>' — Fügt dem Schlüsselbund ein Internet-Passwort hinzu.

security add-internet-password -a 'user@example.com' -s 'mail.example.com' -w 'pass123'

Zertifikate

security find-certificate -a — Listet alle Zertifikate im Standard-Schlüsselbund auf.

security find-certificate -a

security find-certificate -c '<name>' -p — Findet ein Zertifikat über den Common Name und exportiert es (PEM-Format).

security find-certificate -c 'Apple Development' -p

security import <file> -k <keychain> — Importiert ein Zertifikat oder einen Schlüssel in einen Schlüsselbund.

security import cert.p12 -k login.keychain-db

security import <file> -k <keychain> -T /usr/bin/codesign — Importiert das Zertifikat und erlaubt codesign dessen Nutzung.

security import cert.p12 -k login.keychain-db -T /usr/bin/codesign

security export -k <keychain> -t certs -o <file> — Exportiert alle Zertifikate aus einem Schlüsselbund.

security export -k login.keychain-db -t certs -o certs.pem

Code-Signierung

security find-identity -v -p codesigning — Listet gültige Code-Signing-Identitäten auf.

security find-identity -v -p codesigning

security find-identity -v — Listet alle gültigen Identitäten auf.

security find-identity -v

security cms -D -i <file> — Dekodiert eine signierte CMS-Nachricht.

security cms -D -i signed.p7

Vertrauen und Verifizierung

security verify-cert -c <cert> — Prüft die Vertrauenskette eines Zertifikats.

security verify-cert -c cert.pem

security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <cert> — Fügt systemweit ein vertrauenswürdiges Stammzertifikat hinzu.

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ca-cert.pem

security remove-trusted-cert -d <cert> — Entfernt ein vertrauenswürdiges Zertifikat.

sudo security remove-trusted-cert -d ca-cert.pem

security dump-trust-settings — Zeigt die Vertrauenseinstellungen für Zertifikate an.

security dump-trust-settings

Fazit

Das security-Tool bündelt den kompletten Schlüsselbund-Zugriff in einem einzigen Kommando und ist damit unverzichtbar, sobald Passwörter, Zertifikate oder Signier-Identitäten skriptgesteuert verwaltet werden müssen – etwa in CI-Pipelines, die App-Bundles signieren. Geh aber bewusst mit den heiklen Stellen um: find-generic-password -w und find-internet-password -w geben das Passwort im Klartext auf der Konsole aus – es landet damit schnell in der Shell-History oder in CI-Logs. delete-keychain und die delete-*-password-Befehle sind unwiderruflich, und ein entsperrter Schlüsselbund bleibt offen, bis du ihn wieder sperrst. Sperre Schlüsselbünde nach getaner Arbeit also wieder und gib -w '<password>' möglichst über eine Variable statt im Befehl direkt an.

Verwandte Kommandos

  • caffeinate – verhindert, dass der Mac in den Ruhezustand wechselt
  • defaults – liest und schreibt macOS-Benutzereinstellungen
  • diskutil – verwaltet Festplatten, Volumes und Partitionen