项目地址
错误信息
操作中遇到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
版本,需要的朋友可以去下载