我对证书文件以及如何让网站在SSL上运行有疑问。 Apache正在运行并且内置了SSL。我已经过了SSLSessionCache警告,我在这里 - 每次遇到同样的问题 - 我收到一些带有一些文件的邮件,我不知道哪个文件是什么。
我有.key,.pem和.p7b文件,我有VirtualHost配置 - 我怎么知道哪个文件是什么?
我是否需要使用openssl转换文件?
此服务器是内部服务器,证书是在我们公司发布的。
答案 0 :(得分:2)
证书是在我们公司发行的。
有什么理由不询问谁发出证书的每个文件的含义?
Apache要求密钥和证书是PEM编码的。您可以使用this tool或OpenSSL转换。 p7b到PEM。
如果不查看内容,很难知道.pem
和.key
文件中的内容。您可以尝试使用以下OpenSSL命令来检查哪一个没有失败:
# if it works, it's a CSR
openssl req -in file.pem -noout -text
# if it works, it's a certificate
openssl x509 -in file.pem -noout -text
# if it works, it's a private key
openssl rsa -in file.pem -noout -text
链接文件更容易被发现,因为它将包含一个接一个列出的几个PEM编码证书。
根据Apache版本,您可能需要也可能不需要SSLCertificateChainFile
指令。较新的版本要求您将链和服务器证书捆绑在一个文件中,并将其传递给SSLCertificateFile
。检查您的Apache版本并将其与在线文档进行比较。
假设它是旧版本:
SSLCertificateFile
指向服务器证书文件SSLCertificateChainFile
指向中间证书(如果它是自签名的,你没有它们)SSLCertificateKeyFile
指向密钥如果它是较新版本,请忽略SSLCertificateChainFile
并将服务器和链(如果有)连接到您提供给SSLCertificateFile
的单个文件中。