我们已经实现了一个web应用程序(IIS5)并在ASP.NET中启用了Windows身份验证。
Edge browser会提示一个身份验证对话框,要求输入用户名和密码。该对话框提供了一个“更多选择”链接,我们可以在其中通过智能卡进行身份验证:

我们不知道在此对话框中是否有提供智能卡身份验证的特殊windows配置。
不幸的是,Google Chrome和Firefox不提供通过智能卡的身份验证。仅提供密码:

问:在Chrome和Firefox中是否可以像微软的Edge那样为内置对话框启用智能卡身份验证?
发布于 2021-07-24 13:28:29
我没有尝试过你所说的方法,但建议你使用浏览器扩展来尝试跨浏览器、跨平台的解决方案。浏览器扩展与运行在客户端用户系统上的底层主机通信,以访问本地连接的(Windows)证书存储或(Win CSP & Linux/Mac PKCS#11)智能卡。
请参考SO Answer的第三点,了解它是如何工作的。可以在Here和documentation Here中查看智能卡用户网络身份验证的工作示例
要在服务器上注册证书:
//Get Selected Certificate Information
try {
var CertInfo = await SignerDigital.getSelectedCertificate() ;
}
catch(errmsg) {
//Display Errmsg
}要使用数字签名进行身份验证或登录:
authToken = <userid>|<password>; //or say any user cetdentials or id
try {
var SignData = await SignerDigital.signAuthToken(authToken, "SHA256");
//Post signed Data to server along with original authToken
}
catch (errMsg){
//display errMsg.
}https://stackoverflow.com/questions/68314133
复制相似问题