从PFX文件中读取私钥,用私钥解密密文
Read private key from PFX file, decrypt the ciphertext with that private key
我试图从受密码保护的 PFX 文件中获取私钥,并在提取的私有 key.Tried 以下代码的帮助下进行解密,但得到 NullPointerException
.
Security.addProvider(new BouncyCastleProvider());
PEMParser pemParser = new PEMParser(new InputStreamReader(new FileInputStream("..//pfx//pfx//BC_6.pfx")));
PEMEncryptedKeyPair encryptedKeyPair = (PEMEncryptedKeyPair) pemParser.readObject();
PEMDecryptorProvider decryptorProvider = new JcePEMDecryptorProviderBuilder().build("test123".toCharArray());
PEMKeyPair pemKeyPair = encryptedKeyPair.decryptKeyPair(decryptorProvider);
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
System.out.println(" Private Key ---> "+converter.getPrivateKey(pemKeyPair.getPrivateKeyInfo()));
输出是,
Exception in thread "main" java.lang.NullPointerException
at com.test.obfuscate.EncryptionUtil.main(EncryptionUtil.java:40)
请对此提出建议,过去一周一直坚持这一点。尝试了来自 Whosebug 的不同帖子。
(PEMEncryptedKeyPair) pemParser.readObject()
returns null
,因此
encryptedKeyPair
是 null
,您不能调用它的方法。确保执行以下一项或多项操作:
- 请确保您正确读取了该值,因此它不是
null
- 仅调用与
null
不同的对象的方法
try
-catch
处理异常
PEMParser pemParser = new PEMParser(new InputStreamReader(new FileInputStream("..//pfx//pfx//BC_6.pfx")));
您是否正在尝试将 PFX 文件作为 PEM 文件读取?? PFX 文件实际上是 PKCS12 密钥库。
所以(凭我的想法打字,请不要介意小的拼写错误/语法错误)
InputStream in = ...
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(in);
我试图从受密码保护的 PFX 文件中获取私钥,并在提取的私有 key.Tried 以下代码的帮助下进行解密,但得到 NullPointerException
.
Security.addProvider(new BouncyCastleProvider());
PEMParser pemParser = new PEMParser(new InputStreamReader(new FileInputStream("..//pfx//pfx//BC_6.pfx")));
PEMEncryptedKeyPair encryptedKeyPair = (PEMEncryptedKeyPair) pemParser.readObject();
PEMDecryptorProvider decryptorProvider = new JcePEMDecryptorProviderBuilder().build("test123".toCharArray());
PEMKeyPair pemKeyPair = encryptedKeyPair.decryptKeyPair(decryptorProvider);
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
System.out.println(" Private Key ---> "+converter.getPrivateKey(pemKeyPair.getPrivateKeyInfo()));
输出是,
Exception in thread "main" java.lang.NullPointerException
at com.test.obfuscate.EncryptionUtil.main(EncryptionUtil.java:40)
请对此提出建议,过去一周一直坚持这一点。尝试了来自 Whosebug 的不同帖子。
(PEMEncryptedKeyPair) pemParser.readObject()
returns null
,因此
encryptedKeyPair
是 null
,您不能调用它的方法。确保执行以下一项或多项操作:
- 请确保您正确读取了该值,因此它不是
null
- 仅调用与
null
不同的对象的方法 try
-catch
处理异常
PEMParser pemParser = new PEMParser(new InputStreamReader(new FileInputStream("..//pfx//pfx//BC_6.pfx")));
您是否正在尝试将 PFX 文件作为 PEM 文件读取?? PFX 文件实际上是 PKCS12 密钥库。
所以(凭我的想法打字,请不要介意小的拼写错误/语法错误)
InputStream in = ...
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(in);