PGPSignatureSubpacketGenerator
Date: 2016-06-23

org.bouncycastle.openpgp

## Class PGPSignatureSubpacketGenerator

- java.lang.Object
- - org.bouncycastle.openpgp.PGPSignatureSubpacketGenerator

-     public class PGPSignatureSubpacketGenerator
      extends java.lang.Object

  Generator for signature subpackets.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PGPSignatureSubpacketGenerator()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `PGPSignatureSubpacketVector` | `generate()`
    `void` | `setEmbeddedSignature(boolean isCritical, PGPSignature pgpSignature)`
    `void` | `setExportable(boolean isCritical, boolean isExportable)`
    `void` | `setFeature(boolean isCritical, byte feature)`
    `void` | `setIssuerKeyID(boolean isCritical, long keyID)` Sets issuer key sub packe
    `void` | `setKeyExpirationTime(boolean isCritical, long seconds)` Set the number of seconds a key is valid for after the time of its creation.
    `void` | `setKeyFlags(boolean isCritical, int flags)`
    `void` | `setNotationData(boolean isCritical, boolean isHumanReadable, java.lang.String notationName, java.lang.String notationValue)`
    `void` | `setPreferredCompressionAlgorithms(boolean isCritical, int[] algorithms)`
    `void` | `setPreferredHashAlgorithms(boolean isCritical, int[] algorithms)`
    `void` | `setPreferredSymmetricAlgorithms(boolean isCritical, int[] algorithms)`
    `void` | `setPrimaryUserID(boolean isCritical, boolean isPrimaryUserID)`
    `void` | `setRevocable(boolean isCritical, boolean isRevocable)`
    `void` | `setRevocationKey(boolean isCritical, int keyAlgorithm, byte[] fingerprint)` Sets revocation key sub packet
    `void` | `setRevocationReason(boolean isCritical, byte reason, java.lang.String description)` Sets revocation reason sub packet
    `void` | `setSignatureCreationTime(boolean isCritical, java.util.Date date)` Set the creation time for the signature.
    `void` | `setSignatureExpirationTime(boolean isCritical, long seconds)` Set the number of seconds a signature is valid for after the time of its creation.
    `void` | `setSignerUserID(boolean isCritical, byte[] rawUserID)`
    `void` | `setSignerUserID(boolean isCritical, java.lang.String userID)`
    `void` | `setTrust(boolean isCritical, int depth, int trustAmount)` Add a TrustSignature packet to the signature.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PGPSignatureSubpacketGenerator

          public PGPSignatureSubpacketGenerator()

  - ### Method Detail

    - #### setRevocable

          public void setRevocable(boolean isCritical,
                          boolean isRevocable)

    - #### setExportable

          public void setExportable(boolean isCritical,
                           boolean isExportable)

    - #### setFeature

          public void setFeature(boolean isCritical,
                        byte feature)

    - #### setTrust

          public void setTrust(boolean isCritical,
                      int depth,
                      int trustAmount)

      Add a TrustSignature packet to the signature. The values for depth and trust are largely installation dependent but there are some guidelines in RFC 4880 - 5.2.3.13.
      Parameters:
        `isCritical` - true if the packet is critical.
        `depth` - depth level.
        `trustAmount` - trust amount.

    - #### setKeyExpirationTime

          public void setKeyExpirationTime(boolean isCritical,
                                  long seconds)

      Set the number of seconds a key is valid for after the time of its creation. A value of zero means the key never expires.
      Parameters:
        `isCritical` - true if should be treated as critical, false otherwise.
        `seconds` -

    - #### setSignatureExpirationTime

          public void setSignatureExpirationTime(boolean isCritical,
                                        long seconds)

      Set the number of seconds a signature is valid for after the time of its creation. A value of zero means the signature never expires.
      Parameters:
        `isCritical` - true if should be treated as critical, false otherwise.
        `seconds` -

    - #### setSignatureCreationTime

          public void setSignatureCreationTime(boolean isCritical,
                                      java.util.Date date)

      Set the creation time for the signature.

      Note: this overrides the generation of a creation time when the signature is generated.

    - #### setPreferredHashAlgorithms

          public void setPreferredHashAlgorithms(boolean isCritical,
                                        int[] algorithms)

    - #### setPreferredSymmetricAlgorithms

          public void setPreferredSymmetricAlgorithms(boolean isCritical,
                                             int[] algorithms)

    - #### setPreferredCompressionAlgorithms

          public void setPreferredCompressionAlgorithms(boolean isCritical,
                                               int[] algorithms)

    - #### setKeyFlags

          public void setKeyFlags(boolean isCritical,
                         int flags)

    - #### setSignerUserID

          public void setSignerUserID(boolean isCritical,
                             java.lang.String userID)

    - #### setSignerUserID

          public void setSignerUserID(boolean isCritical,
                             byte[] rawUserID)

    - #### setEmbeddedSignature

          public void setEmbeddedSignature(boolean isCritical,
                                  PGPSignature pgpSignature)
                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### setPrimaryUserID

          public void setPrimaryUserID(boolean isCritical,
                              boolean isPrimaryUserID)

    - #### setNotationData

          public void setNotationData(boolean isCritical,
                             boolean isHumanReadable,
                             java.lang.String notationName,
                             java.lang.String notationValue)

    - #### setRevocationReason

          public void setRevocationReason(boolean isCritical,
                                 byte reason,
                                 java.lang.String description)

      Sets revocation reason sub packet

    - #### setRevocationKey

          public void setRevocationKey(boolean isCritical,
                              int keyAlgorithm,
                              byte[] fingerprint)

      Sets revocation key sub packet

    - #### setIssuerKeyID

          public void setIssuerKeyID(boolean isCritical,
                            long keyID)

      Sets issuer key sub packe

    - #### generate

          public PGPSignatureSubpacketVector generate()