crypto.dll 错误 'C_Initialize - This object is not connected to a module.'
crypto.dll error 'C_Initialize - This object is not connected to a module.'
我在尝试访问时遇到此错误。如何使用 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);
}
我解决了我的问题。
解决方案:HSM 设备驱动程序是 x86 位的。我尝试使用 x86 位 PKCS#11,即使客户端计算机是 x64。 (我之前试过x64)
然后将 x86 位库导入到我的项目中,它成功了!
我在尝试访问时遇到此错误。如何使用 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);
}
我解决了我的问题。
解决方案:HSM 设备驱动程序是 x86 位的。我尝试使用 x86 位 PKCS#11,即使客户端计算机是 x64。 (我之前试过x64)
然后将 x86 位库导入到我的项目中,它成功了!