|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.didisoft.pgp.PGPLib
public class PGPLib
OpenPGP Library for Java.
The library provides methods that can work with or without an OpenPGP KeyStore
(Note that the OpenPGP Key Store format this library uses, is different from the JDK Key Store format which is X.509 based.)
Supported JDK versions: 1.4, 1.5, 1.6
Copyright DidiSoft Ltd.
www.didisoft.com
Constructor Summary | |
---|---|
PGPLib()
|
Method Summary | |
---|---|
void |
clearSignFile(java.lang.String inputFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String hashingAlgorithm,
java.lang.String outputFileName)
OpenPGP clear signs a file. |
void |
clearSignFileVersion3(java.lang.String inputFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String hashingAlgorithm,
java.lang.String outputFileName)
OpenPGP clear signs a file, using OpenPGP version 3 signature format (old format used by PGP 2.x) Use when needed compatibility with PGP 2.x GPG equivalent command: gpg --force-v3-sigs --clearsign inputFileName Example: |
java.lang.String |
clearSignString(java.lang.String stringToSign,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String hashingAlgorithm)
OpenPGP clear signs a String Example usage: |
java.lang.String |
clearSignStringVersion3(java.lang.String stringToSign,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String hashingAlgorithm)
OpenPGP clear signs a String, using OpenPGP version 3 signature format (the old format) Use when needed compatibility with PGP 2.x and PGP 5.x systems. |
boolean |
decryptAndVerifyFile(java.lang.String encryptedFileName,
KeyStore keyStore,
java.lang.String privateKeyPassword,
java.lang.String outputFileName)
Decrypts and verifies one pass encrypted and signed OpenPGP file Supports OpenPGP version 3 format too (used by PGP 2.x systems). |
boolean |
decryptAndVerifyFile(java.lang.String encryptedFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String publicKeyFile,
java.lang.String outputFileName)
Decrypts and verifies an OpenPGP encrypted and signed file Supports OpenPGP version 3 format too (used by PGP 2.x systems). |
boolean |
decryptAndVerifyStream(java.io.InputStream encryptedStream,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.io.InputStream publicKeyStream,
java.io.OutputStream outputFileStream)
Decrypts and verifies OpenPGP encrypted and signed stream. |
boolean |
decryptAndVerifyStream(java.io.InputStream encryptedStream,
KeyStore keyStore,
java.lang.String privateKeyPassword,
java.io.OutputStream outputFileStream)
Decrypts and verifies OpenPGP encrypted and signed stream. |
java.lang.String |
decryptFile(java.lang.String encryptedFileName,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.lang.String outputFileName)
Decrypts an OpenPGP encrypted file using Private key input stream. |
java.lang.String |
decryptFile(java.lang.String encryptedFileName,
KeyStore pgpKeyStore,
java.lang.String privateKeyPassword,
java.lang.String outputFileName)
Decrypts an OpenPGP encrypted file using key from a OpenPGP key store. |
java.lang.String |
decryptFile(java.lang.String encryptedFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String outputFileName)
Decrypts an OpenPGP encrypted file using Private key file. |
java.lang.String |
decryptFilePBE(java.lang.String encryptedFileName,
java.lang.String decryptionPassword,
java.lang.String outputFileName)
Decrypts an OpenPGP file that was encrypted with password (PBE, symmetric key encrypted). |
java.lang.String[] |
decryptFileTo(java.lang.String encryptedFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String outputFolder)
Decrypts the content of an OpenPGP encrypted file into a folder. |
java.lang.String |
decryptStream(java.io.InputStream encryptedStream,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.io.OutputStream outputStream)
Decrypts an OpenPGP encrypted stream using Private key input stream. |
java.lang.String |
decryptStream(java.io.InputStream encryptedStream,
KeyStore pgpKeyStore,
java.lang.String privateKeyPassword,
java.io.OutputStream outputStream)
Decrypts an OpenPGP encrypted stream using Private key input stream. |
java.lang.String[] |
decryptStreamTo(java.io.InputStream encryptedStream,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.lang.String outputFolder)
Decrypts an OpenPGP encrypted stream to a specified folder. |
java.lang.String[] |
decryptStreamTo(java.io.InputStream encryptedStream,
KeyStore keyStore,
java.lang.String privateKeyPassword,
java.lang.String outputFolder)
Decrypts an OpenPGP encrypted stream to a specified folder. |
void |
encryptFile(java.lang.String dataFileName,
java.io.InputStream publicKeyStream,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts given file using the first available public key from a key ring input stream Compression algorithm used is the one specified with setCompression(String)
Symmetric cipher algorithm used is the one specified with setCypher(String)
Example: |
void |
encryptFile(java.lang.String dataFileName,
KeyStore keyStore,
long[] recipientsKeyIds,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts a file for multiple recipients. Compression algorithm used is the one specified with setCompression(String)
Symmetric cipher algorithm used is the one specified with setCypher(String)
Example: |
void |
encryptFile(java.lang.String dataFileName,
KeyStore keyStore,
long keyId,
java.lang.String outputFileName)
OpenPGP encrypts given file using specified public key, stored in specified OpenPGP key store. |
void |
encryptFile(java.lang.String dataFileName,
KeyStore keyStore,
long keyId,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts given file using specified public key, stored in specified OpenPGP key store. |
void |
encryptFile(java.lang.String dataFileName,
KeyStore keyStore,
java.lang.String[] recipientsUserIds,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts a file for multiple recipients. Compression algorithm used is the one specified with setCompression(String)
Symmetric cipher algorithm used is the one specified with setCypher(String)
Example: |
void |
encryptFile(java.lang.String dataFileName,
KeyStore keyStore,
java.lang.String userId,
java.lang.String outputFileName)
OpenPGP encrypts given file using specified public key, stored in specified OpenPGP key store. |
void |
encryptFile(java.lang.String dataFileName,
KeyStore keyStore,
java.lang.String userId,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts given file using specified public key, stored in specified OpenPGP key store. |
void |
encryptFile(java.lang.String dataFileName,
java.lang.String[] publicKeysFileNames,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts a file for multiple recipients. Compression algorithm used is the one specified with setCompression(String)
Symmetric cipher algorithm used is the one specified with setCypher(String)
Example usage: |
void |
encryptFile(java.lang.String dataFileName,
java.lang.String publicKeyFileName,
java.lang.String outputFileName,
boolean asciiArmor)
OpenPGP encrypts given file using the public key of the recipient. |
void |
encryptFile(java.lang.String dataFileName,
java.lang.String publicKeyFileName,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts given file using the public key of the recipient. |
int |
encryptFileByKeyId(KeyStore keyStore,
java.lang.String dataFileName,
java.lang.String keyIdHex,
java.lang.String outputFileName)
Deprecated. Use instead |
int |
encryptFileByUserId(KeyStore keyStore,
java.lang.String dataFileName,
java.lang.String userID,
java.lang.String outputFileName)
Deprecated. Use instead |
void |
encryptFilePBE(java.lang.String dataFileName,
java.lang.String publicKeyFileName,
java.lang.String alternativePassword,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
Encrypts a file with a public key and a passphrase. The passphrase can be used to decrypt the file if the corressponding private key is lost. |
void |
encryptFiles(java.lang.String[] dataFileNames,
KeyStore keyStore,
long[] recipientsKeyIds,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts multiple files into one OpenPGP archive Compression algorithm used is the one specified with setCompression(String)
Symmetric cipher algorithm used is the one specified with setCypher(String)
Example usage: |
void |
encryptFiles(java.lang.String[] dataFileNames,
KeyStore keyStore,
java.lang.String[] recipientsUserIds,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts multiple files into one OpenPGP archive Compression algorithm used is the one specified with setCompression(String)
Symmetric cipher algorithm used is the one specified with setCypher(String)
Example: |
void |
encryptFiles(java.lang.String[] dataFileNames,
java.lang.String[] publicKeysFileNames,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts multiple files into one OpenPGP archive. |
void |
encryptStream(java.io.InputStream dataStream,
java.lang.String fileName,
java.io.InputStream publicKeyStream,
java.io.OutputStream out,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP Encrypts Input Stream using the first available Public key from a Key ring input stream Compression algorithm used is the one specified with setCompression(String) if supported
by the public key, otherwise the first supported by the key algorithm is used. |
void |
encryptStream(java.io.InputStream dataStream,
java.lang.String fileName,
KeyStore keyStore,
long keyId,
java.io.OutputStream out,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts input stream using a recipient public key located in a KeyStore Compression algorithm used is the one specified with setCompression(String) if supported
by the public key, otherwise the first supported by the key algorithm is used. |
void |
encryptStream(java.io.InputStream dataStream,
java.lang.String fileName,
KeyStore keyStore,
java.lang.String userId,
java.io.OutputStream out,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP Encrypts Input Stream using a Public key located in a KeyStore Compression algorithm used is the one specified with setCompression(String) if supported
by the public key, otherwise the first supported by the key algorithm is used. |
void |
encryptStream(java.io.InputStream dataStream,
java.lang.String fileName,
long streamLength,
java.io.InputStream publicKeyStream,
java.io.OutputStream out,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts stream using the first available public key from a key input stream Compression algorithm used is the one specified with setCompression(String) if supported
by the public key, otherwise the first supported by the key algorithm is used. |
void |
encryptStream(java.io.InputStream dataStream,
java.lang.String fileName,
long streamLength,
java.lang.String publicKeyFileName,
java.io.OutputStream out,
boolean asciiArmor)
OpenPGP encrypts stream using the first available public key from a key ring file. |
void |
encryptStream(java.io.InputStream dataStream,
java.lang.String fileName,
long streamLength,
java.lang.String publicKeyFileName,
java.io.OutputStream out,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP encrypts stream using the first available public key from a key ring file. |
java.lang.String |
getCompression()
Returns the preferred compression algorithm used by all methods that produce OpenPGP messages (e.g Encrypt, Sign, etc.) Default is ZIP |
java.lang.String |
getCypher()
Returns the preferred symmetric key algorithm used by all methods that produce OpenPGP messages (e.g Encrypt, Sign, etc.) Default is CAST5 |
java.lang.String |
getHash()
Returns the preferred hashing algorithm used by all methods that produce OpenPGP signature (all Sign and SignAndEncrypt methods) Default is SHA1 |
void |
setCompression(java.lang.String compression)
Sets the preferred compression algorithm used by all methods that produce OpenPGP messages (e.g Encrypt, Sign, etc.) |
void |
setCypher(java.lang.String cypher)
Sets the preferred symmetric key algorithm used by all methods that produce OpenPGP messages (e.g Encrypt, Sign, etc.) |
void |
setHash(java.lang.String hash)
Sets the preferred hashing algorithm used by all methods that produce OpenPGP signature (all Sign and SigneAndEncrypt methods) |
void |
signAndEncryptFile(java.lang.String fileName,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.io.InputStream publicKeyStream,
java.io.OutputStream outputStream,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP signs and encrypts a file in one pass. |
void |
signAndEncryptFile(java.lang.String fileName,
KeyStore keyStore,
long signKeyId,
java.lang.String privateKeyPassword,
long encKeyId,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP signs and encrypts a file in one pass. |
void |
signAndEncryptFile(java.lang.String fileName,
KeyStore keyStore,
java.lang.String signUserId,
java.lang.String privateKeyPassword,
java.lang.String encUserId,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP signs and encrypts a file in one pass. |
void |
signAndEncryptFile(java.lang.String dataFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String publicKeyFile,
java.lang.String outputFileName,
boolean asciiArmor)
OpenPGP signs and encrypts a file in one pass. |
void |
signAndEncryptFile(java.lang.String dataFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String publicKeyFile,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP signs and encrypts a file in one pass. |
void |
signAndEncryptFileVersion3(java.lang.String dataFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String publicKeyFile,
java.lang.String outputFileName,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP signs and encrypts a file in one pass, using OpenPGP version 3 signature format (compatible with older PGP 2.x systems) (Note that this is not the same as first encrypt and then sign a file, because in that case a double compression is performed.) Compression algorithm used is the one specified with setCompression(String)
Symmetric cipher algorithm used is the one specified with setCypher(String)
Hashing algorithm used is the one specified with setHash(String)
Example: |
void |
signAndEncryptStream(java.io.InputStream dataFileStream,
java.lang.String internalFileName,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.io.InputStream publicKey,
java.io.OutputStream outputStream,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP signs and encrypts a file in one pass. |
void |
signAndEncryptStream(java.io.InputStream dataFileStream,
java.lang.String internalFileName,
KeyStore keyStore,
java.lang.String signUserId,
java.lang.String privateKeyPassword,
java.lang.String encUserId,
java.io.OutputStream outputStream,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP signs and encrypts a file in one pass. |
void |
signAndEncryptStreamVersion3(java.io.InputStream dataFileStream,
java.lang.String internalFileName,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.io.InputStream publicKeyStream,
java.io.OutputStream outputStream,
boolean asciiArmor,
boolean withIntegrityCheck)
OpenPGP signs and encrypts a file in one pass, using OpenPGP version 3 signature format (compatible with older PGP 2.x systems) (Note that this is not the same as first encrypt and then sign a file, because in that case a double compression is performed.) Compression algorithm used is the one specified with setCompression(String)
Symmetric cipher algorithm used is the one specified with setCypher(String)
Hashing algorithm used is the one specified with setHash(String)
Example: |
void |
signFile(KeyStore keyStore,
java.lang.String dataFileName,
long privateKeyId,
java.lang.String privateKeyPassword,
java.lang.String outputFileName)
OpenPGP signs given file using specified Private Key, using OpenPGP Key Store. |
void |
signFile(KeyStore keyStore,
java.lang.String dataFileName,
java.lang.String keyIdHex,
java.lang.String privateKeyPassword,
java.lang.String outputFileName)
OpenPGP signs given file using specified Private Key, using OpenPGP Key Store. |
void |
signFile(java.lang.String fileName,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.io.OutputStream out,
boolean asciiArmor)
OpenPGP signs file. |
void |
signFile(java.lang.String dataFileName,
KeyStore keyStore,
java.lang.String privateKeyUserId,
java.lang.String privateKeyPassword,
java.lang.String outputFileName,
boolean asciiArmor)
OpenPGP signs a file, with private key stored in a KeyStore object. |
void |
signFile(java.lang.String inputFileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String signedFileName,
boolean asciiArmor)
OpenPGP signs file. |
void |
signFileVersion3(java.lang.String fileName,
java.lang.String privateKeyFileName,
java.lang.String privateKeyPassword,
java.lang.String signedFileName,
boolean asciiArmor)
Signs a file in OpenPGP version 3 format (compatible with PGP 2.x systems) Optional settings: Compression algorithm used is the one specified with setCompression(String)
Hashing algorithm used is the one specified with setHash(String)
Example usage: |
void |
signStream(java.io.InputStream dataInputStream,
java.lang.String fileNameLabel,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.io.OutputStream signedStream,
boolean asciiArmor)
OpenPGP signs stream. |
void |
signStream(java.io.InputStream dataInputStream,
java.lang.String fileNameLabel,
KeyStore keyStore,
long signingKeyId,
java.lang.String privateKeyPassword,
java.io.OutputStream signedStream,
boolean asciiArmor)
OpenPGP signs stream with a private key stored in a KeyStore. |
void |
signStream(java.io.InputStream dataInputStream,
java.lang.String fileNameLabel,
KeyStore keyStore,
java.lang.String signingKeyUserId,
java.lang.String privateKeyPassword,
java.io.OutputStream signedStream,
boolean asciiArmor)
OpenPGP signs stream with a private key stored in a KeyStore. |
void |
signStreamVersion3(java.io.InputStream dataFileStream,
java.lang.String internalFileName,
java.io.InputStream privateKeyStream,
java.lang.String privateKeyPassword,
java.io.OutputStream out,
boolean asciiArmor)
Signs a stream using OpenPGP version 3 format (compatible with PGP 2.x systems) Optional settings: Compression algorithm used is the one specified with setCompression(String)
Hashing algorithm used is the one specified with setHash(String)
Example: |
boolean |
verifyFile(java.io.InputStream dataFileStream,
java.io.InputStream publicKeyStream)
Deprecated. Use verifyStream(InputStream, InputStream) |
boolean |
verifyFile(java.lang.String dataFileName,
KeyStore keyStore,
java.lang.String outputFileName)
Verifies the incoming file as being correctly signed. |
boolean |
verifyFile(java.lang.String dataFileName,
java.lang.String publicKeyFileName)
Verifies the incoming file as being correctly signed. |
boolean |
verifyFile(java.lang.String dataFileName,
java.lang.String publicKeyFileName,
java.lang.String outputFileName)
Verifies the incoming file as being correctly signed. |
boolean |
verifyStream(java.io.InputStream dataFileStream,
java.io.InputStream publicKeyStream)
Verifies the incoming stream as being correctly signed. |
boolean |
verifyStream(java.io.InputStream dataFileStream,
java.io.InputStream publicKeyStream,
java.io.OutputStream outputFileStream)
Verifies the incoming stream as being correctly signed. |
boolean |
verifyStream(java.io.InputStream dataFileStream,
KeyStore keyStore,
java.io.OutputStream outputFileStream)
Verifies the incoming stream as being correctly signed. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PGPLib()
Method Detail |
---|
public java.lang.String getHash()
HashAlgorithm
public void setHash(java.lang.String hash)
HashAlgorithm
public java.lang.String getCypher()
CypherAlgorithm
public void setCypher(java.lang.String cypher)
CypherAlgorithm
public java.lang.String getCompression()
CompressionAlgorithm
public void setCompression(java.lang.String compression)
CompressionAlgorithm
public void clearSignFile(java.lang.String inputFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String hashingAlgorithm, java.lang.String outputFileName) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class ClearSignDemo { public static void main(String[] args) throws Exception{ // initialize the library PGPLib pgp = new PGPLib(); // clear sign pgp.clearSignFile("INPUT.txt", "private.key", "private key password", HashAlgorithm.SHA256, "OUTPUT.sig.txt"); } }
inputFileName
- File name to be clear signed (absolute or relative path)privateKeyFileName
- Private Key file (absolute or relative path)privateKeyPassword
- Private key passwordhashingAlgorithm
- Hashing algorithm, one of: SHA256, SHA384, SHA512, SHA224, SHA1, MD5, RIPEMD160, MD2outputFileName
- Output file name (absolute or relative path)
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
java.security.InvalidParameterException
- If the hashingAlgorithm parameter is not among the supported values
PGPException
HashAlgorithm
public void clearSignFileVersion3(java.lang.String inputFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String hashingAlgorithm, java.lang.String outputFileName) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class ClearSignVersion3Demo { public static void main(String[] args) throws Exception{ // initialize the library PGPLib pgp = new PGPLib(); // clear sign with version 3 signature pgp.clearSignFileVersion3("INPUT.txt", "private.key", "private key password", HashAlgorithm.SHA256, "OUTPUT.sig.txt"); } }
inputFileName
- File name to be clear signed (absolute or relative path)privateKeyFileName
- Private Key file (absolute or relative path)privateKeyPassword
- Private key passwordhashingAlgorithm
- Hashing algorithm, one of: SHA256, SHA384, SHA512, SHA224, SHA1, MD5, RIPEMD160, MD2outputFileName
- Output file name (absolute or relative path)
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
java.security.InvalidParameterException
- If the hashingAlgorithm parameter is other than the supported values
PGPException
HashAlgorithm
,
clearSignString(String, String, String, String)
public java.lang.String clearSignString(java.lang.String stringToSign, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String hashingAlgorithm) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class ClearSignDemo { public static void main(String[] args) throws Exception{ // initialize the library PGPLib pgp = new PGPLib(); String message = "The quick brown fox jumps."; // clear sign String clearSignedMessage = pgp.clearSignString(message, "private.key", "private key password", HashAlgorithm.SHA256); } }
stringToSign
- String message to be signedprivateKeyFileName
- Private Key file (absolute or relative path)privateKeyPassword
- Private key passwordhashingAlgorithm
- Hashing algorithm, one of: SHA256, SHA384, SHA512, SHA224, SHA1, MD5, RIPEMD160, MD2
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
java.security.InvalidParameterException
- If the hashingAlgorithm parameter is other than the supported values. Runtime exception
PGPException
clearSignStringVersion3(String, String, String, String)
,
HashAlgorithm
public java.lang.String clearSignStringVersion3(java.lang.String stringToSign, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String hashingAlgorithm) throws PGPException, java.io.IOException
stringToSign
- String message to be signedprivateKeyFileName
- Private Key file (absolute or relative path)privateKeyPassword
- Private key passwordhashingAlgorithm
- Hashing algorithm, one of: SHA256, SHA384, SHA512, SHA224, SHA1, MD5, RIPEMD160, MD2.
HashAlgorithm
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
java.security.InvalidParameterException
- If the hashingAlgorithm parameter is other than the supported values. Runtime exception
PGPException
clearSignFileVersion3(String, String, String, String, String)
,
verifyFile(String, String, String)
public void signFile(KeyStore keyStore, java.lang.String dataFileName, java.lang.String keyIdHex, java.lang.String privateKeyPassword, java.lang.String outputFileName) throws PGPException, java.io.IOException
setCompression(String)
setHash(String)
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store instance containing the private key to be used for signingkeyIdHex
- key ID of the Public Key in Hex formatprivateKeyPassword
- Private key passwordoutputFileName
- File name of the Output encrypted file (absolute or relative path)
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
java.io.IOException
- I/O error
PGPException
verifyFile(String, String, String)
public void signFile(KeyStore keyStore, java.lang.String dataFileName, long privateKeyId, java.lang.String privateKeyPassword, java.lang.String outputFileName) throws PGPException, java.io.IOException
setCompression(String)
setHash(String)
import com.didisoft.pgp.KeyStore; import com.didisoft.pgp.PGPLib; public class KeyStoreSignFileDemo { public static void main(String[] args) throws Exception{ // create an instance of the KeyStore KeyStore keyStore = new KeyStore("pgp.keystore", "changeit"); // initialize the library PGPLib pgp = new PGPLib(); // The signing key is usually our private key long signKeyId = keyStore.getKeyIdForUserId("demo@didisoft.com"); String signKeyPassword = "changeit"; pgp.signFile("INPUT.txt", keyStore, signKeyId, signKeyPassword, "signed.pgp"); } }
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store containing the private key to be used for signingprivateKeyId
- Key Id of the private key to be used for signingprivateKeyPassword
- Private key passwordoutputFileName
- File name of the output signed file (absolute or relative path)
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
java.io.IOException
- I/O error
PGPException
verifyFile(String, KeyStore, String)
public void signFile(java.lang.String dataFileName, KeyStore keyStore, java.lang.String privateKeyUserId, java.lang.String privateKeyPassword, java.lang.String outputFileName, boolean asciiArmor) throws PGPException, java.io.IOException
setCompression(String)
setHash(String)
import com.didisoft.pgp.KeyStore; import com.didisoft.pgp.PGPLib; public class KeyStoreSignFileDemo { public static void main(String[] args) throws Exception{ // create an instance of the KeyStore KeyStore keyStore = new KeyStore("pgp.keystore", "changeit"); // initialize the library PGPLib pgp = new PGPLib(); // The signing key is usually our private key long signKeyUserId = "demo@didisoft.com"; String signKeyPassword = "changeit"; // specify should the output be ASCII or binary boolean asciiArmor = false; pgp.signFile("INPUT.txt", keyStore, signKeyUserId, signKeyPassword, "signed.pgp", asciiArmor); } }
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store containing the private key to be used for signingprivateKeyUserId
- signing key User IdprivateKeyPassword
- signing key passwordoutputFileName
- File name of the output signed file (absolute or relative path)asciiArmor
- boolean if true
the output is ASCII armored, if false
the output is in binary format
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
java.io.IOException
- I/O error
PGPException
verifyFile(String, KeyStore, String)
public void signFile(java.lang.String inputFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String signedFileName, boolean asciiArmor) throws java.io.IOException, PGPException
setCompression(String)
setHash(String)
import com.didisoft.pgp.*; public class SignFile { public static void main(String[] args) throws Exception{ // initialize the library PGPLib pgp = new PGPLib(); // specify should the output be ASCII or binary boolean asciiArmor = false; pgp.signFile("INPUT.txt", "private.key", "private key password", "signed.pgp", asciiArmor); } }
inputFileName
- File Name to be OpenPGP Signed (absolute or relative path)privateKeyFileName
- Private Key file (absolute or relative path)privateKeyPassword
- Private key passwordsignedFileName
- File name of the output OpenPGP signed file (absolute or relative path)asciiArmor
- boolean if true
the output is ASCII armored, if false
the output is in binary format
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
PGPException
verifyFile(InputStream, InputStream)
public void signFile(java.lang.String fileName, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.io.OutputStream out, boolean asciiArmor) throws java.io.IOException, PGPException
setCompression(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.PGPLib; public class SignFileDemo { public static void main(String[] args) throws Exception{ // initialize the library PGPLib pgp = new PGPLib(); // The signing key is usually our private key FileInputStream privateKeyStream = new FileInputStream("private_key.asc"); String signKeyPassword = "changeit"; // specify should the output be ASCII or binary boolean asciiArmor = false; FileOutputStream outputSignedStream = new FileOutputStream("signed.pgp"); pgp.signFile("c:\\Data\\INPUT.txt", privateKeyStream, signKeyPassword, outputSignedFile, asciiArmor); } }
fileName
- File Name to be signed (absolute or relative path)privateKeyStream
- Private Key input streamout
- Output Stream signedprivateKeyPassword
- Private key passwordasciiArmor
- if true
output stream is in ASCII armored format,
when false
output stream is in binary format
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyStream does not contain an OpenPGP private key. Extends PGPException
WrongPasswordException
- If the specified password for the private key is incorrect
PGPException
verifyStream(InputStream, InputStream, OutputStream)
public void signStream(java.io.InputStream dataInputStream, java.lang.String fileNameLabel, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.io.OutputStream signedStream, boolean asciiArmor) throws java.io.IOException, PGPException
setCompression(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.PGPLib; public class SignStreamDemo { public static void main(String[] args) throws Exception{ // initialize the library PGPLib pgp = new PGPLib(); // The signing key is usually our private key FileInputStream privateKeyStream = new FileInputStream("private_key.asc"); String signKeyPassword = "changeit"; // specify should the output be ASCII or binary boolean asciiArmor = false; FileInputStream dataStream = new FileInputStream("c:\\Data\\INPUT.txt"); FileOutputStream outputSignedStream = new FileOutputStream("signed.pgp"); pgp.signStream(dataStream, "INPUT.txt" privateKeyStream, signKeyPassword, outputSignedFile, asciiArmor); } }
dataInputStream
- InputStream containing data to be signedfileNameLabel
- File name string to be associated with the data stream in the produced OpenPGP archive.privateKeyStream
- Private key input streamsignedStream
- Output stream signedprivateKeyPassword
- Private key passwordasciiArmor
- if true
output stream is in ASCII armored format,
when false
output stream is in binary format
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyStream does not contain an OpenPGP private key. Extends PGPException
WrongPasswordException
- If the specified password for the private key is incorrect
PGPException
verifyStream(InputStream, InputStream, OutputStream)
public void signStream(java.io.InputStream dataInputStream, java.lang.String fileNameLabel, KeyStore keyStore, java.lang.String signingKeyUserId, java.lang.String privateKeyPassword, java.io.OutputStream signedStream, boolean asciiArmor) throws java.io.IOException, PGPException
setCompression(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.*; public class SignStreamDemo { public static void main(String[] args) throws Exception{ // create an instance of the KeyStore KeyStore keyStore = new KeyStore("pgp.keystore", "changeit"); // initialize the library PGPLib pgp = new PGPLib(); // The signing key is usually our private key long signUserId = "demo@didisoft.com"; String signKeyPassword = "changeit"; // specify should the output be ASCII or binary boolean asciiArmor = false; FileInputStream dataStream = new FileInputStream("c:\\Data\\INPUT.txt"); FileOutputStream outputSignedStream = new FileOutputStream("signed.pgp"); pgp.signStream(dataStream, "INPUT.txt" keyStore, signUserId, signKeyPassword, outputSignedFile, asciiArmor); } }
dataInputStream
- InputStream containing data to be signedfileNameLabel
- File name string to be associated with the data stream in the produced OpenPGP archive.keyStore
- KeyStore containing the private key for signingsigningKeyUserId
- Primary User Id of the private keyprivateKeyPassword
- Private key passwordsignedStream
- Output stream signedasciiArmor
- if true
output stream is in ASCII armored format,
when false
output stream is in binary format
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
verifyStream(InputStream, KeyStore, OutputStream)
public void signStream(java.io.InputStream dataInputStream, java.lang.String fileNameLabel, KeyStore keyStore, long signingKeyId, java.lang.String privateKeyPassword, java.io.OutputStream signedStream, boolean asciiArmor) throws java.io.IOException, PGPException
setCompression(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.*; public class SignStreamDemo { public static void main(String[] args) throws Exception{ // create an instance of the KeyStore KeyStore keyStore = new KeyStore("pgp.keystore", "changeit"); // initialize the library PGPLib pgp = new PGPLib(); // The signing key is usually our private key long signKeyId = keyStore.getKeyIdForUserId("demo@didisoft.com"); String signKeyPassword = "changeit"; // specify should the output be ASCII or binary boolean asciiArmor = false; FileInputStream dataStream = new FileInputStream("c:\\Data\\INPUT.txt"); FileOutputStream outputSignedStream = new FileOutputStream("signed.pgp"); pgp.signStream(dataStream, "INPUT.txt" keyStore, signKeyId, signKeyPassword, outputSignedFile, asciiArmor); } }
dataInputStream
- InputStream containing data to be signedfileNameLabel
- File name string to be associated with the data stream in the produced OpenPGP archive.keyStore
- KeyStore containing the private key for signingsigningKeyId
- Key Id of the private keyprivateKeyPassword
- Private key passwordsignedStream
- Output stream signedasciiArmor
- if true
output stream is in ASCII armored format,
when false
output stream is in binary format
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
verifyStream(InputStream, KeyStore, OutputStream)
public void signFileVersion3(java.lang.String fileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String signedFileName, boolean asciiArmor) throws java.io.IOException, PGPException
setCompression(String)
setHash(String)
import com.didisoft.pgp.*; public class SignFileV3Demo { public static void main(String[] args) throws Exception{ // initialize the library PGPLib pgp = new PGPLib(); // specify should the output be ASCII or binary boolean asciiArmor = false; signFileVersion3("INPUT.txt", "private_key.asc", "private key password", "signed.pgp", asciiArmor); } }
fileName
- File Name to be signed (absolute or relative path)privateKeyFileName
- Private Key file (absolute or relative path)privateKeyPassword
- Private Key passwordsignedFileName
- File name of the output OpenPGP signed file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary format
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
PGPException
verifyFile(String, String, String)
public void signStreamVersion3(java.io.InputStream dataFileStream, java.lang.String internalFileName, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.io.OutputStream out, boolean asciiArmor) throws java.io.IOException, PGPException, WrongPasswordException
setCompression(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.PGPLib; public class SignStreamDemo { public static void main(String[] args) throws Exception{ // initialize the library PGPLib pgp = new PGPLib(); // The signing key is usually our private key FileInputStream privateKeyStream = new FileInputStream("private_key.asc"); String signKeyPassword = "changeit"; // specify should the output be ASCII or binary boolean asciiArmor = false; FileInputStream dataStream = new FileInputStream("c:\\Data\\INPUT.txt"); FileOutputStream outputSignedStream = new FileOutputStream("signed.pgp"); pgp.signStreamVersion3(dataStream, "INPUT.txt" privateKeyStream, signKeyPassword, outputSignedFile, asciiArmor); } }
dataFileStream
- File data input stream, to be signedinternalFileName
- File name to be associated with the data stream in the produced OpenPGP archiveprivateKeyStream
- Private Key input streamout
- Output Stream signedprivateKeyPassword
- Private key passwordasciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary format
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyStream does not contain an OpenPGP private key. Extends PGPException
WrongPasswordException
- If the specified password for the private key is incorrect
PGPException
verifyStream(InputStream, InputStream, OutputStream)
public void signAndEncryptFile(java.lang.String dataFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String publicKeyFile, java.lang.String outputFileName, boolean asciiArmor) throws PGPException, java.io.IOException
setCompression(String)
setCypher(String)
setHash(String)
import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // sign and encrypt pgp.signAndEncryptFile("INPUT.txt", "private_key.asc", "key password", "recipient_key.asc", "encrypted_output.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File Name to be OpenPGP signed and encrypted (absolute or relative path)privateKeyFileName
- Private Key file (absolute or relative path), used for signingprivateKeyPassword
- Private key passwordpublicKeyFile
- Public key file (absolute or relative path), used for encryptionoutputFileName
- File name of the OpenPGP Signed file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary format
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
NoPublicKeyFoundException
- If publicKeyFileName does not contain an OpenPGP public key. Extends PGPException
PGPException
decryptAndVerifyFile(String, String, String, String, String)
public void signAndEncryptFile(java.lang.String dataFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String publicKeyFile, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException, java.io.IOException
setCompression(String)
setCypher(String)
setHash(String)
import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // sign and encrypt pgp.signAndEncryptFile("INPUT.txt", "private_key.asc", "key password", "recipient_key.asc", "encrypted_output.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File Name to be OpenPGP signed and encrypted (absolute or relative path)privateKeyFileName
- Private Key file (absolute or relative path), used for signingprivateKeyPassword
- Private key passwordpublicKeyFile
- Public key file (absolute or relative path), used for encryptionoutputFileName
- File name of the OpenPGP Signed file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- Should integrity check be added to the output file.
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
NoPublicKeyFoundException
- If publicKeyFileName does not contain an OpenPGP public key. Extends PGPException
PGPException
decryptAndVerifyFile(String, String, String, String, String)
public void signAndEncryptFile(java.lang.String fileName, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.io.InputStream publicKeyStream, java.io.OutputStream outputStream, boolean asciiArmor, boolean withIntegrityCheck) throws java.io.IOException, PGPException
setCompression(String)
setCypher(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // The signing key is usually our private key FileInputStream privateKeyStream = new FileInputStream("private_key.asc"); String signKeyPassword = "changeit"; FileInputStream publicEncryptionKeyStream = new FileInputStream("recipient_key.asc"); // specify should the output be ASCII or binary boolean asciiArmor = false; FileOutputStream outputStream = new FileOutputStream("encrypted_output.pgp"); // sign and encrypt pgp.signAndEncryptFile("INPUT.txt", privateKeyStream, signKeyPassword, publicEncryptionKeyStream, outputStream, asciiArmor, withIntegrityCheck); } }
fileName
- File Name to be OpenPGP Signed (absolute or relative path)privateKeyStream
- Private Key input stream (used for signing)privateKeyPassword
- Private key passwordpublicKeyStream
- Public Key input stream (used for encryption)outputStream
- Output Stream signed and encryptedasciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- Should integrity check be added to the file.
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyStream does not contain an OpenPGP private key. Extends PGPException
NoPublicKeyFoundException
- If publicKeyStream does not contain an OpenPGP public key. Extends PGPException
PGPException
decryptAndVerifyStream(InputStream, InputStream, String, InputStream, OutputStream)
public void signAndEncryptStream(java.io.InputStream dataFileStream, java.lang.String internalFileName, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.io.InputStream publicKey, java.io.OutputStream outputStream, boolean asciiArmor, boolean withIntegrityCheck) throws java.io.IOException, PGPException
setCompression(String)
setCypher(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // The signing key is usually our private key FileInputStream privateKeyStream = new FileInputStream("private_key.asc"); String signKeyPassword = "changeit"; FileInputStream publicEncryptionKeyStream = new FileInputStream("recipient_key.asc"); // specify should the output be ASCII or binary boolean asciiArmor = false; FileInputStream dataStream = new FileInputStream("c:\\Data\\INPUT.txt"); FileOutputStream outputStream = new FileOutputStream("encrypted_output.pgp"); // sign and encrypt pgp.signAndEncryptStream(dataStream, "INPUT.txt", privateKeyStream, signKeyPassword, publicEncryptionKeyStream, outputStream, asciiArmor, withIntegrityCheck); } }
dataFileStream
- Data input stream to be signedinternalFileName
- File name string to be associated with the data stream in the produced OpenPGP archive.privateKeyStream
- Private Key input stream (used for signing)privateKeyPassword
- Private key passwordpublicKey
- Public Key input stream (used for encryption)outputStream
- Output Stream signed and encryptedasciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- Should integrity check be added to the file.
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyStream does not contain an OpenPGP private key. Extends PGPException
NoPublicKeyFoundException
- If publicKeyStream does not contain an OpenPGP public key. Extends PGPException
PGPException
decryptAndVerifyStream(InputStream, InputStream, String, InputStream, OutputStream)
public void signAndEncryptFile(java.lang.String fileName, KeyStore keyStore, java.lang.String signUserId, java.lang.String privateKeyPassword, java.lang.String encUserId, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws java.io.IOException, PGPException
setCompression(String)
setCypher(String)
setHash(String)
import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // create an instance of the KeyStore KeyStore keyStore = new KeyStore("pgp.keystore", "changeit"); // The signing key is usually our private key String signKeyUserId = "demo@didisoft.com"; String signKeyPassword = "changeit"; String encryptionKeyUserId = "Recipient Company ACM"; // sign and encrypt pgp.signAndEncryptFile("INPUT.txt", keyStore, signKeyUserId, signKeyPassword, encryptionKeyUserId, "encrypted_output.pgp", asciiArmor, withIntegrityCheck); } }
fileName
- File Name to be OpenPGP signed and encrypted (absolute or relative path)keyStore
- KeyStore containing the private key for signing and the public key for encryptionsignUserId
- User Id of the private key for signing of the form "name (comment) <email address>"privateKeyPassword
- Private key passwordencUserId
- User Id of the public encryption key of the form "name (comment) <email address>"outputFileName
- File name of the OpenPGP Signed file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- if true
integrity check information is added to the output file.
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
verifyFile(String, String, String)
public void signAndEncryptFile(java.lang.String fileName, KeyStore keyStore, long signKeyId, java.lang.String privateKeyPassword, long encKeyId, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws java.io.IOException, PGPException
setCompression(String)
setCypher(String)
setHash(String)
import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // create an instance of the KeyStore KeyStore keyStore = new KeyStore("pgp.keystore", "changeit"); // The signing key is usually our private key String signKeyId = keyStore.getKeyIdForUserId("demo@didisoft.com"); String signKeyPassword = "changeit"; String encryptionKeyId = keyStore.getKeyIdForKeyIdHex("74BB3286"); // sign and encrypt pgp.signAndEncryptFile("INPUT.txt", keyStore, signKeyId, signKeyPassword, encryptionKeyId, "encrypted_output.pgp", asciiArmor, withIntegrityCheck); } }
fileName
- File Name to be OpenPGP signed and encrypted (absolute or relative path)keyStore
- KeyStore containing the private key for signing and the public key for encryptionsignKeyId
- Key Id of the private key for signingprivateKeyPassword
- Private key passwordencKeyId
- Key Id of the public encryption keyoutputFileName
- File name of the OpenPGP Signed file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- if true
integrity check information is added to the output file.
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
verifyFile(String, String, String)
public void signAndEncryptStream(java.io.InputStream dataFileStream, java.lang.String internalFileName, KeyStore keyStore, java.lang.String signUserId, java.lang.String privateKeyPassword, java.lang.String encUserId, java.io.OutputStream outputStream, boolean asciiArmor, boolean withIntegrityCheck) throws java.io.IOException, PGPException
setCompression(String)
setCypher(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // create an instance of the KeyStore KeyStore keyStore = new KeyStore("pgp.keystore", "changeit"); // The signing key is usually our private key String signKeyUserId = "demo@didisoft.com"; String signKeyPassword = "changeit"; String encryptionKeyUserId = "Recipient Company ACM"; FileInputStream dataStream = new FileInputStream("c:\\Data\\INPUT.txt"); FileOutputStream outputSignedStream = new FileOutputStream("signed.pgp"); // sign and encrypt pgp.signAndEncryptStream(dataStream, "INPUT.txt", keyStore, signKeyUserId, signKeyPassword, encryptionKeyUserId, outputSignedStream, asciiArmor, withIntegrityCheck); } }
dataFileStream
- File data input stream, to be signedinternalFileName
- File name string to be associated with the data stream in the produced OpenPGP archive.keyStore
- KeyStore containing the private key for signing and the public key for encryptionsignUserId
- userId of the private key for signing of the form "name (comment) <email address>"privateKeyPassword
- Private key passwordencUserId
- userId of the public key for encryption of the form "name (comment) <email address>"outputStream
- Output Stream signed and encryptedasciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- should integrity check be added to the file.
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
verifyStream(InputStream, KeyStore, OutputStream)
public void signAndEncryptFileVersion3(java.lang.String dataFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String publicKeyFile, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException, java.io.IOException
setCompression(String)
setCypher(String)
setHash(String)
import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // sign and encrypt pgp.signAndEncryptFileVersion3("INPUT.txt", "private_key.asc", "key password", "recipient_key.asc", "encrypted_output.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File Name to be OpenPGP signed and encrypted (absolute or relative path)privateKeyFileName
- Private Key file (absolute or relative path), used for signingprivateKeyPassword
- Private key passwordpublicKeyFile
- Public key file (absolute or relative path), used for encryptionoutputFileName
- File name of the OpenPGP Signed file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- Should integrity check be added to the file. When producing data to be used by old systems (e.g. PGP 2.x) it is better to be false.
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
NoPublicKeyFoundException
- If publicKeyFileName does not contain an OpenPGP public key. Extends PGPException
PGPException
decryptAndVerifyFile(String, String, String, String, String)
public void signAndEncryptStreamVersion3(java.io.InputStream dataFileStream, java.lang.String internalFileName, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.io.InputStream publicKeyStream, java.io.OutputStream outputStream, boolean asciiArmor, boolean withIntegrityCheck) throws java.io.IOException, PGPException
setCompression(String)
setCypher(String)
setHash(String)
import java.io.*; import com.didisoft.pgp.PGPLib; public class SignAndEncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // should output be ASCII or binary boolean asciiArmor = false; // should integrity check information be added boolean withIntegrityCheck = false; // The signing key is usually our private key FileInputStream privateKeyStream = new FileInputStream("private_key.asc"); String signKeyPassword = "changeit"; FileInputStream publicEncryptionKeyStream = new FileInputStream("recipient_key.asc"); // specify should the output be ASCII or binary boolean asciiArmor = false; FileInputStream dataStream = new FileInputStream("c:\\Data\\INPUT.txt"); FileOutputStream outputStream = new FileOutputStream("encrypted_output.pgp"); // sign and encrypt pgp.signAndEncryptStreamVersion3(dataStream, "INPUT.txt", privateKeyStream, signKeyPassword, publicEncryptionKeyStream, outputStream, asciiArmor, withIntegrityCheck); } }
dataFileStream
- File data input stream, to be signedinternalFileName
- File name string to be associated with the data stream in the produced OpenPGP archive.privateKeyStream
- Private Key input stream (used for signing)privateKeyPassword
- Private key passwordpublicKeyStream
- Public Key input stream (used for encryption)outputStream
- Output Stream signed and encryptedasciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- Should integrity check be added to the file. When producing data to be used by old systems (e.g. PGP 2.x) it is better to be false.
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
NoPrivateKeyFoundException
- If privateKeyFileName does not contain an OpenPGP private key. Extends PGPException
NoPublicKeyFoundException
- If publicKeyFileName does not contain an OpenPGP public key. Extends PGPException
PGPException
decryptAndVerifyStream(InputStream, InputStream, String, InputStream, OutputStream)
public java.lang.String decryptStream(java.io.InputStream encryptedStream, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.io.OutputStream outputStream) throws PGPException, java.io.IOException
encryptedStream
- Input stream to be decryptedprivateKeyStream
- Private key input streamprivateKeyPassword
- Private key passwordoutputStream
- Output stream for the decrypted contents
java.io.IOException
- if a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file
WrongPrivateKeyException
- if the input stream was not encrypted with this private key. Extends PGPException
WrongPasswordException
- if the password for this private key is misspelled. Extends PGPException
PGPException
encryptStream(InputStream, String, InputStream, OutputStream, boolean, boolean)
public java.lang.String[] decryptStreamTo(java.io.InputStream encryptedStream, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.lang.String outputFolder) throws PGPException, java.io.IOException
encryptedStream
- Input stream to be decryptedprivateKeyStream
- Private key input streamprivateKeyPassword
- Private key passwordoutputFolder
- Output folder where the decrypted file(s) will be stored
java.io.IOException
- if a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file, or verifying signed content.
WrongPrivateKeyException
- if the input stream was not encrypted with this private key. Extends PGPException
WrongPasswordException
- if the password for this private key is misspelled. Extends PGPException
PGPException
encryptFiles(String[], String[], String, boolean, boolean)
public java.lang.String[] decryptStreamTo(java.io.InputStream encryptedStream, KeyStore keyStore, java.lang.String privateKeyPassword, java.lang.String outputFolder) throws PGPException, java.io.IOException
encryptedStream
- Input stream to be decryptedkeyStore
- KeyStore containing the decryption private keyprivateKeyPassword
- Private key passwordoutputFolder
- Output folder where the decrypted file(s) will be stored
java.io.IOException
- if a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file, or verifying signed content.
WrongPrivateKeyException
- if the input stream was not encrypted with this private key. Extends PGPException
WrongPasswordException
- if the password for this private key is misspelled. Extends PGPException
PGPException
encryptFiles(String[], KeyStore, String[], String, boolean, boolean)
,
encryptFiles(String[], KeyStore, long[], String, boolean, boolean)
public java.lang.String decryptStream(java.io.InputStream encryptedStream, KeyStore pgpKeyStore, java.lang.String privateKeyPassword, java.io.OutputStream outputStream) throws PGPException, java.io.IOException
encryptedStream
- Input Stream to be decryptedpgpKeyStore
- Instance of KeyStore
, that should contain the Private key to decrypt encryptedStreamprivateKeyPassword
- Private key passwordoutputStream
- Output Stream for the decrypted contents
PGPException
- if a problem has occurred while decrypting file, or verifying signed content.
java.io.IOException
- If a file/stream operation throws an exception
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
WrongPrivateKeyException
- if the input stream was not encrypted with this private key. Extends PGPException
WrongPasswordException
- if the password for this private key is misspelled. Extends PGPExceptionencryptStream(InputStream, String, KeyStore, String, OutputStream, boolean, boolean)
,
encryptStream(InputStream, String, KeyStore, long, OutputStream, boolean, boolean)
public java.lang.String decryptFile(java.lang.String encryptedFileName, KeyStore pgpKeyStore, java.lang.String privateKeyPassword, java.lang.String outputFileName) throws PGPException, java.io.IOException
encryptedFileName
- File name to be decrypted (absolute or relative path)pgpKeyStore
- Key store object. See KeyStore
privateKeyPassword
- Private key passwordoutputFileName
- File name of the Output decrypted file (absolute or relative path)
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
WrongPrivateKeyException
- if the file was not encrypted with this private key. Extends PGPException
WrongPasswordException
- if the password for this private key is misspelled. Extends PGPException
PGPException
encryptFile(String, KeyStore, String, String)
,
encryptFile(String, KeyStore, long, String)
public java.lang.String decryptFile(java.lang.String encryptedFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String outputFileName) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class DecryptFile { public static void main(String[] args) throws Exception{ // initialize the library instance PGPLib pgp = new PGPLib(); String privateKeyFile = "private.key"; String privateKeyPass = "changeit"; // The decrypt method returns the original name of the file // that was encrypted. We can use it afterwards, // to rename OUTPUT.txt to it for example. String originalFileName = pgp.decryptFile("encrypted.pgp", privateKeyFile, privateKeyPass, "OUTPUT.txt"); }
encryptedFileName
- File name to be decrypted (absolute or relative path)privateKeyFileName
- Private Key file name (absolute or relative path)privateKeyPassword
- Private key passwordoutputFileName
- File name of the Output decrypted file (absolute or relative path).
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file
WrongPrivateKeyException
- if the file was not encrypted with this private key. Extends PGPException
WrongPasswordException
- if the password for this private key is misspelled. Extends PGPException
PGPException
encryptFile(String, String, String, boolean, boolean)
public java.lang.String decryptFilePBE(java.lang.String encryptedFileName, java.lang.String decryptionPassword, java.lang.String outputFileName) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class DecryptFilePBE { public static void main(String[] args) throws Exception{ // initialize the library instance PGPLib pgp = new PGPLib(); // The decrypt method returns the original name of the file // that was encrypted. We can use it afterwards, // to rename OUTPUT.txt to it for example. String originalFileName = pgp.decryptFile("encrypted.pgp", "decryption password", "OUTPUT.txt"); }
encryptedFileName
- File name to be decrypted (absolute or relative path)decryptionPassword
- Password used for symmetric encryption of the input fileoutputFileName
- File name of the Output decrypted file (absolute or relative path).
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file
WrongPasswordException
- if the password for this private key is misspelled. Extends PGPException
PGPException
encryptFilePBE(String, String, String, String, boolean, boolean)
public java.lang.String[] decryptFileTo(java.lang.String encryptedFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String outputFolder) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class DecryptFile { public static void main(String[] args) throws Exception{ // initialize the library instance PGPLib pgp = new PGPLib(); String privateKeyFile = "private.key"; String privateKeyPass = "changeit"; // The decrypt method returns array with decrypted file paths String[] files = pgp.decryptFileTo("encrypted.pgp", privateKeyFile, privateKeyPass, "c:\"); for (int i=0; i
- Parameters:
encryptedFileName
- File name to be decrypted (absolute or relative path)privateKeyFileName
- Private Key file name (absolute or relative path)privateKeyPassword
- Private key passwordoutputFolder
- Folder path (absolute or relative path) where the decrypted file(s) will be stored- Returns:
- Array of file paths of the decrypted file(s)
- Throws:
java.io.IOException
- if a file/stream operation throws an exceptionorg.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting fileWrongPrivateKeyException
- if the file was not encrypted with this private keyWrongPasswordException
- if the password for this private key is misspelledPGPException
- See Also:
encryptFiles(String[], String[], String, boolean, boolean)
public java.lang.String decryptFile(java.lang.String encryptedFileName, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.lang.String outputFileName) throws PGPException, java.io.IOException
encryptedFileName
- File name to be decrypted (absolute or relative path)privateKeyStream
- Private Key input streamprivateKeyPassword
- Private key passwordoutputFileName
- File name of the Output decrypted file (absolute or relative path).
java.io.IOException
- if a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting
WrongPrivateKeyException
- if the file was not encrypted with this private key
WrongPasswordException
- if the password for this private key is misspelled
PGPException
encryptFile(String, String, String, boolean, boolean)
public void encryptStream(java.io.InputStream dataStream, java.lang.String fileName, long streamLength, java.lang.String publicKeyFileName, java.io.OutputStream out, boolean asciiArmor) throws PGPException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
dataStream
- Input Stream to be encryptedfileName
- File Name string to be stored in the OpenPGP file (OpenPGP archive stores information for the file name being encrypted)streamLength
- Length of stream to be encryptedpublicKeyFileName
- Key ring file name (absolute or relative path)out
- Output Stream OpenPGP encryptedasciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary format
org.bouncycastle.openpgp.PGPException
- if an error has occurred
PGPException
decryptStream(InputStream, InputStream, String, OutputStream)
public void encryptStream(java.io.InputStream dataStream, java.lang.String fileName, long streamLength, java.lang.String publicKeyFileName, java.io.OutputStream out, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
dataStream
- Input Stream to be encryptedfileName
- File Name string to be stored in the OpenPGP file (OpenPGP archive stores information for the file name being encrypted)streamLength
- Length of stream to be encryptedpublicKeyFileName
- Key ring file name (absolute or relative path)out
- Output Stream OpenPGP encryptedasciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- Should integrity check be added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
PGPException
decryptStream(InputStream, InputStream, String, OutputStream)
public void encryptStream(java.io.InputStream dataStream, java.lang.String fileName, KeyStore keyStore, java.lang.String userId, java.io.OutputStream out, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException, java.io.IOException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
dataStream
- Input Stream to be encryptedfileName
- File Name string to be stored in the OpenPGP file (OpenPGP archive stores information for the file name being encrypted)keyStore
- Key store object. See KeyStore
userId
- User ID of the form "name (comment) <email address>" (can be seen using KeyStore.listKeys()
)out
- Output Stream OpenPGP encryptedasciiArmor
- if true
output is in ASCII armored format,
when false
output is in binary formatwithIntegrityCheck
- Should integrity check be added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
java.io.IOException
- if an error occures reading dataStream
PGPException
decryptStream(InputStream, KeyStore, String, OutputStream)
public void encryptStream(java.io.InputStream dataStream, java.lang.String fileName, KeyStore keyStore, long keyId, java.io.OutputStream out, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException, java.io.IOException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
dataStream
- Input Stream to be encryptedfileName
- File Name string to be stored in the OpenPGP file (OpenPGP archive stores information for the file name being encrypted)keyStore
- Key store object. See KeyStore
keyId
- Key Id of the Public Keyout
- Output Stream OpenPGP encryptedasciiArmor
- Should file be in Armored modewithIntegrityCheck
- Should integrity check be added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
java.io.IOException
- if an error occurs reading dataStream
PGPException
public void encryptStream(java.io.InputStream dataStream, java.lang.String fileName, long streamLength, java.io.InputStream publicKeyStream, java.io.OutputStream out, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
dataStream
- Input Stream to be encryptedfileName
- File Name string to be stored in the OpenPGP file (OpenPGP archive stores information for the file name being encrypted)streamLength
- Length of stream to be encryptedpublicKeyStream
- Input stream from the Public keyout
- Output Stream OpenPGP encryptedasciiArmor
- Should file be in Armored modewithIntegrityCheck
- Should integrity check be added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
PGPException
public void encryptStream(java.io.InputStream dataStream, java.lang.String fileName, java.io.InputStream publicKeyStream, java.io.OutputStream out, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException, java.io.IOException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
dataStream
- Input Stream to be encryptedfileName
- File Name string to be stored in the OpenPGP file (OpenPGP archive stores information for the file name being encrypted)publicKeyStream
- Input stream from the Public keyout
- Output Stream OpenPGP encryptedasciiArmor
- Should file be in Armored modewithIntegrityCheck
- Should integrity check be added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
java.io.IOException
- if an error occurs reading dataStream
PGPException
public void encryptFilePBE(java.lang.String dataFileName, java.lang.String publicKeyFileName, java.lang.String alternativePassword, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException, java.io.FileNotFoundException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
dataFileName
- File name to be encrypted (absolute or relative path)publicKeyFileName
- Key ring file name (absolute or relative path)alternativePassword
- Additional passphrase that can be used to decrypt the file instead of using the private keyoutputFileName
- File name of the Output encrypted file (absolute or relative path)asciiArmor
- Should file be in Armored modewithIntegrityCheck
- Should integrity check be added to the file.
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
java.io.FileNotFoundException
- if dataFileName does not exist
PGPException
public void encryptFile(java.lang.String dataFileName, java.lang.String publicKeyFileName, java.lang.String outputFileName, boolean asciiArmor) throws PGPException, java.io.IOException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise in binary format boolean asciiArmor = true; pgp.encryptFile("INPUT.txt", "recipient_key.asc", "encrypted.pgp", asciiArmor); } }
dataFileName
- File name to be encrypted (absolute or relative path)publicKeyFileName
- Recipient public key file name (absolute or relative path)outputFileName
- File name of the output encrypted file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format, otherwise is in binary format.
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
java.io.IOException
public void encryptFile(java.lang.String dataFileName, java.lang.String publicKeyFileName, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added // set to false for compatibility with older versions of PGP such as 6.5.8. boolean withIntegrityCheck = true; pgp.encryptFile("INPUT.txt", "recipient_key.asc", "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File name to be encrypted (absolute or relative path)publicKeyFileName
- Recipient public key file name (absolute or relative path)outputFileName
- File name of the output encrypted file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format, otherwise is in binary format.withIntegrityCheck
- if true
additional integrity check is added to the file. Set to false for compatibility with older versions of PGP such as 6.5.8.
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
public void encryptFile(java.lang.String dataFileName, java.lang.String[] publicKeysFileNames, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added // set to false for compatibility with older versions of PGP such as 6.5.8. boolean withIntegrityCheck = true; String[] recipientsPublicKeys = {"public_key1.asc", "public_key2.asc", "public_key3.asc"}; pgp.encryptFile("INPUT.txt", recipientsPublicKeys, "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File name to be encrypted (absolute or relative path)publicKeysFileNames
- Array of recipients' public keys file names (absolute or relative paths)outputFileName
- File name of the output encrypted file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format, otherwise is in binary format.withIntegrityCheck
- if true
additional integrity check is added to the file.
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
public void encryptFile(java.lang.String dataFileName, KeyStore keyStore, java.lang.String[] recipientsUserIds, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added // set to false for compatibility with older versions of PGP such as 6.5.8. boolean withIntegrityCheck = true; // initialize the KeyStore KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); String[] recipientsUserIds = {"recipient1@company.com", "John Doe", "Clearing House"}; pgp.encryptFile("INPUT.txt", keyStore, recipientsUserIds, "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- KeyStore holding recipients' public keysrecipientsUserIds
- Array of recipients' public keys User Id'soutputFileName
- File name of the output encrypted file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format, otherwise is in binary format.withIntegrityCheck
- if true
additional integrity check is added to the file.
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
public void encryptFile(java.lang.String dataFileName, KeyStore keyStore, long[] recipientsKeyIds, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added // set to false for compatibility with older versions of PGP such as 6.5.8. boolean withIntegrityCheck = true; KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); long[] recipientsKeyIds = {15432123891819, keyStore.getKeyIdForUserId("Company ACM"), keyStore.getKeyIdForKeyIdHex("79AEAE03")}; pgp.encryptFile("INPUT.txt", keyStore, recipientsKeyIds, "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- KeyStore holding recipients' public keysrecipientsKeyIds
- Array of recipients' public keys Key Id'soutputFileName
- File name of the output encrypted file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format, otherwise is in binary format.withIntegrityCheck
- if true
additional integrity check is added to the file.
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
public void encryptFiles(java.lang.String[] dataFileNames, java.lang.String[] publicKeysFileNames, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFilesDemo { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added // set to false for compatibility with older versions of PGP such as 6.5.8. boolean withIntegrityCheck = true; String[] inputFiles = {"INPUT1.txt", "INPUT2.txt", "INPUT3.txt"}; String[] recipientsPublicKeys = {"public_key1.asc", "public_key2.asc", "public_key3.asc"}; pgp.encryptFiles(inputFiles, recipientsPublicKeys, "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileNames
- File names to be encrypted (absolute or relative path)publicKeysFileNames
- Array of recipients' public keys file names (absolute or relative path)outputFileName
- File name of the output encrypted file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format, otherwise is in binary format.withIntegrityCheck
- if true
additional integrity check is added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
PGPException
public void encryptFiles(java.lang.String[] dataFileNames, KeyStore keyStore, java.lang.String[] recipientsUserIds, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFilesDemo { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added boolean withIntegrityCheck = true; String[] inputFiles = {"INPUT1.txt", "INPUT2.txt", "INPUT3.txt"}; KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); String[] recipientsUserIds = {"recipient1@company.com", "John Doe", "Clearing House"}; pgp.encryptFiles(inputFiles, keyStore, recipientsUserIds, "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileNames
- File names to be encrypted (absolute or relative path)keyStore
- KeyStore
containing the recipients public keysrecipientsUserIds
- Array of recipients' public keys User Id'soutputFileName
- File name of the output encrypted file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format, otherwise is in binary format.withIntegrityCheck
- if true
additional integrity check is added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
PGPException
public void encryptFiles(java.lang.String[] dataFileNames, KeyStore keyStore, long[] recipientsKeyIds, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFilesDemo { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added boolean withIntegrityCheck = true; String[] inputFiles = {"INPUT1.txt", "INPUT2.txt", "INPUT3.txt"}; KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); long[] recipientsKeyIds = {15432123891819, keyStore.getKeyIdForUserId("Company ACM"), keyStore.getKeyIdForKeyIdHex("79AEAE03")}; pgp.encryptFiles(inputFiles, keyStore, recipientsUserIds, "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileNames
- File names to be encrypted (absolute or relative path)keyStore
- KeyStore
containing the recipients public keysrecipientsKeyIds
- Array of recipients' public keys Key Id'soutputFileName
- File name of the output encrypted file (absolute or relative path)asciiArmor
- if true
output is in ASCII armored format, otherwise is in binary format.withIntegrityCheck
- if true
additional integrity check is added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
java.lang.IllegalArgumentException
- if the input files array is empty
PGPException
public void encryptFile(java.lang.String dataFileName, java.io.InputStream publicKeyStream, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import java.io.*; import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added boolean withIntegrityCheck = true; FileInputStream keyStream = null; try { keyStream = new FileInputStream("recipient_key.asc"); pgp.encryptFile("INPUT.txt", keyStream, "encrypted.pgp", asciiArmor, withIntegrityCheck); } finally { if (keyStream != null) keyStream.close(); } } }
dataFileName
- File name to be encrypted (absolute or relative path)publicKeyStream
- Input stream from the Public key, caller method is responsible for closing itoutputFileName
- File name of the Output encrypted file (absolute or relative path)asciiArmor
- if true the output file will be in ASCII format, if false the output file will be in binary formatwithIntegrityCheck
- if true integrity check information is added to the file.
org.bouncycastle.openpgp.PGPException
- if an error has occurred
PGPException
public int encryptFileByUserId(KeyStore keyStore, java.lang.String dataFileName, java.lang.String userID, java.lang.String outputFileName)
instead
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store object. See KeyStore
userID
- User ID of the form "name (comment) <email address>" (can be seen using KeyStore.listKeys()
)outputFileName
- File name of the Output encrypted file (absolute or relative path)
public void encryptFile(java.lang.String dataFileName, KeyStore keyStore, java.lang.String userId, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added boolean withIntegrityCheck = true; KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); String recipientUserId = "recipient@company.com"; pgp.encryptFile("INPUT.txt", keyStore, recipientUserId, "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store object. See KeyStore
userId
- Recipient public key User Id of the form "name (comment) <email address>"outputFileName
- File name of the Output encrypted file (absolute or relative path)asciiArmor
- if true the output file will be in ASCII format, if false the output file will be in binary formatwithIntegrityCheck
- if true integrity check information is added to the file.
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
decryptFile(String, KeyStore, String, String)
public void encryptFile(java.lang.String dataFileName, KeyStore keyStore, java.lang.String userId, java.lang.String outputFileName) throws PGPException
setCompression(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
setCypher(String)
if supported
by the public key, otherwise the first supported by the key algorithm is used.
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // initialize the KeyStore KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); String recipientUserId = "recipient@company.com"; pgp.encryptFile("INPUT.txt", keyStore, recipientUserId, "encrypted.pgp"); } }
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store object. See KeyStore
userId
- User ID of the form "name (comment) <email address>"outputFileName
- File name of the Output encrypted file (absolute or relative path)
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
decryptFile(String, KeyStore, String, String)
public int encryptFileByKeyId(KeyStore keyStore, java.lang.String dataFileName, java.lang.String keyIdHex, java.lang.String outputFileName)
instead
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store object. See KeyStore
keyIdHex
- Key Id of the Public Key in Hex formatoutputFileName
- File name of the Output encrypted file (absolute or relative path)public void encryptFile(java.lang.String dataFileName, KeyStore keyStore, long keyId, java.lang.String outputFileName, boolean asciiArmor, boolean withIntegrityCheck) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // if true the output file will be in ASCII armored format, // otherwise will be in binary format boolean asciiArmor = true; // if true additional integrity check information is added boolean withIntegrityCheck = true; // initialize the KeyStore KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); long recipientKeyId = keyStore.getKeyIdForKeyIdHex("79AEAE03"); pgp.encryptFile("INPUT.txt", keyStore, recipientKeyId, "encrypted.pgp", asciiArmor, withIntegrityCheck); } }
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store object. See KeyStore
keyId
- Key Id of the recipient public keyoutputFileName
- File name of the encrypted output file (absolute or relative path)asciiArmor
- if true the output file will be in ASCII format, if false the output file will be in binary formatwithIntegrityCheck
- if true integrity check information is added to the file.
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
decryptFile(String, KeyStore, String, String)
public void encryptFile(java.lang.String dataFileName, KeyStore keyStore, long keyId, java.lang.String outputFileName) throws PGPException
setCompression(String)
setCypher(String)
import com.didisoft.pgp.*; public class EncryptFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // initialize the KeyStore KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); long recipientKeyId = keyStore.getKeyIdForKeyIdHex("79AEAE03"); pgp.encryptFile("INPUT.txt", keyStore, recipientKeyId, "encrypted.pgp"); } }
dataFileName
- File name to be encrypted (absolute or relative path)keyStore
- Key store object. See KeyStore
keyId
- Key Id of the Public KeyoutputFileName
- File name of the Output encrypted file (absolute or relative path)
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
decryptFile(String, String, String, String)
public boolean verifyFile(java.lang.String dataFileName, java.lang.String publicKeyFileName, java.lang.String outputFileName) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class VerifyFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // verify and extract the signed content boolean validSignature = pgp.verifyFile("signed.pgp", "sender_public_key.asc", "OUTPUT.txt"); if (validSignature) { System.out.println("Signature is valid."); } else { System.out.println("!Signature is invalid!"); } } }
dataFileName
- File name to be verified for a valid OpenPGP signature (absolute or relative path)publicKeyFileName
- Sender public key file name (absolute or relative path)outputFileName
- Output file name, extracted from the signed file (absolute or relative path)
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
FileIsEncryptedException
- if the input file is not only signed but aslo encrypted
PGPException
signFile(String, String, String, String, boolean)
,
signFileVersion3(String, String, String, String, boolean)
public boolean verifyFile(java.lang.String dataFileName, KeyStore keyStore, java.lang.String outputFileName) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class VerifyFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // initialize the KeyStore KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); // verify and extract the signed content boolean validSignature = pgp.verifyFile("signed.pgp", keyStore, "OUTPUT.txt"); if (validSignature) { System.out.println("Signature is valid."); } else { System.out.println("!Signature is invalid!"); } } }
dataFileName
- File name to be verified for a valid OpenPGP signature (absolute or relative path)keyStore
- KeyStore object containing the sender public key that will be used for verificationoutputFileName
- Output file name, extracted from the signed file (absolute or relative path)
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
signFile(String, KeyStore, String, String, String, boolean)
public boolean verifyFile(java.lang.String dataFileName, java.lang.String publicKeyFileName) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class VerifyFile { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // initialize the KeyStore KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); // verify and extract the signed content boolean validSignature = pgp.verifyFile("signed.pgp", "sender_public_key.asc"); if (validSignature) { System.out.println("Signature is valid."); } else { System.out.println("!Signature is invalid!"); } } }
dataFileName
- File name to be verified for a valid OpenPGP signature (absolute or relative path)publicKeyFileName
- Sender public key file name (absolute or relative path)
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
FileIsEncryptedException
- If the input file is not only signed but also encrypted
PGPException
signFile(String, String, String, String, boolean)
public boolean verifyFile(java.io.InputStream dataFileStream, java.io.InputStream publicKeyStream) throws PGPException, java.io.IOException
verifyStream(InputStream, InputStream)
dataFileStream
- Input stream from the File to be verifiedpublicKeyStream
- Input stream from the Public key
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
PGPException
signStream(InputStream, String, InputStream, String, OutputStream, boolean)
public boolean verifyStream(java.io.InputStream dataFileStream, java.io.InputStream publicKeyStream) throws PGPException, java.io.IOException
import java.io.*; import com.didisoft.pgp.*; public class VerifyStreamDemo { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); InputStream dataStream = new FileInputStream("signed.pgp"); InputStream keyStream = new FileInputStream("sender_public_key.asc"); try { // verify and extract the signed content boolean validSignature = pgp.verifyStream(dataStream, keyStream); if (validSignature) { System.out.println("Signature is valid."); } else { System.out.println("!Signature is invalid!"); } } finally { dataStream.close(); keyStream.close(); } } }
dataFileStream
- Input stream from the file to be verifiedpublicKeyStream
- Input stream from the sender public key
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
FileIsEncryptedException
- If supplied file is not only signed but encrypted too.
PGPException
signStream(InputStream, String, InputStream, String, OutputStream, boolean)
public boolean verifyStream(java.io.InputStream dataFileStream, java.io.InputStream publicKeyStream, java.io.OutputStream outputFileStream) throws PGPException, java.io.IOException
import java.io.*; import com.didisoft.pgp.*; public class VerifyStreamDemo { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); InputStream dataStream = new FileInputStream("signed.pgp"); InputStream keyStream = new FileInputStream("sender_public_key.asc"); OutputStream outputStream = new FileOutputStream("OUTPUT.txt"); try { // verify and extract the signed content boolean validSignature = pgp.verifyStream(dataStream, keyStream, outputStream); if (validSignature) { System.out.println("Signature is valid."); } else { System.out.println("!Signature is invalid!"); } } finally { dataStream.close(); keyStream.close(); outputStream.close(); } } }
dataFileStream
- Input stream from the File to be verifiedpublicKeyStream
- Input stream from the Public keyoutputFileStream
- Output Stream for the uncompressed signed content
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
FileIsEncryptedException
- if the input file is not only signed but also encrypted
PGPException
signStream(InputStream, String, InputStream, String, OutputStream, boolean)
public boolean verifyStream(java.io.InputStream dataFileStream, KeyStore keyStore, java.io.OutputStream outputFileStream) throws PGPException, java.io.IOException
import java.io.*; import com.didisoft.pgp.*; public class VerifyStreamDemo { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); InputStream dataStream = new FileInputStream("signed.pgp"); OutputStream outputStream = new FileOutputStream("OUTPUT.txt"); // initialize the KeyStore KeyStore keyStore = new KeyStore("mykeys.keystore", "password"); try { // verify and extract the signed content boolean validSignature = pgp.verifyStream(dataStream, keyStore, outputStream); if (validSignature) { System.out.println("Signature is valid."); } else { System.out.println("!Signature is invalid!"); } } finally { dataStream.close(); keyStream.close(); outputStream.close(); } } }
dataFileStream
- Input stream from the File to be verifiedkeyStore
- Key store instance containing the sender public key for verificationoutputFileStream
- Output Stream for the uncompressed signed content
java.io.IOException
- I/O error
org.bouncycastle.openpgp.PGPException
- OpenPGP encryption error
FileIsEncryptedException
- if the input stream is not only signed but also encrypted
PGPException
signStream(InputStream, String, InputStream, String, OutputStream, boolean)
public boolean decryptAndVerifyFile(java.lang.String encryptedFileName, KeyStore keyStore, java.lang.String privateKeyPassword, java.lang.String outputFileName) throws PGPException, java.io.IOException
encryptedFileName
- File name to be decrypted (absolute or relative path)keyStore
- Key store containing the Private Key for decryption and the other party Public key for verificationprivateKeyPassword
- Private key passwordoutputFileName
- File name of the Output decrypted file (absolute or relative path).
java.io.IOException
- if a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file
WrongPrivateKeyException
- if the file was not encrypted with this private key
WrongPasswordException
- if the password for this private key is misspelled
PGPException
signAndEncryptFile(String, KeyStore, String, String, String, String, boolean, boolean)
public boolean decryptAndVerifyStream(java.io.InputStream encryptedStream, KeyStore keyStore, java.lang.String privateKeyPassword, java.io.OutputStream outputFileStream) throws PGPException, java.io.IOException
encryptedStream
- Input stream with the encrypted contentkeyStore
- Key store instance containing the Private Key for decryption and the other party Public key for verificationprivateKeyPassword
- Private Key passwordoutputFileStream
- Output stream for the decrypted content
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file
WrongPrivateKeyException
- if the stream was not encrypted with this private key
WrongPasswordException
- if the password for this private key is misspelled
PGPException
signAndEncryptStream(InputStream, String, KeyStore, String, String, String, OutputStream, boolean, boolean)
public boolean decryptAndVerifyFile(java.lang.String encryptedFileName, java.lang.String privateKeyFileName, java.lang.String privateKeyPassword, java.lang.String publicKeyFile, java.lang.String outputFileName) throws PGPException, java.io.IOException
import com.didisoft.pgp.*; public class DecryptAndVerifyFileDemo { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); // verify and extract the signed content boolean validSignature = pgp.decryptAndVerifyFile("encrypted.pgp", "decryption_private_key.asc", "decryption key password", "sender_public_key.asc", "OUTPUT.txt"); if (validSignature) { System.out.println("Signature is valid."); } else { System.out.println("!Signature is invalid!"); } } }
encryptedFileName
- File name to be decrypted (absolute or relative path)privateKeyFileName
- Private key file name used for decryption (absolute or relative path)privateKeyPassword
- Private key passwordpublicKeyFile
- Public key file name used for verification of the signature (absolute or relative path)outputFileName
- File name of the output decrypted file (absolute or relative path).
java.io.IOException
- if a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file
WrongPrivateKeyException
- if the file was not encrypted with this private key
WrongPasswordException
- if the password for this private key is misspelled
PGPException
signAndEncryptFile(String, String, String, String, String, boolean, boolean)
public boolean decryptAndVerifyStream(java.io.InputStream encryptedStream, java.io.InputStream privateKeyStream, java.lang.String privateKeyPassword, java.io.InputStream publicKeyStream, java.io.OutputStream outputFileStream) throws PGPException, java.io.IOException
import java.io.*; import com.didisoft.pgp.*; public class DecryptAndVerifyStreamDemo { public static void main(String[] args) throws Exception{ // create an instance of the library PGPLib pgp = new PGPLib(); InputStream dataStream = new FileInputStream("signed.pgp"); InputStream decryptionKeyStream = new FileInputStream("decryption_private_key.asc"); InputStream verificationKeyStream = new FileInputStream("sender_public_key.asc"); OutputStream outputStream = new FileOutputStream("OUTPUT.txt"); try { // verify and extract the signed content boolean validSignature = pgp.decryptAndVerifyStream(dataStream, decryptionKeyStream, "decryption key password", verificationKeyStream, outputStream); if (validSignature) { System.out.println("Signature is valid."); } else { System.out.println("!Signature is invalid!"); } } finally { dataStream.close(); decryptionKeyStream.close(); verificationKeyStream.close(); outputStream.close(); } } }
encryptedStream
- Input stream with the encrypted and signed contentprivateKeyStream
- Private Key stream used for decryption. This is usually our own private keyprivateKeyPassword
- Private Key passwordpublicKeyStream
- Public Key stream used for signature verification. This is usually the public key of the senderoutputFileStream
- Output stream for the decrypted content
java.io.IOException
- If a file/stream operation throws an exception
org.bouncycastle.openpgp.PGPException
- if a problem has occurred while decrypting file
WrongPrivateKeyException
- if the stream was not encrypted with this private key
WrongPasswordException
- if the password for this private key is misspelled
PGPException
signAndEncryptStream(InputStream, String, InputStream, String, InputStream, OutputStream, boolean, boolean)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |