首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >原因: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DATA_INVALID

原因: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DATA_INVALID
EN

Stack Overflow用户
提问于 2015-08-10 22:14:58
回答 3查看 5.7K关注 0票数 1

我在生成xml签名的应用程序上遇到了问题,但这在Windows上发生了,我在Linux上没有问题,用jre 7和jre 8证明了这一点。

代码语言:javascript
运行
复制
    java.security.ProviderException: sun.security.pkcs11.wrapper.PKCS11Exception: E

    at sun.security.pkcs11.P11Signature.engineSign(P11Signature.java:547)
    at java.security.Signature$Delegate.engineSign(Unknown Source)
    at java.security.Signature.sign(Unknown Source)
    at org.apache.xml.security.algorithms.implementations.SignatureBaseRSA.engineSign(SignatureBaseRSA.java:130)
    at org.apache.xml.security.algorithms.SignatureAlgorithm.sign(SignatureAlgorithm.java:173)
    at org.apache.xml.security.signature.XMLSignature.sign(XMLSignature.java:614)
    at bo.accl.clientelynx.Signer.firmar(Signer.java:283)
    at bo.accl.clientelynx.Signer.sign(Signer.java:168)
    at bo.accl.clientelynx.Signer.apply(Signer.java:350)
    at bo.accl.clientelynx.Signer.apply(Signer.java:61)
    at com.google.common.collect.Iterators$8.transform(Iterators.java:860)
    at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
    at bo.accl.clientelynx.App$17.doInBackground(App.java:1130)
    at bo.accl.clientelynx.App$17.doInBackground(App.java:1095)
    at javax.swing.SwingWorker$1.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at javax.swing.SwingWorker.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DATA_INVALID
    at sun.security.pkcs11.wrapper.PKCS11.C_Sign(Native Method)
    at sun.security.pkcs11.P11Signature.engineSign(P11Signature.java:538)
EN

回答 3

Stack Overflow用户

发布于 2015-08-10 22:19:52

在CKR_DATA_INVALID上搜索后,我发现错误是:

将明文输入数据

到加密操作无效。此返回值的优先级低于CKR_DATA_LEN_RANGE。

请参阅:http://www.cryptsoft.com/pkcs11doc/v220/pkcs11__all_8h.html#aCKR_DATA_INVALID

我的客人是你在windows和Linux之间的数据编码有问题。检查您的数据文件以查找无效的windows字符。

票数 0
EN

Stack Overflow用户

发布于 2017-12-21 18:33:10

在使用旧版本的p11-capi库时,我遇到了类似的问题。在我的例子中,我想使用一种新的签名算法(SHA256withRSA而不是SHA1withRSA),并收到了相同的Java异常。这个异常不是很有用,所以我花了很长时间才发现这个问题已经在最近的库版本中得到了解决:https://risacher.org/p11-capi/

票数 0
EN

Stack Overflow用户

发布于 2021-11-08 11:40:48

如果任何人面临提供者异常下的CKR_FUNCTION_FAILED,那么请检查别名是否正确.if有多个别名,然后在密钥库中逐个检查。

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

https://stackoverflow.com/questions/31921939

复制
相关文章

相似问题

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