GnuPG Java Wrapper API - Sample code
程序员文章站
2022-03-08 08:19:37
...
Following are code examples for the GnuPG Java Wrapper API class.
Before you Begin: Create PGP Key Pair
Before you can use the class, you will need to create a private/public key pair in GPG. If you already set up the key pair, you can skip this step.
Launch the command line terminal and type the following:
gpg --gen-key
GPG now will ask you a few questions regarding the key:
- The kind and size of the key.
- For how long the key should be valid.
- Your name and email
- Comment for the key.
- Passphrase (password) for the key.
After answering these questions, GPG will create and store the key in its database.
We are now ready to use the Java API class with GPG.
Signing with PGP
import java.util.*;
import java.io.*;
import GnuPG;
// text to be signed
String text = 'GnuPG Java Wrapper API';
// PGP passphrase
String passPhrase = 'secret passphrase';
boolean result;
GnuPG pgp = new GnuPG ();
result = pgp.sign (text, passPhrase);
if (result)
{
System.out.println ("Result:\n" + pgp.gpg_result + "\n\n");
}
else
{
System.out.println ("Error signing:" + pgp.gpg_err + "\n\n");
}
ClearSigning with PGP
import java.util.*;
import java.io.*;
import GnuPG;
// text to be clear signed
String text = 'GnuPG Java Wrapper API';
// PGP passphrase
String passPhrase = 'secret passphrase';
boolean result;
GnuPG pgp = new GnuPG ();
result = pgp.clearSign (text, passPhrase);
if (result)
{
System.out.println ("Result:\n" + pgp.gpg_result + "\n\n");
}
else
{
System.out.println ("Error clear signing:" + pgp.gpg_err + "\n\n");
}
Sign and Encrypt with PGP
import java.util.*;
import java.io.*;
import GnuPG;
// text to be signed and encrypted
String text = 'GnuPG Java Wrapper API';
//// The ID of PGP key (use gpg --list-keys to get the key ID)
String keyID = '8AC1';
// PGP passphrase
String passPhrase = 'secret passphrase';
boolean result;
GnuPG pgp = new GnuPG ();
result = pgp.signAndEncrypt (text, keyID, passPhrase);
if (result)
{
System.out.println ("Result:\n" + pgp.gpg_result + "\n\n");
}
else
{
System.out.println ("Error encrypting and signing:" + pgp.gpg_err + "\n\n");
}
Encrypting with PGP
import java.util.*;
import java.io.*;
import GnuPG;
// text to be encrypted
String text = 'GnuPG Java Wrapper API';
// The ID of PGP key (use gpg --list-keys to get the key ID)
String keyID = '8AC1';
boolean result;
GnuPG pgp = new GnuPG ();
result = pgp.encrypt (text, keyID);
if (result)
{
System.out.println ("Result:\n" + pgp.gpg_result + "\n\n");
}
else
{
System.out.println ("Error encrypting:" + pgp.gpg_err + "\n\n");
}
Decrypting with PGP
import java.util.*;
import java.io.*;
import GnuPG;
// text to be decrypted
String text = 'AB14CE281A6... 65A4F891';
// PGP passphrase
String passPhrase = 'secret passphrase';
boolean result;
GnuPG pgp = new GnuPG ();
result = pgp.decrypt (text, passPhrase);
if (result)
{
System.out.println ("Result:\n" + pgp.gpg_result + "\n\n");
}
else
{
System.out.println ("Error decrypting:" + pgp.gpg_err + "\n\n");
}