这是我的密码:
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”
我是不是错过了任何属性或者这个模板什么地方错了?如果有人知道,请帮忙,谢谢。
发布于 2021-08-02 10:21:12
尝试删除加密/解密、包装/解封。这不像RSA,你不能这么做
https://stackoverflow.com/questions/66289192
复制相似问题