Kit*_*ten 16 ssl client-side ssl-certificate
是否可以在浏览器中请求生成客户端密钥对,并将公钥发送到服务器CA以进行透明签名?然后在用户的浏览器中安装签名证书?
场景:
客户端下次连接到服务器时,将根据客户端证书验证其身份.
如果服务器可以使用密码加密强制/提示客户端保护其私钥,那将是很好的.
我已经看过使用java applet进行此任务的网上银行业务.是否可以使用本机浏览器功能来实现?Apache/PHP或Node.js解决方案将受到欢迎.
Bru*_*uno 16
是的,这是可能的.但是,没有跨浏览器解决方案.
X509Enrollment.CX509EnrollmentWebClassFactory或使用某些ActiveX控件CEnroll.CEnroll,具体取决于它是在Windows XP还是Vista/7上运行.这将生成PKCS#10证书请求(您可能需要在传统分隔符之间进行包装).<keygen />标签.它是一个遗留的Netscape标签,之前不是正式的HTML,但它已经变成了HTML 5(尽管MS已经表示他们不会在它们的实现中支持它).这将生成SPKAC结构(类似于CSR).这是一个示例脚本,应该完成ActiveX或Keygen的大部分工作.
当服务器返回证书(可能稍后)时,浏览器应将其导入其存储中,并将其与请求时生成的私钥相关联.
私钥的保护方式取决于浏览器或底层证书存储机制.例如,在Firefox中,安全设备上应该有一个主密码.
在服务器端,您可以使用各种工具实现自己的CA. OpenSSL和BouncyCastle可以处理PKCS#10和SPKAC.这是一个基于BouncyCastle的示例(与上面的脚本相关联),以及一些CRMF代码.
如果您想要一个现成的解决方案,您可能会对OpenCA这样的东西感兴趣.
| 归档时间: |
|
| 查看次数: |
11476 次 |
| 最近记录: |