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: .line 50
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic sun.security.validator.SymantecTLSPolicy.EXEMPT_SUBCAS:Ljava/util/Map;
         1: .line 58
            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 /* cal */
        start local 0 // java.util.Calendar cal
         2: .line 59
            aload 0 /* cal */
            sipush 2019
            bipush 11
            bipush 31
            bipush 23
            bipush 59
            bipush 59
            invokevirtual java.util.Calendar.set:(IIIIII)V
         3: .line 60
            aload 0 /* cal */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            putstatic sun.security.validator.SymantecTLSPolicy.DECEMBER_31_2019:Ljava/util/Date;
         4: .line 61
            aload 0 /* cal */
            sipush 2019
            iconst_3
            bipush 16
            bipush 23
            bipush 59
            bipush 59
            invokevirtual java.util.Calendar.set:(IIIIII)V
         5: .line 62
            aload 0 /* cal */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            putstatic sun.security.validator.SymantecTLSPolicy.APRIL_16_2019:Ljava/util/Date;
         6: .line 67
            getstatic sun.security.validator.SymantecTLSPolicy.EXEMPT_SUBCAS:Ljava/util/Map;
            ldc "AC2B922ECFD5E01711772FEA8ED372DE9D1E2245FCE3F57A9CDBEC77296A424B"
         7: .line 68
            getstatic sun.security.validator.SymantecTLSPolicy.DECEMBER_31_2019:Ljava/util/Date;
         8: .line 67
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 76
            getstatic sun.security.validator.SymantecTLSPolicy.EXEMPT_SUBCAS:Ljava/util/Map;
            ldc "A4FE7C7F15155F3F0AEF7AAA83CF6E06DEB97CA3F909DF920AC1490882D488ED"
        10: .line 77
            getstatic sun.security.validator.SymantecTLSPolicy.DECEMBER_31_2019:Ljava/util/Date;
        11: .line 76
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 0 // java.util.Calendar cal
        12: .line 81
            new java.util.HashSet
            dup
            bipush 16
            anewarray java.lang.String
            dup
            iconst_0
        13: .line 84
            ldc "FF856A2D251DCD88D36656F450126798CFABAADE40799C722DE4D2B5DB36A73A"
            aastore
            dup
            iconst_1
        14: .line 88
            ldc "37D51006C512EAAB626421F1EC8C92013FC5F82AE98EE533EB4619B8DEB4D06C"
            aastore
            dup
            iconst_2
        15: .line 93
            ldc "5EDB7AC43B82A06A8761E8D7BE4979EBF2611F7DD79BF91C1C6B566A219ED766"
            aastore
            dup
            iconst_3
        16: .line 98
            ldc "B478B812250DF878635C2AA7EC7D155EAA625EE82916E2CD294361886CD1FBD4"
            aastore
            dup
            iconst_4
        17: .line 101
            ldc "A0459B9F63B22559F5FA5D4C6DB3F9F72FF19342033578F073BF1D1B46CBB912"
            aastore
            dup
            iconst_5
        18: .line 106
            ldc "8D722F81A9C113C0791DF136A2966DB26C950A971DB46B4199F4EA54B78BFB9F"
            aastore
            dup
            bipush 6
        19: .line 111
            ldc "A4310D50AF18A6447190372A86AFAF8B951FFB431D837F1E5688B45971ED1557"
            aastore
            dup
            bipush 7
        20: .line 116
            ldc "4B03F45807AD70F21BFC2CAE71C9FDE4604C064CF5FFB686BAE5DBAAD7FDD34C"
            aastore
            dup
            bipush 8
        21: .line 121
            ldc "3F9F27D583204B9E09C8A3D2066C4B57D3A2479C3693650880505698105DBCE9"
            aastore
            dup
            bipush 9
        22: .line 127
            ldc "3A43E220FE7F3EA9653D1E21742EAC2B75C20FD8980305BC502CAF8C2D9B41A1"
            aastore
            dup
            bipush 10
        23: .line 131
            ldc "A4B6B3996FC2F306B3FD8681BD63413D8C5009CC4FA329C2CCF0E2FA1B140305"
            aastore
            dup
            bipush 11
        24: .line 137
            ldc "83CE3C1229688A593D485F81973C0F9195431EDA37CC5E36430E79C7A888638B"
            aastore
            dup
            bipush 12
        25: .line 142
            ldc "EB04CF5EB1F39AFA762F2BB120F296CBA520C1B97DB1589565B81CB9A17B7244"
            aastore
            dup
            bipush 13
        26: .line 147
            ldc "69DDD7EA90BB57C93E135DC85EA6FCD5480B603239BDC454FC758B2A26CF7F79"
            aastore
            dup
            bipush 14
        27: .line 152
            ldc "9ACFAB7E43C8D880D06B262A94DEEEE4B4659989C3D0CAF19BAF6405E41AB7DF"
            aastore
            dup
            bipush 15
        28: .line 157
            ldc "2399561127A57125DE8CEFEA610DDF2FA078B5C8067F4E828290BFB860E84B3C"
            aastore
        29: .line 81
            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: .line 158
            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 // java.security.cert.X509Certificate[] chain
         0: .line 170
            aload 0 /* chain */
            aload 0 /* chain */
            arraylength
            iconst_1
            isub
            aaload
            astore 1 /* anchor */
        start local 1 // java.security.cert.X509Certificate anchor
         1: .line 171
            getstatic sun.security.validator.SymantecTLSPolicy.FINGERPRINTS:Ljava/util/Set;
            aload 1 /* anchor */
            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: .line 172
            aload 0 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
            astore 2 /* notBefore */
        start local 2 // java.util.Date notBefore
         3: .line 175
            aload 0 /* chain */
            arraylength
            iconst_2
            if_icmple 9
         4: .line 176
            aload 0 /* chain */
            aload 0 /* chain */
            arraylength
            iconst_2
            isub
            aaload
            astore 3 /* subCA */
        start local 3 // java.security.cert.X509Certificate subCA
         5: .line 177
            getstatic sun.security.validator.SymantecTLSPolicy.EXEMPT_SUBCAS:Ljava/util/Map;
            aload 3 /* subCA */
            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 /* distrustDate */
        start local 4 // java.util.Date distrustDate
         6: .line 178
            aload 4 /* distrustDate */
            ifnull 9
         7: .line 180
            aload 2 /* notBefore */
            aload 4 /* distrustDate */
            aload 1 /* anchor */
            invokestatic sun.security.validator.SymantecTLSPolicy.checkNotBefore:(Ljava/util/Date;Ljava/util/Date;Ljava/security/cert/X509Certificate;)V
         8: .line 181
            return
        end local 4 // java.util.Date distrustDate
        end local 3 // java.security.cert.X509Certificate subCA
         9: .line 185
      StackMap locals: java.security.cert.X509Certificate java.util.Date
      StackMap stack:
            aload 2 /* notBefore */
            getstatic sun.security.validator.SymantecTLSPolicy.APRIL_16_2019:Ljava/util/Date;
            aload 1 /* anchor */
            invokestatic sun.security.validator.SymantecTLSPolicy.checkNotBefore:(Ljava/util/Date;Ljava/util/Date;Ljava/security/cert/X509Certificate;)V
        end local 2 // java.util.Date notBefore
        10: .line 187
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.cert.X509Certificate anchor
        end local 0 // java.security.cert.X509Certificate[] chain
      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 // java.security.cert.X509Certificate cert
         0: .line 190
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 191
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            ldc "SHA-256"
            invokevirtual sun.security.x509.X509CertImpl.getFingerprint:(Ljava/lang/String;)Ljava/lang/String;
            goto 3
         2: .line 192
      StackMap locals:
      StackMap stack:
            ldc "SHA-256"
            aload 0 /* cert */
            invokestatic sun.security.x509.X509CertImpl.getFingerprint:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
         3: .line 190
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.security.cert.X509Certificate cert
      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 // java.util.Date notBeforeDate
        start local 1 // java.util.Date distrustDate
        start local 2 // java.security.cert.X509Certificate anchor
         0: .line 198
            aload 0 /* notBeforeDate */
            aload 1 /* distrustDate */
            invokevirtual java.util.Date.after:(Ljava/util/Date;)Z
            ifeq 8
         1: .line 199
            new sun.security.validator.ValidatorException
            dup
         2: .line 200
            new java.lang.StringBuilder
            dup
            ldc "TLS Server certificate issued after "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* distrustDate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 201
            ldc " and anchored by a distrusted legacy Symantec root CA: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 202
            aload 2 /* anchor */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 200
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 203
            getstatic sun.security.validator.ValidatorException.T_UNTRUSTED_CERT:Ljava/lang/Object;
            aload 2 /* anchor */
         7: .line 199
            invokespecial sun.security.validator.ValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/security/cert/X509Certificate;)V
            athrow
         8: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.cert.X509Certificate anchor
        end local 1 // java.util.Date distrustDate
        end local 0 // java.util.Date notBeforeDate
      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 // sun.security.validator.SymantecTLSPolicy this
         0: .line 206
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.security.validator.SymantecTLSPolicy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/validator/SymantecTLSPolicy;
}
SourceFile: "SymantecTLSPolicy.java"