Package org.bouncycastle.asn1.x509

## Class ObjectDigestInfo

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.x509.ObjectDigestInfo

- All Implemented Interfaces:
    `ASN1Encodable`, `Encodable`

      public class ObjectDigestInfo
      extends ASN1Object

  ObjectDigestInfo ASN.1 structure used in v2 attribute certificates.

          ObjectDigestInfo ::= SEQUENCE {
               digestedObjectType  ENUMERATED {
                       publicKey            (0),
                       publicKeyCert        (1),
                       otherObjectTypes     (2) },
                               -- otherObjectTypes MUST NOT
                               -- be used in this profile
               otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
               digestAlgorithm     AlgorithmIdentifier,
               objectDigest        BIT STRING
          }

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `otherObjectDigest` | An other object is hashed.
    `static int` | `publicKey` | The public key is hashed.
    `static int` | `publicKeyCert` | The public key certificate is hashed.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ObjectDigestInfo​(int digestedObjectType, ASN1ObjectIdentifier otherObjectTypeID, AlgorithmIdentifier digestAlgorithm, byte[] objectDigest)` | Constructor from given details.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AlgorithmIdentifier` | `getDigestAlgorithm()` |
    `ASN1Enumerated` | `getDigestedObjectType()` |
    `static ObjectDigestInfo` | `getInstance​(java.lang.Object obj)` |
    `static ObjectDigestInfo` | `getInstance​(ASN1TaggedObject obj, boolean explicit)` |
    `DERBitString` | `getObjectDigest()` |
    `ASN1ObjectIdentifier` | `getOtherObjectTypeID()` |
    `ASN1Primitive` | `toASN1Primitive()` | Produce an object suitable for an ASN1OutputStream.

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode`

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

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

- - ### Field Detail

    - #### publicKey

          public static final int publicKey

      The public key is hashed.
      See Also:
        Constant Field Values

    - #### publicKeyCert

          public static final int publicKeyCert

      The public key certificate is hashed.
      See Also:
        Constant Field Values

    - #### otherObjectDigest

          public static final int otherObjectDigest

      An other object is hashed.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ObjectDigestInfo

          public ObjectDigestInfo​(int digestedObjectType,
                                  ASN1ObjectIdentifier otherObjectTypeID,
                                  AlgorithmIdentifier digestAlgorithm,
                                  byte[] objectDigest)

      Constructor from given details.

      If `digestedObjectType` is not `publicKeyCert` or `publicKey` `otherObjectTypeID` must be given, otherwise it is ignored.

      Parameters:
        `digestedObjectType` - The digest object type.
        `otherObjectTypeID` - The object type ID for `otherObjectDigest`.
        `digestAlgorithm` - The algorithm identifier for the hash.
        `objectDigest` - The hash value.

  - ### Method Detail

    - #### getInstance

          public static ObjectDigestInfo getInstance​(java.lang.Object obj)

    - #### getInstance

          public static ObjectDigestInfo getInstance​(ASN1TaggedObject obj,
                                                     boolean explicit)

    - #### getDigestedObjectType

          public ASN1Enumerated getDigestedObjectType()

    - #### getOtherObjectTypeID

          public ASN1ObjectIdentifier getOtherObjectTypeID()

    - #### getDigestAlgorithm

          public AlgorithmIdentifier getDigestAlgorithm()

    - #### getObjectDigest

          public DERBitString getObjectDigest()

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

      Produce an object suitable for an ASN1OutputStream.

              ObjectDigestInfo ::= SEQUENCE {
                   digestedObjectType  ENUMERATED {
                           publicKey            (0),
                           publicKeyCert        (1),
                           otherObjectTypes     (2) },
                                   -- otherObjectTypes MUST NOT
                                   -- be used in this profile
                   otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
                   digestAlgorithm     AlgorithmIdentifier,
                   objectDigest        BIT STRING
              }

      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        a primitive representation of this object.