public class org.glassfish.grizzly.ssl.SSLContextConfigurator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.ssl.SSLContextConfigurator
  super_class: java.lang.Object
{
  public static final java.lang.String TRUST_STORE_PROVIDER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.net.ssl.trustStoreProvider"

  public static final java.lang.String KEY_STORE_PROVIDER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.net.ssl.keyStoreProvider"

  public static final java.lang.String TRUST_STORE_FILE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.net.ssl.trustStore"

  public static final java.lang.String KEY_STORE_FILE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.net.ssl.keyStore"

  public static final java.lang.String TRUST_STORE_PASSWORD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.net.ssl.trustStorePassword"

  public static final java.lang.String KEY_STORE_PASSWORD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.net.ssl.keyStorePassword"

  public static final java.lang.String TRUST_STORE_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.net.ssl.trustStoreType"

  public static final java.lang.String KEY_STORE_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.net.ssl.keyStoreType"

  public static final java.lang.String KEY_FACTORY_MANAGER_ALGORITHM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ssl.KeyManagerFactory.algorithm"

  public static final java.lang.String TRUST_FACTORY_MANAGER_ALGORITHM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ssl.TrustManagerFactory.algorithm"

  private static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.glassfish.grizzly.ssl.SSLContextConfigurator DEFAULT_CONFIG;
    descriptor: Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private java.lang.String trustStoreProvider;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String keyStoreProvider;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String trustStoreType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String keyStoreType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private char[] trustStorePass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] keyStorePass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] keyPass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String trustStoreFile;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String keyStoreFile;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private byte[] trustStoreBytes;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private byte[] keyStoreBytes;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String trustManagerFactoryAlgorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String keyManagerFactoryAlgorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String securityProtocol;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 70
            ldc Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
            putstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
         1: .line 77
            new org.glassfish.grizzly.ssl.SSLContextConfigurator
            dup
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator.<init>:()V
            putstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.DEFAULT_CONFIG:Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
         0: .line 106
            aload 0 /* this */
            iconst_1
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator.<init>:(Z)V
         1: .line 107
            return
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // boolean readSystemProperties
         0: .line 117
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 98
            aload 0 /* this */
            ldc "TLS"
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.securityProtocol:Ljava/lang/String;
         2: .line 118
            iload 1 /* readSystemProperties */
            ifeq 4
         3: .line 119
            aload 0 /* this */
            invokestatic java.lang.System.getProperties:()Ljava/util/Properties;
            invokevirtual org.glassfish.grizzly.ssl.SSLContextConfigurator.retrieve:(Ljava/util/Properties;)V
         4: .line 121
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int
      StackMap stack:
            return
        end local 1 // boolean readSystemProperties
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    5     1  readSystemProperties  Z
    MethodParameters:
                      Name  Flags
      readSystemProperties  

  public void setTrustStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String trustStoreProvider
         0: .line 130
            aload 0 /* this */
            aload 1 /* trustStoreProvider */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreProvider:Ljava/lang/String;
         1: .line 131
            return
        end local 1 // java.lang.String trustStoreProvider
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  trustStoreProvider  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      trustStoreProvider  

  public void setKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String keyStoreProvider
         0: .line 140
            aload 0 /* this */
            aload 1 /* keyStoreProvider */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreProvider:Ljava/lang/String;
         1: .line 141
            return
        end local 1 // java.lang.String keyStoreProvider
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  keyStoreProvider  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      keyStoreProvider  

  public void setTrustStoreType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String trustStoreType
         0: .line 150
            aload 0 /* this */
            aload 1 /* trustStoreType */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
         1: .line 151
            return
        end local 1 // java.lang.String trustStoreType
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  trustStoreType  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      trustStoreType  

  public void setKeyStoreType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String keyStoreType
         0: .line 160
            aload 0 /* this */
            aload 1 /* keyStoreType */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
         1: .line 161
            return
        end local 1 // java.lang.String keyStoreType
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  keyStoreType  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      keyStoreType  

  public void setTrustStorePass(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String trustStorePass
         0: .line 170
            aload 0 /* this */
            aload 1 /* trustStorePass */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStorePass:[C
         1: .line 171
            return
        end local 1 // java.lang.String trustStorePass
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  trustStorePass  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      trustStorePass  

  public void setKeyStorePass(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String keyStorePass
         0: .line 180
            aload 0 /* this */
            aload 1 /* keyStorePass */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStorePass:[C
         1: .line 181
            return
        end local 1 // java.lang.String keyStorePass
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  keyStorePass  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      keyStorePass  

  public void setKeyStorePass(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // char[] keyStorePass
         0: .line 190
            aload 0 /* this */
            aload 1 /* keyStorePass */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStorePass:[C
         1: .line 191
            return
        end local 1 // char[] keyStorePass
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  keyStorePass  [C
    MethodParameters:
              Name  Flags
      keyStorePass  

  public void setKeyPass(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String keyPass
         0: .line 200
            aload 0 /* this */
            aload 1 /* keyPass */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyPass:[C
         1: .line 201
            return
        end local 1 // java.lang.String keyPass
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  keyPass  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      keyPass  

  public void setKeyPass(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // char[] keyPass
         0: .line 210
            aload 0 /* this */
            aload 1 /* keyPass */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyPass:[C
         1: .line 211
            return
        end local 1 // char[] keyPass
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  keyPass  [C
    MethodParameters:
         Name  Flags
      keyPass  

  public void setTrustStoreFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String trustStoreFile
         0: .line 223
            aload 0 /* this */
            aload 1 /* trustStoreFile */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
         1: .line 224
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreBytes:[B
         2: .line 225
            return
        end local 1 // java.lang.String trustStoreFile
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    3     1  trustStoreFile  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      trustStoreFile  

  public void setTrustStoreBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // byte[] trustStoreBytes
         0: .line 236
            aload 0 /* this */
            aload 1 /* trustStoreBytes */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreBytes:[B
         1: .line 237
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
         2: .line 238
            return
        end local 1 // byte[] trustStoreBytes
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    3     1  trustStoreBytes  [B
    MethodParameters:
                 Name  Flags
      trustStoreBytes  

  public void setKeyStoreFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String keyStoreFile
         0: .line 250
            aload 0 /* this */
            aload 1 /* keyStoreFile */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
         1: .line 251
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreBytes:[B
         2: .line 252
            return
        end local 1 // java.lang.String keyStoreFile
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    3     1  keyStoreFile  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      keyStoreFile  

  public void setKeyStoreBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // byte[] keyStoreBytes
         0: .line 263
            aload 0 /* this */
            aload 1 /* keyStoreBytes */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreBytes:[B
         1: .line 264
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
         2: .line 265
            return
        end local 1 // byte[] keyStoreBytes
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    3     1  keyStoreBytes  [B
    MethodParameters:
               Name  Flags
      keyStoreBytes  

  public void setTrustManagerFactoryAlgorithm(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String trustManagerFactoryAlgorithm
         0: .line 275
            aload 0 /* this */
            aload 1 /* trustManagerFactoryAlgorithm */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustManagerFactoryAlgorithm:Ljava/lang/String;
         1: .line 276
            return
        end local 1 // java.lang.String trustManagerFactoryAlgorithm
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    2     0                          this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  trustManagerFactoryAlgorithm  Ljava/lang/String;
    MethodParameters:
                              Name  Flags
      trustManagerFactoryAlgorithm  

  public void setKeyManagerFactoryAlgorithm(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String keyManagerFactoryAlgorithm
         0: .line 285
            aload 0 /* this */
            aload 1 /* keyManagerFactoryAlgorithm */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyManagerFactoryAlgorithm:Ljava/lang/String;
         1: .line 286
            return
        end local 1 // java.lang.String keyManagerFactoryAlgorithm
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  keyManagerFactoryAlgorithm  Ljava/lang/String;
    MethodParameters:
                            Name  Flags
      keyManagerFactoryAlgorithm  

  public void setSecurityProtocol(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.lang.String securityProtocol
         0: .line 295
            aload 0 /* this */
            aload 1 /* securityProtocol */
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.securityProtocol:Ljava/lang/String;
         1: .line 296
            return
        end local 1 // java.lang.String securityProtocol
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0    2     1  securityProtocol  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      securityProtocol  

  public boolean validateConfiguration();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
         0: .line 308
            aload 0 /* this */
            iconst_0
            invokevirtual org.glassfish.grizzly.ssl.SSLContextConfigurator.validateConfiguration:(Z)Z
            ireturn
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean validateConfiguration(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // boolean needsKeyStore
         0: .line 323
            iconst_1
            istore 2 /* valid */
        start local 2 // boolean valid
         1: .line 325
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreBytes:[B
            ifnonnull 2
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
            ifnull 60
         2: .line 328
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreProvider:Ljava/lang/String;
            ifnull 8
         3: .line 330
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
            ifnull 4
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
            goto 5
         4: .line 331
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreProvider:Ljava/lang/String;
         6: .line 329
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
            astore 3 /* keyStore */
        start local 3 // java.security.KeyStore keyStore
         7: .line 332
            goto 12
        end local 3 // java.security.KeyStore keyStore
         8: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
            ifnull 9
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
            goto 10
         9: .line 335
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
        10: .line 334
      StackMap locals:
      StackMap stack: java.lang.String
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
        11: .line 333
            astore 3 /* keyStore */
        start local 3 // java.security.KeyStore keyStore
        12: .line 337
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreBytes:[B
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStorePass:[C
            aload 3 /* keyStore */
            invokestatic org.glassfish.grizzly.ssl.SSLContextConfigurator.loadBytes:([BLjava/lang/String;[CLjava/security/KeyStore;)V
        13: .line 338
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyManagerFactoryAlgorithm:Ljava/lang/String;
            astore 4 /* kmfAlgorithm */
        start local 4 // java.lang.String kmfAlgorithm
        14: .line 339
            aload 4 /* kmfAlgorithm */
            ifnonnull 18
        15: .line 341
            ldc "ssl.KeyManagerFactory.algorithm"
        16: .line 342
            invokestatic javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
        17: .line 340
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* kmfAlgorithm */
        18: .line 345
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* kmfAlgorithm */
            invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
        19: .line 344
            astore 5 /* keyManagerFactory */
        start local 5 // javax.net.ssl.KeyManagerFactory keyManagerFactory
        20: .line 346
            aload 5 /* keyManagerFactory */
            aload 3 /* keyStore */
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyPass:[C
            ifnull 21
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyPass:[C
            goto 22
        21: .line 347
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int int java.security.KeyStore java.lang.String javax.net.ssl.KeyManagerFactory
      StackMap stack: javax.net.ssl.KeyManagerFactory java.security.KeyStore
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStorePass:[C
        22: .line 346
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int int java.security.KeyStore java.lang.String javax.net.ssl.KeyManagerFactory
      StackMap stack: javax.net.ssl.KeyManagerFactory java.security.KeyStore char[]
            invokevirtual javax.net.ssl.KeyManagerFactory.init:(Ljava/security/KeyStore;[C)V
        end local 5 // javax.net.ssl.KeyManagerFactory keyManagerFactory
        end local 4 // java.lang.String kmfAlgorithm
        end local 3 // java.security.KeyStore keyStore
        23: .line 348
            goto 63
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int int
      StackMap stack: java.security.KeyStoreException
        24: astore 3 /* e */
        start local 3 // java.security.KeyStoreException e
        25: .line 349
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing key store"
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        26: .line 350
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.KeyStoreException e
        27: goto 63
        28: .line 351
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 3 /* e */
        start local 3 // java.security.cert.CertificateException e
        29: .line 352
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Key store certificate exception."
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        30: .line 353
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.cert.CertificateException e
        31: goto 63
        32: .line 354
      StackMap locals:
      StackMap stack: java.security.UnrecoverableKeyException
            astore 3 /* e */
        start local 3 // java.security.UnrecoverableKeyException e
        33: .line 355
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Key store unrecoverable exception."
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        34: .line 356
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.UnrecoverableKeyException e
        35: goto 63
        36: .line 357
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 3 /* e */
        start local 3 // java.io.FileNotFoundException e
        37: .line 358
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Can't find key store file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 359
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
        39: .line 358
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        40: .line 360
            iconst_0
            istore 2 /* valid */
        end local 3 // java.io.FileNotFoundException e
        41: goto 63
        42: .line 361
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        43: .line 362
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Error loading key store from file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        44: .line 363
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
        45: .line 362
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        46: .line 364
            iconst_0
            istore 2 /* valid */
        end local 3 // java.io.IOException e
        47: goto 63
        48: .line 365
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 3 /* e */
        start local 3 // java.security.NoSuchAlgorithmException e
        49: .line 366
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
        50: .line 367
            ldc "Error initializing key manager factory (no such algorithm)"
            aload 3 /* e */
        51: .line 366
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        52: .line 368
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.NoSuchAlgorithmException e
        53: goto 63
        54: .line 369
      StackMap locals:
      StackMap stack: java.security.NoSuchProviderException
            astore 3 /* e */
        start local 3 // java.security.NoSuchProviderException e
        55: .line 370
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
        56: .line 371
            ldc "Error initializing key store (no such provider)"
            aload 3 /* e */
        57: .line 370
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        58: .line 372
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.NoSuchProviderException e
        59: .line 374
            goto 63
        60: .line 375
      StackMap locals:
      StackMap stack:
            iload 1 /* needsKeyStore */
            ifeq 61
            iconst_0
            goto 62
      StackMap locals:
      StackMap stack:
        61: iconst_1
      StackMap locals:
      StackMap stack: int
        62: istore 2 /* valid */
        63: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreBytes:[B
            ifnonnull 64
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
            ifnull 116
        64: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreProvider:Ljava/lang/String;
            ifnull 70
        65: .line 383
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
            ifnull 66
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
            goto 67
        66: .line 384
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        67: aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreProvider:Ljava/lang/String;
        68: .line 382
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
            astore 3 /* trustStore */
        start local 3 // java.security.KeyStore trustStore
        69: .line 385
            goto 74
        end local 3 // java.security.KeyStore trustStore
        70: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
            ifnull 71
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
            goto 72
        71: .line 388
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
        72: .line 387
      StackMap locals:
      StackMap stack: java.lang.String
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
        73: .line 386
            astore 3 /* trustStore */
        start local 3 // java.security.KeyStore trustStore
        74: .line 390
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreBytes:[B
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStorePass:[C
            aload 3 /* trustStore */
            invokestatic org.glassfish.grizzly.ssl.SSLContextConfigurator.loadBytes:([BLjava/lang/String;[CLjava/security/KeyStore;)V
        75: .line 392
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustManagerFactoryAlgorithm:Ljava/lang/String;
            astore 4 /* tmfAlgorithm */
        start local 4 // java.lang.String tmfAlgorithm
        76: .line 393
            aload 4 /* tmfAlgorithm */
            ifnonnull 80
        77: .line 395
            ldc "ssl.TrustManagerFactory.algorithm"
        78: .line 396
            invokestatic javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
        79: .line 394
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* tmfAlgorithm */
        80: .line 400
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* tmfAlgorithm */
            invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
        81: .line 399
            astore 5 /* trustManagerFactory */
        start local 5 // javax.net.ssl.TrustManagerFactory trustManagerFactory
        82: .line 401
            aload 5 /* trustManagerFactory */
            aload 3 /* trustStore */
            invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
        end local 5 // javax.net.ssl.TrustManagerFactory trustManagerFactory
        end local 4 // java.lang.String tmfAlgorithm
        end local 3 // java.security.KeyStore trustStore
        83: .line 402
            goto 116
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int int
      StackMap stack: java.security.KeyStoreException
        84: astore 3 /* e */
        start local 3 // java.security.KeyStoreException e
        85: .line 403
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing trust store"
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        86: .line 404
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.KeyStoreException e
        87: goto 116
        88: .line 405
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 3 /* e */
        start local 3 // java.security.cert.CertificateException e
        89: .line 406
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Trust store certificate exception."
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        90: .line 407
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.cert.CertificateException e
        91: goto 116
        92: .line 408
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 3 /* e */
        start local 3 // java.io.FileNotFoundException e
        93: .line 409
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Can't find trust store file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        94: .line 410
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
        95: .line 409
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        96: .line 411
            iconst_0
            istore 2 /* valid */
        end local 3 // java.io.FileNotFoundException e
        97: goto 116
        98: .line 412
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        99: .line 413
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Error loading trust store from file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       100: .line 414
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
       101: .line 413
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       102: .line 415
            iconst_0
            istore 2 /* valid */
        end local 3 // java.io.IOException e
       103: goto 116
       104: .line 416
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 3 /* e */
        start local 3 // java.security.NoSuchAlgorithmException e
       105: .line 417
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
       106: .line 418
            ldc "Error initializing trust manager factory (no such algorithm)"
       107: .line 419
            aload 3 /* e */
       108: .line 417
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       109: .line 420
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.NoSuchAlgorithmException e
       110: goto 116
       111: .line 421
      StackMap locals:
      StackMap stack: java.security.NoSuchProviderException
            astore 3 /* e */
        start local 3 // java.security.NoSuchProviderException e
       112: .line 422
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
       113: .line 423
            ldc "Error initializing trust store (no such provider)"
            aload 3 /* e */
       114: .line 422
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       115: .line 424
            iconst_0
            istore 2 /* valid */
        end local 3 // java.security.NoSuchProviderException e
       116: .line 427
      StackMap locals:
      StackMap stack:
            iload 2 /* valid */
            ireturn
        end local 2 // boolean valid
        end local 1 // boolean needsKeyStore
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  117     0                 this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0  117     1        needsKeyStore  Z
            1  117     2                valid  Z
            7    8     3             keyStore  Ljava/security/KeyStore;
           12   23     3             keyStore  Ljava/security/KeyStore;
           14   23     4         kmfAlgorithm  Ljava/lang/String;
           20   23     5    keyManagerFactory  Ljavax/net/ssl/KeyManagerFactory;
           25   27     3                    e  Ljava/security/KeyStoreException;
           29   31     3                    e  Ljava/security/cert/CertificateException;
           33   35     3                    e  Ljava/security/UnrecoverableKeyException;
           37   41     3                    e  Ljava/io/FileNotFoundException;
           43   47     3                    e  Ljava/io/IOException;
           49   53     3                    e  Ljava/security/NoSuchAlgorithmException;
           55   59     3                    e  Ljava/security/NoSuchProviderException;
           69   70     3           trustStore  Ljava/security/KeyStore;
           74   83     3           trustStore  Ljava/security/KeyStore;
           76   83     4         tmfAlgorithm  Ljava/lang/String;
           82   83     5  trustManagerFactory  Ljavax/net/ssl/TrustManagerFactory;
           85   87     3                    e  Ljava/security/KeyStoreException;
           89   91     3                    e  Ljava/security/cert/CertificateException;
           93   97     3                    e  Ljava/io/FileNotFoundException;
           99  103     3                    e  Ljava/io/IOException;
          105  110     3                    e  Ljava/security/NoSuchAlgorithmException;
          112  116     3                    e  Ljava/security/NoSuchProviderException;
      Exception table:
        from    to  target  type
           2    23      24  Class java.security.KeyStoreException
           2    23      28  Class java.security.cert.CertificateException
           2    23      32  Class java.security.UnrecoverableKeyException
           2    23      36  Class java.io.FileNotFoundException
           2    23      42  Class java.io.IOException
           2    23      48  Class java.security.NoSuchAlgorithmException
           2    23      54  Class java.security.NoSuchProviderException
          64    83      84  Class java.security.KeyStoreException
          64    83      88  Class java.security.cert.CertificateException
          64    83      92  Class java.io.FileNotFoundException
          64    83      98  Class java.io.IOException
          64    83     104  Class java.security.NoSuchAlgorithmException
          64    83     111  Class java.security.NoSuchProviderException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      needsKeyStore  

  public javax.net.ssl.SSLContext createSSLContext();
    descriptor: ()Ljavax/net/ssl/SSLContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
         0: .line 440
            aload 0 /* this */
            iconst_0
            invokevirtual org.glassfish.grizzly.ssl.SSLContextConfigurator.createSSLContext:(Z)Ljavax/net/ssl/SSLContext;
            areturn
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public javax.net.ssl.SSLContext createSSLContext(boolean);
    descriptor: (Z)Ljavax/net/ssl/SSLContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // boolean throwException
         0: .line 458
            aconst_null
            astore 2 /* sslContext */
        start local 2 // javax.net.ssl.SSLContext sslContext
         1: .line 461
            aconst_null
            astore 3 /* trustManagerFactory */
        start local 3 // javax.net.ssl.TrustManagerFactory trustManagerFactory
         2: .line 462
            aconst_null
            astore 4 /* keyManagerFactory */
        start local 4 // javax.net.ssl.KeyManagerFactory keyManagerFactory
         3: .line 464
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreBytes:[B
            ifnonnull 4
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
            ifnull 52
         4: .line 467
      StackMap locals: javax.net.ssl.SSLContext javax.net.ssl.TrustManagerFactory javax.net.ssl.KeyManagerFactory
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreProvider:Ljava/lang/String;
            ifnull 10
         5: .line 469
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
            ifnull 6
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
            goto 7
         6: .line 470
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         7: aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreProvider:Ljava/lang/String;
         8: .line 468
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
            astore 5 /* keyStore */
        start local 5 // java.security.KeyStore keyStore
         9: .line 471
            goto 14
        end local 5 // java.security.KeyStore keyStore
        10: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
            ifnull 11
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
            goto 12
        11: .line 474
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
        12: .line 473
      StackMap locals:
      StackMap stack: java.lang.String
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
        13: .line 472
            astore 5 /* keyStore */
        start local 5 // java.security.KeyStore keyStore
        14: .line 476
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreBytes:[B
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStorePass:[C
            aload 5 /* keyStore */
            invokestatic org.glassfish.grizzly.ssl.SSLContextConfigurator.loadBytes:([BLjava/lang/String;[CLjava/security/KeyStore;)V
        15: .line 478
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyManagerFactoryAlgorithm:Ljava/lang/String;
            astore 6 /* kmfAlgorithm */
        start local 6 // java.lang.String kmfAlgorithm
        16: .line 479
            aload 6 /* kmfAlgorithm */
            ifnonnull 20
        17: .line 481
            ldc "ssl.KeyManagerFactory.algorithm"
        18: .line 482
            invokestatic javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
        19: .line 480
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* kmfAlgorithm */
        20: .line 485
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* kmfAlgorithm */
            invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
        21: .line 484
            astore 4 /* keyManagerFactory */
        22: .line 486
            aload 4 /* keyManagerFactory */
            aload 5 /* keyStore */
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyPass:[C
            ifnull 23
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyPass:[C
            goto 24
        23: .line 487
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int javax.net.ssl.SSLContext javax.net.ssl.TrustManagerFactory javax.net.ssl.KeyManagerFactory java.security.KeyStore java.lang.String
      StackMap stack: javax.net.ssl.KeyManagerFactory java.security.KeyStore
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStorePass:[C
        24: .line 486
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int javax.net.ssl.SSLContext javax.net.ssl.TrustManagerFactory javax.net.ssl.KeyManagerFactory java.security.KeyStore java.lang.String
      StackMap stack: javax.net.ssl.KeyManagerFactory java.security.KeyStore char[]
            invokevirtual javax.net.ssl.KeyManagerFactory.init:(Ljava/security/KeyStore;[C)V
        end local 6 // java.lang.String kmfAlgorithm
        end local 5 // java.security.KeyStore keyStore
        25: .line 488
            goto 52
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int javax.net.ssl.SSLContext javax.net.ssl.TrustManagerFactory javax.net.ssl.KeyManagerFactory
      StackMap stack: java.security.KeyStoreException
        26: astore 5 /* e */
        start local 5 // java.security.KeyStoreException e
        27: .line 489
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing key store"
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        28: .line 490
            iload 1 /* throwException */
            ifeq 52
        29: .line 491
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.KeyStoreException e
        30: .line 493
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 5 /* e */
        start local 5 // java.security.cert.CertificateException e
        31: .line 494
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Key store certificate exception."
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        32: .line 495
            iload 1 /* throwException */
            ifeq 52
        33: .line 496
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.cert.CertificateException e
        34: .line 498
      StackMap locals:
      StackMap stack: java.security.UnrecoverableKeyException
            astore 5 /* e */
        start local 5 // java.security.UnrecoverableKeyException e
        35: .line 499
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Key store unrecoverable exception."
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        36: .line 500
            iload 1 /* throwException */
            ifeq 52
        37: .line 501
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.UnrecoverableKeyException e
        38: .line 503
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 5 /* e */
        start local 5 // java.io.FileNotFoundException e
        39: .line 504
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Can't find key store file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        40: .line 505
            iload 1 /* throwException */
            ifeq 52
        41: .line 506
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.FileNotFoundException e
        42: .line 508
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        43: .line 509
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Error loading key store from file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        44: .line 510
            iload 1 /* throwException */
            ifeq 52
        45: .line 511
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        46: .line 513
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 5 /* e */
        start local 5 // java.security.NoSuchAlgorithmException e
        47: .line 514
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing key manager factory (no such algorithm)"
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        48: .line 515
            iload 1 /* throwException */
            ifeq 52
        49: .line 516
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.NoSuchAlgorithmException e
        50: .line 518
      StackMap locals:
      StackMap stack: java.security.NoSuchProviderException
            astore 5 /* e */
        start local 5 // java.security.NoSuchProviderException e
        51: .line 519
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing key store (no such provider)"
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.security.NoSuchProviderException e
        52: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreBytes:[B
            ifnonnull 53
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
            ifnull 97
        53: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreProvider:Ljava/lang/String;
            ifnull 59
        54: .line 528
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
            ifnull 55
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
            goto 56
        55: .line 529
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
        56: .line 530
      StackMap locals:
      StackMap stack: java.lang.String
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreProvider:Ljava/lang/String;
        57: .line 527
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
            astore 5 /* trustStore */
        start local 5 // java.security.KeyStore trustStore
        58: .line 531
            goto 63
        end local 5 // java.security.KeyStore trustStore
        59: .line 533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
            ifnull 60
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
            goto 61
        60: .line 534
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
        61: .line 533
      StackMap locals:
      StackMap stack: java.lang.String
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
        62: .line 532
            astore 5 /* trustStore */
        start local 5 // java.security.KeyStore trustStore
        63: .line 536
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreBytes:[B
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStorePass:[C
            aload 5 /* trustStore */
            invokestatic org.glassfish.grizzly.ssl.SSLContextConfigurator.loadBytes:([BLjava/lang/String;[CLjava/security/KeyStore;)V
        64: .line 538
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustManagerFactoryAlgorithm:Ljava/lang/String;
            astore 6 /* tmfAlgorithm */
        start local 6 // java.lang.String tmfAlgorithm
        65: .line 539
            aload 6 /* tmfAlgorithm */
            ifnonnull 69
        66: .line 541
            ldc "ssl.TrustManagerFactory.algorithm"
        67: .line 542
            invokestatic javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
        68: .line 540
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* tmfAlgorithm */
        69: .line 546
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* tmfAlgorithm */
            invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
        70: .line 545
            astore 3 /* trustManagerFactory */
        71: .line 547
            aload 3 /* trustManagerFactory */
            aload 5 /* trustStore */
            invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
        end local 6 // java.lang.String tmfAlgorithm
        end local 5 // java.security.KeyStore trustStore
        72: .line 548
            goto 97
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int javax.net.ssl.SSLContext javax.net.ssl.TrustManagerFactory javax.net.ssl.KeyManagerFactory
      StackMap stack: java.security.KeyStoreException
        73: astore 5 /* e */
        start local 5 // java.security.KeyStoreException e
        74: .line 549
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing trust store"
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        75: .line 550
            iload 1 /* throwException */
            ifeq 97
        76: .line 551
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.KeyStoreException e
        77: .line 553
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 5 /* e */
        start local 5 // java.security.cert.CertificateException e
        78: .line 554
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Trust store certificate exception."
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        79: .line 555
            iload 1 /* throwException */
            ifeq 97
        80: .line 556
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.cert.CertificateException e
        81: .line 558
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 5 /* e */
        start local 5 // java.io.FileNotFoundException e
        82: .line 559
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Can't find trust store file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        83: .line 560
            iload 1 /* throwException */
            ifeq 97
        84: .line 561
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.FileNotFoundException e
        85: .line 563
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        86: .line 564
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Error loading trust store from file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        87: .line 565
            iload 1 /* throwException */
            ifeq 97
        88: .line 566
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        89: .line 568
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 5 /* e */
        start local 5 // java.security.NoSuchAlgorithmException e
        90: .line 569
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing trust manager factory (no such algorithm)"
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        91: .line 570
            iload 1 /* throwException */
            ifeq 97
        92: .line 571
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.NoSuchAlgorithmException e
        93: .line 573
      StackMap locals:
      StackMap stack: java.security.NoSuchProviderException
            astore 5 /* e */
        start local 5 // java.security.NoSuchProviderException e
        94: .line 574
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing trust store (no such provider)"
            aload 5 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        95: .line 575
            iload 1 /* throwException */
            ifeq 97
        96: .line 576
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 5 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.NoSuchProviderException e
        97: .line 581
      StackMap locals:
      StackMap stack:
            ldc "TLS"
            astore 5 /* secProtocol */
        start local 5 // java.lang.String secProtocol
        98: .line 582
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.securityProtocol:Ljava/lang/String;
            ifnull 100
        99: .line 583
            aload 0 /* this */
            getfield org.glassfish.grizzly.ssl.SSLContextConfigurator.securityProtocol:Ljava/lang/String;
            astore 5 /* secProtocol */
       100: .line 585
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* secProtocol */
            invokestatic javax.net.ssl.SSLContext.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
            astore 2 /* sslContext */
       101: .line 586
            aload 2 /* sslContext */
            aload 4 /* keyManagerFactory */
            ifnull 103
            aload 4 /* keyManagerFactory */
       102: .line 587
            invokevirtual javax.net.ssl.KeyManagerFactory.getKeyManagers:()[Ljavax/net/ssl/KeyManager;
            goto 104
      StackMap locals:
      StackMap stack: javax.net.ssl.SSLContext
       103: aconst_null
       104: .line 588
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int javax.net.ssl.SSLContext javax.net.ssl.TrustManagerFactory javax.net.ssl.KeyManagerFactory java.lang.String
      StackMap stack: javax.net.ssl.SSLContext javax.net.ssl.KeyManager[]
            aload 3 /* trustManagerFactory */
            ifnull 106
            aload 3 /* trustManagerFactory */
       105: .line 589
            invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
            goto 107
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int javax.net.ssl.SSLContext javax.net.ssl.TrustManagerFactory javax.net.ssl.KeyManagerFactory java.lang.String
      StackMap stack: javax.net.ssl.SSLContext javax.net.ssl.KeyManager[]
       106: aconst_null
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int javax.net.ssl.SSLContext javax.net.ssl.TrustManagerFactory javax.net.ssl.KeyManagerFactory java.lang.String
      StackMap stack: javax.net.ssl.SSLContext javax.net.ssl.KeyManager[] javax.net.ssl.TrustManager[]
       107: aconst_null
       108: .line 586
            invokevirtual javax.net.ssl.SSLContext.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
        end local 5 // java.lang.String secProtocol
        end local 4 // javax.net.ssl.KeyManagerFactory keyManagerFactory
        end local 3 // javax.net.ssl.TrustManagerFactory trustManagerFactory
       109: .line 590
            goto 118
      StackMap locals: org.glassfish.grizzly.ssl.SSLContextConfigurator int javax.net.ssl.SSLContext
      StackMap stack: java.security.KeyManagementException
       110: astore 3 /* e */
        start local 3 // java.security.KeyManagementException e
       111: .line 591
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Key management error."
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       112: .line 592
            iload 1 /* throwException */
            ifeq 118
       113: .line 593
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 3 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.KeyManagementException e
       114: .line 595
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 3 /* e */
        start local 3 // java.security.NoSuchAlgorithmException e
       115: .line 596
            getstatic org.glassfish.grizzly.ssl.SSLContextConfigurator.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Error initializing algorithm."
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       116: .line 597
            iload 1 /* throwException */
            ifeq 118
       117: .line 598
            new org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
            dup
            aload 3 /* e */
            invokespecial org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.NoSuchAlgorithmException e
       118: .line 602
      StackMap locals:
      StackMap stack:
            aload 2 /* sslContext */
            areturn
        end local 2 // javax.net.ssl.SSLContext sslContext
        end local 1 // boolean throwException
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  119     0                 this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0  119     1       throwException  Z
            1  119     2           sslContext  Ljavax/net/ssl/SSLContext;
            2  109     3  trustManagerFactory  Ljavax/net/ssl/TrustManagerFactory;
            3  109     4    keyManagerFactory  Ljavax/net/ssl/KeyManagerFactory;
            9   10     5             keyStore  Ljava/security/KeyStore;
           14   25     5             keyStore  Ljava/security/KeyStore;
           16   25     6         kmfAlgorithm  Ljava/lang/String;
           27   30     5                    e  Ljava/security/KeyStoreException;
           31   34     5                    e  Ljava/security/cert/CertificateException;
           35   38     5                    e  Ljava/security/UnrecoverableKeyException;
           39   42     5                    e  Ljava/io/FileNotFoundException;
           43   46     5                    e  Ljava/io/IOException;
           47   50     5                    e  Ljava/security/NoSuchAlgorithmException;
           51   52     5                    e  Ljava/security/NoSuchProviderException;
           58   59     5           trustStore  Ljava/security/KeyStore;
           63   72     5           trustStore  Ljava/security/KeyStore;
           65   72     6         tmfAlgorithm  Ljava/lang/String;
           74   77     5                    e  Ljava/security/KeyStoreException;
           78   81     5                    e  Ljava/security/cert/CertificateException;
           82   85     5                    e  Ljava/io/FileNotFoundException;
           86   89     5                    e  Ljava/io/IOException;
           90   93     5                    e  Ljava/security/NoSuchAlgorithmException;
           94   97     5                    e  Ljava/security/NoSuchProviderException;
           98  109     5          secProtocol  Ljava/lang/String;
          111  114     3                    e  Ljava/security/KeyManagementException;
          115  118     3                    e  Ljava/security/NoSuchAlgorithmException;
      Exception table:
        from    to  target  type
           4    25      26  Class java.security.KeyStoreException
           4    25      30  Class java.security.cert.CertificateException
           4    25      34  Class java.security.UnrecoverableKeyException
           4    25      38  Class java.io.FileNotFoundException
           4    25      42  Class java.io.IOException
           4    25      46  Class java.security.NoSuchAlgorithmException
           4    25      50  Class java.security.NoSuchProviderException
          53    72      73  Class java.security.KeyStoreException
          53    72      77  Class java.security.cert.CertificateException
          53    72      81  Class java.io.FileNotFoundException
          53    72      85  Class java.io.IOException
          53    72      89  Class java.security.NoSuchAlgorithmException
          53    72      93  Class java.security.NoSuchProviderException
           1   109     110  Class java.security.KeyManagementException
           1   109     114  Class java.security.NoSuchAlgorithmException
    MethodParameters:
                Name  Flags
      throwException  final

  public void retrieve(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
        start local 1 // java.util.Properties props
         0: .line 606
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.net.ssl.trustStoreProvider"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreProvider:Ljava/lang/String;
         1: .line 607
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.net.ssl.keyStoreProvider"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreProvider:Ljava/lang/String;
         2: .line 609
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.net.ssl.trustStoreType"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreType:Ljava/lang/String;
         3: .line 610
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.net.ssl.keyStoreType"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreType:Ljava/lang/String;
         4: .line 612
            aload 1 /* props */
            ldc "javax.net.ssl.trustStorePassword"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 9
         5: .line 613
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.net.ssl.trustStorePassword"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         6: .line 614
            invokevirtual java.lang.String.toCharArray:()[C
         7: .line 613
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStorePass:[C
         8: .line 615
            goto 10
         9: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStorePass:[C
        10: .line 619
      StackMap locals:
      StackMap stack:
            aload 1 /* props */
            ldc "javax.net.ssl.keyStorePassword"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 13
        11: .line 620
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.net.ssl.keyStorePassword"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStorePass:[C
        12: .line 621
            goto 14
        13: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStorePass:[C
        14: .line 625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.net.ssl.trustStore"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreFile:Ljava/lang/String;
        15: .line 626
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.net.ssl.keyStore"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreFile:Ljava/lang/String;
        16: .line 628
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.trustStoreBytes:[B
        17: .line 629
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.keyStoreBytes:[B
        18: .line 631
            aload 0 /* this */
            ldc "TLS"
            putfield org.glassfish.grizzly.ssl.SSLContextConfigurator.securityProtocol:Ljava/lang/String;
        19: .line 632
            return
        end local 1 // java.util.Properties props
        end local 0 // org.glassfish.grizzly.ssl.SSLContextConfigurator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lorg/glassfish/grizzly/ssl/SSLContextConfigurator;
            0   20     1  props  Ljava/util/Properties;
    MethodParameters:
       Name  Flags
      props  

  private static void loadBytes(byte[], java.lang.String, char[], java.security.KeyStore);
    descriptor: ([BLjava/lang/String;[CLjava/security/KeyStore;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // byte[] bytes
        start local 1 // java.lang.String storeFile
        start local 2 // char[] password
        start local 3 // java.security.KeyStore store
         0: .line 636
            aconst_null
            astore 4 /* inputStream */
        start local 4 // java.io.InputStream inputStream
         1: .line 638
            aload 0 /* bytes */
            ifnull 4
         2: .line 639
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 4 /* inputStream */
         3: .line 640
            goto 6
      StackMap locals: java.io.InputStream
      StackMap stack:
         4: ldc "NONE"
            aload 1 /* storeFile */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 641
            new java.io.FileInputStream
            dup
            aload 1 /* storeFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 4 /* inputStream */
         6: .line 644
      StackMap locals:
      StackMap stack:
            aload 3 /* store */
            aload 4 /* inputStream */
            aload 2 /* password */
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
         7: .line 645
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 647
            aload 4 /* inputStream */
            ifnull 13
        10: .line 648
            aload 4 /* inputStream */
            invokevirtual java.io.InputStream.close:()V
        11: .line 650
            goto 13
      StackMap locals: byte[] java.lang.String char[] java.security.KeyStore java.io.InputStream java.lang.Throwable
      StackMap stack: java.io.IOException
        12: pop
        13: .line 652
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        14: .line 647
      StackMap locals:
      StackMap stack:
            aload 4 /* inputStream */
            ifnull 18
        15: .line 648
            aload 4 /* inputStream */
            invokevirtual java.io.InputStream.close:()V
        16: .line 650
            goto 18
      StackMap locals:
      StackMap stack: java.io.IOException
        17: pop
        18: .line 653
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.io.InputStream inputStream
        end local 3 // java.security.KeyStore store
        end local 2 // char[] password
        end local 1 // java.lang.String storeFile
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0        bytes  [B
            0   19     1    storeFile  Ljava/lang/String;
            0   19     2     password  [C
            0   19     3        store  Ljava/security/KeyStore;
            1   19     4  inputStream  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           1     8       8  any
           9    11      12  Class java.io.IOException
          14    16      17  Class java.io.IOException
    Exceptions:
      throws java.io.IOException, java.security.cert.CertificateException, java.security.NoSuchAlgorithmException
    MethodParameters:
           Name  Flags
      bytes      final
      storeFile  final
      password   final
      store      final
}
SourceFile: "SSLContextConfigurator.java"
NestMembers:
  org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException
InnerClasses:
  public final GenericStoreException = org.glassfish.grizzly.ssl.SSLContextConfigurator$GenericStoreException of org.glassfish.grizzly.ssl.SSLContextConfigurator