【问题标题】:pkcs11interop generate key pair(EC or ECDSA), get errorpkcs11interop 生成密钥对(EC 或 ECDSA),得到错误
【发布时间】:2021-02-20 07:42:40
【问题描述】:

这是我的代码:

X9ECParameters x9Ec = NistNamedCurves.GetByName("P-256");
X962Parameters x962 = new X962Parameters(x9Ec);
byte[] paramsBytes = x962.Parameters.GetDerEncoded();

List<IObjectAttribute> publicKeyAttributes = new List<IObjectAttribute>
                        {
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_KEY_TYPE, CKK.CKK_EC),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_TOKEN, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_PRIVATE, false),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_LABEL, userParams.KeyLabel),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_ID, ckaId),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_ENCRYPT, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_VERIFY, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_VERIFY_RECOVER, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_WRAP, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_EC_PARAMS, paramsBytes)
                        };

List<IObjectAttribute> privateKeyAttributes = new List<IObjectAttribute>
                        {
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_KEY_TYPE, CKK.CKK_EC),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_TOKEN, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_PRIVATE, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_LABEL, userParams.KeyLabel),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_ID, ckaId),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_DECRYPT, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_SIGN, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_SIGN_RECOVER, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_UNWRAP, true),
                            session.Factories.ObjectAttributeFactory.Create(CKA.CKA_SENSITIVE, true)
                        };
                    

我收到了错误消息:

“方法 C_GenerateKeyPair 返回 CKR_ATTRIBUTE_VALUE_INVALID”

我错过了任何属性或这个模板有什么问题吗? 有知道的请帮忙,谢谢。

【问题讨论】:

    标签: c# bouncycastle elliptic-curve ecdsa pkcs11interop


    【解决方案1】:

    尝试删除加密/解密、打包/解包。 它不像 RSA,你不能这样做

    【讨论】:

      猜你喜欢
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多