使用" cryptoki.dll"存在登录错误。使用Pkcs11库

时间:2018-03-01 12:05:48

标签: c# .net pkcs#11 hsm cryptoki

    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" 怎么了? 感谢

1 个答案:

答案 0 :(得分:1)

我对cryptoki一无所知,但我会尝试回答:

看看PKCS#11标准。

CKR_USER_PIN_NOT_INITIALIZED: 该值只能由C_Login返回。 它表示尚未使用C_InitPIN初始化普通用户的PIN。

换句话说,您的令牌没有PIN。

尝试初始化PIN或尝试在登录呼叫中发送空PIN(可能"有一些方法可以让用户通过Cryptoki库发送PIN而无需对令牌进行身份验证" )