【发布时间】:2020-04-17 22:53:51
【问题描述】:
我尝试使用节点 https api 来设置 https 服务器,在 api 文档中:有两个参数让我感到困惑。 加州:
可选择覆盖受信任的 CA 证书。默认是信任由 Mozilla 策划的知名 CA。当使用此选项明确指定 CA 时,Mozilla 的 CA 将被完全替换。该值可以是字符串或缓冲区,也可以是字符串和/或缓冲区数组。任何字符串或缓冲区都可以包含多个串联在一起的 PEM CA。对等方的证书必须可链接到服务器信任的 CA,才能对连接进行身份验证。当使用不能链接到知名 CA 的证书时,必须将证书的 CA 明确指定为受信任的,否则连接将无法进行身份验证。如果对等方使用的证书不匹配或链接到默认 CA 之一,请使用 ca 选项提供对等方的证书可以匹配或链接到的 CA 证书。对于自签名证书,证书是其自己的 CA,并且必须提供。对于 PEM 编码的证书,支持的类型是“TRUSTED CERTIFICATE”、“X509 CERTIFICATE”和“CERTIFICATE”。
证书:
PEM 格式的证书链。每个私钥应提供一个证书链。每个证书链应由提供的私钥的 PEM 格式证书组成,然后依次是 PEM 格式的中间证书(如果有),并且不包括根 CA(根 CA 必须预先为对等方所知,见ca)。当提供多个证书链时,它们不必与它们的私钥在 key 中的顺序相同。如果没有提供中间证书,对端将无法验证证书,握手失败。
它们之间有什么区别?正如我所想,https 系统中只有一个客户端 pem 和一个密钥 pem。为什么需要更多像 ca 和 cert 这样的东西?
我通过certbot生成pem,生成了四个文件:cert.pemchain.pemfullchain.pem
privkey.pem。 bwtween cert.pem chain.pem fullchain.pem 有什么不同?
【问题讨论】:
标签: https openssl certificate