我正在尝试实现PGP的BouncyCastle API。
提取私钥时出现校验和不匹配错误。这可能是造成此问题的原因和解决方法。我在发布此查询之前搜索了网络,但是尚未找到任何解决方案。
如何解决该问题?
安装程序在Java 8中使用了以下库。
PBESecretKeyDecryptor pgpSecKeyDecryptor = new BcPBESecretKeyDecryptorBuilder( new BcPGPDigestCalculatorProvider()).build(pass); return pgpSecKey.extractPrivateKey(pgpSecKeyDecryptor);
错误:
org.bouncycastle.openpgp.PGPException: checksum mismatch at 0 of 20
at org.bouncycastle.openpgp.PGPSecretKey.extractKeyData(Unknown Source)
at org.bouncycastle.openpgp.PGPSecretKey.extractPrivateKey(Unknown Source)
at com.trial.PGPUtility.findPrivateKey(PGPUtility.java:64)
at com.trial.BCDecryptor.decryptFile(BCDecryptor.java:128)
at com.trial.BCDecryptor.decryptFile(BCDecryptor.java:85)
at com.trial.BCDecryptor.decryptFile(BCDecryptor.java:80)
at com.trial.BCDecryptor.decryptFile(BCDecryptor.java:75)
at com.trial.SimpleTest.decryptFile(SimpleTest.java:31)
at com.trial.SimpleTest.main(SimpleTest.java:91)
---