Yaniv's Web Corner

GnuPG Java Wrapper API - Sample code

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");
}
	

Advertisement


© Yaniv Yemini, 1998-2010