如何在客户端系统中使用 USB 令牌对服务器中的 pdf 文档进行数字签名?

How to Digitally sign a pdf document in the server using USB token in the client's system?

我需要使用 USB 令牌中的数字证书对我们服务器中的 PDF 文档进行数字签名。如何实现?这个有library/api吗? 我尝试按照此建议访问浏览器中的证书 link

        java.security.cert.X509Certificate certChain [] = (java.security.cert.X509Certificate [])request.getAttribute ("javax.net.ssl.peer_certificates"); 

但它没有给出任何结果。我正在使用 java。我尝试访问密钥库,但它返回的是服务器证书而不是客户端证书。我怎样才能访问客户的证书?

link 用于 SSL 身份验证,而不是数字签名。您需要一个本地 java 应用程序来访问 USB 令牌和一个 PDF 库,如 itext 或 pdfbox。

无法从浏览器中使用(除非使用带有 IE / firefox 的小程序和旧版本的 JRE 插件。我不推荐)。参见 and some alternatives here