class sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest
super_class: java.lang.Object
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Map<java.lang.String, byte[][]> valueMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;[[B>;
private final java.util.List<java.lang.String> requestedAttributes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
final sun.security.provider.certpath.ldap.LDAPCertStore this$0;
descriptor: Lsun/security/provider/certpath/ldap/LDAPCertStore;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.security.provider.certpath.ldap.LDAPCertStore, java.lang.String);
descriptor: (Lsun/security/provider/certpath/ldap/LDAPCertStore;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStore;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
aload 2
invokevirtual sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.checkName:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.name:Ljava/lang/String;
2: aload 0
new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
putfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.requestedAttributes:Ljava/util/List;
3: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/certpath/ldap/LDAPCertStore$LDAPRequest;
0 4 2 name Ljava/lang/String;
Exceptions:
throws java.security.cert.CertStoreException
MethodParameters:
Name Flags
this$0 final
name
private java.lang.String checkName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.security.cert.CertStoreException
dup
ldc "Name absent"
invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokevirtual javax.naming.CompositeName.size:()I
iconst_1
if_icmple 6
3: new java.security.cert.CertStoreException
dup
new java.lang.StringBuilder
dup
ldc "Invalid name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack: javax.naming.InvalidNameException
astore 2
start local 2 5: new java.security.cert.CertStoreException
dup
new java.lang.StringBuilder
dup
ldc "Invalid name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/provider/certpath/ldap/LDAPCertStore$LDAPRequest;
0 7 1 name Ljava/lang/String;
5 6 2 ine Ljavax/naming/InvalidNameException;
Exception table:
from to target type
2 4 4 Class javax.naming.InvalidNameException
Exceptions:
throws java.security.cert.CertStoreException
MethodParameters:
Name Flags
name
java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/ldap/LDAPCertStore$LDAPRequest;
void addRequestedAttribute(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.valueMap:Ljava/util/Map;
ifnull 2
1: new java.lang.IllegalStateException
dup
ldc "Request already sent"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.requestedAttributes:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/certpath/ldap/LDAPCertStore$LDAPRequest;
0 4 1 attrId Ljava/lang/String;
MethodParameters:
Name Flags
attrId
byte[][] getValues(java.lang.String);
descriptor: (Ljava/lang/String;)[[B
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.name:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "|"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStore;
getfield sun.security.provider.certpath.ldap.LDAPCertStore.valueCache:Lsun/security/util/Cache;
aload 2
invokevirtual sun.security.util.Cache.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[][]
astore 3
start local 3 2: aload 3
ifnull 5
3: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStore;
dup
getfield sun.security.provider.certpath.ldap.LDAPCertStore.cacheHits:I
iconst_1
iadd
putfield sun.security.provider.certpath.ldap.LDAPCertStore.cacheHits:I
4: aload 3
areturn
5: StackMap locals: java.lang.String byte[][]
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStore;
dup
getfield sun.security.provider.certpath.ldap.LDAPCertStore.cacheMisses:I
iconst_1
iadd
putfield sun.security.provider.certpath.ldap.LDAPCertStore.cacheMisses:I
6: aload 0
invokevirtual sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.getValueMap:()Ljava/util/Map;
astore 4
start local 4 7: aload 4
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[][]
astore 3
8: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/provider/certpath/ldap/LDAPCertStore$LDAPRequest;
0 9 1 attrId Ljava/lang/String;
1 9 2 cacheKey Ljava/lang/String;
2 9 3 values [[B
7 9 4 attrs Ljava/util/Map<Ljava/lang/String;[[B>;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
attrId
private java.util.Map<java.lang.String, byte[][]> getValueMap();
descriptor: ()Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.valueMap:Ljava/util/Map;
ifnull 2
1: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.valueMap:Ljava/util/Map;
areturn
2: StackMap locals:
StackMap stack:
aload 0
new java.util.HashMap
dup
bipush 8
invokespecial java.util.HashMap.<init>:(I)V
putfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.valueMap:Ljava/util/Map;
3: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.requestedAttributes:Ljava/util/List;
getstatic sun.security.provider.certpath.ldap.LDAPCertStore.STRING0:[Ljava/lang/String;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 1
start local 1 4: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStore;
getfield sun.security.provider.certpath.ldap.LDAPCertStore.ctx:Ljavax/naming/directory/DirContext;
aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.name:Ljava/lang/String;
aload 1
invokeinterface javax.naming.directory.DirContext.getAttributes:(Ljava/lang/String;[Ljava/lang/String;)Ljavax/naming/directory/Attributes;
astore 2
start local 2 5: goto 34
end local 2 StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest java.lang.String[]
StackMap stack: com.sun.jndi.ldap.LdapReferralException
6: astore 3
start local 3 7: StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest java.lang.String[] top com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 3
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralInfo:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 8: new java.net.URI
dup
aload 4
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 5
start local 5 9: aload 5
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ldc "ldap"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 11
10: new java.lang.IllegalArgumentException
dup
ldc "Not LDAP"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.lang.String java.net.URI
StackMap stack:
aload 5
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 6
start local 6 12: aload 6
ifnull 14
aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 14
13: aload 6
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
14: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 6
invokevirtual sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.checkName:(Ljava/lang/String;)Ljava/lang/String;
pop
end local 6 end local 5 end local 4 15: goto 20
StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest java.lang.String[] top com.sun.jndi.ldap.LdapReferralException
StackMap stack: java.lang.Exception
16: pop
17: new javax.naming.NamingException
dup
new java.lang.StringBuilder
dup
ldc "Cannot follow referral to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 3
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralInfo:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:()Ljavax/naming/Context;
checkcast javax.naming.ldap.LdapContext
21: astore 4
start local 4 22: aload 4
aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.name:Ljava/lang/String;
aload 1
invokeinterface javax.naming.ldap.LdapContext.getAttributes:(Ljava/lang/String;[Ljava/lang/String;)Ljavax/naming/directory/Attributes;
astore 2
start local 2 23: aload 4
invokeinterface javax.naming.ldap.LdapContext.close:()V
24: goto 34
end local 2 25: StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest java.lang.String[] top com.sun.jndi.ldap.LdapReferralException javax.naming.ldap.LdapContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 5
start local 5 26: aload 5
astore 3
27: aload 4
invokeinterface javax.naming.ldap.LdapContext.close:()V
28: goto 7
end local 5 29: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
30: aload 4
invokeinterface javax.naming.ldap.LdapContext.close:()V
31: aload 6
athrow
end local 4 end local 3 32: StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest java.lang.String[]
StackMap stack: javax.naming.NameNotFoundException
pop
33: getstatic sun.security.provider.certpath.ldap.LDAPCertStore.EMPTY_ATTRIBUTES:Ljavax/naming/directory/Attributes;
astore 2
start local 2 34: StackMap locals: javax.naming.directory.Attributes
StackMap stack:
aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.requestedAttributes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 40
StackMap locals: sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest java.lang.String[] javax.naming.directory.Attributes top java.util.Iterator
StackMap stack:
35: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 36: aload 2
aload 3
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
astore 5
start local 5 37: aload 0
aload 5
invokevirtual sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.getAttributeValues:(Ljavax/naming/directory/Attribute;)[[B
astore 6
start local 6 38: aload 0
aload 3
aload 6
invokevirtual sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.cacheAttribute:(Ljava/lang/String;[[B)V
39: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.valueMap:Ljava/util/Map;
aload 3
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 5 end local 3 40: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
41: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.valueMap:Ljava/util/Map;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/security/provider/certpath/ldap/LDAPCertStore$LDAPRequest;
4 42 1 attrIds [Ljava/lang/String;
5 6 2 attrs Ljavax/naming/directory/Attributes;
23 25 2 attrs Ljavax/naming/directory/Attributes;
34 42 2 attrs Ljavax/naming/directory/Attributes;
7 32 3 lre Lcom/sun/jndi/ldap/LdapReferralException;
8 15 4 newName Ljava/lang/String;
9 15 5 newUri Ljava/net/URI;
12 15 6 newDn Ljava/lang/String;
22 32 4 refCtx Ljavax/naming/ldap/LdapContext;
26 29 5 re Lcom/sun/jndi/ldap/LdapReferralException;
36 40 3 attrId Ljava/lang/String;
37 40 5 attr Ljavax/naming/directory/Attribute;
38 40 6 values [[B
Exception table:
from to target type
4 5 6 Class com.sun.jndi.ldap.LdapReferralException
7 15 16 Class java.lang.Exception
22 23 25 Class com.sun.jndi.ldap.LdapReferralException
22 23 29 any
25 27 29 any
4 5 32 Class javax.naming.NameNotFoundException
Exceptions:
throws javax.naming.NamingException
Signature: ()Ljava/util/Map<Ljava/lang/String;[[B>;
private void cacheAttribute(java.lang.String, byte[][]);
descriptor: (Ljava/lang/String;[[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.name:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "|"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest.this$0:Lsun/security/provider/certpath/ldap/LDAPCertStore;
getfield sun.security.provider.certpath.ldap.LDAPCertStore.valueCache:Lsun/security/util/Cache;
aload 3
aload 2
invokevirtual sun.security.util.Cache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/provider/certpath/ldap/LDAPCertStore$LDAPRequest;
0 3 1 attrId Ljava/lang/String;
0 3 2 values [[B
1 3 3 cacheKey Ljava/lang/String;
MethodParameters:
Name Flags
attrId
values
private byte[][] getAttributeValues(javax.naming.directory.Attribute);
descriptor: (Ljavax/naming/directory/Attribute;)[[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: getstatic sun.security.provider.certpath.ldap.LDAPCertStore.BB0:[[B
astore 2
start local 2 2: goto 16
end local 2 3: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.naming.directory.Attribute.size:()I
anewarray byte[]
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: aload 1
invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
astore 4
start local 4 6: goto 15
7: StackMap locals: byte[][] int javax.naming.NamingEnumeration
StackMap stack:
aload 4
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
astore 5
start local 5 8: getstatic sun.security.provider.certpath.ldap.LDAPCertStore.debug:Lsun/security/util/Debug;
ifnull 13
9: aload 5
instanceof java.lang.String
ifeq 13
10: getstatic sun.security.provider.certpath.ldap.LDAPCertStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "LDAPCertStore.getAttrValues() enum.next is a string!: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
13: StackMap locals: java.lang.Object
StackMap stack:
aload 5
checkcast byte[]
astore 6
start local 6 14: aload 2
iload 3
iinc 3 1
aload 6
aastore
end local 6 end local 5 15: StackMap locals:
StackMap stack:
aload 4
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 7
end local 4 end local 3 16: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/provider/certpath/ldap/LDAPCertStore$LDAPRequest;
0 17 1 attr Ljavax/naming/directory/Attribute;
2 3 2 values [[B
4 17 2 values [[B
5 16 3 i I
6 16 4 enum_ Ljavax/naming/NamingEnumeration<*>;
8 15 5 obj Ljava/lang/Object;
14 15 6 value [B
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
attr
}
SourceFile: "LDAPCertStore.java"
NestHost: sun.security.provider.certpath.ldap.LDAPCertStore
InnerClasses:
private LDAPRequest = sun.security.provider.certpath.ldap.LDAPCertStore$LDAPRequest of sun.security.provider.certpath.ldap.LDAPCertStore