org.bouncycastle.mozilla

## Class SignedPublicKeyAndChallenge

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Encodable
  - - org.bouncycastle.mozilla.SignedPublicKeyAndChallenge

All Implemented Interfaces:
  DEREncodable

    public class SignedPublicKeyAndChallenge
    extends ASN1Encodable

This is designed to parse the SignedPublicKeyAndChallenge created by the KEYGEN tag included by Mozilla based browsers.

      PublicKeyAndChallenge ::= SEQUENCE {
        spki SubjectPublicKeyInfo,
        challenge IA5STRING
      }

      SignedPublicKeyAndChallenge ::= SEQUENCE {
        publicKeyAndChallenge PublicKeyAndChallenge,
        signatureAlgorithm AlgorithmIdentifier,
        signature BIT STRING
      }

### Field Summary

### Fields inherited from class org.bouncycastle.asn1.ASN1Encodable

`BER, DER`

### Constructor Summary

Constructors
Constructor and Description
`SignedPublicKeyAndChallenge(byte[] bytes)`

### Method Summary

Methods
`java.security.PublicKey` `getPublicKey(java.lang.String provider)`
`PublicKeyAndChallenge` `getPublicKeyAndChallenge()`
`DERObject` `toASN1Object()`
`boolean` `verify()`
`boolean` `verify(java.lang.String provider)`

### Methods inherited from class org.bouncycastle.asn1.ASN1Encodable

`equals, getDEREncoded, getDERObject, getEncoded, getEncoded, hashCode`

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

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

### Constructor Detail

#### SignedPublicKeyAndChallenge

    public SignedPublicKeyAndChallenge(byte[] bytes)

### Method Detail

#### toASN1Object

    public DERObject toASN1Object()

Specified by:
  `toASN1Object` in class `ASN1Encodable`

#### getPublicKeyAndChallenge

    public PublicKeyAndChallenge getPublicKeyAndChallenge()

#### verify

    public boolean verify()
                   throws java.security.NoSuchAlgorithmException,
                          java.security.SignatureException,
                          java.security.NoSuchProviderException,
                          java.security.InvalidKeyException

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.SignatureException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`

#### verify

    public boolean verify(java.lang.String provider)
                   throws java.security.NoSuchAlgorithmException,
                          java.security.SignatureException,
                          java.security.NoSuchProviderException,
                          java.security.InvalidKeyException

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.SignatureException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`

#### getPublicKey

    public java.security.PublicKey getPublicKey(java.lang.String provider)
                                         throws java.security.NoSuchAlgorithmException,
                                                java.security.NoSuchProviderException,
                                                java.security.InvalidKeyException

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`