public class org.bouncycastle.cert.path.validations.CRLValidation implements org.bouncycastle.cert.path.CertPathValidation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cert.path.validations.CRLValidation
super_class: java.lang.Object
{
private org.bouncycastle.util.Store crls;
descriptor: Lorg/bouncycastle/util/Store;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.asn1.x500.X500Name workingIssuerName;
descriptor: Lorg/bouncycastle/asn1/x500/X500Name;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.asn1.x500.X500Name, org.bouncycastle.util.Store);
descriptor: (Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/util/Store;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.bouncycastle.cert.path.validations.CRLValidation.workingIssuerName:Lorg/bouncycastle/asn1/x500/X500Name;
2: aload 0
aload 2
putfield org.bouncycastle.cert.path.validations.CRLValidation.crls:Lorg/bouncycastle/util/Store;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/cert/path/validations/CRLValidation;
0 4 1 trustAnchorName Lorg/bouncycastle/asn1/x500/X500Name;
0 4 2 crls Lorg/bouncycastle/util/Store;
MethodParameters:
Name Flags
trustAnchorName
crls
public void validate(org.bouncycastle.cert.path.CertPathValidationContext, org.bouncycastle.cert.X509CertificateHolder);
descriptor: (Lorg/bouncycastle/cert/path/CertPathValidationContext;Lorg/bouncycastle/cert/X509CertificateHolder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.cert.path.validations.CRLValidation.crls:Lorg/bouncycastle/util/Store;
new org.bouncycastle.cert.path.validations.CRLValidation$1
dup
aload 0
invokespecial org.bouncycastle.cert.path.validations.CRLValidation$1.<init>:(Lorg/bouncycastle/cert/path/validations/CRLValidation;)V
invokeinterface org.bouncycastle.util.Store.getMatches:(Lorg/bouncycastle/util/Selector;)Ljava/util/Collection;
astore 3
start local 3 1: aload 3
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 3
2: new org.bouncycastle.cert.path.CertPathValidationException
dup
new java.lang.StringBuilder
dup
ldc "CRL for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.bouncycastle.cert.path.validations.CRLValidation.workingIssuerName:Lorg/bouncycastle/asn1/x500/X500Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.bouncycastle.cert.path.CertPathValidationException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.util.Collection
StackMap stack:
aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
start local 4 4: goto 8
5: StackMap locals: java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.cert.X509CRLHolder
astore 5
start local 5 6: aload 5
aload 2
invokevirtual org.bouncycastle.cert.X509CertificateHolder.getSerialNumber:()Ljava/math/BigInteger;
invokevirtual org.bouncycastle.cert.X509CRLHolder.getRevokedCertificate:(Ljava/math/BigInteger;)Lorg/bouncycastle/cert/X509CRLEntryHolder;
ifnull 8
7: new org.bouncycastle.cert.path.CertPathValidationException
dup
ldc "Certificate revoked"
invokespecial org.bouncycastle.cert.path.CertPathValidationException.<init>:(Ljava/lang/String;)V
athrow
end local 5 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 4 9: aload 0
aload 2
invokevirtual org.bouncycastle.cert.X509CertificateHolder.getSubject:()Lorg/bouncycastle/asn1/x500/X500Name;
putfield org.bouncycastle.cert.path.validations.CRLValidation.workingIssuerName:Lorg/bouncycastle/asn1/x500/X500Name;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/cert/path/validations/CRLValidation;
0 11 1 context Lorg/bouncycastle/cert/path/CertPathValidationContext;
0 11 2 certificate Lorg/bouncycastle/cert/X509CertificateHolder;
1 11 3 matches Ljava/util/Collection;
4 9 4 it Ljava/util/Iterator;
6 8 5 crl Lorg/bouncycastle/cert/X509CRLHolder;
Exceptions:
throws org.bouncycastle.cert.path.CertPathValidationException
MethodParameters:
Name Flags
context
certificate
public org.bouncycastle.util.Memoable copy();
descriptor: ()Lorg/bouncycastle/util/Memoable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.bouncycastle.cert.path.validations.CRLValidation
dup
aload 0
getfield org.bouncycastle.cert.path.validations.CRLValidation.workingIssuerName:Lorg/bouncycastle/asn1/x500/X500Name;
aload 0
getfield org.bouncycastle.cert.path.validations.CRLValidation.crls:Lorg/bouncycastle/util/Store;
invokespecial org.bouncycastle.cert.path.validations.CRLValidation.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/util/Store;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/cert/path/validations/CRLValidation;
public void reset(org.bouncycastle.util.Memoable);
descriptor: (Lorg/bouncycastle/util/Memoable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.bouncycastle.cert.path.validations.CRLValidation
astore 2
start local 2 1: aload 0
aload 2
getfield org.bouncycastle.cert.path.validations.CRLValidation.workingIssuerName:Lorg/bouncycastle/asn1/x500/X500Name;
putfield org.bouncycastle.cert.path.validations.CRLValidation.workingIssuerName:Lorg/bouncycastle/asn1/x500/X500Name;
2: aload 0
aload 2
getfield org.bouncycastle.cert.path.validations.CRLValidation.crls:Lorg/bouncycastle/util/Store;
putfield org.bouncycastle.cert.path.validations.CRLValidation.crls:Lorg/bouncycastle/util/Store;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/cert/path/validations/CRLValidation;
0 4 1 other Lorg/bouncycastle/util/Memoable;
1 4 2 v Lorg/bouncycastle/cert/path/validations/CRLValidation;
MethodParameters:
Name Flags
other
}
SourceFile: "CRLValidation.java"
NestMembers:
org.bouncycastle.cert.path.validations.CRLValidation$1
InnerClasses:
org.bouncycastle.cert.path.validations.CRLValidation$1