Question

J'essaie de créer une fausse autorité de certification et de signer un certificat à utiliser avec stunnel (qui semble appeler des routines OpenSSL, vous n'avez donc probablement pas besoin de connaître le programme pour vous aider :). Cependant, Stunnel continue de rejeter mon certificat en disant qu'il n'est pas signé avec la bonne clé!

Voici comment je génère mes clés et mes certificats avec OpenSSL:

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

Ensuite, mon fichier stunnel.conf contient les entrées suivantes:

CAfile = ca_cert.pem
key = MPS_key.pem
cert = MPS_cert.pem

Lorsque j'essaie de démarrer stunnel, j'obtiens le générique OpenSSL " la clé ne correspond pas au certificat " erreur:

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

Ai-je commis un problème en générant mes fichiers?

Était-ce utile?

La solution

Je vais résumer ce que vous avez configuré:

  1. Vous avez un "CA". certificat auto-signé.
  2. Vous avez MPS_cert, qui est auto-signé.
  3. Vous avez signé MPS_cert à l'aide de la clé de l'autorité de certification.

Si vous lisez la référence de la commande x509 d'OpenSSL ( http://openssl.org/docs /apps/x509.html ), vous verrez que le paramètre -signkey demande à OpenSSL d’auto-signer le certificat fourni avec la clé privée donnée. Ce n'est pas ce que vous voulez.

Vous souhaitez créer une autorité de certification auto-signée, puis l'utiliser pour signer votre CSR et générer un certificat valide.

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

Les options appropriées sont -CA, -CAkey et -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

Cela devrait donner lieu à un certificat signé par votre autorité de certification, lui-même auto-signé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top