2016-05-02 5 views
0

Im Rahmen der Einrichtung selbstsignierter SSL auf einem lokalen Server möchte ich die Schritte automatisieren, um ein Zertifikat zum Standard-Schlüsselbund hinzuzufügen und OS X-Schlüsselbund zu setzen "Immer vertrauen" statt "Systemstandards verwenden".Hinzufügen und Vertrauen eines Zertifikats zum Standard-OS X-Schlüsselbund mit Ruby

Ich habe die Cert-Erstellung und den Zusatz zum Keychain in Ordnung, aber ich kann nicht scheinen, die richtigen Flags zu finden, um OS X zu sagen, immer dem Cert zu vertrauen. Hier ist, was ich verwende:

def trust(cert) 
    default_keychain = `security default-keychain`.chomp.strip.gsub '"', '' 
    system "security -l add-trusted-cert -r trustRoot -p ssl -k #{default_keychain} #{cert_location}" 
end 

Da ich nicht die -d Flags verwendet, es ist wahrscheinlich nicht notwendig, die Arbeit in default_keychain zu tun, aber das ist nicht die Ursache des Problems.

Irgendwelche Ideen?

Antwort

0

Stellt sich heraus, dass es das falsche Argument für die -r Flagge war. trustRoot wird für Stammzertifikate verwendet. Dies ist nicht der Typ des von mir bereitgestellten Zertifikats. Die Verwendung von trustAsRoot funktioniert wie erwartet, immer dem Zertifikat vertrauen. Dies eskaliert security, um das Benutzerpasswort zu benötigen, aber ich kann damit leben.

Verwandte Themen