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
{
  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<java.security.Provider, java.lang.Object> verificationResults;
    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 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 sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    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 52
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            putstatic javax.crypto.JceSecurity.RANDOM:Ljava/security/SecureRandom;
         1: .line 56
            aconst_null
            putstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
         2: .line 57
            aconst_null
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
         3: .line 63
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
         4: .line 62
            putstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
         5: .line 67
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
         6: .line 66
            putstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
         7: .line 72
            ldc "jca"
            ldc "Cipher"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
         8: .line 71
            putstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
         9: .line 83
            new javax.crypto.JceSecurity$1
            dup
            invokespecial javax.crypto.JceSecurity$1.<init>:()V
        10: .line 82
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        11: .line 90
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
        12: .line 91
            getstatic javax.crypto.CryptoAllPermission.INSTANCE:Ljavax/crypto/CryptoAllPermission;
        13: .line 90
            invokevirtual javax.crypto.CryptoPermissions.implies:(Ljava/security/Permission;)Z
        14: .line 91
            ifeq 15
            iconst_0
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_1
        16: .line 90
      StackMap locals:
      StackMap stack: int
            putstatic javax.crypto.JceSecurity.isRestricted:Z
        17: .line 92
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Exception
        18: astore 0 /* e */
        start local 0 // java.lang.Exception e
        19: .line 93
            new java.lang.SecurityException
            dup
        20: .line 94
            ldc "Can not initialize cryptographic mechanism"
            aload 0 /* e */
        21: .line 93
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        22: .line 167
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
        23: .line 212
            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;
        24: .line 213
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Exception
        25: astore 0 /* e */
        start local 0 // java.lang.Exception e
        26: .line 214
            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
        27: .line 220
      StackMap locals:
      StackMap stack:
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
        28: .line 219
            putstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
        29: .line 220
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           19   22     0     e  Ljava/lang/Exception;
           26   27     0     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    17      18  Class java.lang.Exception
          23    24      25  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 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            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 101
            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 102
            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 103
            aload 5 /* ve */
            ifnull 6
         3: .line 104
            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 106
            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 105
            checkcast java.security.NoSuchProviderException
            athrow
        end local 6 // java.lang.String msg
         6: .line 108
      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 113
            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 114
            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 115
            aload 5 /* ve */
            ifnull 7
         3: .line 116
            new java.lang.StringBuilder
            dup
            ldc "JCE cannot authenticate the provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 117
            aload 3 /* provider */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 116
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         6: .line 118
            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 120
      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 125
            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 126
            aconst_null
            astore 4 /* failure */
        start local 4 // java.security.NoSuchAlgorithmException failure
         2: .line 127
            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 128
            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 130
            goto 11
         6: .line 133
      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 134
            aload 7 /* instance */
         8: areturn
        end local 7 // sun.security.jca.GetInstance$Instance instance
         9: .line 135
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 7 /* e */
        start local 7 // java.security.NoSuchAlgorithmException e
        10: .line 136
            aload 7 /* e */
            astore 4 /* failure */
        end local 7 // java.security.NoSuchAlgorithmException e
        end local 5 // java.security.Provider$Service s
        11: .line 127
      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 139
            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 140
            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 139
            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 150
            new javax.crypto.JarVerifier
            dup
            aload 0 /* codeBase */
            iconst_1
            invokespecial javax.crypto.JarVerifier.<init>:(Ljava/net/URL;Z)V
            astore 1 /* jv */
        start local 1 // javax.crypto.JarVerifier jv
         1: .line 151
            aload 1 /* jv */
            invokevirtual javax.crypto.JarVerifier.verify:()V
         2: .line 152
            aload 1 /* jv */
            invokevirtual javax.crypto.JarVerifier.getPermissions:()Ljavax/crypto/CryptoPermissions;
            areturn
        end local 1 // javax.crypto.JarVerifier jv
        end local 0 // java.net.URL codeBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  codeBase  Ljava/net/URL;
            1    3     1        jv  Ljavax/crypto/JarVerifier;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      codeBase  

  static void verifyProviderJar(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.net.URL codeBase
         0: .line 163
            new javax.crypto.JarVerifier
            dup
            aload 0 /* codeBase */
            iconst_0
            invokespecial javax.crypto.JarVerifier.<init>:(Ljava/net/URL;Z)V
            astore 1 /* jv */
        start local 1 // javax.crypto.JarVerifier jv
         1: .line 164
            aload 1 /* jv */
            invokevirtual javax.crypto.JarVerifier.verify:()V
         2: .line 165
            return
        end local 1 // javax.crypto.JarVerifier jv
        end local 0 // java.net.URL codeBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  codeBase  Ljava/net/URL;
            1    3     1        jv  Ljavax/crypto/JarVerifier;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      codeBase  

  static synchronized java.lang.Exception getVerificationResult(java.security.Provider);
    descriptor: (Ljava/security/Provider;)Ljava/lang/Exception;
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.security.Provider p
         0: .line 176
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* o */
        start local 1 // java.lang.Object o
         1: .line 177
            aload 1 /* o */
            getstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
            if_acmpne 3
         2: .line 178
            aconst_null
            areturn
         3: .line 179
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* o */
            ifnull 5
         4: .line 180
            aload 1 /* o */
            checkcast java.lang.Exception
            areturn
         5: .line 182
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 7
         6: .line 185
            new java.security.NoSuchProviderException
            dup
            ldc "Recursion during verification"
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            areturn
         7: .line 188
      StackMap locals:
      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
         8: .line 189
            aload 0 /* p */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic javax.crypto.JceSecurity.getCodeBase:(Ljava/lang/Class;)Ljava/net/URL;
            astore 2 /* providerURL */
        start local 2 // java.net.URL providerURL
         9: .line 190
            aload 2 /* providerURL */
            invokestatic javax.crypto.JceSecurity.verifyProviderJar:(Ljava/net/URL;)V
        10: .line 192
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 0 /* p */
            getstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 198
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 193
            aconst_null
            areturn
        end local 2 // java.net.URL providerURL
        13: .line 194
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        14: .line 195
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 0 /* p */
            aload 2 /* e */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 196
            aload 2 /* e */
            astore 4
        16: .line 198
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 196
            aload 4
            areturn
        end local 2 // java.lang.Exception e
        18: .line 197
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        19: .line 198
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 199
            aload 3
            athrow
        end local 1 // java.lang.Object o
        end local 0 // java.security.Provider p
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0            p  Ljava/security/Provider;
            1   21     1            o  Ljava/lang/Object;
            9   13     2  providerURL  Ljava/net/URL;
           14   18     2            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7    11      13  Class java.lang.Exception
           7    11      18  any
          13    16      18  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 204
            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 226
            getstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 227
            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 228
            aload 2 /* url */
            ifnonnull 5
         3: .line 229
            new javax.crypto.JceSecurity$2
            dup
            aload 0 /* clazz */
            invokespecial javax.crypto.JceSecurity$2.<init>:(Ljava/lang/Class;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.net.URL
            astore 2 /* url */
         4: .line 241
            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
         5: .line 243
      StackMap locals: java.util.Map java.net.URL
      StackMap stack:
            aload 2 /* url */
            getstatic javax.crypto.JceSecurity.NULL_URL:Ljava/net/URL;
            if_acmpne 6
            aconst_null
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 2 /* url */
      StackMap locals:
      StackMap stack: java.net.URL
         7: aload 1
            monitorexit
         8: areturn
        end local 2 // java.net.URL url
         9: .line 226
      StackMap locals: java.lang.Class java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        10: athrow
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  clazz  Ljava/lang/Class<*>;
            2    9     2    url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  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=10, args_size=0
         0: .line 271
            ldc "java.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* javaHomeProperty */
        start local 0 // java.lang.String javaHomeProperty
         1: .line 272
            ldc "crypto.policy"
            invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* cryptoPolicyProperty */
        start local 1 // java.lang.String cryptoPolicyProperty
         2: .line 273
            aload 1 /* cryptoPolicyProperty */
            ifnonnull 3
            aconst_null
            goto 4
         3: .line 274
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* cryptoPolicyProperty */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
         4: .line 273
      StackMap locals:
      StackMap stack: java.nio.file.Path
            astore 2 /* cpPath */
        start local 2 // java.nio.file.Path cpPath
         5: .line 276
            aload 2 /* cpPath */
            ifnull 12
            aload 2 /* cpPath */
            invokeinterface java.nio.file.Path.getNameCount:()I
            iconst_1
            if_icmpne 7
         6: .line 277
            aload 2 /* cpPath */
            aload 2 /* cpPath */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.compareTo:(Ljava/nio/file/Path;)I
            ifeq 12
         7: .line 278
      StackMap locals: java.nio.file.Path
      StackMap stack:
            new java.lang.SecurityException
            dup
         8: .line 279
            new java.lang.StringBuilder
            dup
            ldc "Invalid policy directory name format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 280
            aload 1 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 279
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 278
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 283
      StackMap locals:
      StackMap stack:
            aload 2 /* cpPath */
            ifnonnull 15
        13: .line 285
            aload 0 /* javaHomeProperty */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "lib"
            aastore
            dup
            iconst_1
            ldc "security"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* cpPath */
        14: .line 286
            goto 18
        15: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* javaHomeProperty */
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "lib"
            aastore
            dup
            iconst_1
            ldc "security"
            aastore
            dup
            iconst_2
        16: .line 289
            ldc "policy"
            aastore
            dup
            iconst_3
            aload 1 /* cryptoPolicyProperty */
            aastore
        17: .line 288
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* cpPath */
        18: .line 292
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
            ifnull 20
        19: .line 293
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "crypto policy directory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* cpPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 296
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* cpPath */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            ldc "US_export_policy.jar"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* exportJar */
        start local 3 // java.io.File exportJar
        21: .line 297
            new java.io.File
            dup
            aload 2 /* cpPath */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            ldc "local_policy.jar"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* importJar */
        start local 4 // java.io.File importJar
        22: .line 299
            aload 1 /* cryptoPolicyProperty */
            ifnonnull 28
            aload 3 /* exportJar */
            invokevirtual java.io.File.exists:()Z
            ifeq 24
        23: .line 300
            aload 4 /* importJar */
            invokevirtual java.io.File.exists:()Z
            ifne 28
        24: .line 305
      StackMap locals: java.io.File java.io.File
      StackMap stack:
            aload 0 /* javaHomeProperty */
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "lib"
            aastore
            dup
            iconst_1
            ldc "security"
            aastore
            dup
            iconst_2
            ldc "policy"
            aastore
            dup
            iconst_3
            ldc "unlimited"
            aastore
        25: .line 304
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* cpPath */
        26: .line 307
            new java.io.File
            dup
            aload 2 /* cpPath */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            ldc "US_export_policy.jar"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* exportJar */
        27: .line 308
            new java.io.File
            dup
            aload 2 /* cpPath */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            ldc "local_policy.jar"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* importJar */
        28: .line 312
      StackMap locals:
      StackMap stack:
            ldc "javax/crypto/Cipher.class"
        29: .line 311
            invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 5 /* jceCipherURL */
        start local 5 // java.net.URL jceCipherURL
        30: .line 314
            aload 5 /* jceCipherURL */
            ifnull 32
        31: .line 315
            aload 3 /* exportJar */
            invokevirtual java.io.File.exists:()Z
            ifeq 32
            aload 4 /* importJar */
            invokevirtual java.io.File.exists:()Z
            ifne 35
        32: .line 316
      StackMap locals: java.net.URL
      StackMap stack:
            new java.lang.SecurityException
            dup
        33: .line 317
            ldc "Cannot locate policy or framework files!"
        34: .line 316
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 321
      StackMap locals:
      StackMap stack:
            new javax.crypto.CryptoPermissions
            dup
            invokespecial javax.crypto.CryptoPermissions.<init>:()V
            astore 6 /* defaultExport */
        start local 6 // javax.crypto.CryptoPermissions defaultExport
        36: .line 322
            new javax.crypto.CryptoPermissions
            dup
            invokespecial javax.crypto.CryptoPermissions.<init>:()V
            astore 7 /* exemptExport */
        start local 7 // javax.crypto.CryptoPermissions exemptExport
        37: .line 323
            aload 3 /* exportJar */
            aload 6 /* defaultExport */
            aload 7 /* exemptExport */
            invokestatic javax.crypto.JceSecurity.loadPolicies:(Ljava/io/File;Ljavax/crypto/CryptoPermissions;Ljavax/crypto/CryptoPermissions;)V
        38: .line 325
            new javax.crypto.CryptoPermissions
            dup
            invokespecial javax.crypto.CryptoPermissions.<init>:()V
            astore 8 /* defaultImport */
        start local 8 // javax.crypto.CryptoPermissions defaultImport
        39: .line 326
            new javax.crypto.CryptoPermissions
            dup
            invokespecial javax.crypto.CryptoPermissions.<init>:()V
            astore 9 /* exemptImport */
        start local 9 // javax.crypto.CryptoPermissions exemptImport
        40: .line 327
            aload 4 /* importJar */
            aload 8 /* defaultImport */
            aload 9 /* exemptImport */
            invokestatic javax.crypto.JceSecurity.loadPolicies:(Ljava/io/File;Ljavax/crypto/CryptoPermissions;Ljavax/crypto/CryptoPermissions;)V
        41: .line 330
            aload 6 /* defaultExport */
            invokevirtual javax.crypto.CryptoPermissions.isEmpty:()Z
            ifne 42
            aload 8 /* defaultImport */
            invokevirtual javax.crypto.CryptoPermissions.isEmpty:()Z
            ifeq 43
        42: .line 331
      StackMap locals: java.lang.String java.lang.String java.nio.file.Path java.io.File java.io.File java.net.URL javax.crypto.CryptoPermissions javax.crypto.CryptoPermissions javax.crypto.CryptoPermissions javax.crypto.CryptoPermissions
      StackMap stack:
            new java.lang.SecurityException
            dup
            ldc "Missing mandatory jurisdiction policy files"
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 334
      StackMap locals:
      StackMap stack:
            aload 6 /* defaultExport */
            aload 8 /* defaultImport */
            invokevirtual javax.crypto.CryptoPermissions.getMinimum:(Ljavax/crypto/CryptoPermissions;)Ljavax/crypto/CryptoPermissions;
            putstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
        44: .line 337
            aload 7 /* exemptExport */
            invokevirtual javax.crypto.CryptoPermissions.isEmpty:()Z
            ifeq 49
        45: .line 338
            aload 9 /* exemptImport */
            invokevirtual javax.crypto.CryptoPermissions.isEmpty:()Z
            ifeq 46
            aconst_null
            goto 47
      StackMap locals:
      StackMap stack:
        46: aload 9 /* exemptImport */
      StackMap locals:
      StackMap stack: javax.crypto.CryptoPermissions
        47: putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
        48: .line 339
            goto 50
        49: .line 340
      StackMap locals:
      StackMap stack:
            aload 7 /* exemptExport */
            aload 9 /* exemptImport */
            invokevirtual javax.crypto.CryptoPermissions.getMinimum:(Ljavax/crypto/CryptoPermissions;)Ljavax/crypto/CryptoPermissions;
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
        50: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 9 // javax.crypto.CryptoPermissions exemptImport
        end local 8 // javax.crypto.CryptoPermissions defaultImport
        end local 7 // javax.crypto.CryptoPermissions exemptExport
        end local 6 // javax.crypto.CryptoPermissions defaultExport
        end local 5 // java.net.URL jceCipherURL
        end local 4 // java.io.File importJar
        end local 3 // java.io.File exportJar
        end local 2 // java.nio.file.Path cpPath
        end local 1 // java.lang.String cryptoPolicyProperty
        end local 0 // java.lang.String javaHomeProperty
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            1   51     0      javaHomeProperty  Ljava/lang/String;
            2   51     1  cryptoPolicyProperty  Ljava/lang/String;
            5   51     2                cpPath  Ljava/nio/file/Path;
           21   51     3             exportJar  Ljava/io/File;
           22   51     4             importJar  Ljava/io/File;
           30   51     5          jceCipherURL  Ljava/net/URL;
           36   51     6         defaultExport  Ljavax/crypto/CryptoPermissions;
           37   51     7          exemptExport  Ljavax/crypto/CryptoPermissions;
           39   51     8         defaultImport  Ljavax/crypto/CryptoPermissions;
           40   51     9          exemptImport  Ljavax/crypto/CryptoPermissions;
    Exceptions:
      throws java.lang.Exception

  private static void loadPolicies(java.io.File, javax.crypto.CryptoPermissions, javax.crypto.CryptoPermissions);
    descriptor: (Ljava/io/File;Ljavax/crypto/CryptoPermissions;Ljavax/crypto/CryptoPermissions;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.io.File jarPathName
        start local 1 // javax.crypto.CryptoPermissions defaultPolicy
        start local 2 // javax.crypto.CryptoPermissions exemptPolicy
         0: .line 353
            new java.util.jar.JarFile
            dup
            aload 0 /* jarPathName */
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;)V
            astore 3 /* jf */
        start local 3 // java.util.jar.JarFile jf
         1: .line 355
            aload 3 /* jf */
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 4 /* entries */
        start local 4 // java.util.Enumeration entries
         2: .line 356
            goto 23
         3: .line 357
      StackMap locals: java.util.jar.JarFile java.util.Enumeration
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.jar.JarEntry
            astore 5 /* je */
        start local 5 // java.util.jar.JarEntry je
         4: .line 358
            aconst_null
            astore 6 /* is */
        start local 6 // java.io.InputStream is
         5: .line 360
            aload 5 /* je */
            invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
            ldc "default_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 361
            aload 3 /* jf */
            aload 5 /* je */
            invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            astore 6 /* is */
         7: .line 362
            aload 1 /* defaultPolicy */
            aload 6 /* is */
            invokevirtual javax.crypto.CryptoPermissions.load:(Ljava/io/InputStream;)V
         8: .line 363
            goto 20
      StackMap locals: java.util.jar.JarEntry java.io.InputStream
      StackMap stack:
         9: aload 5 /* je */
            invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
            ldc "exempt_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
        10: .line 364
            aload 3 /* jf */
            aload 5 /* je */
            invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            astore 6 /* is */
        11: .line 365
            aload 2 /* exemptPolicy */
            aload 6 /* is */
            invokevirtual javax.crypto.CryptoPermissions.load:(Ljava/io/InputStream;)V
        12: .line 366
            goto 20
        13: .line 370
      StackMap locals:
      StackMap stack:
            aload 6 /* is */
            ifnull 23
        14: .line 371
            aload 6 /* is */
            invokevirtual java.io.InputStream.close:()V
        15: .line 367
            goto 23
        16: .line 369
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        17: .line 370
            aload 6 /* is */
            ifnull 19
        18: .line 371
            aload 6 /* is */
            invokevirtual java.io.InputStream.close:()V
        19: .line 373
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        20: .line 370
      StackMap locals:
      StackMap stack:
            aload 6 /* is */
            ifnull 22
        21: .line 371
            aload 6 /* is */
            invokevirtual java.io.InputStream.close:()V
        22: .line 378
      StackMap locals:
      StackMap stack:
            aload 5 /* je */
            invokevirtual java.util.jar.JarEntry.getCertificates:()[Ljava/security/cert/Certificate;
            invokestatic javax.crypto.JarVerifier.verifyPolicySigned:([Ljava/security/cert/Certificate;)V
        end local 6 // java.io.InputStream is
        end local 5 // java.util.jar.JarEntry je
        23: .line 356
      StackMap locals:
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        24: .line 381
            aload 3 /* jf */
            invokevirtual java.util.jar.JarFile.close:()V
        25: .line 382
            aconst_null
            astore 3 /* jf */
        26: .line 383
            return
        end local 4 // java.util.Enumeration entries
        end local 3 // java.util.jar.JarFile jf
        end local 2 // javax.crypto.CryptoPermissions exemptPolicy
        end local 1 // javax.crypto.CryptoPermissions defaultPolicy
        end local 0 // java.io.File jarPathName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0    jarPathName  Ljava/io/File;
            0   27     1  defaultPolicy  Ljavax/crypto/CryptoPermissions;
            0   27     2   exemptPolicy  Ljavax/crypto/CryptoPermissions;
            1   27     3             jf  Ljava/util/jar/JarFile;
            2   27     4        entries  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
            4   23     5             je  Ljava/util/jar/JarEntry;
            5   23     6             is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           5    13      16  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
               Name  Flags
      jarPathName    
      defaultPolicy  
      exemptPolicy   

  static javax.crypto.CryptoPermissions getDefaultPolicy();
    descriptor: ()Ljavax/crypto/CryptoPermissions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 386
            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 390
            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 394
            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
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  javax.crypto.JceSecurity$1
  javax.crypto.JceSecurity$2
  public final Instance = sun.security.jca.GetInstance$Instance of sun.security.jca.GetInstance