Class ProducerOptions


  • public final class ProducerOptions
    extends java.lang.Object
    • Method Detail

      • signAndEncrypt

        public static ProducerOptions signAndEncrypt​(EncryptionOptions encryptionOptions,
                                                     SigningOptions signingOptions)
        Sign and encrypt some data.
        Parameters:
        encryptionOptions - encryption options
        signingOptions - signing options
        Returns:
        builder
      • sign

        public static ProducerOptions sign​(SigningOptions signingOptions)
        Sign some data without encryption.
        Parameters:
        signingOptions - signing options
        Returns:
        builder
      • encrypt

        public static ProducerOptions encrypt​(EncryptionOptions encryptionOptions)
        Encrypt some data without signing.
        Parameters:
        encryptionOptions - encryption options
        Returns:
        builder
      • noEncryptionNoSigning

        public static ProducerOptions noEncryptionNoSigning()
        Only wrap the data in an OpenPGP packet. No encryption or signing will be applied.
        Returns:
        builder
      • setAsciiArmor

        public ProducerOptions setAsciiArmor​(boolean asciiArmor)
        Specify, whether the result of the encryption/signing operation shall be ascii armored. The default value is true.
        Parameters:
        asciiArmor - ascii armor
        Returns:
        builder
      • isAsciiArmor

        public boolean isAsciiArmor()
        Return true if the output of the encryption/signing operation shall be ascii armored.
        Returns:
        ascii armored
      • setComment

        public ProducerOptions setComment​(java.lang.String comment)
        Set the comment header in ASCII armored output. The default value is null, which means no comment header is added. Multiline comments are possible using '\\n'. Note: If a default header comment is set using ArmoredOutputStreamFactory.setComment(String), then both comments will be written to the produced ASCII armor.
        Parameters:
        comment - comment header text
        Returns:
        builder
      • getComment

        public java.lang.String getComment()
        Return comment set for header in ascii armored output.
        Returns:
        comment
      • hasComment

        public boolean hasComment()
        Return whether a comment was set (!= null).
        Returns:
        comment
      • isCleartextSigned

        public boolean isCleartextSigned()
      • setFileName

        public ProducerOptions setFileName​(@Nonnull
                                           java.lang.String fileName)
        Set the name of the encrypted file. Note: This option cannot be used simultaneously with setForYourEyesOnly().
        Parameters:
        fileName - name of the encrypted file
        Returns:
        this
      • getFileName

        public java.lang.String getFileName()
        Return the encrypted files name.
        Returns:
        file name
      • setForYourEyesOnly

        @Deprecated
        public ProducerOptions setForYourEyesOnly()
        Deprecated.
        deprecated since at least crypto-refresh-05. It is not recommended using this special filename in newly generated literal data packets
        Mark the encrypted message as for-your-eyes-only by setting a special file name. Note: Therefore this method cannot be used simultaneously with setFileName(String).
        Returns:
        this
      • setModificationDate

        public ProducerOptions setModificationDate​(@Nonnull
                                                   java.util.Date modificationDate)
        Set the modification date of the encrypted file.
        Parameters:
        modificationDate - Modification date of the encrypted file.
        Returns:
        this
      • getModificationDate

        public java.util.Date getModificationDate()
        Return the modification date of the encrypted file.
        Returns:
        modification date
      • applyCRLFEncoding

        public ProducerOptions applyCRLFEncoding()
        Apply special encoding of line endings to the input data. By default, this is disabled, which means that the data is not altered. Enabling it will change the line endings to CR/LF. Note: The encoding will not be reversed when decrypting, so applying CR/LF encoding will result in the identity "decrypt(encrypt(data)) == data == verify(sign(data))".
        Returns:
        this
      • isApplyCRLFEncoding

        public boolean isApplyCRLFEncoding()
        Return the input encoding that will be applied before signing / encryption.
        Returns:
        input encoding
      • overrideCompressionAlgorithm

        public ProducerOptions overrideCompressionAlgorithm​(CompressionAlgorithm compressionAlgorithm)
        Override which compression algorithm shall be used.
        Parameters:
        compressionAlgorithm - compression algorithm override
        Returns:
        builder
      • getSigningOptions

        @Nullable
        public SigningOptions getSigningOptions()
      • isHideArmorHeaders

        public boolean isHideArmorHeaders()
      • setHideArmorHeaders

        public ProducerOptions setHideArmorHeaders​(boolean hideArmorHeaders)
        If set to
        true
        , armor headers like version or comments will be omitted from armored output. By default, armor headers are not hidden. Note: If comments are added via setComment(String), those are not omitted, even if hideArmorHeaders is set to
        true
        .
        Parameters:
        hideArmorHeaders - true or false
        Returns:
        this