从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的证书?