class sun.security.ssl.X509KeyManagerImpl$KeyType
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.ssl.X509KeyManagerImpl$KeyType
super_class: java.lang.Object
{
final java.lang.String keyAlgorithm;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final java.lang.String sigKeyAlgorithm;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 // sun.security.ssl.X509KeyManagerImpl$KeyType this
start local 1 // java.lang.String algorithm
0: .line 205
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 206
aload 1 /* algorithm */
ldc "_"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 2 /* k */
start local 2 // int k
2: .line 207
iload 2 /* k */
iconst_m1
if_icmpne 6
3: .line 208
aload 0 /* this */
aload 1 /* algorithm */
putfield sun.security.ssl.X509KeyManagerImpl$KeyType.keyAlgorithm:Ljava/lang/String;
4: .line 209
aload 0 /* this */
aconst_null
putfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
5: .line 210
goto 8
6: .line 211
StackMap locals: sun.security.ssl.X509KeyManagerImpl$KeyType java.lang.String int
StackMap stack:
aload 0 /* this */
aload 1 /* algorithm */
iconst_0
iload 2 /* k */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield sun.security.ssl.X509KeyManagerImpl$KeyType.keyAlgorithm:Ljava/lang/String;
7: .line 212
aload 0 /* this */
aload 1 /* algorithm */
iload 2 /* k */
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
8: .line 214
StackMap locals:
StackMap stack:
return
end local 2 // int k
end local 1 // java.lang.String algorithm
end local 0 // sun.security.ssl.X509KeyManagerImpl$KeyType this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/X509KeyManagerImpl$KeyType;
0 9 1 algorithm Ljava/lang/String;
2 9 2 k I
MethodParameters:
Name Flags
algorithm
boolean matches(java.security.cert.Certificate[]);
descriptor: ([Ljava/security/cert/Certificate;)Z
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 // sun.security.ssl.X509KeyManagerImpl$KeyType this
start local 1 // java.security.cert.Certificate[] chain
0: .line 217
aload 1 /* chain */
iconst_0
aaload
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
aload 0 /* this */
getfield sun.security.ssl.X509KeyManagerImpl$KeyType.keyAlgorithm:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: .line 218
iconst_0
ireturn
2: .line 220
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
ifnonnull 4
3: .line 221
iconst_1
ireturn
4: .line 223
StackMap locals:
StackMap stack:
aload 1 /* chain */
arraylength
iconst_1
if_icmple 6
5: .line 225
aload 0 /* this */
getfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
aload 1 /* chain */
iconst_1
aaload
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
6: .line 229
StackMap locals:
StackMap stack:
aload 1 /* chain */
iconst_0
aaload
checkcast java.security.cert.X509Certificate
astore 2 /* issuer */
start local 2 // java.security.cert.X509Certificate issuer
7: .line 230
aload 2 /* issuer */
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 3 /* sigAlgName */
start local 3 // java.lang.String sigAlgName
8: .line 231
new java.lang.StringBuilder
dup
ldc "WITH"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4 /* pattern */
start local 4 // java.lang.String pattern
9: .line 232
aload 3 /* sigAlgName */
aload 4 /* pattern */
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ireturn
end local 4 // java.lang.String pattern
end local 3 // java.lang.String sigAlgName
end local 2 // java.security.cert.X509Certificate issuer
end local 1 // java.security.cert.Certificate[] chain
end local 0 // sun.security.ssl.X509KeyManagerImpl$KeyType this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/X509KeyManagerImpl$KeyType;
0 10 1 chain [Ljava/security/cert/Certificate;
7 10 2 issuer Ljava/security/cert/X509Certificate;
8 10 3 sigAlgName Ljava/lang/String;
9 10 4 pattern Ljava/lang/String;
MethodParameters:
Name Flags
chain
}
SourceFile: "X509KeyManagerImpl.java"
NestHost: sun.security.ssl.X509KeyManagerImpl
InnerClasses:
private KeyType = sun.security.ssl.X509KeyManagerImpl$KeyType of sun.security.ssl.X509KeyManagerImpl