私は最近、GPG暗号化/復号化に取り組み、BountyCastleのPGPライブラリがそのトリックをしていることを発見しました。手順は、実装クラスで)
<!-- Dependency for PGP and GPG Encryption-Decryption -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15</artifactId>
<version>${org.bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpg-jdk15</artifactId>
<version>${org.bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
<version>${org.bouncycastle.version}</version>
</dependency>
3以下の依存関係を追加)
<org.bouncycastle.version>1.46</org.bouncycastle.version>
2のpom.xmlのプロパティでバージョンを追加)
1たJavaセキュリティとプロバイダを添加
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
4)残りのコードは単なるJavaの実装
File encryptedFile = new File(encryptedFileName);
byte[] encryptedByteArray = FileUtils.readFileToByteArray(inputFile);
byte[] decryptedByteArray = ByteArrayHandler.decrypt(encryptedByteArray, passPhrase.toCharArray());
String decryptedString = new String(decryptedByteArray);
これが役立ちます。
おかげ - 有望に見えます。 GnuPGで動作させることができるかどうかを報告します。相互に互換性のあるオプションを慎重に選択するだけのようです。 –
これは今動作するようになっています。特にorg.bouncycastle.openpgp.examples.KeyBasedFileProcessorのサンプルコードを見ることをお勧めします。鍵リングコレクション内の希望の公開鍵を見つけて、標準のJDKで提供されているJCE実装が無効になっていることを確認し、「Java Cryptography Extension(JCE)Unlimited Strength JurisdictionポリシーファイルSun Webサイトから「6」を選択します。 –
@James Shade:フィードバックいただきありがとうございます。非常に有益。 – VonC