首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pkcs11interop生成密钥对(EC或ECDSA),得到错误

pkcs11interop生成密钥对(EC或ECDSA),得到错误
EN

Stack Overflow用户
提问于 2021-02-20 07:42:40
回答 1查看 161关注 0票数 0

这是我的密码:

代码语言:javascript
复制
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”

我是不是错过了任何属性或者这个模板什么地方错了?如果有人知道,请帮忙,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-08-02 10:21:12

尝试删除加密/解密、包装/解封。这不像RSA,你不能这么做

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66289192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档