我可以使用PKCS#11基础架构将XAdES4J配置为将签名创建委派给硬件安全模块(HSM)吗?如果是 - 怎么样?
这些网站上的信息让我假设,只有使用PKCS#11的密钥转移是可能的:
答案 0 :(得分:5)
如前所述,您可以使用PKCS#11键控数据,使用PKCS11KeyingDataProvider。您只需要使用HSM的本机PKCS#11 lib进行配置。
PrivateKey
接口只是不透明键表示的标记接口。当您使用PKCS#11提供程序时,返回的PrivateKey
实例只是密钥的句柄(代表),因为密钥材料实际上不会离开HSM。将使用延迟提供程序选择来选择签名引擎,相应于PrivateKey
提供程序,因为此提供程序是知道如何处理该特定PrivateKey
的提供程序。在这种情况下,密钥和签名值计算都由HSM完全处理。
XAdES4j的PKCS11KeyingDataProvider
只是从特定的PKCS#11提供程序实例创建的Java KeyStore
的包装器,该实例使用提供的本机lib路径进行配置。
答案 1 :(得分:1)