我有.key
一个包含私钥数据的文件,.crt
一个带有公钥的证书文件,据我所知,这就是公钥加密,对吗?
不完全是。为了实现我的目标,我还必须生成 cakey.pem 和 cacert.pem,但我不知道它们是做什么用的。
我有一个使用 Postfix MTA 设置 TLS 的示例。
我愿意:
openssl genrsa 1024 > smtpd.key
openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt
这两个 - smtpd.key 和 smtpd.crt - 是密钥(私钥)和证书(包含公钥)。
是什么
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
cakey.pem 和 cacert.pem 文件用于什么?
答案1
你不需要证书颁发机构自签名证书本身完全有效。事实上,它是自己的 CA。
如果您想使用专用 CA,则需要使用smtpd.crt
该 CA 进行签名。CA 用于建立信任链。如果客户端信任 CA,则它会自动信任由该 CA 签名的所有证书。
以下是创建自签名 CA 并使用它签署证书的指南,摘自相似之处:
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -days 3650 -out rootCA.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 730