访问安装认证签名

Access installed certified to sign

我正在尝试在 Java + JSF 项目中签署对象。

到目前为止我所做的是创建我自己的 X509 证书以及带有 XCA 的 CA 并将它们都安装在 Firefox 和 Chrome.

我已经搜索了 3 天如何访问它进行签名(典型的弹出窗口要求 select 证书,以防你安装了多个证书)但我就是找不到有用的东西.我多次看到此代码行:

X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");

但我不知道从哪里可以得到带有证书的请求。

1) 我在哪里可以得到那个请求?

2) 我需要 SSL 连接才能执行此操作吗?

3) 只是...如何,我找不到信息所以任何帮助将不胜感激

提前致谢

由于浏览器的安全限制,您无法使用浏览器或系统密钥库进行数字签名。既不使用 java 脚本,也不使用 java 也不使用插件。

How to make a digital signature in a web application (JavaScript) using a smartcard?

1) Where can I get that request?

X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");

此代码用于其他用途。它允许在一个SSL标识中获取用户的证书

2) Do I need a SSL connection to be able to do this?

不相关

3) Just... how, I cannot find info so any help will be appreciated

备选方案:

  • 使用 WebCryptographyApi 加载证书。参见

  • 使用 chrome 消息传递 api(爱沙尼亚)。参见

  • 使用通过 javascript 连接的本地应用程序(西班牙)参见