SSL/TLS 证书管理(密钥、crt 和 pem)

SSL/TLS certificate management (key, crt, and pem)

我有一个关于 TLS/SSL(自签名证书)

的问题

我正在尝试通过 TLS/SSL 使用多种工具(ncat、socat)打开连接。 当然首先我需要生成证书。 (Key是KEY,Cert是CERT,PEM是编码格式)。我找到了 2 种不同的方法。

1) openssl req -new -x509 -keyout test-key.pem -out test-cert.pem.

2) openssl req -newkey rsa:2848 -nodes -keyout test.key -x589 -out test-cert.crt
   cat test-key.key test-cert.crt > test-pem.pem

我的问题:

  1. 为什么最终我们将 CERT 与 KEY 结合起来? CERT 不应该已经有 KEY 了吗?
  2. 为什么在大多数教程中,如果证书已经有密钥,我们会发送(通过 socat/ncat 上的侦听器)密钥和证书?

(假设我们不验证证书)

感谢支持。

已解决。

Should not CERT already have KEY inside?

证书中有 public 密钥。密钥文件是 private 密钥。 public 密钥对其他人可见(证书的其余部分也是如此),私钥应保密。