我有以下配置:
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'