crypto.dll错误'C_Initialize - 此对象未连接到模块。'

时间:2018-02-26 09:17:55

标签: c# .net pkcs#11 hsm

我尝试访问时遇到此错误。如何使用crypto.dll库访问.NET C#中的HSM?

signature.addKeyInfo(new ECertificate(cert.getEncoded()));
var c = HsmManager.getInstance().getSigner("MyPassword", cert);
static Module pkcs11Module = Module.getInstance(@"C:\Program Files\SafeNet\Protect Toolkit 5\Protect Toolkit C SDK\bin\sw\cryptoki.dll");

[MethodImpl(MethodImplOptions.Synchronized)]
public static HsmManager getInstance() { 
   pkcs11Module.initialize(null);
   Slot[] slots = pkcs11Module.getSlotList(true);   
}

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。

解决方案:HSM设备驱动程序是x86bit。我试图使用x86bit PKCS#11甚至客户端计算机是x64。 (之前我尝试过x64)

然后将x86bit库导入到我的项目中,它可以工作!