什么是.crt 和 .key 文件以及如何生成它们?

什么是.crt 和 .key 文件以及如何生成它们?

我有以下配置:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

但我不知道如何生成.crt.key文件。

答案1

韓規和密钥文件代表证书的两个部分,密钥是证书的私钥,crt是签名的证书。

这只是生成证书的方法之一,另一种方法是将两者都放在 pem 文件中,或者将另一个放在 p12 容器中。

您可以通过多种方式生成这些文件,如果您想自行签署证书,只需发出以下命令即可

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

请注意,使用自签名证书时,您的浏览器将警告您该证书不“受信任”,因为它尚未由浏览器信任列表中的证书颁发机构签名。

从那时起,您可以通过创建 CA 来生成自己的信任链,或者从 Verisign 或 Thawte 等公司购买证书。

答案2

这些是 SSL 证书的公共部分 (.crt) 和私有部分 (.key)。请参阅这个问题获取大量相关信息,例如,如果您想自己生成证书或购买证书。

答案3

这是一个非常古老的帖子,但我刚刚做了这个:

openssl req -x509 -newkey rsa:4096 -keyout private_key.pem -out public_key.crt -days 365 -nodes -subj '/CN=issuer'

相关内容