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

4

1 回答 1

1

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

看看 PKCS#11 标准。

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

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

尝试初始化 PIN 或尝试在登录调用中发送空 PIN(可能“有某种方法可以让用户通过某种方式获得令牌的身份验证,而无需应用程序通过 Cryptoki 库发送 PIN”)

于 2018-03-02T11:40:18.973 回答