我正尝试使用XCA软件创build自己的证书颁发机构。 我已成功创build了根CA( Fisir Technologies CA )和中间CA( Fisir Technologies Intermediate CA X1 )。 但是,我希望在第一个中间CA( Fisir Technologies Intermediate CA X1 )下有另一个中间CA( Fisir Technologies Endpoint CA WWW )。 第二个中间CA应该发布最终实体证书。
我已经完成了这一切,并导入我的根CA作为受信任的根证书颁发机构(在Windows上)。 然后,我创build了一个由第二个中间CA签名的新HTTPS证书。 我试图用Windows上的默authentication书查看器打开它,但它告诉我,它没有足够的信息来validation证书。 这是我所期望的,因为我只安装了根CA.
所以我创build了一个证书链,包括根CA,两个中间CA和HTTPS证书。 我把它上传到我的VPS上,在nginx中设置了HTTPS服务器并尝试访问它。 但谷歌浏览器欢迎我的NET::ERR_CERT_INVALID错误。
我点击了地址栏中的红色锁,表示证书无效。 所以我select查看证书,并在Windows默authentication书查看器中再次打开证书。 但是没有显示任何错误。 我查看了证书path,显示正确:
证书path
还说这个证书是有效的。 此外,我所能find的每个在线HTTPS检查器都没有显示任何设置问题(当然,除了不受信任的根CA之外)。
我试图修改证书的各种属性,但它永远不会工作。 然后我尝试了第一次发出完全相同的证书,但是这次我用第一个中间CA签名。 我刷新页面,它的工作。
但是我想使用第二个中间CA来颁发证书。 任何人都知道问题可能是什么?
您可以通过https://php.technologies.fisir.net查看自己的问题。
谢谢。
这里有几个问题:
basicConstraints pathlen中有一个pathlen – 不需要和不使用,但不应该导致问题。 然而…
我猜你的问题是依赖方(Chrome等)无法检查撤销,因此无法成功build立一个证书链。