public final class com.sun.crypto.provider.SunJCE extends java.security.Provider
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.crypto.provider.SunJCE
  super_class: java.security.Provider
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6812507587804302833

  private static final java.lang.String info;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SunJCE Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC)"

  private static final java.lang.String OID_PKCS12_RC4_128;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.12.1.1"

  private static final java.lang.String OID_PKCS12_RC4_40;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.12.1.2"

  private static final java.lang.String OID_PKCS12_DESede;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.12.1.3"

  private static final java.lang.String OID_PKCS12_RC2_128;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.12.1.5"

  private static final java.lang.String OID_PKCS12_RC2_40;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.12.1.6"

  private static final java.lang.String OID_PKCS5_MD5_DES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.5.3"

  private static final java.lang.String OID_PKCS5_PBKDF2;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.5.12"

  private static final java.lang.String OID_PKCS5_PBES2;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.5.13"

  private static final java.lang.String OID_PKCS3;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.2.840.113549.1.3.1"

  static final boolean debug;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static volatile com.sun.crypto.provider.SunJCE instance;
    descriptor: Lcom/sun/crypto/provider/SunJCE;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  static java.security.SecureRandom getRandom();
    descriptor: ()Ljava/security/SecureRandom;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 104
            getstatic com.sun.crypto.provider.SunJCE$SecureRandomHolder.RANDOM:Ljava/security/SecureRandom;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.crypto.provider.SunJCE this
         0: .line 108
            aload 0 /* this */
            ldc "SunJCE"
            getstatic sun.security.util.SecurityConstants.PROVIDER_VER:Ljava/lang/String;
            ldc "SunJCE Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC)"
            invokespecial java.security.Provider.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 119
            new com.sun.crypto.provider.SunJCE$1
            dup
            aload 0 /* this */
            invokespecial com.sun.crypto.provider.SunJCE$1.<init>:(Lcom/sun/crypto/provider/SunJCE;)V
         2: .line 118
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         3: .line 789
            getstatic com.sun.crypto.provider.SunJCE.instance:Lcom/sun/crypto/provider/SunJCE;
            ifnonnull 5
         4: .line 790
            aload 0 /* this */
            putstatic com.sun.crypto.provider.SunJCE.instance:Lcom/sun/crypto/provider/SunJCE;
         5: .line 792
      StackMap locals: com.sun.crypto.provider.SunJCE
      StackMap stack:
            return
        end local 0 // com.sun.crypto.provider.SunJCE this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/crypto/provider/SunJCE;

  static com.sun.crypto.provider.SunJCE getInstance();
    descriptor: ()Lcom/sun/crypto/provider/SunJCE;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 796
            getstatic com.sun.crypto.provider.SunJCE.instance:Lcom/sun/crypto/provider/SunJCE;
            ifnonnull 2
         1: .line 797
            new com.sun.crypto.provider.SunJCE
            dup
            invokespecial com.sun.crypto.provider.SunJCE.<init>:()V
            areturn
         2: .line 799
      StackMap locals:
      StackMap stack:
            getstatic com.sun.crypto.provider.SunJCE.instance:Lcom/sun/crypto/provider/SunJCE;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SunJCE.java"
NestMembers:
  com.sun.crypto.provider.SunJCE$1  com.sun.crypto.provider.SunJCE$SecureRandomHolder
InnerClasses:
  com.sun.crypto.provider.SunJCE$1
  private SecureRandomHolder = com.sun.crypto.provider.SunJCE$SecureRandomHolder of com.sun.crypto.provider.SunJCE