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