Я пытаюсь создать поддельный ЦС и подписать с ним сертификат для использования с stunnel (который, похоже, вызывает подпрограммы OpenSSL, поэтому вам, вероятно, не нужно знать программу, которая поможет :) Тем не менее, stunnel продолжает отклонять мой сертификат, говоря, что он не подписан правильным ключом!
Вот как я генерирую свои ключи и сертификаты с 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
Тогда мой stunnel.conf имеет следующие записи:
CAfile = ca_cert.pem
key = MPS_key.pem
cert = MPS_cert.pem
Когда я пытаюсь запустить stunnel, я получаю общую ошибку OpenSSL "ключ не соответствует сертификату":
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
Я что-то не так сделал при создании моих файлов?