我有一个客户端证书安全休息端点,当我通过curl使用Linux-land中的已知证书来命中它时...也就是说,如果我是console.log(req.connection.getPeerCertificate) ()),我看到了一堆东西。凉。
...但是,当我的一个队友试图从Windows机器点击相同的端点时,req.connection.getPeerCertificate()是一个空对象,即使他们认为他们正确地附加了证书。
确定他们是否确实正确附加证书的最佳方式是什么?我该如何调试呢?
答案 0 :(得分:1)
如果对等方未提供证书,[
getPeerCertificate
]将返回null
或空对象。
因此,您已经知道Windows客户端未发送有效证书,因为getPeerCertificate()
返回空对象。检查authorizationError
属性以获取有关可能发生的任何客户端证书错误的其他信息。
通过找出客户端未发送证书的原因来调试此问题。您是否在server options设置了requestCert: true
?客户端是否正确配置?它是否发送了可以验证的证书?