package org.bouncycastle.asn1.mozilla;

import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.DERBitString;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;

 SignedPublicKeyAndChallenge ::= SEQUENCE {
   publicKeyAndChallenge PublicKeyAndChallenge,
   signatureAlgorithm AlgorithmIdentifier,
   signature BIT STRING
 }
 
/** * <pre> * SignedPublicKeyAndChallenge ::= SEQUENCE { * publicKeyAndChallenge PublicKeyAndChallenge, * signatureAlgorithm AlgorithmIdentifier, * signature BIT STRING * } * * </pre> */
public class SignedPublicKeyAndChallenge extends ASN1Object { private final PublicKeyAndChallenge pubKeyAndChal; private final ASN1Sequence pkacSeq; public static SignedPublicKeyAndChallenge getInstance(Object obj) { if (obj instanceof SignedPublicKeyAndChallenge) { return (SignedPublicKeyAndChallenge)obj; } else if (obj != null) { return new SignedPublicKeyAndChallenge(ASN1Sequence.getInstance(obj)); } return null; } private SignedPublicKeyAndChallenge(ASN1Sequence seq) { pkacSeq = seq; pubKeyAndChal = PublicKeyAndChallenge.getInstance(seq.getObjectAt(0)); } public ASN1Primitive toASN1Primitive() { return pkacSeq; } public PublicKeyAndChallenge getPublicKeyAndChallenge() { return pubKeyAndChal; } public AlgorithmIdentifier getSignatureAlgorithm() { return AlgorithmIdentifier.getInstance(pkacSeq.getObjectAt(1)); } public DERBitString getSignature() { return DERBitString.getInstance(pkacSeq.getObjectAt(2)); } }