我有一个工具,使用BouncyCastle.Crypto dll(版本1.7.4,运行时版本1.1.4)来解密由另一个系统提供的文件。
我刚刚更新了pgp密钥(并向加密器提供了新的公钥)。新密钥使用4096位RSA加密,有24个字符的密码,这是我能想到新旧密钥之间的唯一区别。我相信旧密钥使用2048位加密和7个字符的密码。
当我尝试解密文件时,在调用BouncyCastle提供的PgpSecretKey.ExtractPrivateKey(char[] passPhrase)函数时过程失败。 错误消息是“在第0个20处的校验和不匹配。” 奇怪的是,第一次测试时它可以正常工作,然后没有更改就开始失败了。我已经尝试使用多个加密文件。
由于这是如此古老的BouncyCastle版本,而且不再使用此特定的ExtractPrivateKey函数排列方式,所以我很难找到相关信息。感谢任何想法。