public final class sun.security.ec.SunEC extends java.security.Provider
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.ec.SunEC
super_class: java.security.Provider
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2279741672933606418
private static boolean useFullImplementation;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: iconst_1
putstatic sun.security.ec.SunEC.useFullImplementation:Z
1: new sun.security.ec.SunEC$1
dup
invokespecial sun.security.ec.SunEC$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: goto 5
StackMap locals:
StackMap stack: java.lang.UnsatisfiedLinkError
3: pop
4: iconst_0
putstatic sun.security.ec.SunEC.useFullImplementation:Z
5: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 2 3 Class java.lang.UnsatisfiedLinkError
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc "SunEC"
getstatic sun.security.util.SecurityConstants.PROVIDER_VER:Ljava/lang/String;
1: ldc "Sun Elliptic Curve provider (EC, ECDSA, ECDH)"
invokespecial java.security.Provider.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
2: new sun.security.ec.SunEC$2
dup
aload 0
invokespecial sun.security.ec.SunEC$2.<init>:(Lsun/security/ec/SunEC;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ec/SunEC;
void putEntries(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=11, locals=15, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
iconst_3
invokespecial java.util.HashMap.<init>:(I)V
astore 2
start local 2 1: aload 2
ldc "ImplementedIn"
ldc "Software"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: ldc "java.security.interfaces.ECPublicKey|java.security.interfaces.ECPrivateKey"
astore 3
start local 3 3: aload 2
ldc "SupportedKeyClasses"
aload 3
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 2
ldc "KeySize"
ldc "256"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "KeyFactory"
6: ldc "EC"
ldc "sun.security.ec.ECKeyFactory"
7: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "EllipticCurve"
aastore
aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
8: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
9: iconst_1
istore 4
start local 4 10: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 11: ldc ",|\\[|\\]"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 6
start local 6 12: invokestatic sun.security.util.CurveDB.getSupportedCurves:()Ljava/util/Collection;
13: astore 7
start local 7 14: aload 7
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 30
StackMap locals: sun.security.ec.SunEC int java.util.HashMap java.lang.String int java.lang.StringBuilder java.util.regex.Pattern java.util.Collection top java.util.Iterator
StackMap stack:
15: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.util.NamedCurve
astore 8
start local 8 16: iload 4
ifne 19
17: aload 5
ldc "|"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: goto 20
19: StackMap locals: sun.security.ec.SunEC int java.util.HashMap java.lang.String int java.lang.StringBuilder java.util.regex.Pattern java.util.Collection sun.security.util.NamedCurve java.util.Iterator
StackMap stack:
iconst_0
istore 4
20: StackMap locals:
StackMap stack:
aload 5
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: aload 6
aload 8
invokevirtual sun.security.util.NamedCurve.getName:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.split:(Ljava/lang/CharSequence;)[Ljava/lang/String;
astore 10
start local 10 22: aload 10
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 27
StackMap locals: sun.security.ec.SunEC int java.util.HashMap java.lang.String int java.lang.StringBuilder java.util.regex.Pattern java.util.Collection sun.security.util.NamedCurve java.util.Iterator java.lang.String[] top int int java.lang.String[]
StackMap stack:
23: aload 14
iload 12
aaload
astore 11
start local 11 24: aload 5
aload 11
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: aload 5
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 11 26: iinc 12 1
StackMap locals:
StackMap stack:
27: iload 12
iload 13
if_icmplt 23
28: aload 5
aload 8
invokevirtual sun.security.util.NamedCurve.getObjectId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: aload 5
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 10 end local 8 30: StackMap locals: sun.security.ec.SunEC int java.util.HashMap java.lang.String int java.lang.StringBuilder java.util.regex.Pattern java.util.Collection top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
31: new java.util.HashMap
dup
aload 2
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 8
start local 8 32: aload 8
ldc "SupportedCurves"
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "AlgorithmParameters"
34: ldc "EC"
ldc "sun.security.util.ECParameters"
35: iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "EllipticCurve"
aastore
dup
iconst_1
ldc "1.2.840.10045.2.1"
aastore
dup
iconst_2
ldc "OID.1.2.840.10045.2.1"
aastore
36: aload 8
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
37: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
38: iload 1
ifne 40
39: return
40: StackMap locals: sun.security.ec.SunEC int java.util.HashMap java.lang.String int java.lang.StringBuilder java.util.regex.Pattern java.util.Collection java.util.HashMap
StackMap stack:
aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
41: ldc "NONEwithECDSA"
ldc "sun.security.ec.ECDSASignature$Raw"
42: aconst_null
aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
43: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
44: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
45: ldc "SHA1withECDSA"
ldc "sun.security.ec.ECDSASignature$SHA1"
46: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "1.2.840.10045.4.1"
aastore
dup
iconst_1
ldc "OID.1.2.840.10045.4.1"
aastore
47: aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
48: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
49: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
50: ldc "SHA224withECDSA"
ldc "sun.security.ec.ECDSASignature$SHA224"
51: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "1.2.840.10045.4.3.1"
aastore
dup
iconst_1
ldc "OID.1.2.840.10045.4.3.1"
aastore
52: aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
53: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
54: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
55: ldc "SHA256withECDSA"
ldc "sun.security.ec.ECDSASignature$SHA256"
56: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "1.2.840.10045.4.3.2"
aastore
dup
iconst_1
ldc "OID.1.2.840.10045.4.3.2"
aastore
57: aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
58: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
59: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
60: ldc "SHA384withECDSA"
ldc "sun.security.ec.ECDSASignature$SHA384"
61: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "1.2.840.10045.4.3.3"
aastore
dup
iconst_1
ldc "OID.1.2.840.10045.4.3.3"
aastore
62: aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
63: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
64: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
65: ldc "SHA512withECDSA"
ldc "sun.security.ec.ECDSASignature$SHA512"
66: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "1.2.840.10045.4.3.4"
aastore
dup
iconst_1
ldc "OID.1.2.840.10045.4.3.4"
aastore
67: aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
68: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
69: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
70: ldc "NONEwithECDSAinP1363Format"
71: ldc "sun.security.ec.ECDSASignature$RawinP1363Format"
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
72: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
73: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
74: ldc "SHA1withECDSAinP1363Format"
75: ldc "sun.security.ec.ECDSASignature$SHA1inP1363Format"
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
76: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
77: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
78: ldc "SHA224withECDSAinP1363Format"
79: ldc "sun.security.ec.ECDSASignature$SHA224inP1363Format"
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
80: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
81: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
82: ldc "SHA256withECDSAinP1363Format"
83: ldc "sun.security.ec.ECDSASignature$SHA256inP1363Format"
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
84: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
85: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
86: ldc "SHA384withECDSAinP1363Format"
87: ldc "sun.security.ec.ECDSASignature$SHA384inP1363Format"
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
88: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
89: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "Signature"
90: ldc "SHA512withECDSAinP1363Format"
91: ldc "sun.security.ec.ECDSASignature$SHA512inP1363Format"
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
92: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
93: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "KeyPairGenerator"
94: ldc "EC"
ldc "sun.security.ec.ECKeyPairGenerator"
95: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "EllipticCurve"
aastore
aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
96: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
97: aload 0
new sun.security.ec.SunEC$ProviderService
dup
aload 0
ldc "KeyAgreement"
98: ldc "ECDH"
ldc "sun.security.ec.ECDHKeyAgreement"
aconst_null
aload 2
invokespecial sun.security.ec.SunEC$ProviderService.<init>:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/HashMap;)V
99: invokevirtual sun.security.ec.SunEC.putService:(Ljava/security/Provider$Service;)V
100: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 101 0 this Lsun/security/ec/SunEC;
0 101 1 useFullImplementation Z
1 101 2 ATTRS Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
3 101 3 ecKeyClasses Ljava/lang/String;
10 101 4 firstCurve Z
11 101 5 names Ljava/lang/StringBuilder;
12 101 6 nameSplitPattern Ljava/util/regex/Pattern;
14 101 7 supportedCurves Ljava/util/Collection<+Lsun/security/util/NamedCurve;>;
16 30 8 namedCurve Lsun/security/util/NamedCurve;
22 30 10 commonNames [Ljava/lang/String;
24 26 11 commonName Ljava/lang/String;
32 101 8 apAttrs Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
useFullImplementation
}
SourceFile: "SunEC.java"
NestMembers:
sun.security.ec.SunEC$1 sun.security.ec.SunEC$2 sun.security.ec.SunEC$ProviderService
InnerClasses:
public Service = java.security.Provider$Service of java.security.Provider
sun.security.ec.SunEC$1
sun.security.ec.SunEC$2
private ProviderService = sun.security.ec.SunEC$ProviderService of sun.security.ec.SunEC