Bad OpenSSL Zertifikat
-
05-07-2019 - |
Frage
Ich versuche, ein gefälschten CA zu machen und ein Zertifikat signieren mit es mit stunnel zu verwenden (das scheint nur OpenSSL Routinen zu rufen, so dass Sie wahrscheinlich das Programm nicht wissen müssen, helfen :). Allerdings hält stunnel mein Zertifikat Ablehnung sagen, dass es nicht mit dem richtigen Schlüssel!
unterzeichnetDies ist, wie ich meine Schlüssel und Zertifikate mit OpenSSL zu erzeugen:
openssl genrsa -out ca_key.pem 1024
openssl req -config ./root2.cfg -new -sha1 -x509 -key ca_key.pem -out ca_cert.pem -subj "/CN=blah.blah.com/OU=Dev blah CA/C=CA/ST=blah/L=blah/O=Blah Software"
openssl genrsa -out MPS_key.pem 1024
openssl req -config ./MPS2.cfg -new -sha1 -key MPS_key.pem -out MPS_cert_req.pem -subj "/CN=blah.blah.com/OU=blah Certificate/C=CA/ST=blah/L=blah/O=Blah Software"
openssl x509 -req -in MPS_cert_req.pem -signkey ca_key.pem -out MPS_cert.pem -extensions MPS_ext
Dann ist mein stunnel.conf hat diese Einträge:
CAfile = ca_cert.pem
key = MPS_key.pem
cert = MPS_cert.pem
Wenn ich versuche, und starten Sie stunnel ich die generische OpenSSL „Key-Zertifikat nicht übereinstimmt“ Fehler:
2009.09.09 16:36:04 LOG3[492:172]: SSL_CTX_use_RSAPrivateKey_file: B080074: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
Habe ich etwas falsch gemacht meine Dateien zu generieren?
Lösung
Ich werde zusammenfassen, was Sie haben Setup:
- Sie haben ein "CA" Zertifikat, das selbstsignierte ist.
- Sie haben MPS_cert, die selbstsignierten ist.
- Sie haben sich MPS_cert die CA-Taste.
Wenn Sie die Referenz für OpenSSL x509 Befehl lesen ( http://openssl.org/docs /apps/x509.html ) Sie werden sehen, dass der -signkey Parameter OpenSSL weist selbst unterzeichnen das mitgelieferte Zertifikat mit dem angegebenen privaten Schlüssel. Dies ist nicht , was Sie wollen.
Was möchten Sie tun ist ein selbst signiertes CA erstellen und dann verwenden, um Ihre CSR zu unterzeichnen und ein gültiges Zertifikat generieren.
openssl verify ca_cert.pem
ca_cert.pem: /CN=blah.blah.com/OU=Dev blah CA/C=CA/ST=blah/L=blah/O=Blah Software
error 18 at 0 depth lookup:self signed certificate
OK
openssl verify MPS_cert.pem
MPS_cert.pem: /CN=blah.blah.com/OU=blah Certificate/C=CA/ST=blah/L=blah/O=Blah Software
error 18 at 0 depth lookup:self signed certificate
OK
Die entsprechenden Optionen sind -CA, -CAkey und -set_serial
openssl x509 -CA ca_cert.pem -CAkey ca_key.pem -set_serial 1 -req -in MPS_cert_req.pem -out MPS_cert2.pem -days 365
Dies sollte in einem Zertifikat führen, die von Ihrer CA signiert ist, die selbst selbstsignierten.