static Module pkcs11Module = Module.getInstance(@"C:\Program Files (x86)\SafeNet\Protect Toolkit 5\Protect Toolkit C SDK\bin\sw\cryptoki.dll");
public HsmManager()
{
try
{
pkcs11Module.initialize(null);
Slot[] terminals = pkcs11Module.getSlotList(true);
Slot s;
Token token = terminals[0].Token;
Session session = token.openSession(false, false, null, null);
char[] pass = new char[] { '1', '2', '3', '4' };
session.login(true, pass);}}
我使用pkcs11库(不使用任何其他库)在c#中使用hsm设备进行密封处理。 错误消息是Message =" CKR_USER_PIN_NOT_INITIALIZED" 怎么了? 感谢
答案 0 :(得分:1)
我对cryptoki一无所知,但我会尝试回答:
看看PKCS#11标准。
CKR_USER_PIN_NOT_INITIALIZED: 该值只能由C_Login返回。 它表示尚未使用C_InitPIN初始化普通用户的PIN。
换句话说,您的令牌没有PIN。
尝试初始化PIN或尝试在登录呼叫中发送空PIN(可能"有一些方法可以让用户通过Cryptoki库发送PIN而无需对令牌进行身份验证" )