首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C_FindObjectsInit(.)来自PKCS11类异常

C_FindObjectsInit(.)来自PKCS11类异常
EN

Stack Overflow用户
提问于 2021-06-23 12:55:44
回答 1查看 205关注 0票数 0

为了对数据进行签名,我使用了signserver开源代码.我正在探索一个遗留代码,在这里它会产生错误:

代码语言:javascript
复制
Module.getPKCS11Module().C_FindObjectsInit(session.getSessionHandle(), attributes,true);

当我进一步导航时,Module类来自iaikpkcs11Wrapper.jar (package: iaik.pkcs.pkcs11)PKCS11接口有上面提到的方法void C_FindObjectsInit(long var1, CK_ATTRIBUTE[] var3, boolean var4)

此外,attributes参数的构造如下所示:

代码语言:javascript
复制
        CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTEKeyStoreContainerBase[2];

        attributes[0] = new CK_ATTRIBUTE();
        attributes[0].type = PKCS11Constants.CKA_CLASS;
        attributes[0].pValue = new Long(PKCS11Constants.CKO_SECRET_KEY);
                
        
        attributes[1] = new CK_ATTRIBUTE();
        attributes[1].type = PKCS11Constants.CKA_ID;
        attributes[1].pValue = id; //id is byteArray. For this param's value the error is causing

我的问题是,我是否需要存储C_FindObjectsInit(..)将读取或匹配的任何类型的密钥/证书,因为它说它找不到任何密钥?此方法在何处搜索密钥或如何解决此问题?顺便说一句,我读过FindObjectsInit-JavaDoc,不能正确理解这一行,这就是我来这里的原因:

pTemplate -要匹配的对象属性值和搜索模板中的属性数(PKCS#11 param: CK_ATTRIBUTE_PTR pTemplate,CK_ULONG ulCount)

这可能听起来很奇怪,但我真的很茫然,被困了几天。

EN

回答 1

Stack Overflow用户

发布于 2021-06-24 07:51:05

PKCS#11规范并不强迫我们使用一些严格组合的数据。

但在大多数实现中,我看到它是二进制编码的OID字段。

还按顺序检查0 (null)字节。

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

https://stackoverflow.com/questions/68100266

复制
相关文章

相似问题

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