Apache2&x2B;OpenSSL,证书CA

Apache2&x2B;OpenSSL,证书CA,apache2,openssl,certificate,Apache2,Openssl,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.c

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

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
然后,我使用下面的命令将它们添加到httpd-ssl.conf

SSLCertificateFile "C:/Apache2/conf/server.crt"
SSLCertificateKeyFile "C:/Apache2/conf/server.key"
SSLCertificateChainFile "C:/Apache2/conf/ca.crt"
然而,当我访问时,我得到:-

安全连接失败连接到时出错 本地主机。对等方的证书具有无效的签名。(错误代码: sec_错误\u错误\u签名)无法删除您试图查看的页面 显示,因为无法确定接收数据的真实性 已证实的 *请联系网站所有者,告知他们此问题

有什么想法吗

谢谢

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

我的CA证书错误 连接到本地主机时出错。
对等方的证书具有无效签名。

因为自签名证书没有受信任的根证书颁发机构,您需要将其添加到浏览器的受信任CA列表中。浏览器无法验证不可信的证书。

这是因为它是自签名证书。要避免此消息,您需要验证自己,并从可信的CA机构(如Verisign、GoDaddy等)购买证书。 您也可以从中尝试免费证书


因为您只是在localhost上测试,所以不要担心警告。但在生产过程中,这可能会吓跑您的用户。

请尝试以以下方式重新生成您的证书:

openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
然后,从服务器证书中删除密码短语,以避免Apache在每次重新启动时询问密码:

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
然后,生成自签名证书

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

之后,只需指定
SSLCertificateFile
SSLCertificateKeyFile
即可使用新证书。

通常在非CA不受信任的证书上,我会得到错误代码:sec\u Error\u untrusted\u issuer,但错误代码:sec\u Error\u bad\u签名不允许我添加异常。你能看到我是否犯了配置错误吗?我想我的错误可能是配置错误,而不是我的证书是自签名的。我从未将SSLCertificateChainFile“C:/Apache2/conf/ca.crt”用于自签名证书,但如果我不使用ca.crt并生成非ca crt,它将非常有效。生成证书时使用了什么通用名称(CN)?对于服务器和ca,我都使用localhost