public abstract class sun.security.ssl.SunJSSE extends java.security.Provider
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.security.ssl.SunJSSE
  super_class: java.security.Provider
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3231825739635378733

  private static java.lang.String info;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String fipsInfo;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.Boolean fips;
    descriptor: Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static java.security.Provider cryptoProvider;
    descriptor: Ljava/security/Provider;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 63
            ldc "Sun JSSE provider(PKCS12, SunX509/PKIX key/trust factories, SSLv3/TLSv1/TLSv1.1/TLSv1.2/DTLSv1.0/DTLSv1.2)"
            putstatic sun.security.ssl.SunJSSE.info:Ljava/lang/String;
         1: .line 68
            ldc "Sun JSSE provider (FIPS mode, crypto provider "
         2: .line 67
            putstatic sun.security.ssl.SunJSSE.fipsInfo:Ljava/lang/String;
         3: .line 78
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected static synchronized boolean isFIPS();
    descriptor: ()Z
    flags: (0x002c) ACC_PROTECTED, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=0, args_size=0
         0: .line 81
            getstatic sun.security.ssl.SunJSSE.fips:Ljava/lang/Boolean;
            ifnonnull 2
         1: .line 82
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putstatic sun.security.ssl.SunJSSE.fips:Ljava/lang/Boolean;
         2: .line 84
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SunJSSE.fips:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static synchronized void ensureFIPS(java.security.Provider);
    descriptor: (Ljava/security/Provider;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.security.Provider p
         0: .line 90
            getstatic sun.security.ssl.SunJSSE.fips:Ljava/lang/Boolean;
            ifnonnull 4
         1: .line 91
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putstatic sun.security.ssl.SunJSSE.fips:Ljava/lang/Boolean;
         2: .line 92
            aload 0 /* p */
            putstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
         3: .line 93
            goto 14
         4: .line 94
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SunJSSE.fips:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 8
         5: .line 95
            new java.security.ProviderException
            dup
         6: .line 96
            ldc "SunJSSE already initialized in non-FIPS mode"
         7: .line 95
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 98
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
            aload 0 /* p */
            if_acmpeq 14
         9: .line 99
            new java.security.ProviderException
            dup
        10: .line 100
            new java.lang.StringBuilder
            dup
            ldc "SunJSSE already initialized with FIPS crypto provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 101
            getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        12: .line 100
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 99
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 104
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.security.Provider p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0     p  Ljava/security/Provider;
    MethodParameters:
      Name  Flags
      p     

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.ssl.SunJSSE this
         0: .line 108
            aload 0 /* this */
            ldc "SunJSSE"
            getstatic sun.security.util.SecurityConstants.PROVIDER_VER:Ljava/lang/String;
            getstatic sun.security.ssl.SunJSSE.info:Ljava/lang/String;
            invokespecial java.security.Provider.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 109
            aload 0 /* this */
            invokevirtual sun.security.ssl.SunJSSE.subclassCheck:()V
         2: .line 110
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            getstatic sun.security.ssl.SunJSSE.fips:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 111
            new java.security.ProviderException
            dup
         4: .line 112
            ldc "SunJSSE is already initialized in FIPS mode"
         5: .line 111
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 114
      StackMap locals: sun.security.ssl.SunJSSE
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.ssl.SunJSSE.registerAlgorithms:(Z)V
         7: .line 115
            return
        end local 0 // sun.security.ssl.SunJSSE this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/ssl/SunJSSE;

  protected void <init>(java.security.Provider);
    descriptor: (Ljava/security/Provider;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.ssl.SunJSSE this
        start local 1 // java.security.Provider cryptoProvider
         0: .line 119
            aload 0 /* this */
            aload 1 /* cryptoProvider */
            invokestatic sun.security.ssl.SunJSSE.checkNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Provider
            aload 1 /* cryptoProvider */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokespecial sun.security.ssl.SunJSSE.<init>:(Ljava/security/Provider;Ljava/lang/String;)V
         1: .line 120
            return
        end local 1 // java.security.Provider cryptoProvider
        end local 0 // sun.security.ssl.SunJSSE this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lsun/security/ssl/SunJSSE;
            0    2     1  cryptoProvider  Ljava/security/Provider;
    MethodParameters:
                Name  Flags
      cryptoProvider  

  protected void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.ssl.SunJSSE this
        start local 1 // java.lang.String cryptoProvider
         0: .line 124
            aload 0 /* this */
            aconst_null
            aload 1 /* cryptoProvider */
            invokestatic sun.security.ssl.SunJSSE.checkNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial sun.security.ssl.SunJSSE.<init>:(Ljava/security/Provider;Ljava/lang/String;)V
         1: .line 125
            return
        end local 1 // java.lang.String cryptoProvider
        end local 0 // sun.security.ssl.SunJSSE this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lsun/security/ssl/SunJSSE;
            0    2     1  cryptoProvider  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      cryptoProvider  

  private static <T> T checkNull();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object t
         0: .line 128
            aload 0 /* t */
            ifnonnull 2
         1: .line 129
            new java.security.ProviderException
            dup
            ldc "cryptoProvider must not be null"
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* t */
            areturn
        end local 0 // java.lang.Object t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     t  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    MethodParameters:
      Name  Flags
      t     

  private void <init>(java.security.Provider, java.lang.String);
    descriptor: (Ljava/security/Provider;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // sun.security.ssl.SunJSSE this
        start local 1 // java.security.Provider cryptoProvider
        start local 2 // java.lang.String providerName
         0: .line 136
            aload 0 /* this */
            ldc "SunJSSE"
            getstatic sun.security.util.SecurityConstants.PROVIDER_VER:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            getstatic sun.security.ssl.SunJSSE.fipsInfo:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* providerName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.Provider.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 137
            aload 0 /* this */
            invokevirtual sun.security.ssl.SunJSSE.subclassCheck:()V
         2: .line 138
            aload 1 /* cryptoProvider */
            ifnonnull 8
         3: .line 141
            aload 2 /* providerName */
            invokestatic java.security.Security.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
            astore 1 /* cryptoProvider */
         4: .line 142
            aload 1 /* cryptoProvider */
            ifnonnull 8
         5: .line 143
            new java.security.ProviderException
            dup
         6: .line 144
            new java.lang.StringBuilder
            dup
            ldc "Crypto provider not installed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* providerName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 143
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 147
      StackMap locals: sun.security.ssl.SunJSSE java.security.Provider java.lang.String
      StackMap stack:
            aload 1 /* cryptoProvider */
            invokestatic sun.security.ssl.SunJSSE.ensureFIPS:(Ljava/security/Provider;)V
         9: .line 148
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.ssl.SunJSSE.registerAlgorithms:(Z)V
        10: .line 149
            return
        end local 2 // java.lang.String providerName
        end local 1 // java.security.Provider cryptoProvider
        end local 0 // sun.security.ssl.SunJSSE this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lsun/security/ssl/SunJSSE;
            0   11     1  cryptoProvider  Ljava/security/Provider;
            0   11     2    providerName  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      cryptoProvider  
      providerName    

  private void registerAlgorithms(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.ssl.SunJSSE this
        start local 1 // boolean isfips
         0: .line 152
            new sun.security.ssl.SunJSSE$1
            dup
            aload 0 /* this */
            iload 1 /* isfips */
            invokespecial sun.security.ssl.SunJSSE$1.<init>:(Lsun/security/ssl/SunJSSE;Z)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 159
            return
        end local 1 // boolean isfips
        end local 0 // sun.security.ssl.SunJSSE this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/security/ssl/SunJSSE;
            0    2     1  isfips  Z
    MethodParameters:
        Name  Flags
      isfips  final

  private void doRegister(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.ssl.SunJSSE this
        start local 1 // boolean isfips
         0: .line 162
            iload 1 /* isfips */
            ifne 34
         1: .line 163
            aload 0 /* this */
            ldc "KeyFactory.RSA"
         2: .line 164
            ldc "sun.security.rsa.RSAKeyFactory"
         3: .line 163
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 165
            aload 0 /* this */
            ldc "Alg.Alias.KeyFactory.1.2.840.113549.1.1"
            ldc "RSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 166
            aload 0 /* this */
            ldc "Alg.Alias.KeyFactory.OID.1.2.840.113549.1.1"
            ldc "RSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 168
            aload 0 /* this */
            ldc "KeyPairGenerator.RSA"
         7: .line 169
            ldc "sun.security.rsa.RSAKeyPairGenerator"
         8: .line 168
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 170
            aload 0 /* this */
            ldc "Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1"
            ldc "RSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 171
            aload 0 /* this */
            ldc "Alg.Alias.KeyPairGenerator.OID.1.2.840.113549.1.1"
            ldc "RSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 173
            aload 0 /* this */
            ldc "Signature.MD2withRSA"
        12: .line 174
            ldc "sun.security.rsa.RSASignature$MD2withRSA"
        13: .line 173
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 175
            aload 0 /* this */
            ldc "Alg.Alias.Signature.1.2.840.113549.1.1.2"
            ldc "MD2withRSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 176
            aload 0 /* this */
            ldc "Alg.Alias.Signature.OID.1.2.840.113549.1.1.2"
        16: .line 177
            ldc "MD2withRSA"
        17: .line 176
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 179
            aload 0 /* this */
            ldc "Signature.MD5withRSA"
        19: .line 180
            ldc "sun.security.rsa.RSASignature$MD5withRSA"
        20: .line 179
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 181
            aload 0 /* this */
            ldc "Alg.Alias.Signature.1.2.840.113549.1.1.4"
            ldc "MD5withRSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 182
            aload 0 /* this */
            ldc "Alg.Alias.Signature.OID.1.2.840.113549.1.1.4"
        23: .line 183
            ldc "MD5withRSA"
        24: .line 182
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 185
            aload 0 /* this */
            ldc "Signature.SHA1withRSA"
        26: .line 186
            ldc "sun.security.rsa.RSASignature$SHA1withRSA"
        27: .line 185
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 187
            aload 0 /* this */
            ldc "Alg.Alias.Signature.1.2.840.113549.1.1.5"
            ldc "SHA1withRSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 188
            aload 0 /* this */
            ldc "Alg.Alias.Signature.OID.1.2.840.113549.1.1.5"
        30: .line 189
            ldc "SHA1withRSA"
        31: .line 188
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 190
            aload 0 /* this */
            ldc "Alg.Alias.Signature.1.3.14.3.2.29"
            ldc "SHA1withRSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 191
            aload 0 /* this */
            ldc "Alg.Alias.Signature.OID.1.3.14.3.2.29"
            ldc "SHA1withRSA"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Signature.MD5andSHA1withRSA"
        35: .line 195
            ldc "sun.security.ssl.RSASignature"
        36: .line 194
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 197
            aload 0 /* this */
            ldc "KeyManagerFactory.SunX509"
        38: .line 198
            ldc "sun.security.ssl.KeyManagerFactoryImpl$SunX509"
        39: .line 197
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 199
            aload 0 /* this */
            ldc "KeyManagerFactory.NewSunX509"
        41: .line 200
            ldc "sun.security.ssl.KeyManagerFactoryImpl$X509"
        42: .line 199
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        43: .line 201
            aload 0 /* this */
            ldc "Alg.Alias.KeyManagerFactory.PKIX"
            ldc "NewSunX509"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        44: .line 203
            aload 0 /* this */
            ldc "TrustManagerFactory.SunX509"
        45: .line 204
            ldc "sun.security.ssl.TrustManagerFactoryImpl$SimpleFactory"
        46: .line 203
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 205
            aload 0 /* this */
            ldc "TrustManagerFactory.PKIX"
        48: .line 206
            ldc "sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory"
        49: .line 205
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        50: .line 207
            aload 0 /* this */
            ldc "Alg.Alias.TrustManagerFactory.SunPKIX"
            ldc "PKIX"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 208
            aload 0 /* this */
            ldc "Alg.Alias.TrustManagerFactory.X509"
            ldc "PKIX"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        52: .line 209
            aload 0 /* this */
            ldc "Alg.Alias.TrustManagerFactory.X.509"
            ldc "PKIX"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 211
            aload 0 /* this */
            ldc "SSLContext.TLSv1"
        54: .line 212
            ldc "sun.security.ssl.SSLContextImpl$TLS10Context"
        55: .line 211
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        56: .line 213
            aload 0 /* this */
            ldc "SSLContext.TLSv1.1"
        57: .line 214
            ldc "sun.security.ssl.SSLContextImpl$TLS11Context"
        58: .line 213
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        59: .line 215
            aload 0 /* this */
            ldc "SSLContext.TLSv1.2"
        60: .line 216
            ldc "sun.security.ssl.SSLContextImpl$TLS12Context"
        61: .line 215
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        62: .line 217
            aload 0 /* this */
            ldc "SSLContext.TLS"
        63: .line 218
            ldc "sun.security.ssl.SSLContextImpl$TLSContext"
        64: .line 217
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        65: .line 219
            iload 1 /* isfips */
            ifne 68
        66: .line 220
            aload 0 /* this */
            ldc "Alg.Alias.SSLContext.SSL"
            ldc "TLS"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        67: .line 221
            aload 0 /* this */
            ldc "Alg.Alias.SSLContext.SSLv3"
            ldc "TLSv1"
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        68: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "SSLContext.DTLSv1.0"
        69: .line 225
            ldc "sun.security.ssl.SSLContextImpl$DTLS10Context"
        70: .line 224
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        71: .line 226
            aload 0 /* this */
            ldc "SSLContext.DTLSv1.2"
        72: .line 227
            ldc "sun.security.ssl.SSLContextImpl$DTLS12Context"
        73: .line 226
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        74: .line 228
            aload 0 /* this */
            ldc "SSLContext.DTLS"
        75: .line 229
            ldc "sun.security.ssl.SSLContextImpl$DTLSContext"
        76: .line 228
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        77: .line 231
            aload 0 /* this */
            ldc "SSLContext.Default"
        78: .line 232
            ldc "sun.security.ssl.SSLContextImpl$DefaultSSLContext"
        79: .line 231
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        80: .line 237
            aload 0 /* this */
            ldc "KeyStore.PKCS12"
        81: .line 238
            ldc "sun.security.pkcs12.PKCS12KeyStore"
        82: .line 237
            invokevirtual sun.security.ssl.SunJSSE.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        83: .line 239
            return
        end local 1 // boolean isfips
        end local 0 // sun.security.ssl.SunJSSE this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   84     0    this  Lsun/security/ssl/SunJSSE;
            0   84     1  isfips  Z
    MethodParameters:
        Name  Flags
      isfips  

  private void subclassCheck();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.ssl.SunJSSE this
         0: .line 244
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lcom/sun/net/ssl/internal/ssl/Provider;
            if_acmpeq 2
         1: .line 245
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal subclass: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.SunJSSE this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SunJSSE;

  protected final void finalize();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SunJSSE this
         0: .line 253
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         1: .line 254
            return
        end local 0 // sun.security.ssl.SunJSSE this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/SunJSSE;
    Exceptions:
      throws java.lang.Throwable
}
SourceFile: "SunJSSE.java"
NestMembers:
  sun.security.ssl.SunJSSE$1
InnerClasses:
  sun.security.ssl.SunJSSE$1