【问题标题】:SSL/TLS certificate management (key, crt, and pem)SSL/TLS 证书管理(密钥、crt 和 pem)
【发布时间】:2021-02-06 19:15:08
【问题描述】:

我对 TLS/SSL(自签名证书)有疑问

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

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 上的侦听器)发送带证书的密钥?

(假设我们不验证证书)

感谢支持。

已解决。

【问题讨论】:

  • 据我了解,test-crt.crt 文件不包含密钥本身。所以这是一个误解。抱歉误导了,这是因为教程不好。
  • 评论不是回答问题的地方——即使它是你自己的。如果你觉得这个问题毫无价值并且没有必要正确回答它,那么就删除它。

标签: ssl openssl tls1.2 netcat socat


【解决方案1】:

CERT 里面不应该已经有 KEY 了吗?

证书里面有 public 密钥。密钥文件是 private 密钥。公钥对其他人可见(与证书的其余部分一样),私钥应保密。

【讨论】:

  • cat test-key.key test-cert.crt > test-pem.pem ---- 那么这个命令的目的是什么?为什么我们将私钥与证书连接起来?在我们生成它们之后将它们单独提供给 socat-ncat 是否合乎逻辑?
  • @LORDNIGHTSHIELD:它实际上通常作为单独的参数给出。例如 socat 有一个 keycert 参数。只有当没有明确给出key 时,它才会查看cert 给出的文件,不仅针对证书,还针对密钥。
猜你喜欢
  • 2020-01-17
  • 2011-10-19
  • 2011-08-17
  • 2021-02-09
  • 2019-02-15
  • 2012-08-16
  • 1970-01-01
  • 2013-01-02
  • 1970-01-01
相关资源
最近更新 更多