【问题标题】:Authorize a client with his digital certificate from USB crypto tokens使用来自 USB 加密令牌的数字证书授权客户
【发布时间】:2013-10-21 10:29:29
【问题描述】:

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

我们需要一个场景,即相关Aspx页面上的客户端用户应该

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

如果可能的话,怎么办?? 我应该为它制作Applet,我是否必须寻找cryto usb硬件特定的SDK。

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

【问题讨论】:

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


【解决方案1】:

这是可能的,而且您不需要使用小程序。您可以将您的 Web 服务容器(IIS、Tomcat 等)设置为强制执行 2-way(相互)SSL。

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

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

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

【讨论】:

  • 感谢您的回复,但是特定操作只需要在特定页面进行授权,而不是通过网站。
【解决方案2】:

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

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

【讨论】:

  • 我的查询不是关于小程序的签名/部署,而是授权用户在 USB 加密令牌中拥有私钥。
  • 而且(正如我所写)完全有可能。关于小程序签名/部署的部分只是提到了可能的绊脚石......
猜你喜欢
  • 2013-02-27
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
  • 2021-04-07
相关资源
最近更新 更多