首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用弹跳城堡解密pkcs8加密的私钥?

如何使用弹跳城堡解密pkcs8加密的私钥?
EN

Stack Overflow用户
提问于 2015-04-22 06:56:40
回答 2查看 7.7K关注 0票数 5

我正试图使用bouncy城堡库解密一个pkcs8加密的私钥。我使用安全城堡提供的PEMParser解析了包含私钥的文件。我找到PKCS8EncryptedPrivateKeyInfo对象了。我无法从这里获得PrivateKeyInfo对象。当我试图解密时,我得到了以下异常。

org.bouncycastle.pkcs.PKCSException:无法读取加密数据: 1.2.840.113549.1.5.13不可用:没有这样的提供者: 1.2.840.113549.1.5.13

这是我使用的代码

代码语言:javascript
复制
PEMParser parser = new PEMParser(br);
PKCS8EncryptedPrivateKeyInfo pair =       (PKCS8EncryptedPrivateKeyInfo)parser.readObject();
JceOpenSSLPKCS8DecryptorProviderBuilder jce = new JceOpenSSLPKCS8DecryptorProviderBuilder();
                jce.setProvider("1.2.840.113549.1.5.13");
                InputDecryptorProvider decProv = jce.build(password.toCharArray());
                PrivateKeyInfo info = pair.decryptPrivateKeyInfo(decProv);
EN

回答 2

Stack Overflow用户

发布于 2015-04-22 07:11:18

你试过用jce.setProvider(“BC”)代替jce.setProvider(“1.2.840.113549.1.5.13”)吗?

编辑添加@PeterDettman :提供的解决方案

除了使用jce.setProvider(“BC”)之外,还安装BC提供程序bouncycastle.org/wiki/display/JA1/Provider+Installation

票数 6
EN

Stack Overflow用户

发布于 2021-12-09 13:50:43

Security.addProvider(new BouncyCastleProvider());

那就是缺少的东西

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

https://stackoverflow.com/questions/29789984

复制
相关文章

相似问题

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