我正在尝试使用 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/