final class sun.security.ssl.JsseJce
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.JsseJce
super_class: java.lang.Object
{
private static final sun.security.ssl.Debug debug;
descriptor: Lsun/security/ssl/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.jca.ProviderList fipsProviderList;
descriptor: Lsun/security/jca/ProviderList;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile java.lang.Boolean ecAvailable;
descriptor: Ljava/lang/Boolean;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final boolean kerberosAvailable;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.lang.String CIPHER_RSA_PKCS1;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "RSA/ECB/PKCS1Padding"
static final java.lang.String CIPHER_RC4;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "RC4"
static final java.lang.String CIPHER_DES;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "DES/CBC/NoPadding"
static final java.lang.String CIPHER_3DES;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "DESede/CBC/NoPadding"
static final java.lang.String CIPHER_AES;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "AES/CBC/NoPadding"
static final java.lang.String SIGNATURE_DSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "DSA"
static final java.lang.String SIGNATURE_ECDSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "SHA1withECDSA"
static final java.lang.String SIGNATURE_RAWDSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "RawDSA"
static final java.lang.String SIGNATURE_RAWECDSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "NONEwithECDSA"
static final java.lang.String SIGNATURE_RAWRSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "NONEwithRSA"
static final java.lang.String SIGNATURE_SSLRSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "MD5andSHA1withRSA"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: ldc "ssl"
invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
putstatic sun.security.ssl.JsseJce.debug:Lsun/security/ssl/Debug;
1: new sun.security.ssl.JsseJce$1
dup
invokespecial sun.security.ssl.JsseJce$1.<init>:()V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
3: iconst_1
istore 0
start local 0 4: goto 7
end local 0 StackMap locals:
StackMap stack: java.lang.Exception
5: pop
6: iconst_0
istore 0
start local 0 7: StackMap locals: int
StackMap stack:
iload 0
putstatic sun.security.ssl.JsseJce.kerberosAvailable:Z
end local 0 8: invokestatic sun.security.ssl.SunJSSE.isFIPS:()Z
ifne 11
9: aconst_null
putstatic sun.security.ssl.JsseJce.fipsProviderList:Lsun/security/jca/ProviderList;
10: goto 18
11: StackMap locals:
StackMap stack:
ldc "SUN"
invokestatic java.security.Security.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
astore 0
start local 0 12: aload 0
ifnonnull 16
13: new java.lang.RuntimeException
dup
14: ldc "FIPS mode: SUN provider must be installed"
15: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: java.security.Provider
StackMap stack:
new sun.security.ssl.JsseJce$SunCertificates
dup
aload 0
invokespecial sun.security.ssl.JsseJce$SunCertificates.<init>:(Ljava/security/Provider;)V
astore 1
start local 1 17: iconst_2
anewarray java.security.Provider
dup
iconst_0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
aastore
dup
iconst_1
aload 1
aastore
invokestatic sun.security.jca.ProviderList.newList:([Ljava/security/Provider;)Lsun/security/jca/ProviderList;
putstatic sun.security.ssl.JsseJce.fipsProviderList:Lsun/security/jca/ProviderList;
end local 1 end local 0 18: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
4 5 0 temp Z
7 8 0 temp Z
12 18 0 sun Ljava/security/Provider;
17 18 1 sunCerts Ljava/security/Provider;
Exception table:
from to target type
1 4 5 Class java.lang.Exception
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/JsseJce;
static boolean isEcAvailable();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.ssl.JsseJce.ecAvailable:Ljava/lang/Boolean;
ifnonnull 11
1: ldc "SHA1withECDSA"
invokestatic sun.security.ssl.JsseJce.getSignature:(Ljava/lang/String;)Ljava/security/Signature;
pop
2: ldc "NONEwithECDSA"
invokestatic sun.security.ssl.JsseJce.getSignature:(Ljava/lang/String;)Ljava/security/Signature;
pop
3: ldc "ECDH"
invokestatic sun.security.ssl.JsseJce.getKeyAgreement:(Ljava/lang/String;)Ljavax/crypto/KeyAgreement;
pop
4: ldc "EC"
invokestatic sun.security.ssl.JsseJce.getKeyFactory:(Ljava/lang/String;)Ljava/security/KeyFactory;
pop
5: ldc "EC"
invokestatic sun.security.ssl.JsseJce.getKeyPairGenerator:(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
pop
6: ldc "EC"
invokestatic sun.security.ssl.JsseJce.getAlgorithmParameters:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
pop
7: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putstatic sun.security.ssl.JsseJce.ecAvailable:Ljava/lang/Boolean;
8: goto 11
StackMap locals:
StackMap stack: java.lang.Exception
9: pop
10: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putstatic sun.security.ssl.JsseJce.ecAvailable:Ljava/lang/Boolean;
11: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.JsseJce.ecAvailable:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 8 9 Class java.lang.Exception
static void clearEcAvailable();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic sun.security.ssl.JsseJce.ecAvailable:Ljava/lang/Boolean;
1: return
LocalVariableTable:
Start End Slot Name Signature
static boolean isKerberosAvailable();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.ssl.JsseJce.kerberosAvailable:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static javax.crypto.Cipher getCipher(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/crypto/Cipher;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 3
1: aload 0
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
2: areturn
3: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
4: areturn
5: StackMap locals:
StackMap stack: javax.crypto.NoSuchPaddingException
astore 1
start local 1 6: new java.security.NoSuchAlgorithmException
dup
aload 1
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 transformation Ljava/lang/String;
6 7 1 e Ljavax/crypto/NoSuchPaddingException;
Exception table:
from to target type
0 2 5 Class javax.crypto.NoSuchPaddingException
3 4 5 Class javax.crypto.NoSuchPaddingException
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
transformation
static java.security.Signature getSignature(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/Signature;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 2
1: aload 0
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "MD5andSHA1withRSA"
if_acmpne 8
3: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ldc "Signature"
aload 0
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
ifnonnull 8
4: aload 0
ldc "SunJSSE"
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
5: areturn
6: StackMap locals:
StackMap stack: java.security.NoSuchProviderException
astore 1
start local 1 7: new java.security.NoSuchAlgorithmException
dup
aload 1
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 algorithm Ljava/lang/String;
7 8 1 e Ljava/security/NoSuchProviderException;
Exception table:
from to target type
4 5 6 Class java.security.NoSuchProviderException
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
static javax.crypto.KeyGenerator getKeyGenerator(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 2
1: aload 0
invokestatic javax.crypto.KeyGenerator.getInstance:(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic javax.crypto.KeyGenerator.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/KeyGenerator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
static java.security.KeyPairGenerator getKeyPairGenerator(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/KeyPairGenerator;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 2
1: aload 0
invokestatic java.security.KeyPairGenerator.getInstance:(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic java.security.KeyPairGenerator.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyPairGenerator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
static javax.crypto.KeyAgreement getKeyAgreement(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/crypto/KeyAgreement;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 2
1: aload 0
invokestatic javax.crypto.KeyAgreement.getInstance:(Ljava/lang/String;)Ljavax/crypto/KeyAgreement;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic javax.crypto.KeyAgreement.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/KeyAgreement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
static javax.crypto.Mac getMac(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/crypto/Mac;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 2
1: aload 0
invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Mac;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
static java.security.KeyFactory getKeyFactory(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/KeyFactory;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 2
1: aload 0
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
static java.security.AlgorithmParameters getAlgorithmParameters(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/AlgorithmParameters;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 2
1: aload 0
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameters;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
static java.security.SecureRandom getSecureRandom();
descriptor: ()Ljava/security/SecureRandom;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=0
0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 2
1: new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
ldc "PKCS11"
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic java.security.SecureRandom.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/SecureRandom;
3: areturn
4: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
pop
5: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokevirtual java.security.Provider.getServices:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
goto 11
StackMap locals: top java.util.Iterator
StackMap stack:
6: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Provider$Service
astore 0
start local 0 7: aload 0
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
ldc "SecureRandom"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
8: aload 0
invokevirtual java.security.Provider$Service.getAlgorithm:()Ljava/lang/String;
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic java.security.SecureRandom.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/SecureRandom;
9: areturn
10: StackMap locals: java.security.Provider$Service java.util.Iterator
StackMap stack: java.security.NoSuchAlgorithmException
pop
end local 0 11: StackMap locals: top java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
12: new java.security.KeyManagementException
dup
new java.lang.StringBuilder
dup
ldc "FIPS mode: no SecureRandom implementation found in provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.security.KeyManagementException.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
7 11 0 s Ljava/security/Provider$Service;
Exception table:
from to target type
2 3 4 Class java.security.NoSuchAlgorithmException
8 9 10 Class java.security.NoSuchAlgorithmException
Exceptions:
throws java.security.KeyManagementException
static java.security.MessageDigest getMD5();
descriptor: ()Ljava/security/MessageDigest;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "MD5"
invokestatic sun.security.ssl.JsseJce.getMessageDigest:(Ljava/lang/String;)Ljava/security/MessageDigest;
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.security.MessageDigest getSHA();
descriptor: ()Ljava/security/MessageDigest;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "SHA"
invokestatic sun.security.ssl.JsseJce.getMessageDigest:(Ljava/lang/String;)Ljava/security/MessageDigest;
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.security.MessageDigest getMessageDigest(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/MessageDigest;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
ifnonnull 3
1: aload 0
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
2: areturn
3: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.ssl.SunJSSE.cryptoProvider:Ljava/security/Provider;
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/MessageDigest;
4: areturn
5: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 1
start local 1 6: new java.lang.RuntimeException
dup
7: new java.lang.StringBuilder
dup
ldc "Algorithm "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not available"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
8: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 algorithm Ljava/lang/String;
6 9 1 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
0 2 5 Class java.security.NoSuchAlgorithmException
3 4 5 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
static int getRSAKeyLength(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
instanceof java.security.interfaces.RSAPublicKey
ifeq 3
1: aload 0
checkcast java.security.interfaces.RSAPublicKey
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
astore 1
start local 1 2: goto 5
end local 1 3: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.security.ssl.JsseJce.getRSAPublicKeySpec:(Ljava/security/PublicKey;)Ljava/security/spec/RSAPublicKeySpec;
astore 2
start local 2 4: aload 2
invokevirtual java.security.spec.RSAPublicKeySpec.getModulus:()Ljava/math/BigInteger;
astore 1
end local 2 start local 1 5: StackMap locals: java.math.BigInteger
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.bitLength:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 key Ljava/security/PublicKey;
2 3 1 modulus Ljava/math/BigInteger;
5 6 1 modulus Ljava/math/BigInteger;
4 5 2 spec Ljava/security/spec/RSAPublicKeySpec;
MethodParameters:
Name Flags
key
static java.security.spec.RSAPublicKeySpec getRSAPublicKeySpec(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)Ljava/security/spec/RSAPublicKeySpec;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
instanceof java.security.interfaces.RSAPublicKey
ifeq 5
1: aload 0
checkcast java.security.interfaces.RSAPublicKey
astore 1
start local 1 2: new java.security.spec.RSAPublicKeySpec
dup
aload 1
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
3: aload 1
invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
4: invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
areturn
end local 1 5: StackMap locals:
StackMap stack:
ldc "RSA"
invokestatic sun.security.ssl.JsseJce.getKeyFactory:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 1
start local 1 6: aload 1
aload 0
ldc Ljava/security/spec/RSAPublicKeySpec;
invokevirtual java.security.KeyFactory.getKeySpec:(Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
checkcast java.security.spec.RSAPublicKeySpec
7: areturn
end local 1 8: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 9: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 key Ljava/security/PublicKey;
2 5 1 rsaKey Ljava/security/interfaces/RSAPublicKey;
6 8 1 factory Ljava/security/KeyFactory;
9 10 1 e Ljava/lang/Exception;
Exception table:
from to target type
5 7 8 Class java.lang.Exception
MethodParameters:
Name Flags
key
static java.security.spec.ECParameterSpec getECParameterSpec(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/spec/ECParameterSpec;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.security.ec.NamedCurve.getECParameterSpec:(Ljava/lang/String;)Ljava/security/spec/ECParameterSpec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 namedCurveOid Ljava/lang/String;
MethodParameters:
Name Flags
namedCurveOid
static java.lang.String getNamedCurveOid(java.security.spec.ECParameterSpec);
descriptor: (Ljava/security/spec/ECParameterSpec;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.security.ec.ECParameters.getCurveName:(Ljava/security/spec/ECParameterSpec;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 params Ljava/security/spec/ECParameterSpec;
MethodParameters:
Name Flags
params
static java.security.spec.ECPoint decodePoint(byte[], java.security.spec.EllipticCurve);
descriptor: ([BLjava/security/spec/EllipticCurve;)Ljava/security/spec/ECPoint;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.security.ec.ECParameters.decodePoint:([BLjava/security/spec/EllipticCurve;)Ljava/security/spec/ECPoint;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 encoded [B
0 1 1 curve Ljava/security/spec/EllipticCurve;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
encoded
curve
static byte[] encodePoint(java.security.spec.ECPoint, java.security.spec.EllipticCurve);
descriptor: (Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.security.ec.ECParameters.encodePoint:(Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 point Ljava/security/spec/ECPoint;
0 1 1 curve Ljava/security/spec/EllipticCurve;
MethodParameters:
Name Flags
point
curve
static java.lang.Object beginFipsProvider();
descriptor: ()Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.ssl.JsseJce.fipsProviderList:Lsun/security/jca/ProviderList;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.JsseJce.fipsProviderList:Lsun/security/jca/ProviderList;
invokestatic sun.security.jca.Providers.beginThreadProviderList:(Lsun/security/jca/ProviderList;)Lsun/security/jca/ProviderList;
areturn
LocalVariableTable:
Start End Slot Name Signature
static void endFipsProvider(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.JsseJce.fipsProviderList:Lsun/security/jca/ProviderList;
ifnull 2
1: aload 0
checkcast sun.security.jca.ProviderList
invokestatic sun.security.jca.Providers.endThreadProviderList:(Lsun/security/jca/ProviderList;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
}
SourceFile: "JsseJce.java"
NestMembers:
sun.security.ssl.JsseJce$1 sun.security.ssl.JsseJce$SunCertificates sun.security.ssl.JsseJce$SunCertificates$1
InnerClasses:
public Service = java.security.Provider$Service of java.security.Provider
sun.security.ssl.JsseJce$1
private final SunCertificates = sun.security.ssl.JsseJce$SunCertificates of sun.security.ssl.JsseJce