如何解决pkcs11interop 生成密钥对EC 或 ECDSA,得到错误
这是我的代码:
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,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_VERIFY,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_VERIFY_RECOVER,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_WRAP,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_EC_PARAMS,paramsBytes)
};
List<IObjectAttribute> privateKeyAttributes = new List<IObjectAttribute>
{
session.Factories.ObjectAttributeFactory.Create(CKA.CKA_KEY_TYPE,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_DECRYPT,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_SIGN,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_SIGN_RECOVER,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_UNWRAP,session.Factories.ObjectAttributeFactory.Create(CKA.CKA_SENSITIVE,true)
};
然后我收到错误消息:
“方法 C_GenerateKeyPair 返回 CKR_ATTRIBUTE_VALUE_INVALID”
我是否遗漏了任何属性或这个模板有什么问题? 有知道的朋友请帮忙,谢谢。
解决方法
尝试删除加密/解密、包装/解包。 它不像RSA,你不能这样做
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。