final class sun.security.validator.SymantecTLSPolicy
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.validator.SymantecTLSPolicy
super_class: java.lang.Object
{
private static final java.util.Date DECEMBER_31_2019;
descriptor: Ljava/util/Date;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Date APRIL_16_2019;
descriptor: Ljava/util/Date;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.lang.String, java.util.Date> EXEMPT_SUBCAS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Date;>;
private static final java.util.Set<java.lang.String> FINGERPRINTS;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic sun.security.validator.SymantecTLSPolicy.EXEMPT_SUBCAS:Ljava/util/Map;
1: ldc "UTC"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
invokestatic java.util.Calendar.getInstance:(Ljava/util/TimeZone;)Ljava/util/Calendar;
astore 0
start local 0 2: aload 0
sipush 2019
bipush 11
bipush 31
bipush 23
bipush 59
bipush 59
invokevirtual java.util.Calendar.set:(IIIIII)V
3: aload 0
invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
putstatic sun.security.validator.SymantecTLSPolicy.DECEMBER_31_2019:Ljava/util/Date;
4: aload 0
sipush 2019
iconst_3
bipush 16
bipush 23
bipush 59
bipush 59
invokevirtual java.util.Calendar.set:(IIIIII)V
5: aload 0
invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
putstatic sun.security.validator.SymantecTLSPolicy.APRIL_16_2019:Ljava/util/Date;
6: getstatic sun.security.validator.SymantecTLSPolicy.EXEMPT_SUBCAS:Ljava/util/Map;
ldc "AC2B922ECFD5E01711772FEA8ED372DE9D1E2245FCE3F57A9CDBEC77296A424B"
7: getstatic sun.security.validator.SymantecTLSPolicy.DECEMBER_31_2019:Ljava/util/Date;
8: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic sun.security.validator.SymantecTLSPolicy.EXEMPT_SUBCAS:Ljava/util/Map;
ldc "A4FE7C7F15155F3F0AEF7AAA83CF6E06DEB97CA3F909DF920AC1490882D488ED"
10: getstatic sun.security.validator.SymantecTLSPolicy.DECEMBER_31_2019:Ljava/util/Date;
11: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 12: new java.util.HashSet
dup
bipush 16
anewarray java.lang.String
dup
iconst_0
13: ldc "FF856A2D251DCD88D36656F450126798CFABAADE40799C722DE4D2B5DB36A73A"
aastore
dup
iconst_1
14: ldc "37D51006C512EAAB626421F1EC8C92013FC5F82AE98EE533EB4619B8DEB4D06C"
aastore
dup
iconst_2
15: ldc "5EDB7AC43B82A06A8761E8D7BE4979EBF2611F7DD79BF91C1C6B566A219ED766"
aastore
dup
iconst_3
16: ldc "B478B812250DF878635C2AA7EC7D155EAA625EE82916E2CD294361886CD1FBD4"
aastore
dup
iconst_4
17: ldc "A0459B9F63B22559F5FA5D4C6DB3F9F72FF19342033578F073BF1D1B46CBB912"
aastore
dup
iconst_5
18: ldc "8D722F81A9C113C0791DF136A2966DB26C950A971DB46B4199F4EA54B78BFB9F"
aastore
dup
bipush 6
19: ldc "A4310D50AF18A6447190372A86AFAF8B951FFB431D837F1E5688B45971ED1557"
aastore
dup
bipush 7
20: ldc "4B03F45807AD70F21BFC2CAE71C9FDE4604C064CF5FFB686BAE5DBAAD7FDD34C"
aastore
dup
bipush 8
21: ldc "3F9F27D583204B9E09C8A3D2066C4B57D3A2479C3693650880505698105DBCE9"
aastore
dup
bipush 9
22: ldc "3A43E220FE7F3EA9653D1E21742EAC2B75C20FD8980305BC502CAF8C2D9B41A1"
aastore
dup
bipush 10
23: ldc "A4B6B3996FC2F306B3FD8681BD63413D8C5009CC4FA329C2CCF0E2FA1B140305"
aastore
dup
bipush 11
24: ldc "83CE3C1229688A593D485F81973C0F9195431EDA37CC5E36430E79C7A888638B"
aastore
dup
bipush 12
25: ldc "EB04CF5EB1F39AFA762F2BB120F296CBA520C1B97DB1589565B81CB9A17B7244"
aastore
dup
bipush 13
26: ldc "69DDD7EA90BB57C93E135DC85EA6FCD5480B603239BDC454FC758B2A26CF7F79"
aastore
dup
bipush 14
27: ldc "9ACFAB7E43C8D880D06B262A94DEEEE4B4659989C3D0CAF19BAF6405E41AB7DF"
aastore
dup
bipush 15
28: ldc "2399561127A57125DE8CEFEA610DDF2FA078B5C8067F4E828290BFB860E84B3C"
aastore
29: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putstatic sun.security.validator.SymantecTLSPolicy.FINGERPRINTS:Ljava/util/Set;
30: return
LocalVariableTable:
Start End Slot Name Signature
2 12 0 cal Ljava/util/Calendar;
static void checkDistrust(java.security.cert.X509Certificate[]);
descriptor: ([Ljava/security/cert/X509Certificate;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
aload 0
arraylength
iconst_1
isub
aaload
astore 1
start local 1 1: getstatic sun.security.validator.SymantecTLSPolicy.FINGERPRINTS:Ljava/util/Set;
aload 1
invokestatic sun.security.validator.SymantecTLSPolicy.fingerprint:(Ljava/security/cert/X509Certificate;)Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 10
2: aload 0
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
astore 2
start local 2 3: aload 0
arraylength
iconst_2
if_icmple 9
4: aload 0
aload 0
arraylength
iconst_2
isub
aaload
astore 3
start local 3 5: getstatic sun.security.validator.SymantecTLSPolicy.EXEMPT_SUBCAS:Ljava/util/Map;
aload 3
invokestatic sun.security.validator.SymantecTLSPolicy.fingerprint:(Ljava/security/cert/X509Certificate;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Date
astore 4
start local 4 6: aload 4
ifnull 9
7: aload 2
aload 4
aload 1
invokestatic sun.security.validator.SymantecTLSPolicy.checkNotBefore:(Ljava/util/Date;Ljava/util/Date;Ljava/security/cert/X509Certificate;)V
8: return
end local 4 end local 3 9: StackMap locals: java.security.cert.X509Certificate java.util.Date
StackMap stack:
aload 2
getstatic sun.security.validator.SymantecTLSPolicy.APRIL_16_2019:Ljava/util/Date;
aload 1
invokestatic sun.security.validator.SymantecTLSPolicy.checkNotBefore:(Ljava/util/Date;Ljava/util/Date;Ljava/security/cert/X509Certificate;)V
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 chain [Ljava/security/cert/X509Certificate;
1 11 1 anchor Ljava/security/cert/X509Certificate;
3 10 2 notBefore Ljava/util/Date;
5 9 3 subCA Ljava/security/cert/X509Certificate;
6 9 4 distrustDate Ljava/util/Date;
Exceptions:
throws sun.security.validator.ValidatorException
MethodParameters:
Name Flags
chain
private static java.lang.String fingerprint(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof sun.security.x509.X509CertImpl
ifeq 2
1: aload 0
checkcast sun.security.x509.X509CertImpl
ldc "SHA-256"
invokevirtual sun.security.x509.X509CertImpl.getFingerprint:(Ljava/lang/String;)Ljava/lang/String;
goto 3
2: StackMap locals:
StackMap stack:
ldc "SHA-256"
aload 0
invokestatic sun.security.x509.X509CertImpl.getFingerprint:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
cert
private static void checkNotBefore(java.util.Date, java.util.Date, java.security.cert.X509Certificate);
descriptor: (Ljava/util/Date;Ljava/util/Date;Ljava/security/cert/X509Certificate;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.util.Date.after:(Ljava/util/Date;)Z
ifeq 8
1: new sun.security.validator.ValidatorException
dup
2: new java.lang.StringBuilder
dup
ldc "TLS Server certificate issued after "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: ldc " and anchored by a distrusted legacy Symantec root CA: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 2
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: getstatic sun.security.validator.ValidatorException.T_UNTRUSTED_CERT:Ljava/lang/Object;
aload 2
7: invokespecial sun.security.validator.ValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/security/cert/X509Certificate;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 notBeforeDate Ljava/util/Date;
0 9 1 distrustDate Ljava/util/Date;
0 9 2 anchor Ljava/security/cert/X509Certificate;
Exceptions:
throws sun.security.validator.ValidatorException
MethodParameters:
Name Flags
notBeforeDate
distrustDate
anchor
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/validator/SymantecTLSPolicy;
}
SourceFile: "SymantecTLSPolicy.java"