public class sun.security.provider.certpath.DistributionPointFetcher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.provider.certpath.DistributionPointFetcher
super_class: java.lang.Object
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean[] ALL_REASONS;
descriptor: [Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean USE_CRLDP;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "certpath"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
1: bipush 9
newarray 4
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_1
bastore
dup
iconst_4
iconst_1
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
dup
bipush 8
iconst_1
bastore
2: putstatic sun.security.provider.certpath.DistributionPointFetcher.ALL_REASONS:[Z
3: new sun.security.action.GetBooleanAction
dup
ldc "com.sun.security.enableCRLDP"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putstatic sun.security.provider.certpath.DistributionPointFetcher.USE_CRLDP:Z
5: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/DistributionPointFetcher;
public static java.util.Collection<java.security.cert.X509CRL> getCRLs(java.security.cert.X509CRLSelector, boolean, java.security.PublicKey, java.lang.String, java.util.List<java.security.cert.CertStore>, boolean[], java.util.Set<java.security.cert.TrustAnchor>, java.util.Date, java.lang.String);
descriptor: (Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List;[ZLjava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
iload 1
aload 2
aconst_null
aload 3
aload 4
1: aload 5
aload 6
aload 7
aload 8
2: invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRLs:(Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/List;[ZLjava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 selector Ljava/security/cert/X509CRLSelector;
0 3 1 signFlag Z
0 3 2 prevKey Ljava/security/PublicKey;
0 3 3 provider Ljava/lang/String;
0 3 4 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 3 5 reasonsMask [Z
0 3 6 trustAnchors Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
0 3 7 validity Ljava/util/Date;
0 3 8 variant Ljava/lang/String;
Exceptions:
throws java.security.cert.CertStoreException
Signature: (Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List<Ljava/security/cert/CertStore;>;[ZLjava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
MethodParameters:
Name Flags
selector
signFlag
prevKey
provider
certStores
reasonsMask
trustAnchors
validity
variant
public static java.util.Collection<java.security.cert.X509CRL> getCRLs(java.security.cert.X509CRLSelector, boolean, java.security.PublicKey, java.lang.String, java.util.List<java.security.cert.CertStore>, boolean[], java.util.Set<java.security.cert.TrustAnchor>, java.util.Date);
descriptor: (Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List;[ZLjava/util/Set;Ljava/util/Date;)Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
iload 1
aload 2
aconst_null
aload 3
aload 4
1: aload 5
aload 6
aload 7
ldc "generic"
2: invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRLs:(Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/List;[ZLjava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 selector Ljava/security/cert/X509CRLSelector;
0 3 1 signFlag Z
0 3 2 prevKey Ljava/security/PublicKey;
0 3 3 provider Ljava/lang/String;
0 3 4 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 3 5 reasonsMask [Z
0 3 6 trustAnchors Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
0 3 7 validity Ljava/util/Date;
Exceptions:
throws java.security.cert.CertStoreException
Signature: (Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List<Ljava/security/cert/CertStore;>;[ZLjava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/Date;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
MethodParameters:
Name Flags
selector
signFlag
prevKey
provider
certStores
reasonsMask
trustAnchors
validity
public static java.util.Collection<java.security.cert.X509CRL> getCRLs(java.security.cert.X509CRLSelector, boolean, java.security.PublicKey, java.security.cert.X509Certificate, java.lang.String, java.util.List<java.security.cert.CertStore>, boolean[], java.util.Set<java.security.cert.TrustAnchor>, java.util.Date, java.lang.String);
descriptor: (Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/List;[ZLjava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=12, locals=18, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: getstatic sun.security.provider.certpath.DistributionPointFetcher.USE_CRLDP:Z
ifne 2
1: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.security.cert.X509CRLSelector.getCertificateChecking:()Ljava/security/cert/X509Certificate;
astore 10
start local 10 3: aload 10
ifnonnull 5
4: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
5: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 10
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
astore 11
start local 11 6: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 10
7: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "DistributionPointFetcher.getCRLs: Checking CRLDPs for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 11
invokevirtual sun.security.x509.X509CertImpl.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
10: StackMap locals: sun.security.x509.X509CertImpl
StackMap stack:
aload 11
invokevirtual sun.security.x509.X509CertImpl.getCRLDistributionPointsExtension:()Lsun/security/x509/CRLDistributionPointsExtension;
11: astore 12
start local 12 12: aload 12
ifnonnull 17
13: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 15
14: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "No CRLDP ext"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
15: StackMap locals: sun.security.x509.CRLDistributionPointsExtension
StackMap stack:
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
16: areturn
17: StackMap locals:
StackMap stack:
aload 12
ldc "points"
invokevirtual sun.security.x509.CRLDistributionPointsExtension.get:(Ljava/lang/String;)Ljava/util/List;
18: astore 13
start local 13 19: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 14
start local 14 20: aload 13
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 15
start local 15 21: goto 28
22: StackMap locals: java.util.List java.util.Set java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.DistributionPoint
astore 16
start local 16 23: aload 0
aload 11
24: aload 16
aload 6
iload 1
aload 2
aload 3
aload 4
25: aload 5
aload 7
aload 8
aload 9
26: invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRLs:(Ljava/security/cert/X509CRLSelector;Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;[ZZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/List;Ljava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
astore 17
start local 17 27: aload 14
aload 17
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
end local 17 end local 16 28: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 29
aload 6
getstatic sun.security.provider.certpath.DistributionPointFetcher.ALL_REASONS:[Z
invokestatic java.util.Arrays.equals:([Z[Z)Z
ifeq 22
end local 15 29: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 31
30: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Returning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " CRLs"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
31: StackMap locals:
StackMap stack:
aload 14
32: areturn
end local 14 end local 13 end local 12 end local 11 33: StackMap locals: java.security.cert.X509CRLSelector int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.List boolean[] java.util.Set java.util.Date java.lang.String java.security.cert.X509Certificate
StackMap stack: java.lang.Exception
pop
34: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 selector Ljava/security/cert/X509CRLSelector;
0 35 1 signFlag Z
0 35 2 prevKey Ljava/security/PublicKey;
0 35 3 prevCert Ljava/security/cert/X509Certificate;
0 35 4 provider Ljava/lang/String;
0 35 5 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 35 6 reasonsMask [Z
0 35 7 trustAnchors Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
0 35 8 validity Ljava/util/Date;
0 35 9 variant Ljava/lang/String;
3 35 10 cert Ljava/security/cert/X509Certificate;
6 33 11 certImpl Lsun/security/x509/X509CertImpl;
12 33 12 ext Lsun/security/x509/CRLDistributionPointsExtension;
19 33 13 points Ljava/util/List<Lsun/security/x509/DistributionPoint;>;
20 33 14 results Ljava/util/Set<Ljava/security/cert/X509CRL;>;
21 29 15 t Ljava/util/Iterator<Lsun/security/x509/DistributionPoint;>;
23 28 16 point Lsun/security/x509/DistributionPoint;
27 28 17 crls Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
Exception table:
from to target type
5 16 33 Class java.security.cert.CertificateException
17 32 33 Class java.security.cert.CertificateException
5 16 33 Class java.io.IOException
17 32 33 Class java.io.IOException
Exceptions:
throws java.security.cert.CertStoreException
Signature: (Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/List<Ljava/security/cert/CertStore;>;[ZLjava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
MethodParameters:
Name Flags
selector
signFlag
prevKey
prevCert
provider
certStores
reasonsMask
trustAnchors
validity
variant
private static java.util.Collection<java.security.cert.X509CRL> getCRLs(java.security.cert.X509CRLSelector, sun.security.x509.X509CertImpl, sun.security.x509.DistributionPoint, boolean[], boolean, java.security.PublicKey, java.security.cert.X509Certificate, java.lang.String, java.util.List<java.security.cert.CertStore>, java.util.Set<java.security.cert.TrustAnchor>, java.util.Date, java.lang.String);
descriptor: (Ljava/security/cert/X509CRLSelector;Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;[ZZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/List;Ljava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=19, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 2
invokevirtual sun.security.x509.DistributionPoint.getFullName:()Lsun/security/x509/GeneralNames;
astore 12
start local 12 1: aload 12
ifnonnull 18
2: aload 2
invokevirtual sun.security.x509.DistributionPoint.getRelativeName:()Lsun/security/x509/RDN;
astore 13
start local 13 3: aload 13
ifnonnull 5
4: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
5: StackMap locals: sun.security.x509.GeneralNames sun.security.x509.RDN
StackMap stack:
aload 2
invokevirtual sun.security.x509.DistributionPoint.getCRLIssuer:()Lsun/security/x509/GeneralNames;
astore 14
start local 14 6: aload 14
ifnonnull 10
7: aload 1
invokevirtual sun.security.x509.X509CertImpl.getIssuerDN:()Ljava/security/Principal;
checkcast sun.security.x509.X500Name
aload 13
8: invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
astore 12
9: goto 18
10: StackMap locals: sun.security.x509.GeneralNames
StackMap stack:
aload 14
invokevirtual sun.security.x509.GeneralNames.size:()I
iconst_1
if_icmpeq 13
11: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
12: areturn
13: StackMap locals:
StackMap stack:
aload 14
iconst_0
invokevirtual sun.security.x509.GeneralNames.get:(I)Lsun/security/x509/GeneralName;
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.X500Name
aload 13
14: invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
astore 12
end local 14 15: goto 18
StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames sun.security.x509.RDN
StackMap stack: java.io.IOException
16: pop
17: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
end local 13 18: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 13
start local 13 19: aconst_null
astore 14
start local 14 20: aload 12
invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
astore 15
start local 15 21: goto 39
22: StackMap locals: java.util.Collection java.security.cert.CertStoreException java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
astore 16
start local 16 23: aload 16
invokevirtual sun.security.x509.GeneralName.getType:()I
iconst_4
if_icmpne 31
24: aload 16
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.X500Name
astore 17
start local 17 25: aload 13
26: aload 17
aload 1
invokevirtual sun.security.x509.X509CertImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
27: aload 8
28: invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRLs:(Lsun/security/x509/X500Name;Ljavax/security/auth/x500/X500Principal;Ljava/util/List;)Ljava/util/Collection;
29: invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
end local 17 30: goto 39
StackMap locals: sun.security.x509.GeneralName
StackMap stack:
31: aload 16
invokevirtual sun.security.x509.GeneralName.getType:()I
bipush 6
if_icmpne 39
32: aload 16
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.URIName
astore 17
start local 17 33: aload 17
invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRL:(Lsun/security/x509/URIName;)Ljava/security/cert/X509CRL;
astore 18
start local 18 34: aload 18
ifnull 39
35: aload 13
aload 18
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 18 end local 17 end local 16 36: goto 39
StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames java.util.Collection java.security.cert.CertStoreException java.util.Iterator
StackMap stack: java.security.cert.CertStoreException
37: astore 16
start local 16 38: aload 16
astore 14
end local 16 39: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
end local 15 40: aload 13
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 42
aload 14
ifnull 42
41: aload 14
athrow
42: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 15
start local 15 43: aload 13
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 17
goto 57
StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames java.util.Collection java.security.cert.CertStoreException java.util.Collection top java.util.Iterator
StackMap stack:
44: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509CRL
astore 16
start local 16 45: aload 0
aconst_null
invokevirtual java.security.cert.X509CRLSelector.setIssuerNames:(Ljava/util/Collection;)V
46: aload 0
aload 16
invokevirtual java.security.cert.X509CRLSelector.match:(Ljava/security/cert/CRL;)Z
ifeq 57
aload 1
aload 2
aload 16
47: aload 3
iload 4
aload 5
aload 6
aload 7
48: aload 9
aload 8
aload 10
aload 11
49: invokestatic sun.security.provider.certpath.DistributionPointFetcher.verifyCRL:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;Ljava/security/cert/X509CRL;[ZZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/Set;Ljava/util/List;Ljava/util/Date;Ljava/lang/String;)Z
50: ifeq 57
51: aload 15
aload 16
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
52: goto 57
StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames java.util.Collection java.security.cert.CertStoreException java.util.Collection java.security.cert.X509CRL java.util.Iterator
StackMap stack: java.lang.Exception
53: astore 18
start local 18 54: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 57
55: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Exception verifying CRL: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
56: aload 18
invokevirtual java.lang.Exception.printStackTrace:()V
end local 18 end local 16 57: StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames java.util.Collection java.security.cert.CertStoreException java.util.Collection top java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
58: aload 15
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 selector Ljava/security/cert/X509CRLSelector;
0 59 1 certImpl Lsun/security/x509/X509CertImpl;
0 59 2 point Lsun/security/x509/DistributionPoint;
0 59 3 reasonsMask [Z
0 59 4 signFlag Z
0 59 5 prevKey Ljava/security/PublicKey;
0 59 6 prevCert Ljava/security/cert/X509Certificate;
0 59 7 provider Ljava/lang/String;
0 59 8 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 59 9 trustAnchors Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
0 59 10 validity Ljava/util/Date;
0 59 11 variant Ljava/lang/String;
1 59 12 fullName Lsun/security/x509/GeneralNames;
3 18 13 relativeName Lsun/security/x509/RDN;
6 15 14 crlIssuers Lsun/security/x509/GeneralNames;
19 59 13 possibleCRLs Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
20 59 14 savedCSE Ljava/security/cert/CertStoreException;
21 40 15 t Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
23 36 16 name Lsun/security/x509/GeneralName;
25 30 17 x500Name Lsun/security/x509/X500Name;
33 36 17 uriName Lsun/security/x509/URIName;
34 36 18 crl Ljava/security/cert/X509CRL;
38 39 16 cse Ljava/security/cert/CertStoreException;
43 59 15 crls Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
45 57 16 crl Ljava/security/cert/X509CRL;
54 57 18 e Ljava/lang/Exception;
Exception table:
from to target type
5 12 16 Class java.io.IOException
13 15 16 Class java.io.IOException
22 36 37 Class java.security.cert.CertStoreException
45 52 53 Class java.io.IOException
45 52 53 Class java.security.cert.CRLException
Exceptions:
throws java.security.cert.CertStoreException
Signature: (Ljava/security/cert/X509CRLSelector;Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;[ZZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/List<Ljava/security/cert/CertStore;>;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
MethodParameters:
Name Flags
selector
certImpl
point
reasonsMask
signFlag
prevKey
prevCert
provider
certStores
trustAnchors
validity
variant
private static java.security.cert.X509CRL getCRL(sun.security.x509.URIName);
descriptor: (Lsun/security/x509/URIName;)Ljava/security/cert/X509CRL;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
astore 1
start local 1 1: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 3
2: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Trying to fetch CRL from DP "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
3: StackMap locals: java.net.URI
StackMap stack:
aconst_null
astore 2
start local 2 4: new sun.security.provider.certpath.URICertStore$URICertStoreParameters
dup
aload 1
invokespecial sun.security.provider.certpath.URICertStore$URICertStoreParameters.<init>:(Ljava/net/URI;)V
5: invokestatic sun.security.provider.certpath.URICertStore.getInstance:(Lsun/security/provider/certpath/URICertStore$URICertStoreParameters;)Ljava/security/cert/CertStore;
astore 2
6: goto 11
7: StackMap locals: sun.security.x509.URIName java.net.URI java.security.cert.CertStore
StackMap stack: java.security.GeneralSecurityException
astore 3
start local 3 8: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 10
9: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Can't create URICertStore: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
10: StackMap locals: java.security.GeneralSecurityException
StackMap stack:
aconst_null
areturn
end local 3 11: StackMap locals:
StackMap stack:
aload 2
aconst_null
invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
astore 3
start local 3 12: aload 3
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 14
13: aconst_null
areturn
14: StackMap locals: java.util.Collection
StackMap stack:
aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509CRL
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 name Lsun/security/x509/URIName;
1 15 1 uri Ljava/net/URI;
4 15 2 ucs Ljava/security/cert/CertStore;
8 11 3 e Ljava/security/GeneralSecurityException;
12 15 3 crls Ljava/util/Collection<+Ljava/security/cert/CRL;>;
Exception table:
from to target type
4 6 7 Class java.security.InvalidAlgorithmParameterException
4 6 7 Class java.security.NoSuchAlgorithmException
Exceptions:
throws java.security.cert.CertStoreException
MethodParameters:
Name Flags
name
private static java.util.Collection<java.security.cert.X509CRL> getCRLs(sun.security.x509.X500Name, javax.security.auth.x500.X500Principal, java.util.List<java.security.cert.CertStore>);
descriptor: (Lsun/security/x509/X500Name;Ljavax/security/auth/x500/X500Principal;Ljava/util/List;)Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Trying to fetch CRL from DP "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
new java.security.cert.X509CRLSelector
dup
invokespecial java.security.cert.X509CRLSelector.<init>:()V
astore 3
start local 3 3: aload 3
aload 0
invokevirtual sun.security.x509.X500Name.asX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.security.cert.X509CRLSelector.addIssuer:(Ljavax/security/auth/x500/X500Principal;)V
4: aload 3
aload 1
invokevirtual java.security.cert.X509CRLSelector.addIssuer:(Ljavax/security/auth/x500/X500Principal;)V
5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 6: aconst_null
astore 5
start local 5 7: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 21
StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection java.security.cert.CertStoreException top java.util.Iterator
StackMap stack:
8: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.CertStore
astore 6
start local 6 9: aload 6
aload 3
invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 12
StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection java.security.cert.CertStoreException java.security.cert.CertStore java.util.Iterator top java.util.Iterator
StackMap stack:
10: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.CRL
astore 8
start local 8 11: aload 4
aload 8
checkcast java.security.cert.X509CRL
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 8 12: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: goto 21
StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection java.security.cert.CertStoreException java.security.cert.CertStore java.util.Iterator
StackMap stack: java.security.cert.CertStoreException
14: astore 8
start local 8 15: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 20
16: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Exception while retrieving CRLs: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
19: aload 8
invokevirtual java.security.cert.CertStoreException.printStackTrace:()V
20: StackMap locals: java.security.cert.CertStoreException
StackMap stack:
new sun.security.provider.certpath.PKIX$CertStoreTypeException
dup
aload 6
invokevirtual java.security.cert.CertStore.getType:()Ljava/lang/String;
aload 8
invokespecial sun.security.provider.certpath.PKIX$CertStoreTypeException.<init>:(Ljava/lang/String;Ljava/security/cert/CertStoreException;)V
astore 5
end local 8 end local 6 21: StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection java.security.cert.CertStoreException top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
22: aload 4
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 24
aload 5
ifnull 24
23: aload 5
athrow
24: StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection java.security.cert.CertStoreException
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 name Lsun/security/x509/X500Name;
0 25 1 certIssuer Ljavax/security/auth/x500/X500Principal;
0 25 2 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
3 25 3 xcs Ljava/security/cert/X509CRLSelector;
6 25 4 crls Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
7 25 5 savedCSE Ljava/security/cert/CertStoreException;
9 21 6 store Ljava/security/cert/CertStore;
11 12 8 crl Ljava/security/cert/CRL;
15 21 8 cse Ljava/security/cert/CertStoreException;
Exception table:
from to target type
9 13 14 Class java.security.cert.CertStoreException
Exceptions:
throws java.security.cert.CertStoreException
Signature: (Lsun/security/x509/X500Name;Ljavax/security/auth/x500/X500Principal;Ljava/util/List<Ljava/security/cert/CertStore;>;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
MethodParameters:
Name Flags
name
certIssuer
certStores
static boolean verifyCRL(sun.security.x509.X509CertImpl, sun.security.x509.DistributionPoint, java.security.cert.X509CRL, boolean[], boolean, java.security.PublicKey, java.security.cert.X509Certificate, java.lang.String, java.util.Set<java.security.cert.TrustAnchor>, java.util.List<java.security.cert.CertStore>, java.util.Date, java.lang.String);
descriptor: (Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;Ljava/security/cert/X509CRL;[ZZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/Set;Ljava/util/List;Ljava/util/Date;Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=30, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 6
1: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "DistributionPointFetcher.verifyCRL: checking revocation status for\n SN: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
invokevirtual sun.security.x509.X509CertImpl.getSerialNumber:()Ljava/math/BigInteger;
invokestatic sun.security.util.Debug.toHexString:(Ljava/math/BigInteger;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "\n Subject: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual sun.security.x509.X509CertImpl.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc "\n Issuer: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual sun.security.x509.X509CertImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 7: aload 2
invokestatic sun.security.x509.X509CRLImpl.toImpl:(Ljava/security/cert/X509CRL;)Lsun/security/x509/X509CRLImpl;
astore 13
start local 13 8: aload 13
invokevirtual sun.security.x509.X509CRLImpl.getIssuingDistributionPointExtension:()Lsun/security/x509/IssuingDistributionPointExtension;
9: astore 14
start local 14 10: aload 0
invokevirtual sun.security.x509.X509CertImpl.getIssuerDN:()Ljava/security/Principal;
checkcast sun.security.x509.X500Name
astore 15
start local 15 11: aload 13
invokevirtual sun.security.x509.X509CRLImpl.getIssuerDN:()Ljava/security/Principal;
checkcast sun.security.x509.X500Name
astore 16
start local 16 12: aload 1
invokevirtual sun.security.x509.DistributionPoint.getCRLIssuer:()Lsun/security/x509/GeneralNames;
astore 17
start local 17 13: aconst_null
astore 18
start local 18 14: aload 17
ifnull 38
15: aload 14
ifnull 22
16: aload 14
17: ldc "indirect_crl"
18: invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Boolean
19: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
20: invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
21: ifeq 23
22: StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name
StackMap stack:
iconst_0
ireturn
23: StackMap locals:
StackMap stack:
iconst_0
istore 19
start local 19 24: aload 17
invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
astore 20
start local 20 25: goto 30
26: StackMap locals: int java.util.Iterator
StackMap stack:
aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
astore 21
start local 21 27: aload 16
aload 21
invokevirtual sun.security.x509.X500Name.equals:(Ljava/lang/Object;)Z
ifeq 30
28: aload 21
checkcast sun.security.x509.X500Name
astore 18
29: iconst_1
istore 19
end local 21 30: StackMap locals:
StackMap stack:
iload 19
ifne 31
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
end local 20 31: StackMap locals:
StackMap stack:
iload 19
ifne 33
32: iconst_0
ireturn
33: StackMap locals:
StackMap stack:
aload 0
aload 13
aload 7
invokestatic sun.security.provider.certpath.DistributionPointFetcher.issues:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/X509CRLImpl;Ljava/lang/String;)Z
ifeq 36
34: aload 0
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
astore 5
35: goto 56
36: StackMap locals:
StackMap stack:
iconst_1
istore 12
end local 19 37: goto 56
StackMap locals:
StackMap stack:
38: aload 16
aload 15
invokevirtual sun.security.x509.X500Name.equals:(Ljava/lang/Object;)Z
ifne 45
39: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 44
40: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "crl issuer does not equal cert issuer.\ncrl issuer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: ldc "cert issuer: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
iconst_0
ireturn
45: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.x509.X509CertImpl.getAuthKeyId:()Lsun/security/x509/KeyIdentifier;
astore 19
start local 19 46: aload 13
invokevirtual sun.security.x509.X509CRLImpl.getAuthKeyId:()Lsun/security/x509/KeyIdentifier;
astore 20
start local 20 47: aload 19
ifnull 48
aload 20
ifnonnull 51
48: StackMap locals: sun.security.x509.KeyIdentifier sun.security.x509.KeyIdentifier
StackMap stack:
aload 0
aload 13
aload 7
invokestatic sun.security.provider.certpath.DistributionPointFetcher.issues:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/X509CRLImpl;Ljava/lang/String;)Z
ifeq 56
49: aload 0
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
astore 5
50: goto 56
StackMap locals:
StackMap stack:
51: aload 19
aload 20
invokevirtual sun.security.x509.KeyIdentifier.equals:(Ljava/lang/Object;)Z
ifne 56
52: aload 0
aload 13
aload 7
invokestatic sun.security.provider.certpath.DistributionPointFetcher.issues:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/X509CRLImpl;Ljava/lang/String;)Z
ifeq 55
53: aload 0
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
astore 5
54: goto 56
55: StackMap locals:
StackMap stack:
iconst_1
istore 12
end local 20 end local 19 56: StackMap locals:
StackMap stack:
iload 12
ifne 58
iload 4
ifne 58
57: iconst_0
ireturn
58: StackMap locals:
StackMap stack:
aload 14
ifnull 141
59: aload 14
ldc "point"
invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
60: checkcast sun.security.x509.DistributionPointName
astore 19
start local 19 61: aload 19
ifnull 122
62: aload 19
invokevirtual sun.security.x509.DistributionPointName.getFullName:()Lsun/security/x509/GeneralNames;
astore 20
start local 20 63: aload 20
ifnonnull 72
64: aload 19
invokevirtual sun.security.x509.DistributionPointName.getRelativeName:()Lsun/security/x509/RDN;
astore 21
start local 21 65: aload 21
ifnonnull 69
66: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 68
67: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "IDP must be relative or full DN"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
68: StackMap locals: sun.security.x509.DistributionPointName sun.security.x509.GeneralNames sun.security.x509.RDN
StackMap stack:
iconst_0
ireturn
69: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 71
70: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "IDP relativeName:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 21
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
71: StackMap locals:
StackMap stack:
aload 16
aload 21
invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
astore 20
end local 21 72: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.x509.DistributionPoint.getFullName:()Lsun/security/x509/GeneralNames;
ifnonnull 74
73: aload 1
invokevirtual sun.security.x509.DistributionPoint.getRelativeName:()Lsun/security/x509/RDN;
ifnull 110
74: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.x509.DistributionPoint.getFullName:()Lsun/security/x509/GeneralNames;
astore 21
start local 21 75: aload 21
ifnonnull 92
76: aload 1
invokevirtual sun.security.x509.DistributionPoint.getRelativeName:()Lsun/security/x509/RDN;
astore 22
start local 22 77: aload 22
ifnonnull 81
78: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 80
79: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "DP must be relative or full DN"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
80: StackMap locals: sun.security.x509.GeneralNames sun.security.x509.RDN
StackMap stack:
iconst_0
ireturn
81: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 83
82: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "DP relativeName:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 22
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
83: StackMap locals:
StackMap stack:
iload 12
ifeq 91
84: aload 17
invokevirtual sun.security.x509.GeneralNames.size:()I
iconst_1
if_icmpeq 88
85: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 87
86: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "must only be one CRL issuer when relative name present"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
87: StackMap locals:
StackMap stack:
iconst_0
ireturn
88: StackMap locals:
StackMap stack:
aload 18
aload 22
89: invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
astore 21
90: goto 92
91: StackMap locals:
StackMap stack:
aload 15
aload 22
invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
astore 21
end local 22 92: StackMap locals:
StackMap stack:
iconst_0
istore 22
start local 22 93: aload 20
invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
astore 23
start local 23 94: goto 105
95: StackMap locals: int java.util.Iterator
StackMap stack:
aload 23
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
astore 24
start local 24 96: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 98
97: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "idpName: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 24
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
98: StackMap locals: sun.security.x509.GeneralNameInterface
StackMap stack:
aload 21
invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
astore 25
start local 25 99: goto 104
100: StackMap locals: java.util.Iterator
StackMap stack:
aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
astore 26
start local 26 101: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 103
102: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "pointName: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 26
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
103: StackMap locals: sun.security.x509.GeneralNameInterface
StackMap stack:
aload 24
aload 26
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
istore 22
end local 26 104: StackMap locals:
StackMap stack:
iload 22
ifne 105
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 100
end local 25 end local 24 105: StackMap locals:
StackMap stack:
iload 22
ifne 106
aload 23
invokeinterface java.util.Iterator.hasNext:()Z
ifne 95
end local 23 106: StackMap locals:
StackMap stack:
iload 22
ifne 122
107: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 109
108: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "IDP name does not match DP name"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
109: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 22 end local 21 110: StackMap locals:
StackMap stack:
iconst_0
istore 21
start local 21 111: aload 17
invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
astore 22
start local 22 112: goto 119
113: StackMap locals: int java.util.Iterator
StackMap stack:
aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
astore 23
start local 23 114: aload 20
invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
astore 24
start local 24 115: goto 118
116: StackMap locals: sun.security.x509.GeneralNameInterface java.util.Iterator
StackMap stack:
aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
astore 25
start local 25 117: aload 23
aload 25
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
istore 21
end local 25 118: StackMap locals:
StackMap stack:
iload 21
ifne 119
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 116
end local 24 end local 23 119: StackMap locals:
StackMap stack:
iload 21
ifne 120
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 113
end local 22 120: StackMap locals:
StackMap stack:
iload 21
ifne 122
121: iconst_0
ireturn
end local 21 end local 20 122: StackMap locals:
StackMap stack:
aload 14
ldc "only_user_certs"
invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
123: checkcast java.lang.Boolean
astore 20
start local 20 124: aload 20
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 128
aload 0
invokevirtual sun.security.x509.X509CertImpl.getBasicConstraints:()I
iconst_m1
if_icmpeq 128
125: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 127
126: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "cert must be a EE cert"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
127: StackMap locals: java.lang.Boolean
StackMap stack:
iconst_0
ireturn
128: StackMap locals:
StackMap stack:
aload 14
ldc "only_ca_certs"
invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
129: checkcast java.lang.Boolean
astore 20
130: aload 20
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 134
aload 0
invokevirtual sun.security.x509.X509CertImpl.getBasicConstraints:()I
iconst_m1
if_icmpne 134
131: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 133
132: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "cert must be a CA cert"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
133: StackMap locals:
StackMap stack:
iconst_0
ireturn
134: StackMap locals:
StackMap stack:
aload 14
135: ldc "only_attribute_certs"
136: invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 20
137: aload 20
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 141
138: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 140
139: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "cert must not be an AA cert"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
140: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 20 end local 19 141: StackMap locals:
StackMap stack:
bipush 9
newarray 4
astore 19
start local 19 142: aconst_null
astore 20
start local 20 143: aload 14
ifnull 146
144: aload 14
ldc "reasons"
invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
145: checkcast sun.security.x509.ReasonFlags
astore 20
146: StackMap locals: boolean[] sun.security.x509.ReasonFlags
StackMap stack:
aload 1
invokevirtual sun.security.x509.DistributionPoint.getReasonFlags:()[Z
astore 21
start local 21 147: aload 20
ifnull 163
148: aload 21
ifnull 161
149: aload 20
invokevirtual sun.security.x509.ReasonFlags.getFlags:()[Z
astore 22
start local 22 150: iconst_0
istore 23
start local 23 151: goto 159
152: StackMap locals: boolean[] boolean[] int
StackMap stack:
aload 19
iload 23
153: iload 23
aload 22
arraylength
if_icmpge 156
aload 22
iload 23
baload
ifeq 156
154: iload 23
aload 21
arraylength
if_icmpge 156
aload 21
iload 23
baload
ifeq 156
155: iconst_1
goto 157
StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] boolean[] int
StackMap stack: boolean[] int
156: iconst_0
StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] boolean[] int
StackMap stack: boolean[] int int
157: bastore
158: iinc 23 1
StackMap locals:
StackMap stack:
159: iload 23
aload 19
arraylength
if_icmplt 152
end local 23 end local 22 160: goto 168
161: StackMap locals:
StackMap stack:
aload 20
invokevirtual sun.security.x509.ReasonFlags.getFlags:()[Z
invokevirtual boolean[].clone:()Ljava/lang/Object;
checkcast boolean[]
astore 19
162: goto 168
StackMap locals:
StackMap stack:
163: aload 14
ifnull 164
aload 20
ifnonnull 168
164: StackMap locals:
StackMap stack:
aload 21
ifnull 167
165: aload 21
invokevirtual boolean[].clone:()Ljava/lang/Object;
checkcast boolean[]
astore 19
166: goto 168
167: StackMap locals:
StackMap stack:
aload 19
iconst_1
invokestatic java.util.Arrays.fill:([ZZ)V
168: StackMap locals:
StackMap stack:
iconst_0
istore 22
start local 22 169: iconst_0
istore 23
start local 23 170: goto 175
171: StackMap locals: int int
StackMap stack:
aload 19
iload 23
baload
ifeq 174
172: iload 23
aload 3
arraylength
if_icmpge 173
aload 3
iload 23
baload
ifne 174
173: StackMap locals:
StackMap stack:
iconst_1
istore 22
174: StackMap locals:
StackMap stack:
iinc 23 1
StackMap locals:
StackMap stack:
175: iload 23
aload 19
arraylength
if_icmpge 176
iload 22
ifeq 171
end local 23 176: StackMap locals:
StackMap stack:
iload 22
ifne 178
177: iconst_0
ireturn
178: StackMap locals:
StackMap stack:
iload 12
ifeq 221
179: new java.security.cert.X509CertSelector
dup
invokespecial java.security.cert.X509CertSelector.<init>:()V
astore 23
start local 23 180: aload 23
aload 16
invokevirtual sun.security.x509.X500Name.asX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.security.cert.X509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
181: bipush 7
newarray 4
dup
bipush 6
iconst_1
bastore
astore 24
start local 24 182: aload 23
aload 24
invokevirtual java.security.cert.X509CertSelector.setKeyUsage:([Z)V
183: aload 13
invokevirtual sun.security.x509.X509CRLImpl.getAuthKeyIdExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
184: astore 25
start local 25 185: aload 25
ifnull 198
186: aload 25
187: ldc "key_id"
188: invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.KeyIdentifier
astore 26
start local 26 189: aload 26
ifnull 193
190: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 27
start local 27 191: aload 27
aload 26
invokevirtual sun.security.x509.KeyIdentifier.getIdentifier:()[B
invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
192: aload 23
aload 27
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
invokevirtual java.security.cert.X509CertSelector.setSubjectKeyIdentifier:([B)V
end local 27 193: StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.security.cert.X509CertSelector boolean[] sun.security.x509.AuthorityKeyIdentifierExtension sun.security.x509.KeyIdentifier
StackMap stack:
aload 25
194: ldc "serial_number"
195: invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.SerialNumber
astore 27
start local 27 196: aload 27
ifnull 198
197: aload 23
aload 27
invokevirtual sun.security.x509.SerialNumber.getNumber:()Ljava/math/BigInteger;
invokevirtual java.security.cert.X509CertSelector.setSerialNumber:(Ljava/math/BigInteger;)V
end local 27 end local 26 198: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
aload 8
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 26
start local 26 199: aload 5
ifnull 206
200: aload 6
ifnull 203
201: new java.security.cert.TrustAnchor
dup
aload 6
aconst_null
invokespecial java.security.cert.TrustAnchor.<init>:(Ljava/security/cert/X509Certificate;[B)V
astore 27
start local 27 202: goto 205
end local 27 203: StackMap locals: java.util.Set
StackMap stack:
aload 0
invokevirtual sun.security.x509.X509CertImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 28
start local 28 204: new java.security.cert.TrustAnchor
dup
aload 28
aload 5
aconst_null
invokespecial java.security.cert.TrustAnchor.<init>:(Ljavax/security/auth/x500/X500Principal;Ljava/security/PublicKey;[B)V
astore 27
end local 28 start local 27 205: StackMap locals: java.security.cert.TrustAnchor
StackMap stack:
aload 26
aload 27
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 27 206: StackMap locals:
StackMap stack:
aconst_null
astore 27
start local 27 207: new java.security.cert.PKIXBuilderParameters
dup
aload 26
aload 23
invokespecial java.security.cert.PKIXBuilderParameters.<init>:(Ljava/util/Set;Ljava/security/cert/CertSelector;)V
astore 27
208: goto 211
StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.security.cert.X509CertSelector boolean[] sun.security.x509.AuthorityKeyIdentifierExtension java.util.Set java.security.cert.PKIXBuilderParameters
StackMap stack: java.security.InvalidAlgorithmParameterException
209: astore 28
start local 28 210: new java.security.cert.CRLException
dup
aload 28
invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 28 211: StackMap locals:
StackMap stack:
aload 27
aload 9
invokevirtual java.security.cert.PKIXBuilderParameters.setCertStores:(Ljava/util/List;)V
212: aload 27
aload 7
invokevirtual java.security.cert.PKIXBuilderParameters.setSigProvider:(Ljava/lang/String;)V
213: aload 27
aload 10
invokevirtual java.security.cert.PKIXBuilderParameters.setDate:(Ljava/util/Date;)V
214: ldc "PKIX"
invokestatic java.security.cert.CertPathBuilder.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
astore 28
start local 28 215: aload 28
aload 27
invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
checkcast java.security.cert.PKIXCertPathBuilderResult
216: astore 29
start local 29 217: aload 29
invokevirtual java.security.cert.PKIXCertPathBuilderResult.getPublicKey:()Ljava/security/PublicKey;
astore 5
end local 29 end local 28 218: goto 221
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
219: astore 28
start local 28 220: new java.security.cert.CRLException
dup
aload 28
invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 221: StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int
StackMap stack:
aload 5
aload 2
aload 11
invokestatic sun.security.provider.certpath.AlgorithmChecker.check:(Ljava/security/PublicKey;Ljava/security/cert/X509CRL;Ljava/lang/String;)V
222: goto 227
StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
223: astore 23
start local 23 224: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 226
225: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "CRL signature algorithm check failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 23
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
226: StackMap locals: java.security.cert.CertPathValidatorException
StackMap stack:
iconst_0
ireturn
end local 23 227: StackMap locals:
StackMap stack:
aload 2
aload 5
aload 7
invokevirtual java.security.cert.X509CRL.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
228: goto 233
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
229: pop
230: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 232
231: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ldc "CRL signature failed to verify"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
232: StackMap locals:
StackMap stack:
iconst_0
ireturn
233: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
astore 23
start local 23 234: aload 23
ifnull 246
235: aload 23
getstatic sun.security.x509.PKIXExtensions.IssuingDistributionPoint_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
236: aload 23
invokeinterface java.util.Set.isEmpty:()Z
ifne 246
237: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
ifnull 245
238: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Unrecognized critical extension(s) in CRL: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
239: aload 23
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
240: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
241: aload 23
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 25
goto 244
StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.util.Set top java.util.Iterator
StackMap stack:
242: aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 24
start local 24 243: getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
aload 24
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 24 244: StackMap locals:
StackMap stack:
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 242
245: StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.util.Set
StackMap stack:
iconst_0
ireturn
246: StackMap locals:
StackMap stack:
iconst_0
istore 24
start local 24 247: goto 254
248: StackMap locals: int
StackMap stack:
aload 3
iload 24
aload 3
iload 24
baload
ifne 251
249: iload 24
aload 19
arraylength
if_icmpge 250
aload 19
iload 24
baload
ifne 251
250: StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.util.Set int
StackMap stack: boolean[] int
iconst_0
goto 252
StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.util.Set int
StackMap stack: boolean[] int
251: iconst_1
StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.security.cert.X509Certificate java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.util.Set int
StackMap stack: boolean[] int int
252: bastore
253: iinc 24 1
StackMap locals:
StackMap stack:
254: iload 24
aload 19
arraylength
if_icmplt 248
end local 24 255: iconst_1
ireturn
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 256 0 certImpl Lsun/security/x509/X509CertImpl;
0 256 1 point Lsun/security/x509/DistributionPoint;
0 256 2 crl Ljava/security/cert/X509CRL;
0 256 3 reasonsMask [Z
0 256 4 signFlag Z
0 256 5 prevKey Ljava/security/PublicKey;
0 256 6 prevCert Ljava/security/cert/X509Certificate;
0 256 7 provider Ljava/lang/String;
0 256 8 trustAnchors Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
0 256 9 certStores Ljava/util/List<Ljava/security/cert/CertStore;>;
0 256 10 validity Ljava/util/Date;
0 256 11 variant Ljava/lang/String;
7 256 12 indirectCRL Z
8 256 13 crlImpl Lsun/security/x509/X509CRLImpl;
10 256 14 idpExt Lsun/security/x509/IssuingDistributionPointExtension;
11 256 15 certIssuer Lsun/security/x509/X500Name;
12 256 16 crlIssuer Lsun/security/x509/X500Name;
13 256 17 pointCrlIssuers Lsun/security/x509/GeneralNames;
14 256 18 pointCrlIssuer Lsun/security/x509/X500Name;
24 37 19 match Z
25 31 20 t Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
27 30 21 name Lsun/security/x509/GeneralNameInterface;
46 56 19 certAKID Lsun/security/x509/KeyIdentifier;
47 56 20 crlAKID Lsun/security/x509/KeyIdentifier;
61 141 19 idpPoint Lsun/security/x509/DistributionPointName;
63 122 20 idpNames Lsun/security/x509/GeneralNames;
65 72 21 relativeName Lsun/security/x509/RDN;
75 110 21 pointNames Lsun/security/x509/GeneralNames;
77 92 22 relativeName Lsun/security/x509/RDN;
93 110 22 match Z
94 106 23 i Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
96 105 24 idpName Lsun/security/x509/GeneralNameInterface;
99 105 25 p Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
101 104 26 pointName Lsun/security/x509/GeneralNameInterface;
111 122 21 match Z
112 120 22 t Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
114 119 23 crlIssuerName Lsun/security/x509/GeneralNameInterface;
115 119 24 i Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
117 118 25 idpName Lsun/security/x509/GeneralNameInterface;
124 141 20 b Ljava/lang/Boolean;
142 256 19 interimReasonsMask [Z
143 256 20 reasons Lsun/security/x509/ReasonFlags;
147 256 21 pointReasonFlags [Z
150 160 22 idpReasonFlags [Z
151 160 23 i I
169 256 22 oneOrMore Z
170 176 23 i I
180 221 23 certSel Ljava/security/cert/X509CertSelector;
182 221 24 crlSign [Z
185 221 25 akidext Lsun/security/x509/AuthorityKeyIdentifierExtension;
189 198 26 akid Lsun/security/x509/KeyIdentifier;
191 193 27 derout Lsun/security/util/DerOutputStream;
196 198 27 asn Lsun/security/x509/SerialNumber;
199 221 26 newTrustAnchors Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
202 203 27 temporary Ljava/security/cert/TrustAnchor;
205 206 27 temporary Ljava/security/cert/TrustAnchor;
204 205 28 principal Ljavax/security/auth/x500/X500Principal;
207 221 27 params Ljava/security/cert/PKIXBuilderParameters;
210 211 28 iape Ljava/security/InvalidAlgorithmParameterException;
215 218 28 builder Ljava/security/cert/CertPathBuilder;
217 218 29 result Ljava/security/cert/PKIXCertPathBuilderResult;
220 221 28 e Ljava/security/GeneralSecurityException;
224 227 23 cpve Ljava/security/cert/CertPathValidatorException;
234 256 23 unresCritExts Ljava/util/Set<Ljava/lang/String;>;
243 244 24 ext Ljava/lang/String;
247 255 24 i I
Exception table:
from to target type
207 208 209 Class java.security.InvalidAlgorithmParameterException
214 218 219 Class java.security.GeneralSecurityException
221 222 223 Class java.security.cert.CertPathValidatorException
227 228 229 Class java.security.GeneralSecurityException
Exceptions:
throws java.security.cert.CRLException, java.io.IOException
Signature: (Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;Ljava/security/cert/X509CRL;[ZZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/List<Ljava/security/cert/CertStore;>;Ljava/util/Date;Ljava/lang/String;)Z
MethodParameters:
Name Flags
certImpl
point
crl
reasonsMask
signFlag
prevKey
prevCert
provider
trustAnchors
certStores
validity
variant
private static sun.security.x509.GeneralNames getFullNames(sun.security.x509.X500Name, sun.security.x509.RDN);
descriptor: (Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 0
invokevirtual sun.security.x509.X500Name.rdns:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: new sun.security.x509.X500Name
dup
aload 2
iconst_0
anewarray sun.security.x509.RDN
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.security.x509.RDN[]
invokespecial sun.security.x509.X500Name.<init>:([Lsun/security/x509/RDN;)V
astore 3
start local 3 3: new sun.security.x509.GeneralNames
dup
invokespecial sun.security.x509.GeneralNames.<init>:()V
astore 4
start local 4 4: aload 4
new sun.security.x509.GeneralName
dup
aload 3
invokespecial sun.security.x509.GeneralName.<init>:(Lsun/security/x509/GeneralNameInterface;)V
invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
pop
5: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 issuer Lsun/security/x509/X500Name;
0 6 1 rdn Lsun/security/x509/RDN;
1 6 2 rdns Ljava/util/List<Lsun/security/x509/RDN;>;
3 6 3 fullName Lsun/security/x509/X500Name;
4 6 4 fullNames Lsun/security/x509/GeneralNames;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
issuer
rdn
private static boolean issues(sun.security.x509.X509CertImpl, sun.security.x509.X509CRLImpl, java.lang.String);
descriptor: (Lsun/security/x509/X509CertImpl;Lsun/security/x509/X509CRLImpl;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: new sun.security.provider.certpath.AdaptableX509CertSelector
dup
invokespecial sun.security.provider.certpath.AdaptableX509CertSelector.<init>:()V
2: astore 4
start local 4 3: aload 0
invokevirtual sun.security.x509.X509CertImpl.getKeyUsage:()[Z
astore 5
start local 5 4: aload 5
ifnull 7
5: aload 5
bipush 6
iconst_1
bastore
6: aload 4
aload 5
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setKeyUsage:([Z)V
7: StackMap locals: int sun.security.provider.certpath.AdaptableX509CertSelector boolean[]
StackMap stack:
aload 1
invokevirtual sun.security.x509.X509CRLImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 6
start local 6 8: aload 4
aload 6
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
9: aload 1
invokevirtual sun.security.x509.X509CRLImpl.getAuthKeyIdExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
astore 7
start local 7 10: aload 7
ifnull 12
11: aload 4
aload 7
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.parseAuthorityKeyIdentifierExtension:(Lsun/security/x509/AuthorityKeyIdentifierExtension;)V
12: StackMap locals: javax.security.auth.x500.X500Principal sun.security.x509.AuthorityKeyIdentifierExtension
StackMap stack:
aload 4
aload 0
invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.match:(Ljava/security/cert/Certificate;)Z
istore 3
13: iload 3
ifeq 20
aload 7
ifnull 15
14: aload 0
invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
ifnonnull 20
15: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
aload 2
invokevirtual sun.security.x509.X509CRLImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
16: iconst_1
istore 3
17: goto 20
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
18: pop
19: iconst_0
istore 3
20: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 cert Lsun/security/x509/X509CertImpl;
0 21 1 crl Lsun/security/x509/X509CRLImpl;
0 21 2 provider Ljava/lang/String;
1 21 3 matched Z
3 21 4 issuerSelector Lsun/security/provider/certpath/AdaptableX509CertSelector;
4 21 5 usages [Z
8 21 6 crlIssuer Ljavax/security/auth/x500/X500Principal;
10 21 7 crlAKID Lsun/security/x509/AuthorityKeyIdentifierExtension;
Exception table:
from to target type
15 17 18 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cert
crl
provider
}
SourceFile: "DistributionPointFetcher.java"
InnerClasses:
CertStoreTypeException = sun.security.provider.certpath.PKIX$CertStoreTypeException of sun.security.provider.certpath.PKIX
URICertStoreParameters = sun.security.provider.certpath.URICertStore$URICertStoreParameters of sun.security.provider.certpath.URICertStore