Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NSS PKCS11无法与jsse提供程序正常工作_Java_Security_Fips_Nss_Pkcs#11 - Fatal编程技术网

Java NSS PKCS11无法与jsse提供程序正常工作

Java NSS PKCS11无法与jsse提供程序正常工作,java,security,fips,nss,pkcs#11,Java,Security,Fips,Nss,Pkcs#11,我正在使用作为Java应用程序的Sun提供程序,并且遇到了一些不希望出现的行为 将相同的受信任证书重新插入密钥库将删除最初插入证书时成功设置的信任属性 下面是一些不完整的代码来说明问题的本质: Provider p = new SunPKCS11(pkcs11ConFile); Security.addProvider(p); KeyStore keystore = KeyStore.getInstance("PKCS11"); keystore.load(null, pwd); pkc

我正在使用作为Java应用程序的Sun提供程序,并且遇到了一些不希望出现的行为

将相同的受信任证书重新插入密钥库将删除最初插入证书时成功设置的信任属性

下面是一些不完整的代码来说明问题的本质:

Provider p = new SunPKCS11(pkcs11ConFile);

Security.addProvider(p);

KeyStore keystore = KeyStore.getInstance("PKCS11");

keystore.load(null, pwd);

pkcs11Keystore.setCertificateEntry(alias, cert);

//at this point, when I use certutil.exe to list the keystore certificate I can see 
//the certificate listed with attributes "CT,C,C" for SSL,S/MIME,JAR/XPI respectively.

keystore.deleteEntry(alias);

keystore.setCertificateEntry(alias, cert);

//now when I run the same certutil.exe command I see empty trust attributes i.e. ",,".
我仍然能够重新加载相同的密钥库(和证书),SSL身份验证可以完美地工作。但是,当重新启动应用程序并重新加载密钥库时,证书在受信任别名列表中不可用

为什么只有当应用程序重新启动时,事情才会失败,这对我来说也是个谜

我读了一些似乎与之相关的东西,但它似乎没有100%适用,我不理解nss的内部结构,无法完全理解它

有人了解这种行为吗


谢谢,迈克

你的问题没有一个答案可以接受吗,迈克?尽量使用常用的标签,否则它们将不可见。