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

  static final java.security.SecureRandom RANDOM;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0018) 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 79
            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 81
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            putstatic javax.crypto.JceSecurity.RANDOM:Ljava/security/SecureRandom;
         2: .line 85
            aconst_null
            putstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
         3: .line 86
            aconst_null
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
         4: .line 92
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
         5: .line 96
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
         6: .line 95
            putstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
         7: .line 109
            new javax.crypto.JceSecurity$1
            dup
            invokespecial javax.crypto.JceSecurity$1.<init>:()V
         8: .line 108
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         9: .line 118
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
        10: .line 119
            getstatic javax.crypto.CryptoAllPermission.INSTANCE:Ljavax/crypto/CryptoAllPermission;
        11: .line 118
            invokevirtual javax.crypto.CryptoPermissions.implies:(Ljava/security/Permission;)Z
        12: .line 119
            ifeq 13
            iconst_0
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_1
        14: .line 118
      StackMap locals:
      StackMap stack: int
            putstatic javax.crypto.JceSecurity.isRestricted:Z
        15: .line 120
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Exception
        16: astore 0 /* e */
        start local 0 // java.lang.Exception e
        17: .line 121
            new java.lang.SecurityException
            dup
        18: .line 122
            ldc "Can not initialize cryptographic mechanism"
            aload 0 /* e */
        19: .line 121
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        20: .line 195
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
        21: .line 248
            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;
        22: .line 249
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Exception
        23: astore 0 /* e */
        start local 0 // java.lang.Exception e
        24: .line 250
            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
        25: .line 256
      StackMap locals:
      StackMap stack:
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
        26: .line 255
            putstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
        27: .line 256
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           17   20     0     e  Ljava/lang/Exception;
           24   25     0     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7    15      16  Class java.lang.Exception
          21    22      23  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 103
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 104
            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 129
            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 130
            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 131
            aload 5 /* ve */
            ifnull 6
         3: .line 132
            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 134
            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 133
            checkcast java.security.NoSuchProviderException
            athrow
        end local 6 // java.lang.String msg
         6: .line 136
      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 141
            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 142
            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 143
            aload 5 /* ve */
            ifnull 7
         3: .line 144
            new java.lang.StringBuilder
            dup
            ldc "JCE cannot authenticate the provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 145
            aload 3 /* provider */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 144
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         6: .line 146
            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 148
      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 153
            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 154
            aconst_null
            astore 4 /* failure */
        start local 4 // java.security.NoSuchAlgorithmException failure
         2: .line 155
            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 156
            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 158
            goto 11
         6: .line 161
      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 162
            aload 7 /* instance */
         8: areturn
        end local 7 // sun.security.jca.GetInstance$Instance instance
         9: .line 163
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 7 /* e */
        start local 7 // java.security.NoSuchAlgorithmException e
        10: .line 164
            aload 7 /* e */
            astore 4 /* failure */
        end local 7 // java.security.NoSuchAlgorithmException e
        end local 5 // java.security.Provider$Service s
        11: .line 155
      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 167
            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 168
            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 167
            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 178
            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 179
            aload 1 /* pv */
            invokevirtual javax.crypto.ProviderVerifier.verify:()V
         2: .line 180
            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 191
            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 192
            aload 2 /* pv */
            invokevirtual javax.crypto.ProviderVerifier.verify:()V
         2: .line 193
            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 204
            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 205
            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 207
            aload 2 /* o */
            ifnonnull 32
         3: .line 208
            ldc Ljavax/crypto/JceSecurity;
            dup
            astore 3
            monitorenter
         4: .line 210
            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 211
            aload 2 /* o */
            ifnonnull 28
         6: .line 212
            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 214
            new java.security.NoSuchProviderException
            dup
         8: .line 215
            ldc "Recursion during verification"
         9: .line 214
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            aload 3
            monitorexit
        10: areturn
        11: .line 218
      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 219
            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 220
            aload 4 /* providerURL */
            aload 0 /* p */
            invokestatic javax.crypto.JceSecurity.verifyProvider:(Ljava/net/URL;Ljava/security/Provider;)V
        14: .line 221
            getstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
            astore 2 /* o */
        end local 4 // java.net.URL providerURL
        15: .line 222
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Exception
        16: astore 4 /* e */
        start local 4 // java.lang.Exception e
        17: .line 223
            aload 4 /* e */
            astore 2 /* o */
        end local 4 // java.lang.Exception e
        18: .line 225
            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 224
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        20: .line 225
            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 226
            aload 5
            athrow
        22: .line 225
      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 227
      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 228
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
            ifnull 28
        25: .line 229
            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 230
            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 229
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 208
      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 235
      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 240
            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 262
            getstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 263
            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 264
            aload 2 /* url */
            ifnonnull 6
         3: .line 266
            new javax.crypto.JceSecurity$2
            dup
            aload 0 /* clazz */
            invokespecial javax.crypto.JceSecurity$2.<init>:(Ljava/lang/Class;)V
         4: .line 265
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.net.URL
            astore 2 /* url */
         5: .line 279
            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 281
      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 262
      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 291
            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 301
            aload 0 /* cryptoPolicyProperty */
            ifnonnull 9
         2: .line 302
            ldc "unlimited"
            astore 0 /* cryptoPolicyProperty */
         3: .line 303
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
            ifnull 9
         4: .line 304
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
         5: .line 305
            new java.lang.StringBuilder
            dup
            ldc "Security Property 'crypto.policy' not found: using '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 306
            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 305
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 304
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 310
      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 312
            aload 1 /* cpPath */
            invokeinterface java.nio.file.Path.getNameCount:()I
            iconst_1
            if_icmpne 12
        11: .line 313
            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 314
      StackMap locals: java.nio.file.Path
      StackMap stack:
            new java.lang.SecurityException
            dup
        13: .line 315
            new java.lang.StringBuilder
            dup
            ldc "Invalid policy directory name format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 316
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 315
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 314
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 321
      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 322
            aload 2 /* javaHomeProperty */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "conf"
            aastore
            dup
            iconst_1
        19: .line 323
            ldc "security"
            aastore
            dup
            iconst_2
            ldc "policy"
            aastore
        20: .line 322
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
        21: .line 323
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
        22: .line 322
            astore 3 /* javaHomePolicyPath */
        start local 3 // java.nio.file.Path javaHomePolicyPath
        23: .line 324
            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 325
            ldc "policy"
            aastore
            dup
            iconst_3
            aload 0 /* cryptoPolicyProperty */
            aastore
        25: .line 324
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
        26: .line 325
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
        27: .line 324
            astore 4 /* cryptoPolicyPath */
        start local 4 // java.nio.file.Path cryptoPolicyPath
        28: .line 327
            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 328
            new java.lang.SecurityException
            dup
        30: .line 329
            new java.lang.StringBuilder
            dup
            ldc "Invalid cryptographic jurisdiction policy directory path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 330
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 329
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 328
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 333
      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 334
            aload 4 /* cryptoPolicyPath */
            invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
            ifne 41
        36: .line 335
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        37: .line 336
            new java.lang.StringBuilder
            dup
            ldc "Can't read cryptographic policy directory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 337
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 336
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 335
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 340
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
        42: .line 341
            aload 4 /* cryptoPolicyPath */
            ldc "{default,exempt}_*.policy"
        43: .line 340
            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 342
            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 343
            aconst_null
            astore 10
            aconst_null
            astore 11
        47: new java.io.BufferedInputStream
            dup
        48: .line 344
            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 343
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 12 /* is */
        start local 12 // java.io.InputStream is
        50: .line 345
            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 347
            new javax.crypto.CryptoPermissions
            dup
            invokespecial javax.crypto.CryptoPermissions.<init>:()V
            astore 14 /* tmpPerms */
        start local 14 // javax.crypto.CryptoPermissions tmpPerms
        52: .line 348
            aload 14 /* tmpPerms */
            aload 12 /* is */
            invokevirtual javax.crypto.CryptoPermissions.load:(Ljava/io/InputStream;)V
        53: .line 350
            aload 13 /* filename */
            ldc "default_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 58
        54: .line 352
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            ifnonnull 55
            aload 14 /* tmpPerms */
            goto 56
        55: .line 353
      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 352
      StackMap locals:
      StackMap stack: javax.crypto.CryptoPermissions
            putstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
        57: .line 354
            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 356
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            ifnonnull 60
            aload 14 /* tmpPerms */
            goto 61
        60: .line 357
      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 356
      StackMap locals:
      StackMap stack: javax.crypto.CryptoPermissions
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
        62: .line 358
            goto 68
        63: .line 361
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        64: .line 362
            new java.lang.StringBuilder
            dup
            ldc "Unexpected jurisdiction policy files in : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        65: .line 363
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        66: .line 362
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        67: .line 361
            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 365
      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 366
            new java.lang.SecurityException
            dup
        76: .line 367
            new java.lang.StringBuilder
            dup
            ldc "Couldn't parse jurisdiction policy files in: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        77: .line 368
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        78: .line 367
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        79: .line 366
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.nio.file.Path entry
        80: .line 342
      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 371
            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 374
            new java.lang.SecurityException
            dup
        89: .line 375
            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 376
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        91: .line 375
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        92: .line 374
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        93: .line 380
      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 381
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        95: .line 382
            new java.lang.StringBuilder
            dup
            ldc "Missing mandatory jurisdiction policy files: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        96: .line 383
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        97: .line 382
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        98: .line 381
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        99: .line 387
      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 388
            aconst_null
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
       101: .line 390
      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 393
            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 397
            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 401
            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