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 302
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 303
aload 1 /* algorithm */
bipush 95
invokevirtual java.lang.String.indexOf:(I)I
istore 2 /* k */
start local 2 // int k
2: .line 304
iload 2 /* k */
iconst_m1
if_icmpne 6
3: .line 305
aload 0 /* this */
aload 1 /* algorithm */
putfield sun.security.ssl.X509KeyManagerImpl$KeyType.keyAlgorithm:Ljava/lang/String;
4: .line 306
aload 0 /* this */
aconst_null
putfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
5: .line 307
goto 8
6: .line 308
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 309
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 311
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 314
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 315
iconst_0
ireturn
2: .line 317
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
ifnonnull 4
3: .line 318
iconst_1
ireturn
4: .line 320
StackMap locals:
StackMap stack:
aload 1 /* chain */
arraylength
iconst_1
if_icmple 8
5: .line 322
aload 0 /* this */
getfield sun.security.ssl.X509KeyManagerImpl$KeyType.sigKeyAlgorithm:Ljava/lang/String;
6: .line 323
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 322
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
8: .line 327
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 329
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;
10: .line 328
astore 3 /* sigAlgName */
start local 3 // java.lang.String sigAlgName
11: .line 331
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;
12: .line 330
astore 4 /* pattern */
start local 4 // java.lang.String pattern
13: .line 332
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 14 0 this Lsun/security/ssl/X509KeyManagerImpl$KeyType;
0 14 1 chain [Ljava/security/cert/Certificate;
9 14 2 issuer Ljava/security/cert/X509Certificate;
11 14 3 sigAlgName Ljava/lang/String;
13 14 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