除了基于 .key 和 .crt 的加密之外,cakey.pem 和 cacert.pem 的作用是什么

gre*_*enV 1 encryption ssl openssl ssl-certificate public-key-encryption

我有.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
Run Code Online (Sandbox Code Playgroud)

这两个 - smtpd.key 和 smtpd.crt - 是密钥(私钥)和证书(包含公钥)。

是什么

openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Run Code Online (Sandbox Code Playgroud)

cakey.pem 和 cacert.pem 文件是什么?

Dan*_*l B 5

您不需要证书颁发机构。自签名证书本身是完全有效的。事实上,它是它自己的 CA。

如果要使用专用 CA,则需要改为smtpd.crt使用 CA进行签名。CA 用于建立信任链。如果客户端信任 CA,它会自动信任由它签名的所有证书。

这是创建自签名 CA 并使用它签署证书的指南,摘自Parallels

  • 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