class com.sun.crypto.provider.SealedObjectForKeyProtector$DeserializationChecker implements java.io.ObjectInputFilter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.crypto.provider.SealedObjectForKeyProtector$DeserializationChecker
super_class: java.lang.Object
{
private static final java.io.ObjectInputFilter OWN_FILTER;
descriptor: Ljava/io/ObjectInputFilter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int maxLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/sun/crypto/provider/SealedObjectForKeyProtector$DeserializationChecker.lambda$0()Ljava/lang/String; (6)
()Ljava/lang/String;
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 2: aload 0
ifnonnull 4
3: aconst_null
goto 5
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic java.io.ObjectInputFilter$Config.createFilter:(Ljava/lang/String;)Ljava/io/ObjectInputFilter;
5: StackMap locals:
StackMap stack: java.io.ObjectInputFilter
putstatic com.sun.crypto.provider.SealedObjectForKeyProtector$DeserializationChecker.OWN_FILTER:Ljava/io/ObjectInputFilter;
end local 0 6: return
LocalVariableTable:
Start End Slot Name Signature
2 6 0 prop Ljava/lang/String;
private void <init>(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield com.sun.crypto.provider.SealedObjectForKeyProtector$DeserializationChecker.maxLength:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/crypto/provider/SealedObjectForKeyProtector$DeserializationChecker;
0 3 1 maxLength I
MethodParameters:
Name Flags
maxLength
public java.io.ObjectInputFilter$Status checkInput(java.io.ObjectInputFilter$FilterInfo);
descriptor: (Ljava/io/ObjectInputFilter$FilterInfo;)Ljava/io/ObjectInputFilter$Status;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.io.ObjectInputFilter$FilterInfo.arrayLength:()J
aload 0
getfield com.sun.crypto.provider.SealedObjectForKeyProtector$DeserializationChecker.maxLength:I
i2l
lcmp
ifle 2
1: getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.io.ObjectInputFilter$FilterInfo.serialClass:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpne 4
3: getstatic java.io.ObjectInputFilter$Status.UNDECIDED:Ljava/io/ObjectInputFilter$Status;
areturn
4: StackMap locals:
StackMap stack:
getstatic com.sun.crypto.provider.SealedObjectForKeyProtector$DeserializationChecker.OWN_FILTER:Ljava/io/ObjectInputFilter;
ifnull 8
5: getstatic com.sun.crypto.provider.SealedObjectForKeyProtector$DeserializationChecker.OWN_FILTER:Ljava/io/ObjectInputFilter;
aload 1
invokeinterface java.io.ObjectInputFilter.checkInput:(Ljava/io/ObjectInputFilter$FilterInfo;)Ljava/io/ObjectInputFilter$Status;
astore 2
start local 2 6: aload 2
getstatic java.io.ObjectInputFilter$Status.UNDECIDED:Ljava/io/ObjectInputFilter$Status;
if_acmpeq 8
7: aload 2
areturn
end local 2 8: StackMap locals:
StackMap stack:
invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
9: astore 2
start local 2 10: aload 2
ifnull 12
11: aload 2
aload 1
invokeinterface java.io.ObjectInputFilter.checkInput:(Ljava/io/ObjectInputFilter$FilterInfo;)Ljava/io/ObjectInputFilter$Status;
areturn
12: StackMap locals: java.io.ObjectInputFilter
StackMap stack:
getstatic java.io.ObjectInputFilter$Status.UNDECIDED:Ljava/io/ObjectInputFilter$Status;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/crypto/provider/SealedObjectForKeyProtector$DeserializationChecker;
0 13 1 info Ljava/io/ObjectInputFilter$FilterInfo;
6 8 2 result Ljava/io/ObjectInputFilter$Status;
10 13 2 defaultFilter Ljava/io/ObjectInputFilter;
MethodParameters:
Name Flags
info
private static java.lang.String lambda$0();
descriptor: ()Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=0
0: ldc "jceks.key.serialFilter"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
areturn
3: StackMap locals: java.lang.String
StackMap stack:
ldc "jceks.key.serialFilter"
invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 tmp Ljava/lang/String;
}
SourceFile: "SealedObjectForKeyProtector.java"
NestHost: com.sun.crypto.provider.SealedObjectForKeyProtector
InnerClasses:
private DeserializationChecker = com.sun.crypto.provider.SealedObjectForKeyProtector$DeserializationChecker of com.sun.crypto.provider.SealedObjectForKeyProtector
public final Config = java.io.ObjectInputFilter$Config of java.io.ObjectInputFilter
public abstract FilterInfo = java.io.ObjectInputFilter$FilterInfo of java.io.ObjectInputFilter
public final Status = java.io.ObjectInputFilter$Status of java.io.ObjectInputFilter
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles