Package org.bouncycastle.asn1.cmp

## Class Challenge

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.cmp.Challenge

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

      public class Challenge
      extends ASN1Object

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Challenge​(byte[] witness, byte[] challenge)` |
    `Challenge​(AlgorithmIdentifier owf, byte[] witness, byte[] challenge)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `byte[]` | `getChallenge()` |
    `static Challenge` | `getInstance​(java.lang.Object o)` |
    `AlgorithmIdentifier` | `getOwf()` |
    `byte[]` | `getWitness()` |
    `ASN1Primitive` | `toASN1Primitive()` | Challenge ::= SEQUENCE { owf AlgorithmIdentifier OPTIONAL, -- MUST be present in the first Challenge; MAY be omitted in -- any subsequent Challenge in POPODecKeyChallContent (if -- omitted, then the owf used in the immediately preceding -- Challenge is to be used).

    - ### 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`

- - ### Constructor Detail

    - #### Challenge

          public Challenge​(byte[] witness,
                           byte[] challenge)

    - #### Challenge

          public Challenge​(AlgorithmIdentifier owf,
                           byte[] witness,
                           byte[] challenge)

  - ### Method Detail

    - #### getInstance

          public static Challenge getInstance​(java.lang.Object o)

    - #### getOwf

          public AlgorithmIdentifier getOwf()

    - #### getWitness

          public byte[] getWitness()

    - #### getChallenge

          public byte[] getChallenge()

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

           Challenge ::= SEQUENCE {
                           owf                 AlgorithmIdentifier  OPTIONAL,

                           -- MUST be present in the first Challenge; MAY be omitted in
                           -- any subsequent Challenge in POPODecKeyChallContent (if
                           -- omitted, then the owf used in the immediately preceding
                           -- Challenge is to be used).

                           witness             OCTET STRING,
                           -- the result of applying the one-way function (owf) to a
                           -- randomly-generated INTEGER, A.  [Note that a different
                           -- INTEGER MUST be used for each Challenge.]
                           challenge           OCTET STRING
                           -- the encryption (under the public key for which the cert.
                           -- request is being made) of Rand, where Rand is specified as
                           --   Rand ::= SEQUENCE {
                           --      int      INTEGER,
                           --       - the randomly-generated INTEGER A (above)
                           --      sender   GeneralName
                           --       - the sender's name (as included in PKIHeader)
                           --   }
                }

      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        a basic ASN.1 object representation.