Challenge (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

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 and Description
    `Challenge(AlgorithmIdentifier owf, byte[] witness, byte[] challenge)`
    `Challenge(byte[] witness, byte[] challenge)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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

      `equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode, toASN1Object`

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