Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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 没有这样的算法:提供程序SunPKCS11 CARTAOCIDAO的PKCS11_Java_Keystore_Pkcs#11_Java Security_Sunpkcs11 - Fatal编程技术网

Java 没有这样的算法:提供程序SunPKCS11 CARTAOCIDAO的PKCS11

Java 没有这样的算法:提供程序SunPKCS11 CARTAOCIDAO的PKCS11,java,keystore,pkcs#11,java-security,sunpkcs11,Java,Keystore,Pkcs#11,Java Security,Sunpkcs11,我目前的供应商有: 0-提供程序名称:SUN 1-提供商名称:SunRsaSign 2-提供商名称:SunEC 9-提供商名称:SunPKCS11 CARTAOCIDAO 第九个提供者是我正在尝试使用的提供者,它使用pkcs11库 Provider prov = Security.getProvider("SunPKCS11-CartaoCidadao"); keyStore = KeyStore.getInstance("PKCS11", prov ); 使用info方法,我可以看到它正在

我目前的供应商有:

0-提供程序名称:SUN 1-提供商名称:SunRsaSign 2-提供商名称:SunEC

9-提供商名称:SunPKCS11 CARTAOCIDAO

第九个提供者是我正在尝试使用的提供者,它使用pkcs11库

Provider prov = Security.getProvider("SunPKCS11-CartaoCidadao");
keyStore = KeyStore.getInstance("PKCS11", prov );
使用info方法,我可以看到它正在使用库:

System.out.println(prov.getInfo());
SunPKCS11使用library/usr/local/lib/libpteidpkcs11.so

然而,当我试图获取一个关键实例时,它告诉我该提供程序没有PKCS11,它应该这样做

KeyStore ks = KeyStore.getInstance("PKCS11","SunPKCS11-CartaoCidadao");
keyStore.load( null, null );
java.security.KeyStoreException:找不到PKCS11

原因:java.security.nosuchalgorithException:没有这样的算法:提供程序SunPKCS11 CARTAOCIDAO的PKCS11


有人知道如何解决这个问题吗?

第二个参数的类型应该是
Provider

使用以下命令:

KeyStore ks = KeyStore.getInstance("PKCS11",prov);