我可以将 XAdES4J 配置为使用 PKCS#11 基础架构将签名创建委托给硬件安全模块 (HSM) 吗?如果是 - 如何?
这些网站上的信息让我假设,只有使用 PKCS#11 的密钥传输是可能的:
我可以将 XAdES4J 配置为使用 PKCS#11 基础架构将签名创建委托给硬件安全模块 (HSM) 吗?如果是 - 如何?
这些网站上的信息让我假设,只有使用 PKCS#11 的密钥传输是可能的:
如前所述,您可以通过使用 PKCS11KeyingDataProvider 来使用 PKCS#11 键控数据。您只需使用 HSM 的本机 PKCS#11 库对其进行配置。
该PrivateKey
接口只是用于不透明键表示的标记接口。当您使用 PKCS#11 提供程序时,返回PrivateKey
的实例只是密钥的句柄(代表),因为密钥材料实际上并没有离开 HSM。将使用延迟的提供者选择来选择签名引擎PrivateKey
,这取决于提供者,因为该提供者知道如何处理特定PrivateKey
的 . 在这种情况下,密钥和签名值的计算都完全由 HSM 处理。
XAdES4jPKCS11KeyingDataProvider
只是KeyStore
从特定 PKCS#11 提供程序实例创建的 Java 包装器,该提供程序实例配置有提供的本机库路径。