Left Up Right Openssl

Verifizieren, daß ein privater Schlüssel zu einem CRT passt

Der private Schlüssel enthält mehrere Zahlen. Zwei von ihnen bilden den privaten Schlüssel, die anderen sind teil des öffentlichen. Die Bits des öffentlichen Schlüssels sind auch im Zertificat eingebunden (die aus dem CSR stammen)

Um nun zu schauen, ob öffentlichen Schlüssel nun zu dem im CRT passt, muß man beide anschauen und die zahlen vergleichen. Dies kann man mit folgenden Komandos tun:

$ openssl x509 -noout -text -in server.crt
$ openssl rsa -noout -text -in server.key

Der `modulus' und der `public exponent' Teil im Schlüssel und im Zertifikat müssen übereinstimmen.

Da aber der öffentliche Exponent gewöhnlich 65537 und es erschöpfend ist, den langen Modulus zu vergleichen, kann man folgenden Trick verwenden:

$ openssl x509 -noout -modulus -in server.crt | openssl md5
$ openssl rsa -noout -modulus -in server.key | openssl md5

Dann vergleiche man die nun wirklich kürzeren Zahlen. Mit sehr großer Wahrscheinlichkeit unterscheiden sie sich, wenn auch die Schlüssel unterschiedlich sind.

Genauso kann man überprüfen, zu welchem Schlüssel oder Zertifikat ein CSR gehört:

$ openssl req -noout -modulus -in server.csr | openssl md5


Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber