CA Signed Cert安装在另一台机器上CSR

时间:2018-03-29 23:14:06

标签: openssl certificate self-signed ca

我有另一台机器生成的CSR,我使用本地CA设置将CSR用于CA签名。我执行时

    openssl verify /root/tmp/tmp/cacert.pem /root/tmp/servercert105.pem
/root/tmp/tmp/cacert.pem: C = US, ST = CA, L = orris, O = HOLO, OU = Nt, CN = x.x.x.x, emailAddress = nh@hl.com
error 18 at 0 depth lookup:self signed certificate
OK
/root/tmp/servercert105.pem: C = US, ST = CA, L = Morris, O = CM, OU = 3009, CN = 0000010
error 20 at 0 depth lookup:unable to get local issuer certificate
 openssl verify -CAfile /root/tmp/tmp/cacert.pem /root/tmp/servercert105.pem
  

/root/tmp/servercert105.pem:好的

这是root签名的,没有中间证书。我在没有-CAfile选项的情况下尝试过这个预期的错误吗?

1 个答案:

答案 0 :(得分:0)

是。

执行openssl verify -CAfile x y时,意味着:

  • 使用文件x中的证书作为可信CA证书验证文件y中的(单个或第一个)证书

由于您的servercert105由(1)您的cacert签名,因此成功。

(1)从技术上讲,子CA通过父CA的私钥进行签名,并通过与私钥匹配的父CA的证书进行验证,父证书本身也经过验证或明确信任。我们通常通过说孩子是由父证书签名来简化这一点。

执行openssl verify x y时,意味着:

  • 首先,使用系统默认信任库验证文件x中的(单个或第一个)证书

  • 然后,使用系统默认信任库验证文件y中的(单个或第一个)证书

这些步骤是独立且独立的。显然,您的默认信任库没有安装cacert,所以:

  • 验证针对默认信任库自签名的cacert失败,因为它不在信任库中,因此验证错误18

  • 针对默认信任库验证servercert105失败,因为其父级不在信任库中,因此验证错误20