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));
}
}