2

我可以将 XAdES4J 配置为使用 PKCS#11 基础架构将签名创建委托给硬件安全模块 (HSM) 吗?如果是 - 如何?

这些网站上的信息让我假设,只有使用 PKCS#11 的密钥传输是可能的:

4

2 回答 2

4

如前所述,您可以通过使用 PKCS11KeyingDataProvider 来使用 PKCS#11 键控数据。您只需使用 HSM 的本机 PKCS#11 库对其进行配置。

PrivateKey接口只是用于不透明键表示的标记接口。当您使用 PKCS#11 提供程序时,返回PrivateKey的实例只是密钥的句柄(代表),因为密钥材料实际上并没有离开 HSM。将使用延迟的提供者选择来选择签名引擎PrivateKey,这取决于提供者,因为该提供者知道如何处理特定PrivateKey的 . 在这种情况下,密钥和签名值的计算都完全由 HSM 处理。

XAdES4jPKCS11KeyingDataProvider只是KeyStore从特定 PKCS#11 提供程序实例创建的 Java 包装器,该提供程序实例配置有提供的本机库路径。

于 2012-10-23T20:50:18.347 回答
1

简单的浏览将我带到:

https://code.google.com/p/xades4j/wiki/DefiningKeyingData

那里有一个关于 PKCS#11 的部分。这对你不起作用吗?

于 2012-10-22T20:06:57.627 回答