Package org.pgpainless
Class PGPainless
- java.lang.Object
-
- org.pgpainless.PGPainless
-
public final class PGPainless extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringasciiArmor(org.bouncycastle.openpgp.PGPKeyRing key)Wrap a key or certificate in ASCII armor.static voidasciiArmor(org.bouncycastle.openpgp.PGPKeyRing key, java.io.OutputStream outputStream)Wrap a key of certificate in ASCII armor and write the result into the givenOutputStream.static java.lang.StringasciiArmor(org.bouncycastle.openpgp.PGPSignature signature)Wrap the detached signature in ASCII armor.static KeyRingBuilderbuildKeyRing()Build a custom OpenPGP key ring.static CertifyCertificatecertify()Create different kinds of signatures on other keys.static DecryptionBuilderdecryptAndOrVerify()Create aDecryptionStream, which can be used to decrypt and/or verify data using OpenPGP.static EncryptionBuilderencryptAndOrSign()Create anEncryptionStream, which can be used to encrypt and/or sign data using OpenPGP.static org.bouncycastle.openpgp.PGPPublicKeyRingextractCertificate(org.bouncycastle.openpgp.PGPSecretKeyRing secretKey)Extract a public key certificate from a secret key.static KeyRingTemplatesgenerateKeyRing()Generate a fresh OpenPGP key ring from predefined templates.static PolicygetPolicy()Access, and make changes to PGPainless policy on acceptable/default algorithms etc.static KeyRingInfoinspectKeyRing(org.bouncycastle.openpgp.PGPKeyRing keyRing)Quickly access information about aPGPPublicKeyRing/PGPSecretKeyRing.static KeyRingInfoinspectKeyRing(org.bouncycastle.openpgp.PGPKeyRing keyRing, java.util.Date referenceTime)Quickly access information about aPGPPublicKeyRing/PGPSecretKeyRing.static org.bouncycastle.openpgp.PGPPublicKeyRingmergeCertificate(org.bouncycastle.openpgp.PGPPublicKeyRing originalCopy, org.bouncycastle.openpgp.PGPPublicKeyRing updatedCopy)Merge two copies of the same certificate (e.g. an old copy, and one retrieved from a key server) together.static SecretKeyRingEditorInterfacemodifyKeyRing(org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys)Make changes to a secret key.static SecretKeyRingEditorInterfacemodifyKeyRing(org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys, java.util.Date referenceTime)Make changes to a secret key at the given reference time.static KeyRingReaderreadKeyRing()Read an existing OpenPGP key ring.
-
-
-
Method Detail
-
generateKeyRing
@Nonnull public static KeyRingTemplates generateKeyRing()
Generate a fresh OpenPGP key ring from predefined templates.- Returns:
- templates
-
buildKeyRing
@Nonnull public static KeyRingBuilder buildKeyRing()
Build a custom OpenPGP key ring.- Returns:
- builder
-
readKeyRing
@Nonnull public static KeyRingReader readKeyRing()
Read an existing OpenPGP key ring.- Returns:
- builder
-
extractCertificate
@Nonnull 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
@Nonnull public static org.bouncycastle.openpgp.PGPPublicKeyRing mergeCertificate(@Nonnull org.bouncycastle.openpgp.PGPPublicKeyRing originalCopy, @Nonnull org.bouncycastle.openpgp.PGPPublicKeyRing updatedCopy) throws org.bouncycastle.openpgp.PGPExceptionMerge 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
@Nonnull public static java.lang.String asciiArmor(@Nonnull org.bouncycastle.openpgp.PGPKeyRing key) throws java.io.IOExceptionWrap a key or certificate in ASCII armor.- Parameters:
key- key or certificate- Returns:
- ascii armored string
- Throws:
java.io.IOException- in case of an error in theArmoredOutputStream
-
asciiArmor
@Nonnull public static java.lang.String asciiArmor(@Nonnull org.bouncycastle.openpgp.PGPSignature signature) throws java.io.IOExceptionWrap the detached signature in ASCII armor.- Parameters:
signature- detached signature- Returns:
- ascii armored string
- Throws:
java.io.IOException- in case of an error in theArmoredOutputStream
-
asciiArmor
public static void asciiArmor(@Nonnull org.bouncycastle.openpgp.PGPKeyRing key, @Nonnull java.io.OutputStream outputStream) throws java.io.IOExceptionWrap a key of certificate in ASCII armor and write the result into the givenOutputStream.- Parameters:
key- key or certificateoutputStream- output stream- Throws:
java.io.IOException- in case of an error ion theArmoredOutputStream
-
encryptAndOrSign
@Nonnull public static EncryptionBuilder encryptAndOrSign()
Create anEncryptionStream, which can be used to encrypt and/or sign data using OpenPGP.- Returns:
- builder
-
decryptAndOrVerify
@Nonnull public static DecryptionBuilder decryptAndOrVerify()
Create aDecryptionStream, which can be used to decrypt and/or verify data using OpenPGP.- Returns:
- builder
-
modifyKeyRing
@Nonnull public static SecretKeyRingEditorInterface modifyKeyRing(@Nonnull 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 using
SecretKeyRingEditorInterface.done().- Parameters:
secretKeys- secret key ring- Returns:
- builder
-
modifyKeyRing
@Nonnull public static SecretKeyRingEditorInterface modifyKeyRing(@Nonnull org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys, @Nonnull java.util.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 using
SecretKeyRingEditorInterface.done().- Parameters:
secretKeys- secret key ringreferenceTime- reference time used as signature creation date- Returns:
- builder
-
inspectKeyRing
@Nonnull public static KeyRingInfo inspectKeyRing(@Nonnull org.bouncycastle.openpgp.PGPKeyRing keyRing)
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) use
inspectKeyRing(PGPKeyRing, Date)instead.- Parameters:
keyRing- key ring- Returns:
- access object
-
inspectKeyRing
@Nonnull public static KeyRingInfo inspectKeyRing(@Nonnull org.bouncycastle.openpgp.PGPKeyRing keyRing, @Nonnull java.util.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
@Nonnull public static Policy getPolicy()
Access, and make changes to PGPainless policy on acceptable/default algorithms etc.- Returns:
- policy
-
certify
@Nonnull public static CertifyCertificate certify()
Create different kinds of signatures on other keys.- Returns:
- builder
-
-