Class PGPainless

java.lang.Object
org.pgpainless.PGPainless

public final class PGPainless extends Object
  • Method Details

    • generateKeyRing

      public static KeyRingTemplates generateKeyRing()
      Generate a fresh OpenPGP key ring from predefined templates.
      Returns:
      templates
    • buildKeyRing

      public static KeyRingBuilder buildKeyRing()
      Build a custom OpenPGP key ring.
      Returns:
      builder
    • readKeyRing

      public static KeyRingReader 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 cert
      updatedCopy - 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 the ArmoredOutputStream
    • 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 the ArmoredOutputStream
    • 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 given OutputStream.
      Parameters:
      key - key or certificate
      outputStream - output stream
      Throws:
      IOException - in case of an error ion the ArmoredOutputStream
    • encryptAndOrSign

      public static EncryptionBuilder encryptAndOrSign()
      Create an EncryptionStream, which can be used to encrypt and/or sign data using OpenPGP.
      Returns:
      builder
    • decryptAndOrVerify

      public static DecryptionBuilder decryptAndOrVerify()
      Create a DecryptionStream, 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 using SecretKeyRingEditorInterface.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 using SecretKeyRingEditorInterface.done().
      Parameters:
      secretKeys - secret key ring
      referenceTime - reference time used as signature creation date
      Returns:
      builder
    • inspectKeyRing

      public static KeyRingInfo inspectKeyRing(org.bouncycastle.openpgp.PGPKeyRing keyRing)
      Quickly access information about a PGPPublicKeyRing / 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

      public static KeyRingInfo inspectKeyRing(org.bouncycastle.openpgp.PGPKeyRing keyRing, Date referenceTime)
      Quickly access information about a PGPPublicKeyRing / 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 ring
      referenceTime - date of inspection
      Returns:
      access object
    • getPolicy

      public static Policy getPolicy()
      Access, and make changes to PGPainless policy on acceptable/default algorithms etc.
      Returns:
      policy
    • certify

      public static CertifyCertificate certify()
      Create different kinds of signatures on other keys.
      Returns:
      builder