public final class android.security.KeyPairGeneratorSpec implements java.security.spec.AlgorithmParameterSpec
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.security.KeyPairGeneratorSpec
  super_class: java.lang.Object
{
  private final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mKeystoreAlias;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mKeyType;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mKeySize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.security.spec.AlgorithmParameterSpec mSpec;
    descriptor: Ljava/security/spec/AlgorithmParameterSpec;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.security.auth.x500.X500Principal mSubjectDN;
    descriptor: Ljavax/security/auth/x500/X500Principal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.math.BigInteger mSerialNumber;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Date mStartDate;
    descriptor: Ljava/util/Date;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Date mEndDate;
    descriptor: Ljava/util/Date;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mFlags;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(android.content.Context, java.lang.String, java.lang.String, int, java.security.spec.AlgorithmParameterSpec, javax.security.auth.x500.X500Principal, java.math.BigInteger, java.util.Date, java.util.Date, int);
    descriptor: (Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;ILjava/security/spec/AlgorithmParameterSpec;Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=11
        start local 0 // android.security.KeyPairGeneratorSpec this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String keyStoreAlias
        start local 3 // java.lang.String keyType
        start local 4 // int keySize
        start local 5 // java.security.spec.AlgorithmParameterSpec spec
        start local 6 // javax.security.auth.x500.X500Principal subjectDN
        start local 7 // java.math.BigInteger serialNumber
        start local 8 // java.util.Date startDate
        start local 9 // java.util.Date endDate
        start local 10 // int flags
         0: .line 115
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 118
            aload 1 /* context */
            ifnonnull 3
         2: .line 119
            new java.lang.IllegalArgumentException
            dup
            ldc "context == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 120
      StackMap locals: android.security.KeyPairGeneratorSpec android.content.Context java.lang.String java.lang.String int java.security.spec.AlgorithmParameterSpec javax.security.auth.x500.X500Principal java.math.BigInteger java.util.Date java.util.Date int
      StackMap stack:
            aload 2 /* keyStoreAlias */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 5
         4: .line 121
            new java.lang.IllegalArgumentException
            dup
            ldc "keyStoreAlias must not be empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 122
      StackMap locals:
      StackMap stack:
            aload 6 /* subjectDN */
            ifnonnull 7
         6: .line 123
            new java.lang.IllegalArgumentException
            dup
            ldc "subjectDN == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 124
      StackMap locals:
      StackMap stack:
            aload 7 /* serialNumber */
            ifnonnull 9
         8: .line 125
            new java.lang.IllegalArgumentException
            dup
            ldc "serialNumber == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 126
      StackMap locals:
      StackMap stack:
            aload 8 /* startDate */
            ifnonnull 11
        10: .line 127
            new java.lang.IllegalArgumentException
            dup
            ldc "startDate == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 128
      StackMap locals:
      StackMap stack:
            aload 9 /* endDate */
            ifnonnull 13
        12: .line 129
            new java.lang.IllegalArgumentException
            dup
            ldc "endDate == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 130
      StackMap locals:
      StackMap stack:
            aload 9 /* endDate */
            aload 8 /* startDate */
            invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
            ifeq 15
        14: .line 131
            new java.lang.IllegalArgumentException
            dup
            ldc "endDate < startDate"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 134
      StackMap locals:
      StackMap stack:
            aload 9 /* endDate */
            aload 8 /* startDate */
            invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
            ifeq 17
        16: .line 135
            new java.lang.IllegalArgumentException
            dup
            ldc "endDate < startDate"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            putfield android.security.KeyPairGeneratorSpec.mContext:Landroid/content/Context;
        18: .line 139
            aload 0 /* this */
            aload 2 /* keyStoreAlias */
            putfield android.security.KeyPairGeneratorSpec.mKeystoreAlias:Ljava/lang/String;
        19: .line 140
            aload 0 /* this */
            aload 3 /* keyType */
            putfield android.security.KeyPairGeneratorSpec.mKeyType:Ljava/lang/String;
        20: .line 141
            aload 0 /* this */
            iload 4 /* keySize */
            putfield android.security.KeyPairGeneratorSpec.mKeySize:I
        21: .line 142
            aload 0 /* this */
            aload 5 /* spec */
            putfield android.security.KeyPairGeneratorSpec.mSpec:Ljava/security/spec/AlgorithmParameterSpec;
        22: .line 143
            aload 0 /* this */
            aload 6 /* subjectDN */
            putfield android.security.KeyPairGeneratorSpec.mSubjectDN:Ljavax/security/auth/x500/X500Principal;
        23: .line 144
            aload 0 /* this */
            aload 7 /* serialNumber */
            putfield android.security.KeyPairGeneratorSpec.mSerialNumber:Ljava/math/BigInteger;
        24: .line 145
            aload 0 /* this */
            aload 8 /* startDate */
            putfield android.security.KeyPairGeneratorSpec.mStartDate:Ljava/util/Date;
        25: .line 146
            aload 0 /* this */
            aload 9 /* endDate */
            putfield android.security.KeyPairGeneratorSpec.mEndDate:Ljava/util/Date;
        26: .line 147
            aload 0 /* this */
            iload 10 /* flags */
            putfield android.security.KeyPairGeneratorSpec.mFlags:I
        27: .line 148
            return
        end local 10 // int flags
        end local 9 // java.util.Date endDate
        end local 8 // java.util.Date startDate
        end local 7 // java.math.BigInteger serialNumber
        end local 6 // javax.security.auth.x500.X500Principal subjectDN
        end local 5 // java.security.spec.AlgorithmParameterSpec spec
        end local 4 // int keySize
        end local 3 // java.lang.String keyType
        end local 2 // java.lang.String keyStoreAlias
        end local 1 // android.content.Context context
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Landroid/security/KeyPairGeneratorSpec;
            0   28     1        context  Landroid/content/Context;
            0   28     2  keyStoreAlias  Ljava/lang/String;
            0   28     3        keyType  Ljava/lang/String;
            0   28     4        keySize  I
            0   28     5           spec  Ljava/security/spec/AlgorithmParameterSpec;
            0   28     6      subjectDN  Ljavax/security/auth/x500/X500Principal;
            0   28     7   serialNumber  Ljava/math/BigInteger;
            0   28     8      startDate  Ljava/util/Date;
            0   28     9        endDate  Ljava/util/Date;
            0   28    10          flags  I
    MethodParameters:
               Name  Flags
      context        
      keyStoreAlias  
      keyType        
      keySize        
      spec           
      subjectDN      
      serialNumber   
      startDate      
      endDate        
      flags          

  public android.content.Context getContext();
    descriptor: ()Landroid/content/Context;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 154
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mContext:Landroid/content/Context;
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public java.lang.String getKeystoreAlias();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 162
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mKeystoreAlias:Ljava/lang/String;
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public java.lang.String getKeyType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 171
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mKeyType:Ljava/lang/String;
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public int getKeySize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 180
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mKeySize:I
            ireturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec();
    descriptor: ()Ljava/security/spec/AlgorithmParameterSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 189
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mSpec:Ljava/security/spec/AlgorithmParameterSpec;
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public javax.security.auth.x500.X500Principal getSubjectDN();
    descriptor: ()Ljavax/security/auth/x500/X500Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 198
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mSubjectDN:Ljavax/security/auth/x500/X500Principal;
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public java.math.BigInteger getSerialNumber();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 207
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mSerialNumber:Ljava/math/BigInteger;
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public java.util.Date getStartDate();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 216
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mStartDate:Ljava/util/Date;
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public java.util.Date getEndDate();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 225
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mEndDate:Ljava/util/Date;
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public int getFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 232
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mFlags:I
            ireturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/security/KeyPairGeneratorSpec;

  public boolean isEncryptionRequired();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec this
         0: .line 248
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec.mFlags:I
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.security.KeyPairGeneratorSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/security/KeyPairGeneratorSpec;
}
SourceFile: "KeyPairGeneratorSpec.java"
NestMembers:
  android.security.KeyPairGeneratorSpec$Builder
InnerClasses:
  public final Builder = android.security.KeyPairGeneratorSpec$Builder of android.security.KeyPairGeneratorSpec
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()