【问题标题】:Digital Signature Authentication in java web application using USB token inserted at client pc使用在客户端 pc 中插入的 USB 令牌在 Java Web 应用程序中进行数字签名认证
【发布时间】:2016-05-14 06:54:21
【问题描述】:

全部 我是 Sumit,我正在使用基于 Java 的 Web 应用程序,该应用程序需要两级身份验证,首先是用户名、密码,其次是 CA 颁发的用户数字签名(存储在 USB 令牌上)。 因此,一个在服务器上运行的基于 java 的 Web 应用程序可以通过客户端 Web 浏览器访问。 Web 用户在他/她的 PC 上插入他/她的 USB 令牌进行身份验证,因此 Web 应用程序如何能够从 USB 令牌中读取公钥并将其发送到服务器以通过浏览器进行进一步验证。是否有任何用于执行此操作的 javascript 库?浏览器如何访问 USB 令牌事件并从该 USB 令牌获取公钥?任何人有任何想法或例子请帮助我。自过去 15 天以来,我一直在谷歌上搜索,但没有找到更好的解决方案。

非常感谢您的帮助。

提前致谢。

【问题讨论】:

标签: digital-signature


【解决方案1】:

USB 令牌是否是智能卡类型 PKCS#11?您有适合您操作系统的驱动程序吗?

在这种情况下,您可以配置需要客户端身份验证的服务器 SSL/TLS 连接。例如,使用 Apache 和 mod_ssl 使用指令 SSLVerifyClient 需要

一旦用户连接到 https URL,浏览器将请求用户证书,执行电子签名,并连同证书的公共部分一起发送。在服务器中您可以获取内容

您不能使用 javascript 来执行此操作,因为 javascript 不允许访问 PC 资源。在好的时候你可以使用 Java,但现在 Chrome、Edge 或新版本的 JDK 不支持。而在其他浏览器中则是一个挑战

【讨论】:

  • 能否请您提供更多详细信息和更详细的说明。我想实现同样的事情,但对此有很多疑问。
  • 感谢您的回复,这样我就可以读取客户端令牌证书了吧?
  • 是的,Apache 可以发送电子证书。您的应用需要特定的连接器。例如 mod_jk [tomcat.apache.org/download-connectors.cgi] for tomcat
  • 你有任何示例代码来获取java代码中的电子证书。实际上,我已经搜索了很多东西,但没有找到任何来源来做同样的事情
猜你喜欢
  • 2018-04-24
  • 2017-08-22
  • 2012-03-25
  • 2017-02-05
  • 2017-02-24
  • 2023-03-20
  • 2020-03-28
  • 1970-01-01
  • 2013-02-27
相关资源
最近更新 更多