我正在尝试制作一个假 CA 并用它签署一个证书以与 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
我在生成文件时做错了吗?