PKIXCRLStoreSelector.smali
.class public Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;
.super Ljava/lang/Object;
.source "PKIXCRLStoreSelector.java"
# interfaces
.implements Lorg/spongycastle/util/Selector;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/security/cert/CRL;",
">",
"Ljava/lang/Object;",
"Lorg/spongycastle/util/Selector",
"<TT;>;"
}
.end annotation
# instance fields
.field private final baseSelector:Ljava/security/cert/CRLSelector;
.field private final completeCRLEnabled:Z
.field private final deltaCRLIndicator:Z
.field private final issuingDistributionPoint:[B
.field private final issuingDistributionPointEnabled:Z
.field private final maxBaseCRLNumber:Ljava/math/BigInteger;
# direct methods
.method private constructor <init>(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;)V
.registers 3
.prologue
.line 154
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 155
# getter for: Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->baseSelector:Ljava/security/cert/CRLSelector;
invoke-static {p1}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->access$100(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;)Ljava/security/cert/CRLSelector;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->baseSelector:Ljava/security/cert/CRLSelector;
.line 156
# getter for: Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->deltaCRLIndicator:Z
invoke-static {p1}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->access$200(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;)Z
move-result v0
iput-boolean v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->deltaCRLIndicator:Z
.line 157
# getter for: Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->completeCRLEnabled:Z
invoke-static {p1}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->access$300(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;)Z
move-result v0
iput-boolean v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->completeCRLEnabled:Z
.line 158
# getter for: Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->maxBaseCRLNumber:Ljava/math/BigInteger;
invoke-static {p1}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->access$400(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;)Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->maxBaseCRLNumber:Ljava/math/BigInteger;
.line 159
# getter for: Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->issuingDistributionPoint:[B
invoke-static {p1}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->access$500(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;)[B
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->issuingDistributionPoint:[B
.line 160
# getter for: Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->issuingDistributionPointEnabled:Z
invoke-static {p1}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;->access$600(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;)Z
move-result v0
iput-boolean v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->issuingDistributionPointEnabled:Z
.line 161
return-void
.end method
.method synthetic constructor <init>(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$1;)V
.registers 3
.prologue
.line 25
invoke-direct {p0, p1}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;-><init>(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$Builder;)V
return-void
.end method
.method static synthetic access$700(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;)Ljava/security/cert/CRLSelector;
.registers 2
.prologue
.line 25
iget-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->baseSelector:Ljava/security/cert/CRLSelector;
return-object v0
.end method
.method public static getCRLs(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;Ljava/security/cert/CertStore;)Ljava/util/Collection;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;",
"Ljava/security/cert/CertStore;",
")",
"Ljava/util/Collection",
"<+",
"Ljava/security/cert/CRL;",
">;"
}
.end annotation
.prologue
.line 318
new-instance v0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$SelectorClone;
invoke-direct {v0, p0}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector$SelectorClone;-><init>(Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;)V
invoke-virtual {p1, v0}, Ljava/security/cert/CertStore;->getCRLs(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
move-result-object v0
return-object v0
.end method
# virtual methods
.method public clone()Ljava/lang/Object;
.registers 1
.prologue
.line 265
return-object p0
.end method
.method public getCertificateChecking()Ljava/security/cert/X509Certificate;
.registers 2
.prologue
.line 307
iget-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->baseSelector:Ljava/security/cert/CRLSelector;
instance-of v0, v0, Ljava/security/cert/X509CRLSelector;
if-eqz v0, :cond_f
.line 309
iget-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->baseSelector:Ljava/security/cert/CRLSelector;
check-cast v0, Ljava/security/cert/X509CRLSelector;
invoke-virtual {v0}, Ljava/security/cert/X509CRLSelector;->getCertificateChecking()Ljava/security/cert/X509Certificate;
move-result-object v0
.line 312
:goto_e
return-object v0
:cond_f
const/4 v0, 0x0
goto :goto_e
.end method
.method public getIssuingDistributionPoint()[B
.registers 2
.prologue
.line 302
iget-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->issuingDistributionPoint:[B
invoke-static {v0}, Lorg/spongycastle/util/Arrays;->clone([B)[B
move-result-object v0
return-object v0
.end method
.method public getMaxBaseCRLNumber()Ljava/math/BigInteger;
.registers 2
.prologue
.line 286
iget-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->maxBaseCRLNumber:Ljava/math/BigInteger;
return-object v0
.end method
.method public isCompleteCRLEnabled()Z
.registers 2
.prologue
.line 276
iget-boolean v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->completeCRLEnabled:Z
return v0
.end method
.method public isDeltaCRLIndicatorEnabled()Z
.registers 2
.prologue
.line 260
iget-boolean v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->deltaCRLIndicator:Z
return v0
.end method
.method public isIssuingDistributionPointEnabled()Z
.registers 2
.prologue
.line 175
iget-boolean v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->issuingDistributionPointEnabled:Z
return v0
.end method
.method public bridge synthetic match(Ljava/lang/Object;)Z
.registers 3
.prologue
.line 25
check-cast p1, Ljava/security/cert/CRL;
invoke-virtual {p0, p1}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->match(Ljava/security/cert/CRL;)Z
move-result v0
return v0
.end method
.method public match(Ljava/security/cert/CRL;)Z
.registers 6
.prologue
const/4 v2, 0x0
.line 182
instance-of v0, p1, Ljava/security/cert/X509CRL;
if-nez v0, :cond_c
.line 184
iget-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->baseSelector:Ljava/security/cert/CRLSelector;
invoke-interface {v0, p1}, Ljava/security/cert/CRLSelector;->match(Ljava/security/cert/CRL;)Z
move-result v0
.line 248
:goto_b
return v0
:cond_c
move-object v0, p1
.line 187
check-cast v0, Ljava/security/cert/X509CRL;
.line 188
const/4 v1, 0x0
.line 191
:try_start_10
sget-object v3, Lorg/spongycastle/asn1/x509/Extension;->deltaCRLIndicator:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
.line 192
invoke-virtual {v3}, Lorg/spongycastle/asn1/ASN1ObjectIdentifier;->getId()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/security/cert/X509CRL;->getExtensionValue(Ljava/lang/String;)[B
move-result-object v3
.line 193
if-eqz v3, :cond_28
.line 195
invoke-static {v3}, Lorg/spongycastle/asn1/ASN1OctetString;->getInstance(Ljava/lang/Object;)Lorg/spongycastle/asn1/ASN1OctetString;
move-result-object v1
invoke-virtual {v1}, Lorg/spongycastle/asn1/ASN1OctetString;->getOctets()[B
move-result-object v1
invoke-static {v1}, Lorg/spongycastle/asn1/ASN1Integer;->getInstance(Ljava/lang/Object;)Lorg/spongycastle/asn1/ASN1Integer;
:try_end_27
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_27} :catch_32
move-result-object v1
.line 202
:cond_28
invoke-virtual {p0}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->isDeltaCRLIndicatorEnabled()Z
move-result v3
if-eqz v3, :cond_35
.line 204
if-nez v1, :cond_35
move v0, v2
.line 206
goto :goto_b
.line 200
:catch_32
move-exception v0
move v0, v2
goto :goto_b
.line 209
:cond_35
invoke-virtual {p0}, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->isCompleteCRLEnabled()Z
move-result v3
if-eqz v3, :cond_3f
.line 211
if-eqz v1, :cond_3f
move v0, v2
.line 213
goto :goto_b
.line 216
:cond_3f
if-eqz v1, :cond_54
.line 219
iget-object v3, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->maxBaseCRLNumber:Ljava/math/BigInteger;
if-eqz v3, :cond_54
.line 221
invoke-virtual {v1}, Lorg/spongycastle/asn1/ASN1Integer;->getPositiveValue()Ljava/math/BigInteger;
move-result-object v1
iget-object v3, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->maxBaseCRLNumber:Ljava/math/BigInteger;
invoke-virtual {v1, v3}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I
move-result v1
const/4 v3, 0x1
if-ne v1, v3, :cond_54
move v0, v2
.line 223
goto :goto_b
.line 227
:cond_54
iget-boolean v1, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->issuingDistributionPointEnabled:Z
if-eqz v1, :cond_74
.line 229
sget-object v1, Lorg/spongycastle/asn1/x509/Extension;->issuingDistributionPoint:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
.line 231
invoke-virtual {v1}, Lorg/spongycastle/asn1/ASN1ObjectIdentifier;->getId()Ljava/lang/String;
move-result-object v1
.line 230
invoke-virtual {v0, v1}, Ljava/security/cert/X509CRL;->getExtensionValue(Ljava/lang/String;)[B
move-result-object v0
.line 232
iget-object v1, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->issuingDistributionPoint:[B
if-nez v1, :cond_6a
.line 234
if-eqz v0, :cond_74
move v0, v2
.line 236
goto :goto_b
.line 241
:cond_6a
iget-object v1, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->issuingDistributionPoint:[B
invoke-static {v0, v1}, Lorg/spongycastle/util/Arrays;->areEqual([B[B)Z
move-result v0
if-nez v0, :cond_74
move v0, v2
.line 243
goto :goto_b
.line 248
:cond_74
iget-object v0, p0, Lorg/spongycastle/jcajce/PKIXCRLStoreSelector;->baseSelector:Ljava/security/cert/CRLSelector;
invoke-interface {v0, p1}, Ljava/security/cert/CRLSelector;->match(Ljava/security/cert/CRL;)Z
move-result v0
goto :goto_b
.end method