如何解密加密使用充气城堡私钥PKCS8?

问题描述 投票:5回答:1

我试图解密使用充气城堡库加密私钥的PKCS8。我解析包含使用充气城堡提供PEMParser私有密钥的文件。我PKCS8EncryptedPrivateKeyInfo对象。我无法从这样得到PrivateKeyInfo对象。我得到以下异常,而试图解密。

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

这里是我使用的代码

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);
java encryption bouncycastle private-key
1个回答
5
投票

你是否已经jce.setProvider( “BC”)审判;代替jce.setProvider( “1.2.840.113549.1.5.13”);

编辑补充由@PeterDettman提供的解决方案:

除了使用jce.setProvider( “BC”);还安装BC提供商bouncycastle.org/wiki/display/JA1/Provider+Installation

© www.soinside.com 2019 - 2024. All rights reserved.