如何用我的软件应用程序替换HSM来使用PKCS?

时间:2017-12-02 23:19:04

标签: pkcs#11 hsm

我正在尝试用我的纯软件应用程序替换HSM,并与PKCS11集成。我遇到的问题是所有PKCS api函数都处理插槽和令牌,这些插槽和令牌不属于我的软件应用程序。有没有例子我可以查看软件应用程序如何用来模仿HSM并与PKCS集成?

1 个答案:

答案 0 :(得分:0)

当您处理HSM时,您必须处理插槽和令牌。您必须稍微修改您的软件才能适应这种情况。

有两种方法可以使用PKCS#11,PKCS#11 WrapperPKCS#11 Provider。 Wrapper是直接调用HSM库(.dll或.so)的本机函数的api。提供程序使用了引擎盖,但是为您提供了使用Java KeyStore api的便利。

考虑到您的情况,Wrapper可能不适合您,因为它涉及编写新类以与HSM集成。您可以使用提供商。

Java有很好的PKCS11 Provider here文档。还有一个非常好的第三方库名为IAIKhere是他们的提供者文档。即使您在软件应用程序中使用Provider,也不可避免地会发生微不足道的代码更改。

你曾经使用过KeyStore api,你可能需要在那里进行更改。最初,当您的软件加载时,您必须为PKCS11提供程序加载一个配置文件,该文件告知哪个插槽号和要连接的令牌。

IAIK也有非常好的例子,他们的提供者库只能用于开发目的。