Um zu validieren, ob ein Schlüssel und ein Zertifikat miteinander matchen, muss man einfach den Inhalt von Zertifikat und Schlüssel miteinander vergleichen:
openssl x509 -in file.pem -noout -text
openssl rsa -in file.key -noout -text
Hier gibt es bei beidem eine Sektion „Modulus“. Wenn diese identisch ist, passen Zertifikat und Schlüssel zueinander, ansonsten nicht.
Beispiel:
Cert1
openssl genrsa -out test1.key 2048
openssl req -x509 -new -nodes -key test1.key -sha256 -days 365 -out test1.pem
Cert2
openssl genrsa -out test2.key 2048
openssl req -x509 -new -nodes -key test1.key -sha256 -days 365 -out test2.pem
Vergleich:
Wenn man nun die Modulus Sektion von Key1 und Cert1 vergleicht:
openssl x509 -in test1.pem -noout -text
openssl rsa -in test1.key -noout -text
sollte dies übereinstimmen, das selbe wäre auch bei Key2 und Cert2 der Fall.
Key1 und Cert2 sowie umgekehrt Key2 und Cert1 sollten aber ungleiche Modulus Sektionen aufweisen:
openssl x509 -in test1.pem -noout -text
openssl rsa -in test2.key -noout -text