要使用 SSL,我使用的Web 服务器需要单个 .pem 文件 (-ssl_cert xyz.pem) 的位置
我有 GoDaddy 颁发的证书。他们给了我文件:
香蕉.crt
前面的证书请求是使用我生成的私钥创建的
香蕉键
谷歌搜索似乎表明创建 .pem 文件就像连接它们一样简单。
猫香蕉.key 香蕉.crt > 香蕉.pem
不幸的是,使用banana.pem 启动服务器并使用Safari 访问它告诉我:
颁发者:Go Daddy 安全证书颁发机构
此证书由未知机构签署
怎么了?我或 GoDaddy 在创建证书时是否搞砸了一些事情,或者我是否必须以某种方式将这里的一些东西混合到我的 .pem 文件中?
我正在访问完全最新的 OS X Leopard + Safari 安装。
根据您拥有的证书类型,转到https://certs.godaddy.com/Repository.go并下载适当的中间证书链(其中一个
.crt
文件,很可能是这个)。将其与您自己的证书和密钥一起粘贴到您的 PEM 文件中。您创建的
.pem
文件很好。如果不是,那么 HTTP 服务器不太可能启动。假设您在浏览器的受信任证书中有一个 GoDaddy 根证书,那么他们为您提供的证书就是所谓的“链式”证书。这意味着它没有直接由他们的根签名。它由一个中间 CA 签名,该 CA 本身由根签名。
为了让您的浏览器信任链式证书,它需要知道链中的所有证书。在 Apache 中,这是通过指令完成的,该
SSLCertificateChainFile
指令在 SSL 握手过程中将链中的其他证书推送到客户端。您需要在 Mongoose 中找到该指令的替代品。该手册似乎没有说明如何。您可能会发现将链证书放在 PEM 的末尾会有所帮助。
尝试使用 openssl 命令生成 pem 文件。