首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache2 + OpenSSL证书CA

Apache2 + OpenSSL证书CA
EN

Stack Overflow用户
提问于 2012-03-27 12:01:11
回答 3查看 10.7K关注 0票数 4

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

代码语言:javascript
复制
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中。

代码语言:javascript
复制
SSLCertificateFile "C:/Apache2/conf/server.crt"
SSLCertificateKeyFile "C:/Apache2/conf/server.key"
SSLCertificateChainFile "C:/Apache2/conf/ca.crt"

然而,当我访问https://localhost时,我得到:-

安全连接失败在连接本地主机时发生错误。同侪的证书具有无效的签名。(错误代码: sec_error_bad_signature)您要查看的页面无法显示,因为无法验证接收到的数据的真实性。*请与网站所有者联络,告知他们这个问题。

有人有什么想法吗?

谢谢

普通不可信错误本地主机使用无效的安全证书。证书不受信任,因为它是自签名的。

我的CA证书错误连接到本地主机时发生了错误。同侪的证书具有无效的签名。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-27 12:34:54

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

代码语言:javascript
复制
openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr

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

代码语言:javascript
复制
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

然后,生成自签名证书。

代码语言:javascript
复制
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

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

票数 11
EN

Stack Overflow用户

发布于 2012-03-27 12:13:25

因为自签名证书没有可信的根证书颁发机构,所以需要将它们添加到浏览器的可信CA列表中。浏览器无法验证未使用的证书。

票数 1
EN

Stack Overflow用户

发布于 2012-03-27 12:13:37

这是因为这是一个自签名的证书。为了避免这条消息,您需要对自己进行验证,并从可信的CA权威机构购买证书,如Verisign、GoDaddy等。您也可以尝试从COMODO即时SSL获得免费证书。

因为您只是在本地主机上进行测试,所以不要担心警告。但在生产上,这可能会吓退你的用户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9889152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档