Mik*_*maa 14 authentication ssl http smartcard pkcs#11
由于斯堪的纳维亚国家的法律要求,我们正在为网站创建三因素身份验证.客户使用NetID品牌的浏览器插件在浏览器中执行PKCS#11证书身份验证.智能卡由客户的合作伙伴集中供应.
该主题没有太多的在线资源或教程.有人会有任何指向示例实现或教程的指针如何在Web浏览器中进行PKCS11身份验证?
编辑:找到有关SSL客户端证书
看起来认证方法是SSL客户端证书
我们如何管理用户与智能卡之间的关系?
用户是否向我们提供了他们的公钥,我们对他们进行身份验证?
我们是否需要使用我们自己的证书单独签署/配置每个用户?
是否所有用户智能卡都包含一个"通用"密钥,我们根据提供商证书进行测试?
http://www.impetus.us/~rjmooney/projects/misc/clientcertauth.html
不要用JavaScript做.JavaScript加密有很多问题,我认为很多浏览器都不会让你直接从JavaScript(从页面内部运行)访问PKCS#11.
许多浏览器支持PKCS#11进行HTTPS身份验证,即使用PKCS#11进行客户端证书身份验证,作为SSL/TLS连接的一部分(作为HTTPS的一部分).
假设您已经有一个PKCS#11库(比如说OpenSC /usr/lib/opensc.so),您可以配置Firefox使用它:
/usr/lib/opensc.so文件(或者您的情况下适当的PKCS#11模块).然后,当您连接到请求客户端证书的网站时,浏览器应该允许您从支持PKCS#11的设备中选择证书.
PKCS#11配置机制因浏览器而异,但通常需要设置PKCS#11模块的路径.
据我所知,Internet Explorer不使用PKCS#11(至少在没有额外支持的情况下),但应该依赖于MS CryptoAPI和InfoCards.
在服务器端,您需要配置客户端证书身份验证的要求.PKCS#11没有特定的东西.
编辑之后,您应该阅读有关证书颁发机构(CA)和公钥基础结构(PKI)的信息.您可以部署自己的内部PKI,但听起来您的要求是与现有的PKI集成.这主要是一个管理问题,因此请与那些提出此要求的人一起查看他们想要依赖的CA(可能是他们的).
使用客户端证书身份验证时,客户端将显示其证书(其中包含用户的公钥和其他属性,包括标识符:主题可分辨名称),SSL/TLS握手将确保客户端具有此私钥公钥证书.然后,服务器根据它信任的CA验证此证书(这也是服务器端的SSL设置).
一旦配置了您想要信任的CA,映射通常使用证书的主题DN完成,如果需要,可以使用内部用户名.这没有硬性规则,因为它取决于您的内部用户命名方案.这就是说,使用完整的主题DN作为用户名通常是明智的.
| 归档时间: |
|
| 查看次数: |
17955 次 |
| 最近记录: |