class java.security.KeyStore$Builder$FileBuilder$1 implements java.security.PrivilegedExceptionAction<java.security.KeyStore>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.security.KeyStore$Builder$FileBuilder$1
super_class: java.lang.Object
{
final java.security.KeyStore$Builder$FileBuilder this$2;
descriptor: Ljava/security/KeyStore$Builder$FileBuilder;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(java.security.KeyStore$Builder$FileBuilder);
descriptor: (Ljava/security/KeyStore$Builder$FileBuilder;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/KeyStore$Builder$FileBuilder$1;
MethodParameters:
Name Flags
this$0 final
public java.security.KeyStore run();
descriptor: ()Ljava/security/KeyStore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.protection:Ljava/security/KeyStore$ProtectionParameter;
instanceof java.security.KeyStore$CallbackHandlerProtection
ifne 2
1: aload 0
invokevirtual java.security.KeyStore$Builder$FileBuilder$1.run0:()Ljava/security/KeyStore;
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: StackMap locals: int
StackMap stack:
iinc 1 1
4: aload 0
invokevirtual java.security.KeyStore$Builder$FileBuilder$1.run0:()Ljava/security/KeyStore;
5: areturn
6: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 7: iload 1
iconst_3
if_icmpge 10
8: aload 2
invokevirtual java.io.IOException.getCause:()Ljava/lang/Throwable;
instanceof java.security.UnrecoverableKeyException
ifeq 10
9: goto 3
10: StackMap locals: java.io.IOException
StackMap stack:
aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/security/KeyStore$Builder$FileBuilder$1;
3 11 1 tries I
7 11 2 e Ljava/io/IOException;
Exception table:
from to target type
4 5 6 Class java.io.IOException
Exceptions:
throws java.lang.Exception
public java.security.KeyStore run0();
descriptor: ()Ljava/security/KeyStore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aconst_null
astore 2
start local 2 1: aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.protection:Ljava/security/KeyStore$ProtectionParameter;
instanceof java.security.KeyStore$PasswordProtection
ifeq 6
2: aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.protection:Ljava/security/KeyStore$ProtectionParameter;
checkcast java.security.KeyStore$PasswordProtection
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
3: astore 2
4: aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.protection:Ljava/security/KeyStore$ProtectionParameter;
putfield java.security.KeyStore$Builder$FileBuilder.keyProtection:Ljava/security/KeyStore$ProtectionParameter;
5: goto 19
6: StackMap locals: java.security.KeyStore$Builder$FileBuilder$1 top char[]
StackMap stack:
aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.protection:Ljava/security/KeyStore$ProtectionParameter;
checkcast java.security.KeyStore$CallbackHandlerProtection
7: invokevirtual java.security.KeyStore$CallbackHandlerProtection.getCallbackHandler:()Ljavax/security/auth/callback/CallbackHandler;
8: astore 3
start local 3 9: new javax.security.auth.callback.PasswordCallback
dup
10: new java.lang.StringBuilder
dup
ldc "Password for keystore "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.file:Ljava/io/File;
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: iconst_0
12: invokespecial javax.security.auth.callback.PasswordCallback.<init>:(Ljava/lang/String;Z)V
astore 4
start local 4 13: aload 3
iconst_1
anewarray javax.security.auth.callback.Callback
dup
iconst_0
aload 4
aastore
invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
14: aload 4
invokevirtual javax.security.auth.callback.PasswordCallback.getPassword:()[C
astore 2
15: aload 2
ifnonnull 17
16: new java.security.KeyStoreException
dup
ldc "No password provided"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals: javax.security.auth.callback.CallbackHandler javax.security.auth.callback.PasswordCallback
StackMap stack:
aload 4
invokevirtual javax.security.auth.callback.PasswordCallback.clearPassword:()V
18: aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
new java.security.KeyStore$PasswordProtection
dup
aload 2
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
putfield java.security.KeyStore$Builder$FileBuilder.keyProtection:Ljava/security/KeyStore$ProtectionParameter;
end local 4 end local 3 19: StackMap locals:
StackMap stack:
aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.type:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 22
20: aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.file:Ljava/io/File;
aload 2
invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
astore 1
start local 1 21: goto 35
end local 1 22: StackMap locals:
StackMap stack:
aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.provider:Ljava/security/Provider;
ifnonnull 25
23: aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.type:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 1
start local 1 24: goto 26
end local 1 25: StackMap locals:
StackMap stack:
aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.type:Ljava/lang/String;
aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.provider:Ljava/security/Provider;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyStore;
astore 1
start local 1 26: StackMap locals: java.security.KeyStore$Builder$FileBuilder$1 java.security.KeyStore char[]
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
27: new java.io.FileInputStream
dup
aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
getfield java.security.KeyStore$Builder$FileBuilder.file:Ljava/io/File;
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 5
start local 5 28: aload 1
aload 5
aload 2
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
29: aload 5
ifnull 35
aload 5
invokevirtual java.io.InputStream.close:()V
goto 35
StackMap locals: java.security.KeyStore$Builder$FileBuilder$1 java.security.KeyStore char[] java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
30: astore 3
aload 5
ifnull 31
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
31: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 4
aload 3
ifnonnull 33
aload 4
astore 3
goto 34
StackMap locals:
StackMap stack:
33: aload 3
aload 4
if_acmpeq 34
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 3
athrow
35: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Ljava/security/KeyStore$Builder$FileBuilder$1;
21 22 1 ks Ljava/security/KeyStore;
24 25 1 ks Ljava/security/KeyStore;
26 36 1 ks Ljava/security/KeyStore;
1 36 2 password [C
9 19 3 handler Ljavax/security/auth/callback/CallbackHandler;
13 19 4 callback Ljavax/security/auth/callback/PasswordCallback;
28 31 5 in Ljava/io/InputStream;
Exception table:
from to target type
28 29 30 any
27 32 32 any
Exceptions:
throws java.lang.Exception
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.security.KeyStore$Builder$FileBuilder$1.run:()Ljava/security/KeyStore;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedExceptionAction<Ljava/security/KeyStore;>;
SourceFile: "KeyStore.java"
EnclosingMethod: java.security.KeyStore$Builder$FileBuilder.getKeyStore:()Ljava/security/KeyStore;
NestHost: java.security.KeyStore
InnerClasses:
public abstract Builder = java.security.KeyStore$Builder of java.security.KeyStore
private final FileBuilder = java.security.KeyStore$Builder$FileBuilder of java.security.KeyStore$Builder
java.security.KeyStore$Builder$FileBuilder$1
public CallbackHandlerProtection = java.security.KeyStore$CallbackHandlerProtection of java.security.KeyStore
public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore