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

使用HSM和SUNPKCS11进行文件签名时出现异常

孙才捷
2023-03-14

我们正在使用HSM(硬件安全模块)对java应用程序进行签名和加密。我们已经使用java将HSM插入JVM。使用以下条目的安全属性文件

security.provider.11=sun.security.pkcs11.SunPKCS11 D:/security/safenet.cfg

这些天它一直运行良好,突然我们遇到了如下错误。

java.security.SignatureException: RSASignature::engineSign sun.security.pkcs11.P11Key$P11PrivateKey cannot be cast to java.security.interfaces.RSAPrivateKey

我们在谷歌上做了足够的搜索,但无法找出根本原因。

感谢任何帮助

谢谢

共有1个答案

朱宏爽
2023-03-14

我们也遇到了同样的问题。获取签名实例时指定提供程序名称。调用使用HSM进行签名的代码时,应用程序中可能会有其他代码段添加另一个实现相同签名算法的提供程序[安全性.insertProvider]。签名时,传递PKCS11的私钥处理程序的参数,但提供程序需要不同的RSA密钥处理程序。解决方案:获取HSM签名实例时,请指定安全提供程序以及签名算法。

 类似资料:
  • 我正在使用SunPKCS11连接到HSM设备。我有一些运行完美的单元测试(实际上他们会进行一些签名和验证),但是,当我将应用程序部署到tomcat或jetty时,我会得到这个异常(这个异常是在jetty中部署期间引发的,tomcat的异常是相似的): 下面是我如何实例化SunPKCS11的: 只是为了添加一些细节,我在windows server 2012上使用了64位java8。 更新1:我刚刚

  • 我在理解OpenSSL的签名和验证过程时遇到了一些困难。 我有一个小型证书层次结构:根证书=>子证书=>结束实体证书。我想拥有来自最终实体CA的代码签名证书,因此创建了一个密钥对并请求CSR: 非常感谢。

  • 有没有办法使用openssl对x509证书或任何文档进行数字签名?

  • 问题内容: 我的java程序打包在jar文件中,并使用外部jar库bouncy castle。我的代码可以正常编译,但是运行jar会导致以下错误: 线程“主”中的异常java.lang.SecurityException:清单主要属性的无效签名文件摘要 我在Google上搜索了一个多小时,一直在寻找解释,却发现价值不大。如果有人之前曾见过此错误并可以提供帮助,则我有义务。 问题答案: 此处列出的解

  • 我下载了以下链接: http://www.java2s.com/Code/JarDownload/java/java-json.jar.zip 然后,我将jar添加到构建路径:右键单击项目 我能够使用java-json库而不会出现任何错误。然而,当我将项目导出到一个jar时,没有选项将java-json引用库作为jar的一部分。所以我假设通过将库添加到构建路径,我不必导出外部罐(无论如何也没有选项

  • 我想验证两个APK文件是否已使用相同的证书签名。 我有整个JavaSDK可用,但想从Java代码使跨平台的原因。 有什么想法吗?