使用来自USB加密令牌的数字证书授权客户端

时间:2013-10-21 10:29:29

标签: asp.net applet public-key-encryption digital-certificate

基本上我们需要确保用户是合适的人,即使在用户名/密码之后,我们还需要使用数字证书凭据进行另一轮验证。 所有客户都将使用私钥加密usb。

我们需要一个关注 Aspx 页面的客户端用户

的场景
  • 插入他的Usb加密令牌。
  • 选择他的证书,输入usb pin(如果有的话)。
  • 如果他是合适的人,服务器将授权他的行动。

如果有可能,怎么样? 我应该为它做 Applet ,我是否必须寻找cryto usb硬件专用SDK。

任何参考,都会有所帮助。

2 个答案:

答案 0 :(得分:2)

这是可能的,您不需要使用applet。您可以设置Web服务容器(IIS,Tomcat等)以强制执行双向(相互)SSL。

客户的证书将由CA签署。 CA的证书必须位于服务器指向的某种类型的信任列表中。服务器将拒绝信任列表中未由CA签名的任何客户端证书。

在信任列表中找到客户端证书的CA后,证书将被转发到Web应用程序,在那里可以进一步授权。

您不应该在服务器端需要“cryto usb hardware specific SDK”。服务器只是将其作为证书接收。服务器不知道它是来自客户端的文件还是usb令牌。因此服务器只需要知道如何处理X509证书。客户端上的浏览器和/或软件驱动程序实际上与USB令牌进行了所有交互,因此当浏览器与服务器通信时,它只发送证书。

答案 1 :(得分:0)

似乎有可能。 applet可以与您的加密硬件进行连接/验证,也可以与您的服务器通信(通过直接通信或jscript)。如果你去小程序路线,请确保以下内容:

  1. (实现实际逻辑(设备通信等)后)
  2. 您的小程序必须是数字signed并附有官方证书(否则您的用户会收到很多警告等)。
  3. 设置了正确的权限/ security settings
  4. 您的设备必须受java支持或提供Java API。它应该支持JCA / JCE,或者如果是智能卡,请查看hereherehere
相关问题