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 275
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 276
aload 1 /* algorithm */
ldc "_"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 2 /* k */
start local 2 // int k
2: .line 277
iload 2 /* k */
iconst_m1
if_icmpne 6
3: .line 278
aload 0 /* this */
aload 1 /* algorithm */
putfield sun.security.ssl.X509KeyManagerImpl$KeyType.keyAlgorithm:Ljava/lang/String;
4: .line 279
aload 0 /* this */
aconst_null
putfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
5: .line 280
goto 8
6: .line 281
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 282
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 284
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 287
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 288
iconst_0
ireturn
2: .line 290
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
ifnonnull 4
3: .line 291
iconst_1
ireturn
4: .line 293
StackMap locals:
StackMap stack:
aload 1 /* chain */
arraylength
iconst_1
if_icmple 8
5: .line 295
aload 0 /* this */
getfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
6: .line 296
aload 1 /* chain */
iconst_1
aaload
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
7: .line 295
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
8: .line 300
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
9: .line 301
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
10: .line 302
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
11: .line 303
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 12 0 this Lsun/security/ssl/X509KeyManagerImpl$KeyType;
0 12 1 chain [Ljava/security/cert/Certificate;
9 12 2 issuer Ljava/security/cert/X509Certificate;
10 12 3 sigAlgName Ljava/lang/String;
11 12 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