java - 使用 java 从 usb token 读取 pfx 文件

标签 java digital-signature pfx pkcs#12 e-token

我正在尝试使用 USB 电子 token 在 java 中签署 pdf 文档。我想从 USB token 安全网络(alladin etoken pro 72 k(Java))读取签名并使用 java 代码附加到 pdf。我有使用存储在本地计算机中的 key 完成数字签名签名。但我想知道如何使用 USB 电子 token 完成同样的操作。

最佳答案

用于签名的 USB token 的全部意义在于,没有人可以从该设备读取 key 。因此,您将哈希发送到 token , token 会将签名发回给您。

为此,您需要一个可以与 token 对话的 JCE 提供程序。这通常由 PKCS#11( token 为此提供库)或 token 提供 MSCAPI 驱动程序(在 Windows 下)完成。

两者都可以在 Java 下使用,PKCS#11 方式的设置可能有点复杂,但根据我的经验,自动签名更好,因为在 MSCAPI 情况下,您通常需要手动输入 token PIN。

如果您的 token 被 Windows 识别,则以下命令应该会看到并列出其 key :

keytool -list -storetype Windows-MY

然后可以使用 Windows keystore 获取用于签名的 key 句柄,但您也可以使用它来导出公钥副本。

关于java - 使用 java 从 usb token 读取 pfx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25257458/

相关文章:

java - 数字签名中,如果数据改变,签名会改变吗?

java - 阅读加密邮件

java - OkHTTPClient Proxy 认证如何进行?

java - 将变量保留在 session 范围内而不将其设为静态?

Java 泛型 - 实例化通配符类型的方法

ios - iOS 和 MacOSX 上的私钥签名不同

ruby - OpenSSL 没有足够的数据

.net - 为什么在.NET中使用“.pfx”文件

c# - 如何从 X509Store 加载受密码保护的证书?

java - 使用 JButton 通过 addActionListener 处理 JFrame