Tag: bouncycastle openpgp

让GPG解密工作在Java(Bouncy Castle)

首先让我说我对这一切都是新手。 我想要做的是使用Java中的gpg来解密加密文件。 我成功完成了什么: 如果同事使用我的公钥和他的私钥加密文件并成功解密它。 走了另一条路 让另一位同事尝试解密一个不适合他的文件:失败(如预期的那样) 我的密钥是这样生成的…… (gpg –version告诉我我正在使用1.4.5而我正在使用Bouncy Castle 1.47) gpg –gen-ley 选择选项“DSA和Elgamal(默认)” 填写其他字段并生成密钥。 该文件使用我的公钥和另一个密钥加密。 我想解密它。 我编写了以下Java代码来完成此任务。 我正在使用几种不推荐使用的方法,但我无法弄清楚如何正确实现使用非弃用版本所需的工厂方法,所以如果有人对我应该使用的那些实现有一个想法,那将是一个很好的奖金。 Security.addProvider(new BouncyCastleProvider()); PGPSecretKeyRingCollection secretKeyRing = new PGPSecretKeyRingCollection(new FileInputStream(new File(“test-files/secring.gpg”))); PGPSecretKeyRing pgpSecretKeyRing = (PGPSecretKeyRing) secretKeyRing.getKeyRings().next(); PGPSecretKey secretKey = pgpSecretKeyRing.getSecretKey(); PGPPrivateKey privateKey = secretKey.extractPrivateKey(“mypassword”.toCharArray(), “BC”); System.out.println(privateKey.getKey().getAlgorithm()); System.out.println(privateKey.getKey().getFormat()); PGPObjectFactory pgpF = new PGPObjectFactory( new FileInputStream(new File(“test-files/test-file.txt.gpg”))); Object pgpObj = […]