CMPCertificate.smali
.class public Lorg/spongycastle/asn1/cmp/CMPCertificate;
.super Lorg/spongycastle/asn1/ASN1Object;
.source "CMPCertificate.java"
# interfaces
.implements Lorg/spongycastle/asn1/ASN1Choice;
# instance fields
.field private otherCert:Lorg/spongycastle/asn1/ASN1Object;
.field private otherTagValue:I
.field private x509v3PKCert:Lorg/spongycastle/asn1/x509/Certificate;
# direct methods
.method public constructor <init>(ILorg/spongycastle/asn1/ASN1Object;)V
.registers 3
.prologue
.line 41
invoke-direct {p0}, Lorg/spongycastle/asn1/ASN1Object;-><init>()V
.line 42
iput p1, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->otherTagValue:I
.line 43
iput-object p2, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->otherCert:Lorg/spongycastle/asn1/ASN1Object;
.line 44
return-void
.end method
.method public constructor <init>(Lorg/spongycastle/asn1/x509/AttributeCertificate;)V
.registers 3
.prologue
.line 30
const/4 v0, 0x1
invoke-direct {p0, v0, p1}, Lorg/spongycastle/asn1/cmp/CMPCertificate;-><init>(ILorg/spongycastle/asn1/ASN1Object;)V
.line 31
return-void
.end method
.method public constructor <init>(Lorg/spongycastle/asn1/x509/Certificate;)V
.registers 4
.prologue
.line 47
invoke-direct {p0}, Lorg/spongycastle/asn1/ASN1Object;-><init>()V
.line 48
invoke-virtual {p1}, Lorg/spongycastle/asn1/x509/Certificate;->getVersionNumber()I
move-result v0
const/4 v1, 0x3
if-eq v0, v1, :cond_12
.line 50
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "only version 3 certificates allowed"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 53
:cond_12
iput-object p1, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->x509v3PKCert:Lorg/spongycastle/asn1/x509/Certificate;
.line 54
return-void
.end method
.method public static getInstance(Ljava/lang/Object;)Lorg/spongycastle/asn1/cmp/CMPCertificate;
.registers 5
.prologue
.line 58
if-eqz p0, :cond_6
instance-of v0, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;
if-eqz v0, :cond_9
.line 60
:cond_6
check-cast p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;
.line 84
:goto_8
return-object p0
.line 63
:cond_9
instance-of v0, p0, [B
if-eqz v0, :cond_5b
.line 67
:try_start_d
check-cast p0, [B
invoke-static {p0}, Lorg/spongycastle/asn1/ASN1Primitive;->fromByteArray([B)Lorg/spongycastle/asn1/ASN1Primitive;
:try_end_12
.catch Ljava/io/IOException; {:try_start_d .. :try_end_12} :catch_21
move-result-object v0
.line 75
:goto_13
instance-of v1, v0, Lorg/spongycastle/asn1/ASN1Sequence;
if-eqz v1, :cond_2a
.line 77
new-instance p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;
invoke-static {v0}, Lorg/spongycastle/asn1/x509/Certificate;->getInstance(Ljava/lang/Object;)Lorg/spongycastle/asn1/x509/Certificate;
move-result-object v0
invoke-direct {p0, v0}, Lorg/spongycastle/asn1/cmp/CMPCertificate;-><init>(Lorg/spongycastle/asn1/x509/Certificate;)V
goto :goto_8
.line 71
:catch_21
move-exception v0
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Invalid encoding in CMPCertificate"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 80
:cond_2a
instance-of v1, v0, Lorg/spongycastle/asn1/ASN1TaggedObject;
if-eqz v1, :cond_3e
.line 82
check-cast v0, Lorg/spongycastle/asn1/ASN1TaggedObject;
.line 84
new-instance p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;
invoke-virtual {v0}, Lorg/spongycastle/asn1/ASN1TaggedObject;->getTagNo()I
move-result v1
invoke-virtual {v0}, Lorg/spongycastle/asn1/ASN1TaggedObject;->getObject()Lorg/spongycastle/asn1/ASN1Primitive;
move-result-object v0
invoke-direct {p0, v1, v0}, Lorg/spongycastle/asn1/cmp/CMPCertificate;-><init>(ILorg/spongycastle/asn1/ASN1Object;)V
goto :goto_8
.line 87
:cond_3e
new-instance v1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Invalid object: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
:cond_5b
move-object v0, p0
goto :goto_13
.end method
# virtual methods
.method public getOtherCert()Lorg/spongycastle/asn1/ASN1Object;
.registers 2
.prologue
.line 118
iget-object v0, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->otherCert:Lorg/spongycastle/asn1/ASN1Object;
return-object v0
.end method
.method public getOtherCertTag()I
.registers 2
.prologue
.line 113
iget v0, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->otherTagValue:I
return v0
.end method
.method public getX509v2AttrCert()Lorg/spongycastle/asn1/x509/AttributeCertificate;
.registers 2
.prologue
.line 108
iget-object v0, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->otherCert:Lorg/spongycastle/asn1/ASN1Object;
invoke-static {v0}, Lorg/spongycastle/asn1/x509/AttributeCertificate;->getInstance(Ljava/lang/Object;)Lorg/spongycastle/asn1/x509/AttributeCertificate;
move-result-object v0
return-object v0
.end method
.method public getX509v3PKCert()Lorg/spongycastle/asn1/x509/Certificate;
.registers 2
.prologue
.line 97
iget-object v0, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->x509v3PKCert:Lorg/spongycastle/asn1/x509/Certificate;
return-object v0
.end method
.method public isX509v3PKCert()Z
.registers 2
.prologue
.line 92
iget-object v0, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->x509v3PKCert:Lorg/spongycastle/asn1/x509/Certificate;
if-eqz v0, :cond_6
const/4 v0, 0x1
:goto_5
return v0
:cond_6
const/4 v0, 0x0
goto :goto_5
.end method
.method public toASN1Primitive()Lorg/spongycastle/asn1/ASN1Primitive;
.registers 5
.prologue
.line 134
iget-object v0, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->otherCert:Lorg/spongycastle/asn1/ASN1Object;
if-eqz v0, :cond_f
.line 136
new-instance v0, Lorg/spongycastle/asn1/DERTaggedObject;
const/4 v1, 0x1
iget v2, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->otherTagValue:I
iget-object v3, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->otherCert:Lorg/spongycastle/asn1/ASN1Object;
invoke-direct {v0, v1, v2, v3}, Lorg/spongycastle/asn1/DERTaggedObject;-><init>(ZILorg/spongycastle/asn1/ASN1Encodable;)V
.line 139
:goto_e
return-object v0
:cond_f
iget-object v0, p0, Lorg/spongycastle/asn1/cmp/CMPCertificate;->x509v3PKCert:Lorg/spongycastle/asn1/x509/Certificate;
invoke-virtual {v0}, Lorg/spongycastle/asn1/x509/Certificate;->toASN1Primitive()Lorg/spongycastle/asn1/ASN1Primitive;
move-result-object v0
goto :goto_e
.end method