Suchen Sie unter "Schlüsselbund" unter OS X nach passenden öffentlichen und privaten Schlüsseln

14

Ich habe ein paar Schlüssel, die mit den gleichen Namen generiert worden zu sein scheinen. Ich möchte wissen, welcher öffentliche Schlüssel mit welchen privaten Schlüsseln übereinstimmt, damit ich sie umbenennen / löschen kann. Ist dies wichtig (um den öffentlichen Schlüssel herum) oder wird jedes Mal, wenn Sie ein Zertifikat anfordern, ein öffentlicher Schlüssel generiert?

ACBurk
quelle
Konnten Sie dafür eine Lösung finden? Ich habe das gleiche Problem und kann anscheinend keine Antwort finden.
Axeva
Nein habe ich nicht. Die beste Lösung, die ich gefunden habe, ist, ihnen zunächst nur einen eindeutigen Namen zu geben.
ACBurk
Ja, das ist nicht besonders hilfreich, nachdem wir den Fehler gemacht haben, sie nicht richtig zu benennen. ;) Ich habe Rumpelgeräusche gesehen, die darauf hindeuten, dass das OpenSSL-Befehlszeilentool möglicherweise helfen kann, aber ich habe noch nicht herausgefunden, wie.
Axeva

Antworten:

12

Ich schätze, Sie haben Ihr Problem umgehen können, da dies ein alter Thread ist, aber ich schreibe nur eine Antwort für eine spätere Bezugnahme.

Die Grundidee ist, Ihre privaten und öffentlichen Schlüssel zu exportieren und mit openssl deren Modul anzuzeigen. Übereinstimmende private / öffentliche Schlüssel haben den gleichen Modul.

So sehen Sie den Modul eines privaten Schlüssels:

  1. Exportieren Sie in Keychain Access Ihren privaten Schlüssel und wählen Sie das Dateiformat "Personal Information Exchange (.p12)". Dadurch wird eine .p12-Datei erstellt.

  2. Starten Sie ein Terminal und konvertieren Sie Ihre .p12-Datei mit openssl in eine .pem-Datei:

    openssl pkcs12 -in key.p12 -out key.pem -nodes
    
  3. Verwenden Sie openssl, um den Modul des privaten pem-Schlüssels anzuzeigen:

    openssl rsa -in key.pem -modulus -noout
    

So sehen Sie den Modul eines öffentlichen Schlüssels:

  1. Exportieren Sie in Keychain Access Ihren öffentlichen Schlüssel und wählen Sie das Dateiformat "Privacy Enhanced Mail (.pem)". Dadurch wird eine PEM-Datei erstellt.

  2. Diese .pem-Datei ist eine PKCS # 1-PEM-Datei (mit einem Header -----BEGIN RSA PUBLIC KEY-----), während openssl nur PKCS # 8-PEM (mit einem Header -----BEGIN PUBLIC KEY-----) lesen kann . Öffnen Sie also Ihren exportierten öffentlichen Schlüssel in TextEdit, entfernen Sie das RSABit aus der Kopf- und Fußzeile und speichern Sie die Änderungen.

  3. Verwenden Sie openssl, um den Modul des öffentlichen PEM-Schlüssels anzuzeigen:

    openssl rsa -pubin -in pubkey.pem -modulus -noout
    

Beachten Sie auch, dass Sie auch Ihre öffentlichen Schlüssel löschen und sie aus den privaten Schlüsseln neu erstellen können (auf diese Weise können Sie sicher sein, dass Ihre Paare übereinstimmen). Verwenden Sie den folgenden Befehl openssl, um den passenden öffentlichen Schlüssel aus einem privaten Schlüssel zu erstellen:

openssl rsa -in key.pem -pubout -out pubkey.pem
quentinadam
quelle
1
Danke, alte Frage, aber es scheint immer ein Problem zu sein, also ist es schön, endlich eine gute Lösung zu haben.
ACBurk
1
Genial, genau das, wonach ich gesucht habe. Danke für die gute Beschreibung.
Baza207
Ich habe diese Frage gerade noch einmal auf SuperUser gestellt, aber ich hatte das große Glück, diese bereits gegebene Antwort zu entdecken.
Tom Pace