我正在为Intranet构build一个openssl证书颁发机构。
我有root.crt
,由root签名的intermediate.crt和由中间者签名的server.crt
。
我可以根据根来validation中间件
#> openssl verify -CAfile root.crt intermediate.crt && echo ok ok
在Ubuntu上,我可以安装根证书
#> mv root.crt /usr/local/share/ca-certificates/my-root.crt #> update-ca-certificates Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. done.
但是,如果我试图validation服务器对中间,它失败
#> openssl verify -CAfile intermediate.crt server.crt && echo ok error 2 at 1 depth lookup:unable to get issuer certificate
我认为这意味着它不能validation完整的链server.crt -> intermediate.crt -> my-root.crt
。
我已经使用openssl x509 -noout -text
手动检查了证书,它们看起来没问题: server.crt
Issuer
者匹配中间证书的主题,另外两个匹配根,date在正确的范围内。
目标是在应用程序中分发服务器和中间证书,并在全局安装根证书。 我发誓这个工作了一段时间 ,所以我抛弃了什么?