OpenKeyChain解决解密OpenPgpV5Data错误
项目地址
错误信息
操作中遇到OpenPGP异常!
解决方法
经过代码排查发现CachingDataDecryptorFactory.java中的mOperatorHelper和mAeadHelper没有初始化,导致解密抛出OpenPGP异常。
--- a/OpenKeychain/src/main/java/org/bouncycastle/openpgp/operator/jcajce/CachingDataDecryptorFactory.java
+++ b/OpenKeychain/src/main/java/org/bouncycastle/openpgp/operator/jcajce/CachingDataDecryptorFactory.java
@@ -15,6 +15,7 @@ import java.util.Map;
import org.bouncycastle.bcpg.AEADEncDataPacket;
import org.bouncycastle.bcpg.SymmetricEncIntegrityPacket;
+import org.bouncycastle.jcajce.util.DefaultJcaJceHelper;
import org.bouncycastle.jcajce.util.NamedJcaJceHelper;
import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPPublicKeyEncryptedData;
@@ -28,8 +29,8 @@ public class CachingDataDecryptorFactory implements PublicKeyDataDecryptorFactor
private final PublicKeyDataDecryptorFactory mWrappedDecryptor;
private final HashMap<ByteBuffer, byte[]> mSessionKeyCache;
- private OperatorHelper mOperatorHelper;
- private JceAEADUtil mAeadHelper;
+ private OperatorHelper mOperatorHelper=new OperatorHelper(new DefaultJcaJceHelper());;
+ private JceAEADUtil mAeadHelper=new JceAEADUtil(mOperatorHelper);;
public CachingDataDecryptorFactory(String providerName, Map<ByteBuffer, byte[]> sessionKeyCache)
{
发布地址
官方只提供了源码,但是并没有提供apk,打包了6.0.4.2版本,需要的朋友可以去下载