Apache2 + OpenSSL,证书CA.

TSU*_*SUK 4 openssl apache2 certificate

我使用以下命令创建了自签名服务器证书,私有服务器密钥和证书颁发机构自己的证书.

openssl genrsa -out ca.key 2048
openssl req -config openssl.cnf -new -x509 -days 365 -key ca.key -out ca.crt
openssl genrsa -out server.key 2048
openssl req -config openssl.cnf -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
Run Code Online (Sandbox Code Playgroud)

然后我使用下面的内容将它们添加到httpd-ssl.conf中.

SSLCertificateFile "C:/Apache2/conf/server.crt"
SSLCertificateKeyFile "C:/Apache2/conf/server.key"
SSLCertificateChainFile "C:/Apache2/conf/ca.crt"
Run Code Online (Sandbox Code Playgroud)

但是,当访问https:// localhost时,我得到: -

安全连接失败连接到localhost期间发生错误.同行的证书签名无效.(错误代码:sec_error_bad_signature)无法显示您尝试查看的页面,因为无法验证接收数据的真实性.*请与网站所有者联系,告知他们这个问题.

任何人的想法?

谢谢

正常的不受信任的错误 localhost使用无效的安全证书.证书不受信任,因为它是自签名的.

我的CA证书错误 连接到localhost期间发生错误.同行的证书签名无效.

Pie*_*ier 11

尝试以这种方式重新生成证书:

openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
Run Code Online (Sandbox Code Playgroud)

然后,从服务器证书中删除密码,以避免Apache每次重新启动时都会询问密码:

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
Run Code Online (Sandbox Code Playgroud)

然后,生成您的自签名证书

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Run Code Online (Sandbox Code Playgroud)

之后,只需指定SSLCertificateFileSSLCertificateKeyFile使用您的新证书.