我具有以下配置:

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和密钥文件代表证书的两个部分,key是证书的私钥,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等公司购买证书。

评论


运行“ openssl genrsa 1024> host.key”后,我在终端中收到了这个信息:“ e is 65537(0x10001)”是错误吗?

–穆罕默德·阿里·阿克巴里(Mohammad Ali Akbari)
2011年1月19日上午10:18

是的,这意味着openssl不能将随机种子写入它使用的默认文件,该文件由openssl.cnf定义,默认情况下,在CentOS / RHEL中,此文件位于/etc/pki/tls/openssl.cnf中。在这种情况下,请尝试执行与root用户相同的命令,并查看其运行方式。

–lynxman
2011年1月19日上午10:29

我以root身份尝试,但再次得到“ e是65537(0x10001)”

–穆罕默德·阿里·阿克巴里(Mohammad Ali Akbari)
2011年1月19日上午10:37

您的计算机上是否激活了SELinux?检查/ var / log / messages以查看为什么openssl无法写入文件

–lynxman
2011年1月19日上午10:38

letsencrypt.org是免费的ssl提供程序。看一下它,而不是向那些公司付很多钱。

– Kaan
18-09-13在12:00

#2 楼

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

评论


基本问题,但是-我想将CSR文件上传到ssl提供程序时,应该将.key文件复制到〜/ .ssh文件夹中?

– Qasim
17年1月6日在6:11

@Qasim SSL文件与SSH无关(.ssh文件夹属于SSH)​​。

– Volker Stolz
17年2月7日在10:30