如何使用弹性城堡解密pkcs8加密私钥? [英] How do i decrypt a pkcs8 encrypted private key using bouncy castle?

查看:821
本文介绍了如何使用弹性城堡解密pkcs8加密私钥?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好我正在尝试使用bouncy castle library解密一个pkcs8加密的私钥。我使用bouncy城​​堡提供的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对=(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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆