2017-03-07 82 views
0

我使用下面的方法来提取使用海绵城堡从密钥私钥:SpongyCastle私钥提取很慢

public static PGPPrivateKey findPrivateKey(PGPSecretKey pgpSecKey, char[] pass) 
    throws PGPException 
{ 
    if (pgpSecKey == null) return null; 

    PBESecretKeyDecryptor decryptor = new BcPBESecretKeyDecryptorBuilder(new BcPGPDigestCalculatorProvider()).build(pass); 
    return pgpSecKey.extractPrivateKey(decryptor); 
} 

然而最后一行代码的运行速度非常慢(aproximately 90秒)在Android上。有没有更好的方法来从加密的密钥中提取PGPPrivateKey?也许我在从linux中导出密钥时犯了一些错误,但我不认为这是问题,因为我使用简单的命令gpg --export-secret-keys > key.skr。任何想法都可能导致这个问题?

回答

2

我注意到在将Android Gradle插件从2.2.1升级到3.3.0后,PKCS8私钥解密的性能相似。

性能下降是由即时运行造成的。当即时运行停用时,解密需要约1秒。