问题标签 [hsm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sign - 使用 SoftHSM 签署数据
我想使用 SoftHSMv2 和 pkcs11-tool 对一些数据进行签名(或加密)。
到目前为止,我生成了一个 RSA 密钥对:
但是当我尝试签署一些东西时:
我收到以下错误消息:
根据我阅读文档的理解,我应该可以使用 SoftHSM 签名,但也许我错了?
是否有在编译期间添加的选项或其他解决我的问题的选项?如果没有,市场上是否还有其他 SSM 产品?
spring-boot - 使用 HSM 提供的密钥库使用 HTTPS 配置 Spring Boot 会导致错误
使 Java 能够使用基于 PKCS#11 HSM 的密钥库的标准配置是不对密钥库路径配置任何内容(保持为空)并配置 java 安全性以获取 PKCS 11 安全性提供程序。此处提供了更多信息(使用 Sun/Oracle JVM)。Keystore 上的 Java 文档指定 - 为了创建一个空的密钥库,或者如果无法从流中初始化密钥库,请将 null 作为流参数传递。(参考:here)但是使用 Spring Boot 这样做会导致以下异常:
看来“org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory”类不允许密钥库路径为空。它尝试从给定路径加载资源。
Spring Boot 版本为 1.3.0。我查看了最新版本,https://github.com/spring-projects/spring-boot/blob/master/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory .java并且代码似乎没有更改(第 343 行) 有趣的是,当代码尝试加载信任存储时,它受到了很好的保护(允许空信任存储路径),请参见第 358 行。
这是一个简单的修复 - 检查密钥库路径是否为空和/或空并让它保持不变。
对于希望解决此问题的任何其他人,存在解决方法 - 通过覆盖“org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory”的“configureSsl”方法并将此实例配置为应用程序配置中的 EmbeddedServletContainerFactory。
问题是:是否有另一种方法可以在 Spring Boot 中配置安全/密钥库,这样我就不需要覆盖 TomcatEmbeddedServletContainerFactory?或者我应该考虑在 Spring Boot 上记录问题并建议一个补丁?
smartcard - 使用 PKCS#11 API 的 C 应用程序链接错误
我正在尝试编译仅执行 PKCS#11 初始化但出现以下错误的示例基本代码;
rpm 命令显示以下路径
我的代码粘贴在下面
但仍然收到错误
请指导如何解决此问题
java - HSM 错误 | 私钥必须是 RSAPrivate(Crt)Key 的实例或具有 PKCS#8
从 HSM 检索私钥时解密数据时收到错误。
我在 java.security 中添加了 sunpkcs11 提供程序。因此,不要通过代码添加提供者。文本已成功加密。但是,在解密加密文本时,我在以下行出现以下错误:
我在这里缺少什么?
错误:
下面是代码:
hsm - 从 tr31 密钥块中提取密钥(从 HSM Thales 9000 导出)
使用 HSM 命令 A0(生成密钥),我得到以下响应。
我的问题是:
如何从 tr31 密钥块中提取密钥(在 tmk 下)?
有谁知道如何解码 tr31 密钥块?
encryption - l 使用 HSM 存储密钥解密时出现哈希不匹配错误
在解密加密密钥时,我收到 lhash 不匹配错误。密钥使用RSA/ECB/OAEPWithSHA-1AndMGF1Padding 加密。我使用 PKCS#11 provider 。这是我的代码。请为此提供解决方案..
}
我收到的错误如下。
oracle - Oracle TDE 找不到新的 PKCS#11 库
我以前使用过带有 Oracle 数据库的 Utimaco HSM,但我想将 pcks#11-spy or
pkcs#11-logger` 放在 hsm 之间。Utimaco HSM 库正在运行,我使用了以下命令:
但现在我正在尝试使用pkcs11-spy
. 但 Oracle 找不到新库并返回以下内容:
我不清楚如何C:\oracle\extapi\32\hsm\...
为间谍设置文件夹。将来我想构建自己的 pkcs11 库,我也会遇到同样的问题,即不知道如何设置 pkcs11 库。
java - SunPKCS11 Provider 初始化后如何完成?
我已通过以下方式初始化 SunPKCS11 提供程序:
然后我使用这个提供程序来初始化 KeyStore 以使用密钥进行密码操作。
完成密码操作后,我应该如何使用 PKCS11 令牌完成会话?
我已经尝试删除提供程序,但它没有工作。
下次我尝试与令牌通信时,我从令牌CKR_CRYPTOKI_ALREADY_INITIALIZED中得到这个异常
更新:
我努力了
但它也没有用。
我有一个用例,我必须同时使用 PKCS#11 Wrapper 和 Provider。为了能够使用包装器,我必须最终确定提供程序,否则CKR_CRYPTOKI_ALREADY_INITIALIZED
当包装器尝试与令牌通信时,令牌会引发错误。
更新代码:
我正在使用 Sun 的 PKCS#11 Provider 和 IAIK 的 PKCS#11 Wrapper。
由于 Sun 的提供商没有注销和关闭会话,因此 IAIK 无法访问令牌。并且 Java 的Keystore
api 没有注销的方法。
linux - 在远程机器上运行 make build 时出错
因此,我开发了一个 python 性能测试来在 HSM 上运行一些测试。我正在按照说明下载 PyKCS11,这是我在远程机器上需要的一个重要模块。我安装了最新版本的 swig,我正在尝试在我下载到机器目录中的 PyKCS11 文件夹上运行构建。运行 make 构建时,我遇到了非常多的错误。关于这些错误发生了什么的建议?
抱歉,堆栈跟踪太长了。不确定如何压缩它,因此它显示了可能解决方案的正确错误消息。无论如何,这就是我在远程机器上运行我的 python 脚本时得到的结果。我认为问题在于找到正确的编译器,但我并不完全确定。
此外,我在调用解释器时尝试导入 PyKCS11 以查看更简化的错误版本。
security - HSM RNG - 符合 FIPS 186-2
如果说 HSM 的 RNG 符合 FIPS 140-2(已批准的 DRBG - SP 800-90 CTR 模式)是否也意味着它符合 FIPS 186-2?
谢谢你的帮助。