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

  private java.lang.String mKeystoreAlias;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String mKeyType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int mKeySize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.security.spec.AlgorithmParameterSpec mSpec;
    descriptor: Ljava/security/spec/AlgorithmParameterSpec;
    flags: (0x0002) ACC_PRIVATE

  private javax.security.auth.x500.X500Principal mSubjectDN;
    descriptor: Ljavax/security/auth/x500/X500Principal;
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger mSerialNumber;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date mStartDate;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date mEndDate;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private int mFlags;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // android.content.Context context
         0: .line 303
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 283
            aload 0 /* this */
            iconst_m1
            putfield android.security.KeyPairGeneratorSpec$Builder.mKeySize:I
         2: .line 304
            aload 1 /* context */
            ifnonnull 4
         3: .line 305
            new java.lang.NullPointerException
            dup
            ldc "context == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 307
      StackMap locals: android.security.KeyPairGeneratorSpec$Builder android.content.Context
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            putfield android.security.KeyPairGeneratorSpec$Builder.mContext:Landroid/content/Context;
         5: .line 308
            return
        end local 1 // android.content.Context context
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    6     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public android.security.KeyPairGeneratorSpec$Builder setAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // java.lang.String alias
         0: .line 317
            aload 1 /* alias */
            ifnonnull 2
         1: .line 318
            new java.lang.NullPointerException
            dup
            ldc "alias == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            putfield android.security.KeyPairGeneratorSpec$Builder.mKeystoreAlias:Ljava/lang/String;
         3: .line 321
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String alias
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    4     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public android.security.KeyPairGeneratorSpec$Builder setKeyType(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // java.lang.String keyType
         0: .line 332
            aload 1 /* keyType */
            ifnonnull 2
         1: .line 333
            new java.lang.NullPointerException
            dup
            ldc "keyType == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 336
      StackMap locals:
      StackMap stack:
            aload 1 /* keyType */
            invokestatic android.security.keystore.KeyProperties$KeyAlgorithm.toKeymasterAsymmetricKeyAlgorithm:(Ljava/lang/String;)I
            pop
         3: .line 337
            goto 6
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         4: pop
         5: .line 338
            new java.security.NoSuchAlgorithmException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported key type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* keyType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyType */
            putfield android.security.KeyPairGeneratorSpec$Builder.mKeyType:Ljava/lang/String;
         7: .line 342
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String keyType
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    8     1  keyType  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
         Name  Flags
      keyType  

  public android.security.KeyPairGeneratorSpec$Builder setKeySize(int);
    descriptor: (I)Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // int keySize
         0: .line 352
            iload 1 /* keySize */
            ifge 2
         1: .line 353
            new java.lang.IllegalArgumentException
            dup
            ldc "keySize < 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keySize */
            putfield android.security.KeyPairGeneratorSpec$Builder.mKeySize:I
         3: .line 356
            aload 0 /* this */
            areturn
        end local 1 // int keySize
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    4     1  keySize  I
    MethodParameters:
         Name  Flags
      keySize  

  public android.security.KeyPairGeneratorSpec$Builder setAlgorithmParameterSpec(java.security.spec.AlgorithmParameterSpec);
    descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // java.security.spec.AlgorithmParameterSpec spec
         0: .line 364
            aload 1 /* spec */
            ifnonnull 2
         1: .line 365
            new java.lang.NullPointerException
            dup
            ldc "spec == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* spec */
            putfield android.security.KeyPairGeneratorSpec$Builder.mSpec:Ljava/security/spec/AlgorithmParameterSpec;
         3: .line 368
            aload 0 /* this */
            areturn
        end local 1 // java.security.spec.AlgorithmParameterSpec spec
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    4     1  spec  Ljava/security/spec/AlgorithmParameterSpec;
    MethodParameters:
      Name  Flags
      spec  

  public android.security.KeyPairGeneratorSpec$Builder setSubject(javax.security.auth.x500.X500Principal);
    descriptor: (Ljavax/security/auth/x500/X500Principal;)Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // javax.security.auth.x500.X500Principal subject
         0: .line 377
            aload 1 /* subject */
            ifnonnull 2
         1: .line 378
            new java.lang.NullPointerException
            dup
            ldc "subject == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* subject */
            putfield android.security.KeyPairGeneratorSpec$Builder.mSubjectDN:Ljavax/security/auth/x500/X500Principal;
         3: .line 381
            aload 0 /* this */
            areturn
        end local 1 // javax.security.auth.x500.X500Principal subject
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    4     1  subject  Ljavax/security/auth/x500/X500Principal;
    MethodParameters:
         Name  Flags
      subject  

  public android.security.KeyPairGeneratorSpec$Builder setSerialNumber(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // java.math.BigInteger serialNumber
         0: .line 390
            aload 1 /* serialNumber */
            ifnonnull 2
         1: .line 391
            new java.lang.NullPointerException
            dup
            ldc "serialNumber == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* serialNumber */
            putfield android.security.KeyPairGeneratorSpec$Builder.mSerialNumber:Ljava/math/BigInteger;
         3: .line 394
            aload 0 /* this */
            areturn
        end local 1 // java.math.BigInteger serialNumber
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    4     1  serialNumber  Ljava/math/BigInteger;
    MethodParameters:
              Name  Flags
      serialNumber  

  public android.security.KeyPairGeneratorSpec$Builder setStartDate(java.util.Date);
    descriptor: (Ljava/util/Date;)Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // java.util.Date startDate
         0: .line 403
            aload 1 /* startDate */
            ifnonnull 2
         1: .line 404
            new java.lang.NullPointerException
            dup
            ldc "startDate == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* startDate */
            putfield android.security.KeyPairGeneratorSpec$Builder.mStartDate:Ljava/util/Date;
         3: .line 407
            aload 0 /* this */
            areturn
        end local 1 // java.util.Date startDate
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    4     1  startDate  Ljava/util/Date;
    MethodParameters:
           Name  Flags
      startDate  

  public android.security.KeyPairGeneratorSpec$Builder setEndDate(java.util.Date);
    descriptor: (Ljava/util/Date;)Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
        start local 1 // java.util.Date endDate
         0: .line 416
            aload 1 /* endDate */
            ifnonnull 2
         1: .line 417
            new java.lang.NullPointerException
            dup
            ldc "endDate == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* endDate */
            putfield android.security.KeyPairGeneratorSpec$Builder.mEndDate:Ljava/util/Date;
         3: .line 420
            aload 0 /* this */
            areturn
        end local 1 // java.util.Date endDate
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/security/KeyPairGeneratorSpec$Builder;
            0    4     1  endDate  Ljava/util/Date;
    MethodParameters:
         Name  Flags
      endDate  

  public android.security.KeyPairGeneratorSpec$Builder setEncryptionRequired();
    descriptor: ()Landroid/security/KeyPairGeneratorSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
         0: .line 437
            aload 0 /* this */
            dup
            getfield android.security.KeyPairGeneratorSpec$Builder.mFlags:I
            iconst_1
            ior
            putfield android.security.KeyPairGeneratorSpec$Builder.mFlags:I
         1: .line 438
            aload 0 /* this */
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/security/KeyPairGeneratorSpec$Builder;

  public android.security.KeyPairGeneratorSpec build();
    descriptor: ()Landroid/security/KeyPairGeneratorSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=1, args_size=1
        start local 0 // android.security.KeyPairGeneratorSpec$Builder this
         0: .line 449
            new android.security.KeyPairGeneratorSpec
            dup
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mContext:Landroid/content/Context;
         1: .line 450
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mKeystoreAlias:Ljava/lang/String;
         2: .line 451
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mKeyType:Ljava/lang/String;
         3: .line 452
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mKeySize:I
         4: .line 453
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mSpec:Ljava/security/spec/AlgorithmParameterSpec;
         5: .line 454
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mSubjectDN:Ljavax/security/auth/x500/X500Principal;
         6: .line 455
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mSerialNumber:Ljava/math/BigInteger;
         7: .line 456
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mStartDate:Ljava/util/Date;
         8: .line 457
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mEndDate:Ljava/util/Date;
         9: .line 458
            aload 0 /* this */
            getfield android.security.KeyPairGeneratorSpec$Builder.mFlags:I
        10: .line 449
            invokespecial android.security.KeyPairGeneratorSpec.<init>:(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
            areturn
        end local 0 // android.security.KeyPairGeneratorSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/security/KeyPairGeneratorSpec$Builder;
}
SourceFile: "KeyPairGeneratorSpec.java"
NestHost: android.security.KeyPairGeneratorSpec
InnerClasses:
  public final Builder = android.security.KeyPairGeneratorSpec$Builder of android.security.KeyPairGeneratorSpec
  public abstract KeyAlgorithm = android.security.keystore.KeyProperties$KeyAlgorithm of android.security.keystore.KeyProperties
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()