错误的OpenSSL证书

错误的OpenSSL证书,openssl,ssl-certificate,x509certificate,stunnel,Openssl,Ssl Certificate,X509certificate,Stunnel,我试图制作一个假的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

我试图制作一个假的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“密钥与证书不匹配”错误:


生成文件时是否出错?

我将总结一下您的设置:

  • 您有一个自签名的“CA”证书
  • 您有MPS\U证书,该证书是自签名的
  • 您使用CA密钥签署了MPS\U证书
  • 如果阅读OpenSSL的x509命令()的参考,您将看到-signkey参数指示OpenSSL使用给定的私钥对提供的证书进行自签名。这不是你想要的

    您要做的是创建一个自签名CA,然后使用它来签署您的CSR并生成一个有效的证书

    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
    
    相关选项为-CA、-CAkey和-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
    
    这将产生一个由CA签名的证书,该证书本身是自签名的

    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