apache的证书文件 - crt,pem,key,p7b ...我迷路了

时间:2016-01-26 08:19:40

标签: apache ssl

我对证书文件以及如何让网站在SSL上运行有疑问。 Apache正在运行并且内置了SSL。我已经过了SSLSessionCache警告,我在这里 - 每次遇到同样的问题 - 我收到一些带有一些文件的邮件,我不知道哪个文件是什么。

我有.key,.pem和.p7b文件,我有VirtualHost配置 - 我怎么知道哪个文件是什么?

  • SSLCertificateFile?
  • SSLCertificateKeyFile< - .key(我认为)
  • SSLCertificateChainFile?

我是否需要使用openssl转换文件?

此服务器是内部服务器,证书是在我们公司发布的。

1 个答案:

答案 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的单个文件中。