Java nssdb连接:无法初始化NSS

Java nssdb连接:无法初始化NSS,java,keystore,pkcs#11,nss,Java,Keystore,Pkcs#11,Nss,我正在尝试使用Java从nss数据库中提取证书数据。这是我的密码: try { char[] password = new char[0]; Provider nss = new sun.security.pkcs11.SunPKCS11("C:\\ntdps_temp\\proj\\NSSdb\\scripts\\pkcs11.cfg"); Security.addProvider(nss); KeyStore ks = KeyS

我正在尝试使用Java从nss数据库中提取证书数据。这是我的密码:

try {
        char[] password = new char[0];
        Provider nss = new sun.security.pkcs11.SunPKCS11("C:\\ntdps_temp\\proj\\NSSdb\\scripts\\pkcs11.cfg");
        Security.addProvider(nss);
        KeyStore ks = KeyStore.getInstance("PKCS11", nss);
        ks.load(null, password);
        for (Enumeration<String> aliases = ks.aliases(); aliases.hasMoreElements();) {
            System.out.println(aliases.nextElement());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
这是我的堆栈跟踪:

java.security.ProviderException: Could not initialize NSS
        at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:212)
        at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:103)
        at exportnssdb.ExportNssDb.main(ExportNssDb.java:30)
Caused by: java.io.IOException: The specified module could not be found.

        at sun.security.pkcs11.Secmod.nssLoadLibrary(Native Method)
        at sun.security.pkcs11.Secmod.initialize(Secmod.java:210)
        at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:207)
        ... 2 more
java.security.ProviderException:无法初始化NSS
位于sun.security.pkcs11.SunPKCS11。(SunPKCS11.java:212)
位于sun.security.pkcs11.SunPKCS11。(SunPKCS11.java:103)
位于exportnssdb.exportnssdb.main(exportnssdb.java:30)
原因:java.io.IOException:找不到指定的模块。
位于sun.security.pkcs11.Secmod.nssloaddlibrary(本机方法)
位于sun.security.pkcs11.Secmod.initialize(Secmod.java:210)
位于sun.security.pkcs11.SunPKCS11。(SunPKCS11.java:207)
... 还有两个
注:第30行是指行
Provider nss=new sun.security.pkcs11.SunPKCS11(“C:\\ntdps\u temp\\proj\\NSSdb\\scripts\\pkcs11.cfg”)这里


我正在为这个特殊的程序运行32位Java。提前感谢您的帮助

我将在这里随机拍摄。配置文件是否存在?java程序是否可以访问它?是的,是的。如果我将其设置为无效文件,则会出现另一个错误,表明它是无效的配置文件。那么,你能试着读一下配置文件吗。然后,通过
newbytearrayinputstream(yourcfg.getBytes())将其传递到构造函数中。
我正在读取配置文件,SUNPKCS11已经将其作为构造函数。
java.security.ProviderException: Could not initialize NSS
        at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:212)
        at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:103)
        at exportnssdb.ExportNssDb.main(ExportNssDb.java:30)
Caused by: java.io.IOException: The specified module could not be found.

        at sun.security.pkcs11.Secmod.nssLoadLibrary(Native Method)
        at sun.security.pkcs11.Secmod.initialize(Secmod.java:210)
        at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:207)
        ... 2 more