如何使用弹性城堡解密pkcs8加密私钥? [英] How do i decrypt a pkcs8 encrypted private key using bouncy castle?
问题描述
尝试解密时,我收到以下异常。
org.bouncycastle.pkcs.PKCSException:无法读取加密数据:1.2.840.113549.1.5。 13不可用:没有这样的提供者:1.2.840.113549.1.5.13
这里是我使用的代码
PEMParser parser = new PEMParser(br);
PKCS8EncryptedPrivateKeyInfo对=(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);
您是否尝试使用jce.setProvider(BC );而不是jce.setProvider(1.2.840.113549.1.5.13);
Hi i am trying to decrypt a pkcs8 encrypted private key using bouncy castle library. I parsed the file containing the private key using PEMParser provided by bouncy castle. I got PKCS8EncryptedPrivateKeyInfo object. I am unable to get the PrivateKeyInfo object from this. I am getting the following exception while trying to decrypt.
org.bouncycastle.pkcs.PKCSException: unable to read encrypted data: 1.2.840.113549.1.5.13 not available: No such provider: 1.2.840.113549.1.5.13
here is the code which i used
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);
Have you try with jce.setProvider("BC"); instead of jce.setProvider("1.2.840.113549.1.5.13");
这篇关于如何使用弹性城堡解密pkcs8加密私钥?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!