当前位置: 首页 > 知识库问答 >
问题:

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

姜钊
2023-03-14

我当前的提供商有:

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

...

9-提供商名称:SunPKCS11 CartaoCidadao

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

Provider prov = Security.getProvider("SunPKCS11-CartaoCidadao");
keyStore = KeyStore.getInstance("PKCS11", prov );

使用info方法我可以看到它正在使用库:

System.out.println(prov.getInfo());

SunPKCS11 CartaoCidadao使用library/usr/local/lib/libpteidpkcs11。所以

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

KeyStore ks = KeyStore.getInstance("PKCS11","SunPKCS11-CartaoCidadao");
keyStore.load( null, null );

Java语言安全KeyStoreException:找不到PKCS11

原因:java。安全NoSuchAlgorithmException:没有这样的算法:提供程序SunPKCS11 CartaoCidadao的PKCS11

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

共有1个答案

古明煦
2023-03-14

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

使用以下选项:

KeyStore ks = KeyStore.getInstance("PKCS11",prov);
 类似资料:
  • 我有一个问题加载类到Angular组件。很长一段时间以来,我一直试图解决这个问题;我甚至尝试将它加入到一个文件中。我拥有的是: 一个pplication.ts 服务/名称服务。ts 我一直收到一条错误消息,说。 有人能帮我发现代码的问题吗?

  • 问题内容: 罐(bcprov-jdk16-145.jar)已添加到项目中,已添加到类中,并且确实返回“ BC”,但AesFileIo.writeFile()仍会抛出。有任何想法吗? 问题答案: 我对Android sdk不太熟悉,但是似乎提供程序附带的安全性已经增加了。 在PC环境中,您只需手动添加即可, 如果您有权访问该文件,只需添加一个条目,如: 注意,它等于已添加的提供程序的序号。

  • 从angular 4.4升级到5.0,并将所有HttpModule和Http更新到HttpClientModule后,我开始出现此错误。 我还再次添加了HttpModule,以确保这不是由于某些依赖关系造成的,但它并不能解决问题 应用程序内。模块,我已正确设置 我不知道这个错误是从哪里来的,或者我不知道如何去了解它。我也有一个警告(也放在下面),可能是相关的。 警告信息:

  • 我正在使用Yeoman+Angular Generator为我的应用程序,我一直在努力地跑来跑去与Jasmine相处!这就是我被困住的地方。我希望能够在Jasmine测试中使用jQuery选择器。我已经安装了和包。然后我为bower安装了它(我是新来的,我不知道应该为什么安装什么!)。我已经在中手动添加了路径,但仍然得到这样的消息: 这就是我的因果报应配置的样子:

  • 问题内容: 由于某些原因,我的代码无法打开简单文件: 这是代码: 错误是: 自然地,我检查了这是文件的正确名称。 我尝试在文件中四处移动,提供文件open()的完整路径,但似乎都不起作用。 问题答案: 确保文件存在:用于查看当前工作目录中的文件列表 确保你位于自己认为所在的目录中(如果从IDE启动代码,则可能位于其他目录中) 然后,你可以: 调用,即文件所在的文件夹,然后像以前一样使用文件名打开文