Node.js 读取智能卡时出错\u SSL\u客户端\u身份验证\u签名\u失败

Node.js 读取智能卡时出错\u SSL\u客户端\u身份验证\u签名\u失败,node.js,reactjs,certificate,smartcard,ssl-client-authentication,Node.js,Reactjs,Certificate,Smartcard,Ssl Client Authentication,我正在开发一个带有React(前端)和Nodejs(后端)的web应用程序,我需要使用数字证书进行身份验证 提供给服务器的选项包括: key: fs.readFileSync('./certs/localhost_key.pem'), cert: fs.readFileSync('./certs/localhost_cert.pem'), requestCert: true , rejectUnauthorized: false, ca: [ fs.readF

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

提供给服务器的选项包括:

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

如果我使用存储在计算机上的证书,应用程序会正确读取证书,但如果它从智能卡读取证书,则在选择证书后会出现以下错误:net::ERR\u SSL\u CLIENT\u AUTH\u SIGNATURE\u FAILED

你能给我一个解决这个错误的方法吗


谢谢。

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

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

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

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

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

    • 我终于解决了问题,我把解决方案放在这里

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

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

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

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