从Windows的Node.js客户端证书…我怎么知道证书是否被发送?
我有一个客户端证书安全的rest端点,当我通过curl使用Linux-land中的一个已知的证书打开它的时候,这就是说,如果我console.log(req.connection.getPeerCertificate()) ,我看到一堆东西。 凉。
…但是,当我的一个队友试图从Windows机器上击中同一端点时,req.connection.getPeerCertificate()是一个空对象,即使他们认为他们正确地附加了证书。
什么是最好的方式来告诉他们是否确实正确地附加证书? 我应该如何去debugging呢?
文档说 :
如果对等体不提供证书,[
getPeerCertificate
]返回null
或空对象。
所以你已经知道Windows客户端没有发送有效的证书,因为getPeerCertificate()
返回一个空对象。 请检查authorizationError
属性以获取有关可能发生的任何客户端证书错误的其他信息。
通过找出客户端没有发送证书的原因来进行debugging。 你在服务器选项中设置requestCert: true
吗? 客户端configuration是否正确? 它是否发送可以validation的证书?