final class com.oracle.security.ucrypto.UcryptoProvider$ProviderService extends java.security.Provider$Service
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.security.ucrypto.UcryptoProvider$ProviderService
super_class: java.security.Provider$Service
{
void <init>(java.security.Provider, com.oracle.security.ucrypto.ServiceDesc);
descriptor: (Ljava/security/Provider;Lcom/oracle/security/ucrypto/ServiceDesc;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=3
start local 0 // com.oracle.security.ucrypto.UcryptoProvider$ProviderService this
start local 1 // java.security.Provider p
start local 2 // com.oracle.security.ucrypto.ServiceDesc sd
0: .line 144
aload 0 /* this */
aload 1 /* p */
aload 2 /* sd */
invokevirtual com.oracle.security.ucrypto.ServiceDesc.getType:()Ljava/lang/String;
aload 2 /* sd */
invokevirtual com.oracle.security.ucrypto.ServiceDesc.getAlgorithm:()Ljava/lang/String;
aload 2 /* sd */
invokevirtual com.oracle.security.ucrypto.ServiceDesc.getClassName:()Ljava/lang/String;
1: .line 145
aload 2 /* sd */
invokevirtual com.oracle.security.ucrypto.ServiceDesc.getAliases:()Ljava/util/List;
aconst_null
invokespecial java.security.Provider$Service.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)V
2: .line 146
return
end local 2 // com.oracle.security.ucrypto.ServiceDesc sd
end local 1 // java.security.Provider p
end local 0 // com.oracle.security.ucrypto.UcryptoProvider$ProviderService this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/security/ucrypto/UcryptoProvider$ProviderService;
0 3 1 p Ljava/security/Provider;
0 3 2 sd Lcom/oracle/security/ucrypto/ServiceDesc;
MethodParameters:
Name Flags
p
sd
public java.lang.Object newInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 // com.oracle.security.ucrypto.UcryptoProvider$ProviderService this
start local 1 // java.lang.Object ctrParamObj
0: .line 152
aload 0 /* this */
invokevirtual com.oracle.security.ucrypto.UcryptoProvider$ProviderService.getType:()Ljava/lang/String;
astore 2 /* type */
start local 2 // java.lang.String type
1: .line 153
aload 1 /* ctrParamObj */
ifnull 5
2: .line 154
new java.security.InvalidParameterException
dup
3: .line 155
new java.lang.StringBuilder
dup
ldc "constructorParameter not used with "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* type */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " engines"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: .line 154
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
5: .line 157
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* this */
invokevirtual com.oracle.security.ucrypto.UcryptoProvider$ProviderService.getAlgorithm:()Ljava/lang/String;
astore 3 /* algo */
start local 3 // java.lang.String algo
6: .line 159
aload 2 /* type */
ldc "Cipher"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
7: .line 160
iconst_m1
istore 4 /* keySize */
start local 4 // int keySize
8: .line 161
aload 3 /* algo */
iconst_3
invokevirtual java.lang.String.charAt:(I)C
bipush 95
if_icmpne 10
9: .line 162
aload 3 /* algo */
iconst_4
bipush 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
bipush 8
idiv
istore 4 /* keySize */
10: .line 164
StackMap locals: java.lang.String int
StackMap stack:
aload 0 /* this */
invokevirtual com.oracle.security.ucrypto.UcryptoProvider$ProviderService.getClassName:()Ljava/lang/String;
astore 5 /* implClass */
start local 5 // java.lang.String implClass
11: .line 165
aload 5 /* implClass */
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 6 /* clz */
start local 6 // java.lang.Class clz
12: .line 166
iload 4 /* keySize */
iconst_m1
if_icmpeq 16
13: .line 167
aload 6 /* clz */
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7 /* ctr */
start local 7 // java.lang.reflect.Constructor ctr
14: .line 168
aload 7 /* ctr */
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 4 /* keySize */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
15: areturn
end local 7 // java.lang.reflect.Constructor ctr
16: .line 170
StackMap locals: java.lang.String java.lang.Class
StackMap stack:
aload 6 /* clz */
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
17: areturn
end local 6 // java.lang.Class clz
end local 5 // java.lang.String implClass
end local 4 // int keySize
18: .line 172
StackMap locals:
StackMap stack:
aload 2 /* type */
ldc "Signature"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
aload 2 /* type */
ldc "MessageDigest"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
19: .line 173
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual com.oracle.security.ucrypto.UcryptoProvider$ProviderService.getClassName:()Ljava/lang/String;
astore 4 /* implClass */
start local 4 // java.lang.String implClass
20: .line 174
aload 4 /* implClass */
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 5 /* clz */
start local 5 // java.lang.Class clz
21: .line 175
aload 5 /* clz */
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
22: areturn
end local 5 // java.lang.Class clz
end local 4 // java.lang.String implClass
23: .line 176
StackMap locals:
StackMap stack:
aload 2 /* type */
ldc "AlgorithmParameters"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
24: .line 177
aload 3 /* algo */
ldc "GCM"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
25: .line 178
new com.oracle.security.ucrypto.GCMParameters
dup
invokespecial com.oracle.security.ucrypto.GCMParameters.<init>:()V
26: areturn
27: .line 181
StackMap locals:
StackMap stack: java.lang.Exception
astore 4 /* ex */
start local 4 // java.lang.Exception ex
28: .line 182
new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "Error constructing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: .line 183
aload 2 /* type */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3 /* algo */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " using OracleUcrypto"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4 /* ex */
30: .line 182
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 // java.lang.Exception ex
31: .line 185
StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "No impl for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* algo */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: .line 186
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2 /* type */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: .line 185
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // java.lang.String algo
end local 2 // java.lang.String type
end local 1 // java.lang.Object ctrParamObj
end local 0 // com.oracle.security.ucrypto.UcryptoProvider$ProviderService this
LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/oracle/security/ucrypto/UcryptoProvider$ProviderService;
0 34 1 ctrParamObj Ljava/lang/Object;
1 34 2 type Ljava/lang/String;
6 34 3 algo Ljava/lang/String;
8 18 4 keySize I
11 18 5 implClass Ljava/lang/String;
12 18 6 clz Ljava/lang/Class<*>;
14 16 7 ctr Ljava/lang/reflect/Constructor<*>;
20 23 4 implClass Ljava/lang/String;
21 23 5 clz Ljava/lang/Class<*>;
28 31 4 ex Ljava/lang/Exception;
Exception table:
from to target type
6 15 27 Class java.lang.Exception
16 17 27 Class java.lang.Exception
18 22 27 Class java.lang.Exception
23 26 27 Class java.lang.Exception
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
ctrParamObj
}
SourceFile: "UcryptoProvider.java"
NestHost: com.oracle.security.ucrypto.UcryptoProvider
InnerClasses:
private final ProviderService = com.oracle.security.ucrypto.UcryptoProvider$ProviderService of com.oracle.security.ucrypto.UcryptoProvider
public Service = java.security.Provider$Service of java.security.Provider