我正在开发一个带有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_SSL_CLIENT_AUTH_SIGNATURE_FAILED.
你能给我一个解决这个错误的方法吗?
谢谢。
发布于 2019-12-19 09:10:44
最后我解决了这个问题,我让这个解决办法在这里。
我使用标志--tls-min-v1.0是因为我需要它来建立与Active的安全连接。
要执行智能卡读取,我需要一个更新的TLS版本,至少TLS 1.2,所以读取失败。
如果我使用较新的TLS版本,AD连接失败,因此最终解决方案是添加两个标志:
--tls-min-v1.0--tls-max-v1.2https://stackoverflow.com/questions/59390727
复制相似问题