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