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=8, 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.provider:Ljava/security/Provider;
ifnonnull 3
1: 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 2: goto 4
end local 1 3: 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 4: StackMap locals: java.security.KeyStore
StackMap stack:
aconst_null
astore 2
start local 2 5: aconst_null
astore 3
start local 3 6: 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 2
7: 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 12
8: 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
9: astore 3
10: 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;
11: goto 25
12: StackMap locals: java.io.InputStream 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
13: invokevirtual java.security.KeyStore$CallbackHandlerProtection.getCallbackHandler:()Ljavax/security/auth/callback/CallbackHandler;
14: astore 4
start local 4 15: new javax.security.auth.callback.PasswordCallback
dup
16: 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;
17: iconst_0
18: invokespecial javax.security.auth.callback.PasswordCallback.<init>:(Ljava/lang/String;Z)V
astore 5
start local 5 19: aload 4
iconst_1
anewarray javax.security.auth.callback.Callback
dup
iconst_0
aload 5
aastore
invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
20: aload 5
invokevirtual javax.security.auth.callback.PasswordCallback.getPassword:()[C
astore 3
21: aload 3
ifnonnull 23
22: new java.security.KeyStoreException
dup
ldc "No password provided"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: javax.security.auth.callback.CallbackHandler javax.security.auth.callback.PasswordCallback
StackMap stack:
aload 5
invokevirtual javax.security.auth.callback.PasswordCallback.clearPassword:()V
24: aload 0
getfield java.security.KeyStore$Builder$FileBuilder$1.this$2:Ljava/security/KeyStore$Builder$FileBuilder;
new java.security.KeyStore$PasswordProtection
dup
aload 3
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
putfield java.security.KeyStore$Builder$FileBuilder.keyProtection:Ljava/security/KeyStore$ProtectionParameter;
end local 5 end local 4 25: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
26: aload 1
astore 7
27: aload 2
ifnull 29
28: aload 2
invokevirtual java.io.InputStream.close:()V
29: StackMap locals: java.security.KeyStore$Builder$FileBuilder$1 java.security.KeyStore java.io.InputStream char[] top top top java.security.KeyStore
StackMap stack:
aload 7
areturn
30: StackMap locals: java.security.KeyStore$Builder$FileBuilder$1 java.security.KeyStore java.io.InputStream char[]
StackMap stack: java.lang.Throwable
astore 6
31: aload 2
ifnull 33
32: aload 2
invokevirtual java.io.InputStream.close:()V
33: StackMap locals: java.security.KeyStore$Builder$FileBuilder$1 java.security.KeyStore java.io.InputStream char[] top top java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljava/security/KeyStore$Builder$FileBuilder$1;
2 3 1 ks Ljava/security/KeyStore;
4 34 1 ks Ljava/security/KeyStore;
5 34 2 in Ljava/io/InputStream;
6 34 3 password [C
15 25 4 handler Ljavax/security/auth/callback/CallbackHandler;
19 25 5 callback Ljavax/security/auth/callback/PasswordCallback;
Exception table:
from to target type
6 27 30 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