读取智能卡时出现ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED

时间:2019-12-18 11:08:43

标签: node.js reactjs certificate smartcard ssl-client-authentication

我正在使用React(前端)和Nodejs(后端)开发一个Web应用程序,我需要使用数字证书进行身份验证。

提供给服务器的选项是:

POST

选择证书后,从后端读取证书的行为 key: fs.readFileSync('./certs/localhost_key.pem'), cert: fs.readFileSync('./certs/localhost_cert.pem'), requestCert: true , rejectUnauthorized: false, ca: [ fs.readFileSync('./certs/ACCVCA120.crt') ] } ,前端调用拥有该行的端点来读取它。

如果我使用存储在计算机上的证书,则该应用会正确读取该证书,但是如果它是从智能卡读取的,则在选择证书后出现以下错误: net :: ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED < / strong>。

¿您能给我一种解决此错误的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

最后我解决了这个问题,我把解决方案放在这里。

我使用标志--tls-min-v1.0是因为我需要它来建立与Active Directory的安全连接。

要执行智能卡读取,我需要更新的TLS版本(至少是TLS 1.2),因此读取失败。

如果我使用较新的TLS版本,则AD连接失败,因此最终解决方案添加了两个标志:

  • --tls-min-v1.0
  • --tls-max-v1.2