Package org.pgpainless
Class PGPainless
java.lang.Object
org.pgpainless.PGPainless
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
asciiArmor
(org.bouncycastle.openpgp.PGPKeyRing key) Wrap a key or certificate in ASCII armor.static void
asciiArmor
(org.bouncycastle.openpgp.PGPKeyRing key, OutputStream outputStream) Wrap a key of certificate in ASCII armor and write the result into the givenOutputStream
.static String
asciiArmor
(org.bouncycastle.openpgp.PGPSignature signature) Wrap the detached signature in ASCII armor.static KeyRingBuilder
Build a custom OpenPGP key ring.static CertifyCertificate
certify()
Create different kinds of signatures on other keys.static DecryptionBuilder
Create aDecryptionStream
, which can be used to decrypt and/or verify data using OpenPGP.static EncryptionBuilder
Create anEncryptionStream
, which can be used to encrypt and/or sign data using OpenPGP.static org.bouncycastle.openpgp.PGPPublicKeyRing
extractCertificate
(org.bouncycastle.openpgp.PGPSecretKeyRing secretKey) Extract a public key certificate from a secret key.static KeyRingTemplates
Generate a fresh OpenPGP key ring from predefined templates.static Policy
Access, and make changes to PGPainless policy on acceptable/default algorithms etc.static KeyRingInfo
inspectKeyRing
(org.bouncycastle.openpgp.PGPKeyRing keyRing) Quickly access information about aPGPPublicKeyRing
/PGPSecretKeyRing
.static KeyRingInfo
inspectKeyRing
(org.bouncycastle.openpgp.PGPKeyRing keyRing, Date referenceTime) Quickly access information about aPGPPublicKeyRing
/PGPSecretKeyRing
.static org.bouncycastle.openpgp.PGPPublicKeyRing
mergeCertificate
(org.bouncycastle.openpgp.PGPPublicKeyRing originalCopy, org.bouncycastle.openpgp.PGPPublicKeyRing updatedCopy) Merge two copies of the same certificate (e.g.static SecretKeyRingEditorInterface
modifyKeyRing
(org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys) Make changes to a secret key.static SecretKeyRingEditorInterface
modifyKeyRing
(org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys, Date referenceTime) Make changes to a secret key at the given reference time.static KeyRingReader
Read an existing OpenPGP key ring.
-
Method Details
-
generateKeyRing
Generate a fresh OpenPGP key ring from predefined templates.- Returns:
- templates
-
buildKeyRing
Build a custom OpenPGP key ring.- Returns:
- builder
-
readKeyRing
Read an existing OpenPGP key ring.- Returns:
- builder
-
extractCertificate
public static org.bouncycastle.openpgp.PGPPublicKeyRing extractCertificate(@Nonnull org.bouncycastle.openpgp.PGPSecretKeyRing secretKey) Extract a public key certificate from a secret key.- Parameters:
secretKey
- secret key- Returns:
- public key certificate
-
mergeCertificate
public static org.bouncycastle.openpgp.PGPPublicKeyRing mergeCertificate(@Nonnull org.bouncycastle.openpgp.PGPPublicKeyRing originalCopy, @Nonnull org.bouncycastle.openpgp.PGPPublicKeyRing updatedCopy) throws org.bouncycastle.openpgp.PGPException Merge two copies of the same certificate (e.g. an old copy, and one retrieved from a key server) together.- Parameters:
originalCopy
- local, older copy of the certupdatedCopy
- updated, newer copy of the cert- Returns:
- merged certificate
- Throws:
org.bouncycastle.openpgp.PGPException
- in case of an error
-
asciiArmor
public static String asciiArmor(@Nonnull org.bouncycastle.openpgp.PGPKeyRing key) throws IOException Wrap a key or certificate in ASCII armor.- Parameters:
key
- key or certificate- Returns:
- ascii armored string
- Throws:
IOException
- in case of an error in theArmoredOutputStream
-
asciiArmor
public static String asciiArmor(@Nonnull org.bouncycastle.openpgp.PGPSignature signature) throws IOException Wrap the detached signature in ASCII armor.- Parameters:
signature
- detached signature- Returns:
- ascii armored string
- Throws:
IOException
- in case of an error in theArmoredOutputStream
-
asciiArmor
public static void asciiArmor(@Nonnull org.bouncycastle.openpgp.PGPKeyRing key, @Nonnull OutputStream outputStream) throws IOException Wrap a key of certificate in ASCII armor and write the result into the givenOutputStream
.- Parameters:
key
- key or certificateoutputStream
- output stream- Throws:
IOException
- in case of an error ion theArmoredOutputStream
-
encryptAndOrSign
Create anEncryptionStream
, which can be used to encrypt and/or sign data using OpenPGP.- Returns:
- builder
-
decryptAndOrVerify
Create aDecryptionStream
, which can be used to decrypt and/or verify data using OpenPGP.- Returns:
- builder
-
modifyKeyRing
public static SecretKeyRingEditorInterface modifyKeyRing(org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys) Make changes to a secret key. This method can be used to change key expiration dates and passphrases, or add/revoke subkeys. After making the desired changes in the builder, the modified key ring can be extracted usingSecretKeyRingEditorInterface.done()
.- Parameters:
secretKeys
- secret key ring- Returns:
- builder
-
modifyKeyRing
public static SecretKeyRingEditorInterface modifyKeyRing(org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys, Date referenceTime) Make changes to a secret key at the given reference time. This method can be used to change key expiration dates and passphrases, or add/revoke user-ids and subkeys. After making the desired changes in the builder, the modified key can be extracted usingSecretKeyRingEditorInterface.done()
.- Parameters:
secretKeys
- secret key ringreferenceTime
- reference time used as signature creation date- Returns:
- builder
-
inspectKeyRing
Quickly access information about aPGPPublicKeyRing
/PGPSecretKeyRing
. This method can be used to determine expiration dates, key flags and other information about a key. To evaluate a key at a given date (e.g. to determine if the key was allowed to create a certain signature) useinspectKeyRing(PGPKeyRing, Date)
instead.- Parameters:
keyRing
- key ring- Returns:
- access object
-
inspectKeyRing
public static KeyRingInfo inspectKeyRing(org.bouncycastle.openpgp.PGPKeyRing keyRing, Date referenceTime) Quickly access information about aPGPPublicKeyRing
/PGPSecretKeyRing
. This method can be used to determine expiration dates, key flags and other information about a key at a specific time.- Parameters:
keyRing
- key ringreferenceTime
- date of inspection- Returns:
- access object
-
getPolicy
Access, and make changes to PGPainless policy on acceptable/default algorithms etc.- Returns:
- policy
-
certify
Create different kinds of signatures on other keys.- Returns:
- builder
-