首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到具有公钥的成对ECDSA私钥PKCS11

如何找到具有公钥的成对ECDSA私钥PKCS11
EN

Stack Overflow用户
提问于 2021-05-04 12:13:16
回答 1查看 52关注 0票数 0

我有一个应用程序,上面有RSA证书,出于某种原因,制造商不会在智能卡上填充CKA_LABEL,所以我为RSA创建了一个私钥对象,如下所示:

代码语言:javascript
复制
RsaKeyParameters rsaPubKeyParams = (RsaKeyParameters)pubKeyParams;
                    privKeySearchTemplate.Add(session.Factories.ObjectAttributeFactory.Create(CKA.CKA_KEY_TYPE, CKK.CKK_RSA));
                    privKeySearchTemplate.Add(session.Factories.ObjectAttributeFactory.Create(CKA.CKA_MODULUS, rsaPubKeyParams.Modulus.ToByteArrayUnsigned()));
                    privKeySearchTemplate.Add(session.Factories.ObjectAttributeFactory.Create(CKA.CKA_PUBLIC_EXPONENT, rsaPubKeyParams.Exponent.ToByteArrayUnsigned()));

现在我必须支持有ECDSA证书的智能卡,也没有CKA_LABEL,所以问题是我如何才能找到像RSA一样的私钥?

注意:所有智能卡都有两个随机顺序的证书(auth,sign),所以我不能只获取找到的第一个或最后一个对象:

代码语言:javascript
复制
ECPublicKeyParameters ecdsaPubKeyParams = (ECPublicKeyParameters)pubKeyParams;
                    privKeySearchTemplate.Add(session.Factories.ObjectAttributeFactory.Create(CKA.CKA_KEY_TYPE, CKK.CKK_ECDSA));

-需要更多的参数来识别所需的私钥

EN

回答 1

Stack Overflow用户

发布于 2021-08-02 10:15:56

如果是同一条曲线,就不能。解决方法是测试签名/验证,如果匹配,则分配CLA_LABEL以供下次优化。

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

https://stackoverflow.com/questions/67378707

复制
相关文章

相似问题

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