我有一个要求,即节点js中的REST服务需要通过HTTPS使用。为了启用HTTPS,我们需要有3个参数 - 一个密钥文件,一个是cert文件和ca文件。要使用此服务,我们只需要拥有ca文件。
我使用Open SSL创建了一组新的自签名证书,我可以使用我的服务。
现在,对于生产部署,我们不能使用自签名证书。因此,从证书颁发机构收到了密钥文件,证书文件和ca文件。与我使用的自签名证书不同,证书颁发机构的ca文件包含2个CA cers - One Root CA&一个孩子CA.
尝试使用此CA文件使用HTTPS服务时,我一直收到错误消息:无法获得颁发者证书/无法获得本地颁发者证书。
使用OpenSSL命令,我验证了密钥和& cert文件 - 两者的模数匹配完美。
此外,当我尝试检查是否使用CA文件颁发了证书时,我收到了同样的错误。而使用自签名证书,我得到了回复。
任何帮助都将不胜感激。
先谢谢。
答案 0 :(得分:3)
问题可能是由于缺少证书链造成的。如果您从CA购买了证书,请确保正确打包并部署中间证书链以及最终证书。
否则,您的证书将被标记为无效,因为客户端将无法从您的证书到根证书遍历发行链。