public final class sun.security.pkcs11.Secmod
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.Secmod
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final sun.security.pkcs11.Secmod INSTANCE;
descriptor: Lsun/security/pkcs11/Secmod;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String NSS_LIB_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "nss3"
private static final java.lang.String SOFTTOKEN_LIB_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "softokn3"
private static final java.lang.String TRUST_LIB_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "nssckbi"
private long nssHandle;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean supported;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.List<sun.security.pkcs11.Secmod$Module> modules;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lsun/security/pkcs11/Secmod$Module;>;
private java.lang.String configDir;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String nssLibDir;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static final java.lang.String TEMPLATE_EXTERNAL;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "library = %s\nname = \"%s\"\nslotListIndex = %d\n"
static final java.lang.String TEMPLATE_TRUSTANCHOR;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "library = %s\nname = \"NSS Trust Anchors\"\nslotListIndex = 0\nenabledMechanisms = { KeyStore }\nnssUseSecmodTrust = true\n"
static final java.lang.String TEMPLATE_CRYPTO;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "library = %s\nname = \"NSS SoftToken Crypto\"\nslotListIndex = 0\ndisabledMechanisms = { KeyStore }\n"
static final java.lang.String TEMPLATE_KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "library = %s\nname = \"NSS SoftToken KeyStore\"\nslotListIndex = 1\nnssUseSecmodTrust = true\n"
static final java.lang.String TEMPLATE_FIPS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "library = %s\nname = \"NSS FIPS SoftToken\"\nslotListIndex = 0\nnssUseSecmodTrust = true\n"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic sun.security.pkcs11.wrapper.PKCS11.loadNative:()V
1: new sun.security.pkcs11.Secmod
dup
invokespecial sun.security.pkcs11.Secmod.<init>:()V
putstatic sun.security.pkcs11.Secmod.INSTANCE:Lsun/security/pkcs11/Secmod;
2: return
LocalVariableTable:
Start End Slot Name Signature
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/pkcs11/Secmod;
public static sun.security.pkcs11.Secmod getInstance();
descriptor: ()Lsun/security/pkcs11/Secmod;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.pkcs11.Secmod.INSTANCE:Lsun/security/pkcs11/Secmod;
areturn
LocalVariableTable:
Start End Slot Name Signature
private boolean isLoaded();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.Secmod.nssHandle:J
lconst_0
lcmp
ifne 4
1: aload 0
ldc "nss3"
invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
invokestatic sun.security.pkcs11.Secmod.nssGetLibraryHandle:(Ljava/lang/String;)J
putfield sun.security.pkcs11.Secmod.nssHandle:J
2: aload 0
getfield sun.security.pkcs11.Secmod.nssHandle:J
lconst_0
lcmp
ifeq 4
3: aload 0
invokevirtual sun.security.pkcs11.Secmod.fetchVersions:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.Secmod.nssHandle:J
lconst_0
lcmp
ifeq 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/pkcs11/Secmod;
private void fetchVersions();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.security.pkcs11.Secmod.nssHandle:J
ldc "3.7"
invokestatic sun.security.pkcs11.Secmod.nssVersionCheck:(JLjava/lang/String;)Z
putfield sun.security.pkcs11.Secmod.supported:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/Secmod;
public synchronized boolean isInitialized();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.pkcs11.Secmod.isLoaded:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.Secmod.supported:Z
ifne 6
3: new java.io.IOException
dup
4: ldc "An incompatible version of NSS is already loaded, 3.7 or later required"
5: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/pkcs11/Secmod;
Exceptions:
throws java.io.IOException
java.lang.String getConfigDir();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.Secmod.configDir:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs11/Secmod;
java.lang.String getLibDir();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.Secmod.nssLibDir:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs11/Secmod;
public void initialize(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic sun.security.pkcs11.Secmod$DbMode.READ_WRITE:Lsun/security/pkcs11/Secmod$DbMode;
aload 1
aload 2
invokevirtual sun.security.pkcs11.Secmod.initialize:(Lsun/security/pkcs11/Secmod$DbMode;Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/Secmod;
0 2 1 configDir Ljava/lang/String;
0 2 2 nssLibDir Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
configDir
nssLibDir
public synchronized void initialize(sun.security.pkcs11.Secmod$DbMode, java.lang.String, java.lang.String);
descriptor: (Lsun/security/pkcs11/Secmod$DbMode;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual sun.security.pkcs11.Secmod.isInitialized:()Z
ifeq 2
1: new java.io.IOException
dup
ldc "NSS is already initialized"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
getstatic sun.security.pkcs11.Secmod$DbMode.NO_DB:Lsun/security/pkcs11/Secmod$DbMode;
if_acmpeq 6
aload 2
ifnonnull 6
5: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
ldc "nss3"
invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 7: aload 3
ifnonnull 10
8: aload 4
astore 5
start local 5 9: goto 17
end local 5 10: StackMap locals: java.lang.String
StackMap stack:
new java.io.File
dup
aload 3
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 6
start local 6 11: aload 6
invokevirtual java.io.File.isDirectory:()Z
ifne 13
12: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "nssLibDir must be a directory:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.lang.String java.lang.String java.lang.String top java.io.File
StackMap stack:
new java.io.File
dup
aload 6
aload 4
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 7
start local 7 14: aload 7
invokevirtual java.io.File.isFile:()Z
ifne 16
15: new java.io.FileNotFoundException
dup
aload 7
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: java.io.File
StackMap stack:
aload 7
invokevirtual java.io.File.getPath:()Ljava/lang/String;
astore 5
end local 7 end local 6 start local 5 17: StackMap locals: sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 2
ifnull 24
18: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 6
start local 6 19: aload 6
invokevirtual java.io.File.isDirectory:()Z
ifne 21
20: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "configDir must be a directory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: java.io.File
StackMap stack:
new java.io.File
dup
aload 6
ldc "secmod.db"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 7
start local 7 22: aload 7
invokevirtual java.io.File.isFile:()Z
ifne 24
23: new java.io.FileNotFoundException
dup
aload 7
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 24: StackMap locals:
StackMap stack:
aload 0
aload 5
invokestatic sun.security.pkcs11.Secmod.nssLoadLibrary:(Ljava/lang/String;)J
putfield sun.security.pkcs11.Secmod.nssHandle:J
25: aload 0
invokevirtual sun.security.pkcs11.Secmod.fetchVersions:()V
26: aload 0
getfield sun.security.pkcs11.Secmod.supported:Z
ifne 30
27: new java.io.IOException
dup
28: ldc "The specified version of NSS is incompatible, 3.7 or later required"
29: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.pkcs11.Secmod$DbMode.functionName:Ljava/lang/String;
aload 0
getfield sun.security.pkcs11.Secmod.nssHandle:J
aload 2
invokestatic sun.security.pkcs11.Secmod.nssInit:(Ljava/lang/String;JLjava/lang/String;)Z
istore 6
start local 6 31: iload 6
ifne 33
32: new java.io.IOException
dup
ldc "NSS initialization failed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: int
StackMap stack:
aload 0
aload 2
putfield sun.security.pkcs11.Secmod.configDir:Ljava/lang/String;
34: aload 0
aload 3
putfield sun.security.pkcs11.Secmod.nssLibDir:Ljava/lang/String;
35: return
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 36 0 this Lsun/security/pkcs11/Secmod;
0 36 1 dbMode Lsun/security/pkcs11/Secmod$DbMode;
0 36 2 configDir Ljava/lang/String;
0 36 3 nssLibDir Ljava/lang/String;
7 36 4 platformLibName Ljava/lang/String;
9 10 5 platformPath Ljava/lang/String;
17 36 5 platformPath Ljava/lang/String;
11 17 6 base Ljava/io/File;
14 17 7 platformFile Ljava/io/File;
19 24 6 configBase Ljava/io/File;
22 24 7 secmodFile Ljava/io/File;
31 36 6 initok Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dbMode
configDir
nssLibDir
public synchronized java.util.List<sun.security.pkcs11.Secmod$Module> getModules();
descriptor: ()Ljava/util/List;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.pkcs11.Secmod.isInitialized:()Z
ifne 4
1: new java.lang.IllegalStateException
dup
ldc "NSS not initialized"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new java.lang.IllegalStateException
dup
aload 1
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.Secmod.modules:Ljava/util/List;
ifnonnull 7
5: aload 0
getfield sun.security.pkcs11.Secmod.nssHandle:J
invokestatic sun.security.pkcs11.Secmod.nssGetModuleList:(J)Ljava/lang/Object;
checkcast java.util.List
astore 1
start local 1 6: aload 0
aload 1
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putfield sun.security.pkcs11.Secmod.modules:Ljava/util/List;
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.Secmod.modules:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/pkcs11/Secmod;
3 4 1 e Ljava/io/IOException;
6 7 1 modules Ljava/util/List<Lsun/security/pkcs11/Secmod$Module;>;
Exception table:
from to target type
0 2 2 Class java.io.IOException
Signature: ()Ljava/util/List<Lsun/security/pkcs11/Secmod$Module;>;
private static byte[] getDigest(java.security.cert.X509Certificate, java.lang.String);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 2
start local 2 1: aload 2
aload 0
invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
invokevirtual java.security.MessageDigest.digest:([B)[B
2: areturn
end local 2 3: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 4: new java.security.ProviderException
dup
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 cert Ljava/security/cert/X509Certificate;
0 5 1 algorithm Ljava/lang/String;
1 3 2 md Ljava/security/MessageDigest;
4 5 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 2 3 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
cert
algorithm
boolean isTrusted(java.security.cert.X509Certificate, sun.security.pkcs11.Secmod$TrustType);
descriptor: (Ljava/security/cert/X509Certificate;Lsun/security/pkcs11/Secmod$TrustType;)Z
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new sun.security.pkcs11.Secmod$Bytes
dup
aload 1
ldc "SHA-1"
invokestatic sun.security.pkcs11.Secmod.getDigest:(Ljava/security/cert/X509Certificate;Ljava/lang/String;)[B
invokespecial sun.security.pkcs11.Secmod$Bytes.<init>:([B)V
astore 3
start local 3 1: aload 0
getstatic sun.security.pkcs11.Secmod$ModuleType.KEYSTORE:Lsun/security/pkcs11/Secmod$ModuleType;
aload 3
invokevirtual sun.security.pkcs11.Secmod.getModuleTrust:(Lsun/security/pkcs11/Secmod$ModuleType;Lsun/security/pkcs11/Secmod$Bytes;)Lsun/security/pkcs11/Secmod$TrustAttributes;
astore 4
start local 4 2: aload 4
ifnonnull 6
3: aload 0
getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
aload 3
invokevirtual sun.security.pkcs11.Secmod.getModuleTrust:(Lsun/security/pkcs11/Secmod$ModuleType;Lsun/security/pkcs11/Secmod$Bytes;)Lsun/security/pkcs11/Secmod$TrustAttributes;
astore 4
4: aload 4
ifnonnull 6
5: aload 0
getstatic sun.security.pkcs11.Secmod$ModuleType.TRUSTANCHOR:Lsun/security/pkcs11/Secmod$ModuleType;
aload 3
invokevirtual sun.security.pkcs11.Secmod.getModuleTrust:(Lsun/security/pkcs11/Secmod$ModuleType;Lsun/security/pkcs11/Secmod$Bytes;)Lsun/security/pkcs11/Secmod$TrustAttributes;
astore 4
6: StackMap locals: sun.security.pkcs11.Secmod$Bytes sun.security.pkcs11.Secmod$TrustAttributes
StackMap stack:
aload 4
ifnonnull 7
iconst_0
goto 8
StackMap locals:
StackMap stack:
7: aload 4
aload 2
invokevirtual sun.security.pkcs11.Secmod$TrustAttributes.isTrusted:(Lsun/security/pkcs11/Secmod$TrustType;)Z
StackMap locals:
StackMap stack: int
8: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/pkcs11/Secmod;
0 9 1 cert Ljava/security/cert/X509Certificate;
0 9 2 trustType Lsun/security/pkcs11/Secmod$TrustType;
1 9 3 bytes Lsun/security/pkcs11/Secmod$Bytes;
2 9 4 attr Lsun/security/pkcs11/Secmod$TrustAttributes;
MethodParameters:
Name Flags
cert
trustType
private sun.security.pkcs11.Secmod$TrustAttributes getModuleTrust(sun.security.pkcs11.Secmod$ModuleType, sun.security.pkcs11.Secmod$Bytes);
descriptor: (Lsun/security/pkcs11/Secmod$ModuleType;Lsun/security/pkcs11/Secmod$Bytes;)Lsun/security/pkcs11/Secmod$TrustAttributes;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
astore 3
start local 3 1: aload 3
ifnonnull 2
aconst_null
goto 3
StackMap locals: sun.security.pkcs11.Secmod$Module
StackMap stack:
2: aload 3
aload 2
invokevirtual sun.security.pkcs11.Secmod$Module.getTrust:(Lsun/security/pkcs11/Secmod$Bytes;)Lsun/security/pkcs11/Secmod$TrustAttributes;
StackMap locals:
StackMap stack: sun.security.pkcs11.Secmod$TrustAttributes
3: astore 4
start local 4 4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs11/Secmod;
0 5 1 type Lsun/security/pkcs11/Secmod$ModuleType;
0 5 2 bytes Lsun/security/pkcs11/Secmod$Bytes;
1 5 3 module Lsun/security/pkcs11/Secmod$Module;
4 5 4 t Lsun/security/pkcs11/Secmod$TrustAttributes;
MethodParameters:
Name Flags
type
bytes
public sun.security.pkcs11.Secmod$Module getModule(sun.security.pkcs11.Secmod$ModuleType);
descriptor: (Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.pkcs11.Secmod.getModules:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$ModuleType top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs11.Secmod$Module
astore 2
start local 2 2: aload 2
invokevirtual sun.security.pkcs11.Secmod$Module.getType:()Lsun/security/pkcs11/Secmod$ModuleType;
aload 1
if_acmpne 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/pkcs11/Secmod;
0 6 1 type Lsun/security/pkcs11/Secmod$ModuleType;
2 4 2 module Lsun/security/pkcs11/Secmod$Module;
MethodParameters:
Name Flags
type
private static java.util.Map<sun.security.pkcs11.Secmod$Bytes, sun.security.pkcs11.Secmod$TrustAttributes> getTrust(sun.security.pkcs11.SunPKCS11);
descriptor: (Lsun/security/pkcs11/SunPKCS11;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=14, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual sun.security.pkcs11.SunPKCS11.getToken:()Lsun/security/pkcs11/Token;
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 2
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 3
4: sipush 8192
istore 4
start local 4 5: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
6: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 3461563219
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
7: astore 5
start local 5 8: aload 2
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 3
invokevirtual sun.security.pkcs11.Session.id:()J
aload 5
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjectsInit:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
9: aload 2
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 3
invokevirtual sun.security.pkcs11.Session.id:()J
iload 4
i2l
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjects:(JJ)[J
astore 6
start local 6 10: aload 2
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 3
invokevirtual sun.security.pkcs11.Session.id:()J
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjectsFinal:(J)V
11: aload 6
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 16
StackMap locals: sun.security.pkcs11.SunPKCS11 java.util.Map sun.security.pkcs11.Token sun.security.pkcs11.Session int sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] top top int int long[]
StackMap stack:
12: aload 11
iload 9
laload
lstore 7
start local 7 13: new sun.security.pkcs11.Secmod$TrustAttributes
dup
aload 2
aload 3
lload 7
invokespecial sun.security.pkcs11.Secmod$TrustAttributes.<init>:(Lsun/security/pkcs11/Token;Lsun/security/pkcs11/Session;J)V
astore 12
start local 12 14: aload 1
aload 12
invokevirtual sun.security.pkcs11.Secmod$TrustAttributes.getHash:()Lsun/security/pkcs11/Secmod$Bytes;
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 7 15: iinc 9 1
StackMap locals:
StackMap stack:
16: iload 9
iload 10
if_icmplt 12
end local 6 end local 5 end local 4 17: goto 21
StackMap locals: sun.security.pkcs11.SunPKCS11 java.util.Map sun.security.pkcs11.Token sun.security.pkcs11.Session
StackMap stack: java.lang.Throwable
18: astore 13
19: aload 2
aload 3
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
20: aload 13
athrow
21: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
22: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 provider Lsun/security/pkcs11/SunPKCS11;
1 23 1 trustMap Ljava/util/Map<Lsun/security/pkcs11/Secmod$Bytes;Lsun/security/pkcs11/Secmod$TrustAttributes;>;
2 23 2 token Lsun/security/pkcs11/Token;
3 23 3 session Lsun/security/pkcs11/Session;
5 17 4 MAX_NUM I
8 17 5 attrs [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
10 17 6 handles [J
13 15 7 handle J
14 15 12 trust Lsun/security/pkcs11/Secmod$TrustAttributes;
Exception table:
from to target type
3 18 18 any
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
Signature: (Lsun/security/pkcs11/SunPKCS11;)Ljava/util/Map<Lsun/security/pkcs11/Secmod$Bytes;Lsun/security/pkcs11/Secmod$TrustAttributes;>;
MethodParameters:
Name Flags
provider
private static native long nssGetLibraryHandle(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
libraryName
private static native long nssLoadLibrary(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
private static native boolean nssVersionCheck(long, java.lang.String);
descriptor: (JLjava/lang/String;)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
handle
minVersion
private static native boolean nssInit(java.lang.String, long, java.lang.String);
descriptor: (Ljava/lang/String;JLjava/lang/String;)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
functionName
handle
configDir
private static native java.lang.Object nssGetModuleList(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
handle
}
SourceFile: "Secmod.java"
NestMembers:
sun.security.pkcs11.Secmod$Bytes sun.security.pkcs11.Secmod$DbMode sun.security.pkcs11.Secmod$KeyStoreLoadParameter sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod$ModuleType sun.security.pkcs11.Secmod$TrustAttributes sun.security.pkcs11.Secmod$TrustType
InnerClasses:
private Bytes = sun.security.pkcs11.Secmod$Bytes of sun.security.pkcs11.Secmod
public final DbMode = sun.security.pkcs11.Secmod$DbMode of sun.security.pkcs11.Secmod
public final KeyStoreLoadParameter = sun.security.pkcs11.Secmod$KeyStoreLoadParameter of sun.security.pkcs11.Secmod
public final Module = sun.security.pkcs11.Secmod$Module of sun.security.pkcs11.Secmod
public final ModuleType = sun.security.pkcs11.Secmod$ModuleType of sun.security.pkcs11.Secmod
TrustAttributes = sun.security.pkcs11.Secmod$TrustAttributes of sun.security.pkcs11.Secmod
public final TrustType = sun.security.pkcs11.Secmod$TrustType of sun.security.pkcs11.Secmod