final class javax.crypto.JceSecurity
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: javax.crypto.JceSecurity
  super_class: java.lang.Object
{
  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static javax.crypto.CryptoPermissions defaultPolicy;
    descriptor: Ljavax/crypto/CryptoPermissions;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static javax.crypto.CryptoPermissions exemptPolicy;
    descriptor: Ljavax/crypto/CryptoPermissions;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.util.Map<javax.crypto.JceSecurity$IdentityWrapper, java.lang.Object> verificationResults;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljavax/crypto/JceSecurity$IdentityWrapper;Ljava/lang/Object;>;

  private static final java.util.Map<java.security.Provider, java.lang.Object> verifyingProviders;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/security/Provider;Ljava/lang/Object;>;

  private static final boolean isRestricted;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Object PROVIDER_VERIFIED;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.net.URL NULL_URL;
    descriptor: Ljava/net/URL;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.Class<?>, java.net.URL> codeBaseCacheRef;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/net/URL;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 78
            ldc "jca"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
         1: .line 82
            aconst_null
            putstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
         2: .line 83
            aconst_null
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
         3: .line 89
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
         4: .line 93
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
         5: .line 92
            putstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
         6: .line 106
            new javax.crypto.JceSecurity$1
            dup
            invokespecial javax.crypto.JceSecurity$1.<init>:()V
         7: .line 105
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         8: .line 115
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
         9: .line 116
            getstatic javax.crypto.CryptoAllPermission.INSTANCE:Ljavax/crypto/CryptoAllPermission;
        10: .line 115
            invokevirtual javax.crypto.CryptoPermissions.implies:(Ljava/security/Permission;)Z
        11: .line 116
            ifeq 12
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_1
        13: .line 115
      StackMap locals:
      StackMap stack: int
            putstatic javax.crypto.JceSecurity.isRestricted:Z
        14: .line 117
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: astore 0 /* e */
        start local 0 // java.lang.Exception e
        16: .line 118
            new java.lang.SecurityException
            dup
        17: .line 119
            ldc "Can not initialize cryptographic mechanism"
            aload 0 /* e */
        18: .line 118
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        19: .line 192
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
        20: .line 245
            new java.net.URL
            dup
            ldc "http://null.oracle.com/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            putstatic javax.crypto.JceSecurity.NULL_URL:Ljava/net/URL;
        21: .line 246
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Exception
        22: astore 0 /* e */
        start local 0 // java.lang.Exception e
        23: .line 247
            new java.lang.RuntimeException
            dup
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        24: .line 253
      StackMap locals:
      StackMap stack:
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
        25: .line 252
            putstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
        26: .line 253
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           16   19     0     e  Ljava/lang/Exception;
           23   24     0     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6    14      15  Class java.lang.Exception
          20    21      22  Class java.lang.Exception

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.crypto.JceSecurity this
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            return
        end local 0 // javax.crypto.JceSecurity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/crypto/JceSecurity;

  static sun.security.jca.GetInstance$Instance getInstance(java.lang.String, java.lang.Class<?>, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.lang.String type
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String algorithm
        start local 3 // java.lang.String provider
         0: .line 126
            aload 0 /* type */
            aload 2 /* algorithm */
            aload 3 /* provider */
            invokestatic sun.security.jca.GetInstance.getService:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
            astore 4 /* s */
        start local 4 // java.security.Provider$Service s
         1: .line 127
            aload 4 /* s */
            invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
            invokestatic javax.crypto.JceSecurity.getVerificationResult:(Ljava/security/Provider;)Ljava/lang/Exception;
            astore 5 /* ve */
        start local 5 // java.lang.Exception ve
         2: .line 128
            aload 5 /* ve */
            ifnull 6
         3: .line 129
            new java.lang.StringBuilder
            dup
            ldc "JCE cannot authenticate the provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         4: .line 131
            new java.security.NoSuchProviderException
            dup
            aload 6 /* msg */
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            aload 5 /* ve */
            invokevirtual java.security.NoSuchProviderException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
         5: .line 130
            checkcast java.security.NoSuchProviderException
            athrow
        end local 6 // java.lang.String msg
         6: .line 133
      StackMap locals: java.security.Provider$Service java.lang.Exception
      StackMap stack:
            aload 4 /* s */
            aload 1 /* clazz */
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            areturn
        end local 5 // java.lang.Exception ve
        end local 4 // java.security.Provider$Service s
        end local 3 // java.lang.String provider
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       type  Ljava/lang/String;
            0    7     1      clazz  Ljava/lang/Class<*>;
            0    7     2  algorithm  Ljava/lang/String;
            0    7     3   provider  Ljava/lang/String;
            1    7     4          s  Ljava/security/Provider$Service;
            2    7     5         ve  Ljava/lang/Exception;
            4    6     6        msg  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
    MethodParameters:
           Name  Flags
      type       
      clazz      
      algorithm  
      provider   

  static sun.security.jca.GetInstance$Instance getInstance(java.lang.String, java.lang.Class<?>, java.lang.String, java.security.Provider);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.lang.String type
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String algorithm
        start local 3 // java.security.Provider provider
         0: .line 138
            aload 0 /* type */
            aload 2 /* algorithm */
            aload 3 /* provider */
            invokestatic sun.security.jca.GetInstance.getService:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Provider$Service;
            astore 4 /* s */
        start local 4 // java.security.Provider$Service s
         1: .line 139
            aload 3 /* provider */
            invokestatic javax.crypto.JceSecurity.getVerificationResult:(Ljava/security/Provider;)Ljava/lang/Exception;
            astore 5 /* ve */
        start local 5 // java.lang.Exception ve
         2: .line 140
            aload 5 /* ve */
            ifnull 7
         3: .line 141
            new java.lang.StringBuilder
            dup
            ldc "JCE cannot authenticate the provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 142
            aload 3 /* provider */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 141
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         6: .line 143
            new java.lang.SecurityException
            dup
            aload 6 /* msg */
            aload 5 /* ve */
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.String msg
         7: .line 145
      StackMap locals: java.security.Provider$Service java.lang.Exception
      StackMap stack:
            aload 4 /* s */
            aload 1 /* clazz */
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            areturn
        end local 5 // java.lang.Exception ve
        end local 4 // java.security.Provider$Service s
        end local 3 // java.security.Provider provider
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       type  Ljava/lang/String;
            0    8     1      clazz  Ljava/lang/Class<*>;
            0    8     2  algorithm  Ljava/lang/String;
            0    8     3   provider  Ljava/security/Provider;
            1    8     4          s  Ljava/security/Provider$Service;
            2    8     5         ve  Ljava/lang/Exception;
            6    7     6        msg  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
    MethodParameters:
           Name  Flags
      type       
      clazz      
      algorithm  
      provider   

  static sun.security.jca.GetInstance$Instance getInstance(java.lang.String, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String type
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String algorithm
         0: .line 150
            aload 0 /* type */
            aload 2 /* algorithm */
            invokestatic sun.security.jca.GetInstance.getServices:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
            astore 3 /* services */
        start local 3 // java.util.List services
         1: .line 151
            aconst_null
            astore 4 /* failure */
        start local 4 // java.security.NoSuchAlgorithmException failure
         2: .line 152
            aload 3 /* services */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: java.lang.String java.lang.Class java.lang.String java.util.List java.security.NoSuchAlgorithmException top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.Provider$Service
            astore 5 /* s */
        start local 5 // java.security.Provider$Service s
         4: .line 153
            aload 5 /* s */
            invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
            invokestatic javax.crypto.JceSecurity.canUseProvider:(Ljava/security/Provider;)Z
            ifne 6
         5: .line 155
            goto 11
         6: .line 158
      StackMap locals: java.lang.String java.lang.Class java.lang.String java.util.List java.security.NoSuchAlgorithmException java.security.Provider$Service java.util.Iterator
      StackMap stack:
            aload 5 /* s */
            aload 1 /* clazz */
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            astore 7 /* instance */
        start local 7 // sun.security.jca.GetInstance$Instance instance
         7: .line 159
            aload 7 /* instance */
         8: areturn
        end local 7 // sun.security.jca.GetInstance$Instance instance
         9: .line 160
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 7 /* e */
        start local 7 // java.security.NoSuchAlgorithmException e
        10: .line 161
            aload 7 /* e */
            astore 4 /* failure */
        end local 7 // java.security.NoSuchAlgorithmException e
        end local 5 // java.security.Provider$Service s
        11: .line 152
      StackMap locals: java.lang.String java.lang.Class java.lang.String java.util.List java.security.NoSuchAlgorithmException top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 164
            new java.security.NoSuchAlgorithmException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Algorithm "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* algorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 165
            ldc " not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* failure */
        14: .line 164
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.NoSuchAlgorithmException failure
        end local 3 // java.util.List services
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       type  Ljava/lang/String;
            0   15     1      clazz  Ljava/lang/Class<*>;
            0   15     2  algorithm  Ljava/lang/String;
            1   15     3   services  Ljava/util/List<Ljava/security/Provider$Service;>;
            2   15     4    failure  Ljava/security/NoSuchAlgorithmException;
            4   11     5          s  Ljava/security/Provider$Service;
            7    9     7   instance  Lsun/security/jca/GetInstance$Instance;
           10   11     7          e  Ljava/security/NoSuchAlgorithmException;
      Exception table:
        from    to  target  type
           6     8       9  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
    MethodParameters:
           Name  Flags
      type       
      clazz      
      algorithm  

  static javax.crypto.CryptoPermissions verifyExemptJar(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljavax/crypto/CryptoPermissions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.net.URL codeBase
         0: .line 175
            new javax.crypto.ProviderVerifier
            dup
            aload 0 /* codeBase */
            iconst_1
            invokespecial javax.crypto.ProviderVerifier.<init>:(Ljava/net/URL;Z)V
            astore 1 /* pv */
        start local 1 // javax.crypto.ProviderVerifier pv
         1: .line 176
            aload 1 /* pv */
            invokevirtual javax.crypto.ProviderVerifier.verify:()V
         2: .line 177
            aload 1 /* pv */
            invokevirtual javax.crypto.ProviderVerifier.getPermissions:()Ljavax/crypto/CryptoPermissions;
            areturn
        end local 1 // javax.crypto.ProviderVerifier pv
        end local 0 // java.net.URL codeBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  codeBase  Ljava/net/URL;
            1    3     1        pv  Ljavax/crypto/ProviderVerifier;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      codeBase  

  static void verifyProvider(java.net.URL, java.security.Provider);
    descriptor: (Ljava/net/URL;Ljava/security/Provider;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.net.URL codeBase
        start local 1 // java.security.Provider p
         0: .line 188
            new javax.crypto.ProviderVerifier
            dup
            aload 0 /* codeBase */
            aload 1 /* p */
            iconst_0
            invokespecial javax.crypto.ProviderVerifier.<init>:(Ljava/net/URL;Ljava/security/Provider;Z)V
            astore 2 /* pv */
        start local 2 // javax.crypto.ProviderVerifier pv
         1: .line 189
            aload 2 /* pv */
            invokevirtual javax.crypto.ProviderVerifier.verify:()V
         2: .line 190
            return
        end local 2 // javax.crypto.ProviderVerifier pv
        end local 1 // java.security.Provider p
        end local 0 // java.net.URL codeBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  codeBase  Ljava/net/URL;
            0    3     1         p  Ljava/security/Provider;
            1    3     2        pv  Ljavax/crypto/ProviderVerifier;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      codeBase  
      p         

  static java.lang.Exception getVerificationResult(java.security.Provider);
    descriptor: (Ljava/security/Provider;)Ljava/lang/Exception;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.security.Provider p
         0: .line 201
            new javax.crypto.JceSecurity$IdentityWrapper
            dup
            aload 0 /* p */
            invokespecial javax.crypto.JceSecurity$IdentityWrapper.<init>:(Ljava/security/Provider;)V
            astore 1 /* pKey */
        start local 1 // javax.crypto.JceSecurity$IdentityWrapper pKey
         1: .line 202
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 1 /* pKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         2: .line 204
            aload 2 /* o */
            ifnonnull 32
         3: .line 205
            ldc Ljavax/crypto/JceSecurity;
            dup
            astore 3
            monitorenter
         4: .line 207
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 1 /* pKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* o */
         5: .line 208
            aload 2 /* o */
            ifnonnull 28
         6: .line 209
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 11
         7: .line 211
            new java.security.NoSuchProviderException
            dup
         8: .line 212
            ldc "Recursion during verification"
         9: .line 211
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            aload 3
            monitorexit
        10: areturn
        11: .line 215
      StackMap locals: javax.crypto.JceSecurity$IdentityWrapper java.lang.Object java.lang.Class
      StackMap stack:
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 216
            aload 0 /* p */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic javax.crypto.JceSecurity.getCodeBase:(Ljava/lang/Class;)Ljava/net/URL;
            astore 4 /* providerURL */
        start local 4 // java.net.URL providerURL
        13: .line 217
            aload 4 /* providerURL */
            aload 0 /* p */
            invokestatic javax.crypto.JceSecurity.verifyProvider:(Ljava/net/URL;Ljava/security/Provider;)V
        14: .line 218
            getstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
            astore 2 /* o */
        end local 4 // java.net.URL providerURL
        15: .line 219
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Exception
        16: astore 4 /* e */
        start local 4 // java.lang.Exception e
        17: .line 220
            aload 4 /* e */
            astore 2 /* o */
        end local 4 // java.lang.Exception e
        18: .line 222
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
            goto 23
        19: .line 221
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        20: .line 222
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 223
            aload 5
            athrow
        22: .line 222
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 224
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 1 /* pKey */
            aload 2 /* o */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 225
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
            ifnull 28
        25: .line 226
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* p */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 227
            ldc " verification result: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* o */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 226
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 205
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        29: goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: aload 3
            monitorexit
        31: athrow
        32: .line 232
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            getstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
            if_acmpne 33
            aconst_null
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 2 /* o */
            checkcast java.lang.Exception
      StackMap locals:
      StackMap stack: java.lang.Exception
        34: areturn
        end local 2 // java.lang.Object o
        end local 1 // javax.crypto.JceSecurity$IdentityWrapper pKey
        end local 0 // java.security.Provider p
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0            p  Ljava/security/Provider;
            1   35     1         pKey  Ljavax/crypto/JceSecurity$IdentityWrapper;
            2   35     2            o  Ljava/lang/Object;
           13   15     4  providerURL  Ljava/net/URL;
           17   18     4            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          11    15      16  Class java.lang.Exception
          11    18      19  any
           4    10      30  any
          11    29      30  any
          30    31      30  any
    MethodParameters:
      Name  Flags
      p     

  static boolean canUseProvider(java.security.Provider);
    descriptor: (Ljava/security/Provider;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.Provider p
         0: .line 237
            aload 0 /* p */
            invokestatic javax.crypto.JceSecurity.getVerificationResult:(Ljava/security/Provider;)Ljava/lang/Exception;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.security.Provider p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     p  Ljava/security/Provider;
    MethodParameters:
      Name  Flags
      p     

  static java.net.URL getCodeBase(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/net/URL;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 259
            getstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 260
            getstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
            aload 0 /* clazz */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.net.URL
            astore 2 /* url */
        start local 2 // java.net.URL url
         2: .line 261
            aload 2 /* url */
            ifnonnull 6
         3: .line 263
            new javax.crypto.JceSecurity$2
            dup
            aload 0 /* clazz */
            invokespecial javax.crypto.JceSecurity$2.<init>:(Ljava/lang/Class;)V
         4: .line 262
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.net.URL
            astore 2 /* url */
         5: .line 276
            getstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
            aload 0 /* clazz */
            aload 2 /* url */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 278
      StackMap locals: java.util.Map java.net.URL
      StackMap stack:
            aload 2 /* url */
            getstatic javax.crypto.JceSecurity.NULL_URL:Ljava/net/URL;
            if_acmpne 7
            aconst_null
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 2 /* url */
      StackMap locals:
      StackMap stack: java.net.URL
         8: aload 1
            monitorexit
         9: areturn
        end local 2 // java.net.URL url
        10: .line 259
      StackMap locals: java.lang.Class java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        11: athrow
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0  clazz  Ljava/lang/Class<*>;
            2   10     2    url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    Signature: (Ljava/lang/Class<*>;)Ljava/net/URL;
    MethodParameters:
       Name  Flags
      clazz  final

  private static void setupJurisdictionPolicies();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=0
         0: .line 288
            ldc "crypto.policy"
            invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* cryptoPolicyProperty */
        start local 0 // java.lang.String cryptoPolicyProperty
         1: .line 298
            aload 0 /* cryptoPolicyProperty */
            ifnonnull 9
         2: .line 299
            ldc "unlimited"
            astore 0 /* cryptoPolicyProperty */
         3: .line 300
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
            ifnull 9
         4: .line 301
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
         5: .line 302
            new java.lang.StringBuilder
            dup
            ldc "Security Property 'crypto.policy' not found: using '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 303
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' as fallback"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 302
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 301
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 307
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* cryptoPolicyProperty */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 1 /* cpPath */
        start local 1 // java.nio.file.Path cpPath
        10: .line 309
            aload 1 /* cpPath */
            invokeinterface java.nio.file.Path.getNameCount:()I
            iconst_1
            if_icmpne 12
        11: .line 310
            aload 1 /* cpPath */
            aload 1 /* cpPath */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.compareTo:(Ljava/nio/file/Path;)I
            ifeq 17
        12: .line 311
      StackMap locals: java.nio.file.Path
      StackMap stack:
            new java.lang.SecurityException
            dup
        13: .line 312
            new java.lang.StringBuilder
            dup
            ldc "Invalid policy directory name format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 313
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 312
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 311
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 318
      StackMap locals:
      StackMap stack:
            invokestatic jdk.internal.util.StaticProperty.javaHome:()Ljava/lang/String;
            astore 2 /* javaHomeProperty */
        start local 2 // java.lang.String javaHomeProperty
        18: .line 319
            aload 2 /* javaHomeProperty */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "conf"
            aastore
            dup
            iconst_1
        19: .line 320
            ldc "security"
            aastore
            dup
            iconst_2
            ldc "policy"
            aastore
        20: .line 319
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
        21: .line 320
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
        22: .line 319
            astore 3 /* javaHomePolicyPath */
        start local 3 // java.nio.file.Path javaHomePolicyPath
        23: .line 321
            aload 2 /* javaHomeProperty */
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "conf"
            aastore
            dup
            iconst_1
            ldc "security"
            aastore
            dup
            iconst_2
        24: .line 322
            ldc "policy"
            aastore
            dup
            iconst_3
            aload 0 /* cryptoPolicyProperty */
            aastore
        25: .line 321
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
        26: .line 322
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
        27: .line 321
            astore 4 /* cryptoPolicyPath */
        start local 4 // java.nio.file.Path cryptoPolicyPath
        28: .line 324
            aload 4 /* cryptoPolicyPath */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            aload 3 /* javaHomePolicyPath */
            invokeinterface java.nio.file.Path.compareTo:(Ljava/nio/file/Path;)I
            ifeq 34
        29: .line 325
            new java.lang.SecurityException
            dup
        30: .line 326
            new java.lang.StringBuilder
            dup
            ldc "Invalid cryptographic jurisdiction policy directory path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 327
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 326
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 325
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 330
      StackMap locals: java.lang.String java.nio.file.Path java.nio.file.Path
      StackMap stack:
            aload 4 /* cryptoPolicyPath */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 36
        35: .line 331
            aload 4 /* cryptoPolicyPath */
            invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
            ifne 41
        36: .line 332
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        37: .line 333
            new java.lang.StringBuilder
            dup
            ldc "Can't read cryptographic policy directory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 334
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 333
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 332
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 337
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
        42: .line 338
            aload 4 /* cryptoPolicyPath */
            ldc "{default,exempt}_*.policy"
        43: .line 337
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;
            astore 7 /* stream */
        start local 7 // java.nio.file.DirectoryStream stream
        44: .line 339
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 9
            goto 80
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
        45: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 8 /* entry */
        start local 8 // java.nio.file.Path entry
        46: .line 340
            aconst_null
            astore 10
            aconst_null
            astore 11
        47: new java.io.BufferedInputStream
            dup
        48: .line 341
            aload 8 /* entry */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
        49: .line 340
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 12 /* is */
        start local 12 // java.io.InputStream is
        50: .line 342
            aload 8 /* entry */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 13 /* filename */
        start local 13 // java.lang.String filename
        51: .line 344
            new javax.crypto.CryptoPermissions
            dup
            invokespecial javax.crypto.CryptoPermissions.<init>:()V
            astore 14 /* tmpPerms */
        start local 14 // javax.crypto.CryptoPermissions tmpPerms
        52: .line 345
            aload 14 /* tmpPerms */
            aload 12 /* is */
            invokevirtual javax.crypto.CryptoPermissions.load:(Ljava/io/InputStream;)V
        53: .line 347
            aload 13 /* filename */
            ldc "default_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 58
        54: .line 349
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            ifnonnull 55
            aload 14 /* tmpPerms */
            goto 56
        55: .line 350
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.String javax.crypto.CryptoPermissions
      StackMap stack:
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            aload 14 /* tmpPerms */
            invokevirtual javax.crypto.CryptoPermissions.getMinimum:(Ljavax/crypto/CryptoPermissions;)Ljavax/crypto/CryptoPermissions;
        56: .line 349
      StackMap locals:
      StackMap stack: javax.crypto.CryptoPermissions
            putstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
        57: .line 351
            goto 68
      StackMap locals:
      StackMap stack:
        58: aload 13 /* filename */
            ldc "exempt_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 63
        59: .line 353
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            ifnonnull 60
            aload 14 /* tmpPerms */
            goto 61
        60: .line 354
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            aload 14 /* tmpPerms */
            invokevirtual javax.crypto.CryptoPermissions.getMinimum:(Ljavax/crypto/CryptoPermissions;)Ljavax/crypto/CryptoPermissions;
        61: .line 353
      StackMap locals:
      StackMap stack: javax.crypto.CryptoPermissions
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
        62: .line 355
            goto 68
        63: .line 358
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        64: .line 359
            new java.lang.StringBuilder
            dup
            ldc "Unexpected jurisdiction policy files in : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        65: .line 360
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        66: .line 359
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        67: .line 358
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // javax.crypto.CryptoPermissions tmpPerms
        end local 13 // java.lang.String filename
        68: .line 362
      StackMap locals:
      StackMap stack:
            aload 12 /* is */
            ifnull 80
            aload 12 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 80
      StackMap locals:
      StackMap stack: java.lang.Throwable
        69: astore 10
            aload 12 /* is */
            ifnull 70
            aload 12 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 12 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        70: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        71: astore 11
            aload 10
            ifnonnull 72
            aload 11
            astore 10
            goto 73
      StackMap locals:
      StackMap stack:
        72: aload 10
            aload 11
            if_acmpeq 73
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        73: aload 10
            athrow
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
      StackMap stack: java.lang.Exception
        74: pop
        75: .line 363
            new java.lang.SecurityException
            dup
        76: .line 364
            new java.lang.StringBuilder
            dup
            ldc "Couldn't parse jurisdiction policy files in: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        77: .line 365
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        78: .line 364
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        79: .line 363
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.nio.file.Path entry
        80: .line 339
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 45
        81: .line 368
            aload 7 /* stream */
            ifnull 93
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 93
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        82: astore 5
            aload 7 /* stream */
            ifnull 83
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 7 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        83: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        84: astore 6
            aload 5
            ifnonnull 85
            aload 6
            astore 5
            goto 86
      StackMap locals:
      StackMap stack:
        85: aload 5
            aload 6
            if_acmpeq 86
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        86: aload 5
            athrow
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path
      StackMap stack: java.nio.file.DirectoryIteratorException
        87: pop
        88: .line 371
            new java.lang.SecurityException
            dup
        89: .line 372
            new java.lang.StringBuilder
            dup
            ldc "Couldn't iterate through the jurisdiction policy files: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        90: .line 373
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        91: .line 372
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        92: .line 371
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        93: .line 377
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            ifnull 94
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            invokevirtual javax.crypto.CryptoPermissions.isEmpty:()Z
            ifeq 99
        94: .line 378
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        95: .line 379
            new java.lang.StringBuilder
            dup
            ldc "Missing mandatory jurisdiction policy files: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        96: .line 380
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        97: .line 379
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        98: .line 378
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        99: .line 384
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            ifnull 101
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            invokevirtual javax.crypto.CryptoPermissions.isEmpty:()Z
            ifeq 101
       100: .line 385
            aconst_null
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
       101: .line 387
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.file.Path cryptoPolicyPath
        end local 3 // java.nio.file.Path javaHomePolicyPath
        end local 2 // java.lang.String javaHomeProperty
        end local 1 // java.nio.file.Path cpPath
        end local 0 // java.lang.String cryptoPolicyProperty
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            1  102     0  cryptoPolicyProperty  Ljava/lang/String;
           10  102     1                cpPath  Ljava/nio/file/Path;
           18  102     2      javaHomeProperty  Ljava/lang/String;
           23  102     3    javaHomePolicyPath  Ljava/nio/file/Path;
           28  102     4      cryptoPolicyPath  Ljava/nio/file/Path;
           44   83     7                stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           46   80     8                 entry  Ljava/nio/file/Path;
           50   70    12                    is  Ljava/io/InputStream;
           51   68    13              filename  Ljava/lang/String;
           52   68    14              tmpPerms  Ljavax/crypto/CryptoPermissions;
      Exception table:
        from    to  target  type
          50    68      69  any
          47    71      71  any
          46    74      74  Class java.lang.Exception
          44    81      82  any
          42    84      84  any
          41    87      87  Class java.nio.file.DirectoryIteratorException
    Exceptions:
      throws java.lang.Exception

  static javax.crypto.CryptoPermissions getDefaultPolicy();
    descriptor: ()Ljavax/crypto/CryptoPermissions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 390
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static javax.crypto.CryptoPermissions getExemptPolicy();
    descriptor: ()Ljavax/crypto/CryptoPermissions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 394
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean isRestricted();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 398
            getstatic javax.crypto.JceSecurity.isRestricted:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JceSecurity.java"
NestMembers:
  javax.crypto.JceSecurity$1  javax.crypto.JceSecurity$2  javax.crypto.JceSecurity$IdentityWrapper
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  javax.crypto.JceSecurity$1
  javax.crypto.JceSecurity$2
  private final IdentityWrapper = javax.crypto.JceSecurity$IdentityWrapper of javax.crypto.JceSecurity
  public final Instance = sun.security.jca.GetInstance$Instance of sun.security.jca.GetInstance