欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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");
}
相关标签: Gnu GPG