Class PGPDataFormat


  • @Metadata(firstVersion="2.9.0",
              label="dataformat,transformation,security",
              title="PGP")
    public class PGPDataFormat
    extends DataFormatDefinition
    Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP.
    • Constructor Detail

      • PGPDataFormat

        public PGPDataFormat()
    • Method Detail

      • getSignatureKeyUserid

        public String getSignatureKeyUserid()
      • setSignatureKeyUserid

        public void setSignatureKeyUserid​(String signatureKeyUserid)
        User ID of the key in the PGP keyring used for signing (during encryption) or signature verification (during decryption). During the signature verification process the specified User ID restricts the public keys from the public keyring which can be used for the verification. If no User ID is specified for the signature verficiation then any public key in the public keyring can be used for the verification. Can also be only a part of a user ID. For example, if the user ID is "Test User " then you can use the part "Test User" or "" to address the User ID.
      • getSignaturePassword

        public String getSignaturePassword()
      • setSignaturePassword

        public void setSignaturePassword​(String signaturePassword)
        Password used when opening the private key used for signing (during encryption).
      • getSignatureKeyFileName

        public String getSignatureKeyFileName()
      • setSignatureKeyFileName

        public void setSignatureKeyFileName​(String signatureKeyFileName)
        Filename of the keyring to use for signing (during encryption) or for signature verification (during decryption); must be accessible as a classpath resource (but you can specify a location in the file system by using the "file:" prefix).
      • getSignatureKeyRing

        public String getSignatureKeyRing()
      • setSignatureKeyRing

        public void setSignatureKeyRing​(String signatureKeyRing)
        Keyring used for signing/verifying as byte array. You can not set the signatureKeyFileName and signatureKeyRing at the same time.
      • getHashAlgorithm

        public String getHashAlgorithm()
      • setHashAlgorithm

        public void setHashAlgorithm​(String hashAlgorithm)
        Signature hash algorithm; possible values are defined in org.bouncycastle.bcpg.HashAlgorithmTags; for example 2 (= SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant for signing.
      • getArmored

        public String getArmored()
      • setArmored

        public void setArmored​(String armored)
        This option will cause PGP to base64 encode the encrypted text, making it available for copy/paste, etc.
      • getIntegrity

        public String getIntegrity()
      • setIntegrity

        public void setIntegrity​(String integrity)
        Adds an integrity check/sign into the encryption file.

        The default value is true.

      • getKeyFileName

        public String getKeyFileName()
      • setKeyFileName

        public void setKeyFileName​(String keyFileName)
        Filename of the keyring; must be accessible as a classpath resource (but you can specify a location in the file system by using the "file:" prefix).
      • getKeyUserid

        public String getKeyUserid()
      • setKeyUserid

        public void setKeyUserid​(String keyUserid)
        The user ID of the key in the PGP keyring used during encryption. Can also be only a part of a user ID. For example, if the user ID is "Test User " then you can use the part "Test User" or "" to address the user ID.
      • getPassword

        public String getPassword()
      • getAlgorithm

        public String getAlgorithm()
      • setAlgorithm

        public void setAlgorithm​(String algorithm)
        Symmetric key encryption algorithm; possible values are defined in org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (= AES_128). Only relevant for encrypting.
      • getCompressionAlgorithm

        public String getCompressionAlgorithm()
      • setCompressionAlgorithm

        public void setCompressionAlgorithm​(String compressionAlgorithm)
        Compression algorithm; possible values are defined in org.bouncycastle.bcpg.CompressionAlgorithmTags; for example 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for encrypting.
      • setPassword

        public void setPassword​(String password)
        Password used when opening the private key (not used for encryption).
      • getProvider

        public String getProvider()
      • setProvider

        public void setProvider​(String provider)
        Java Cryptography Extension (JCE) provider, default is Bouncy Castle ("BC"). Alternatively you can use, for example, the IAIK JCE provider; in this case the provider must be registered beforehand and the Bouncy Castle provider must not be registered beforehand. The Sun JCE provider does not work.
      • getSignatureVerificationOption

        public String getSignatureVerificationOption()
      • setSignatureVerificationOption

        public void setSignatureVerificationOption​(String signatureVerificationOption)
        Controls the behavior for verifying the signature during unmarshaling. There are 4 values possible: "optional": The PGP message may or may not contain signatures; if it does contain signatures, then a signature verification is executed. "required": The PGP message must contain at least one signature; if this is not the case an exception (PGPException) is thrown. A signature verification is executed. "ignore": Contained signatures in the PGP message are ignored; no signature verification is executed. "no_signature_allowed": The PGP message must not contain a signature; otherwise an exception (PGPException) is thrown.