问题标签 [softhsm]

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.

0 投票
1 回答
7492 浏览

java - 连接到 SoftHSM java

代码:

配置文件:

问题是我有一些密钥对,我用 pkcs11-tool 添加了它们。
softhsm的版本是1.2.1
为什么KeyStore里没有别名?如何解决这个问题?

0 投票
1 回答
7232 浏览

windows - 如何开始使用 SoftHSM

我目前正在尝试运行 SoftHSM(在 Windows 平台上)。目标是在客户端和 HSM 服务器之间建立通信通道,以便可以在服务器端对某些数据进行加密并发送回调用客户端。

我从这个站点下载了一个:https ://www.opendnssec.org/download/

此外,我按照本页所述的文档进行操作:https ://wiki.opendnssec.org/display/SoftHSMDOCS/SoftHSM+Documentation+Home - 但除了创建几个插槽之外,我还没有成功.

我运行以下命令来创建插槽:

我不知道如何从这里开始,我找不到有关该主题的任何有用信息/教程。我想我应该从小处着手,尝试创建一个与 SoftHSM 通信的服务器应用程序……我为所有 n00b 问题道歉!

0 投票
0 回答
375 浏览

encryption - 为什么 iaik 包装器找不到密钥对?

softhsm作为 pkcs11 提供者使用,我的平台是 ubuntu 64

我想使用 加密softhsm,所以我将一个密钥导入到插槽 0 中,它告诉密钥已导入,当我尝试使用该 ID 导入另一个密钥时,它说该 ID 已使用,因此提供商已导入密钥。但是当我尝试通过代码找到密钥时,包装器找不到任何密钥。我的代码有问题吗?或者是什么??

0 投票
1 回答
1620 浏览

sign - 使用 SoftHSM 签署数据

我想使用 SoftHSMv2 和 pkcs11-tool 对一些数据进行签名(或加密)。

到目前为止,我生成了一个 RSA 密钥对:

但是当我尝试签署一些东西时:

我收到以下错误消息:

根据我阅读文档的理解,我应该可以使用 SoftHSM 签名,但也许我错了?

是否有在编译期间添加的选项或其他解决我的问题的选项?如果没有,市场上是否还有其他 SSM 产品?

0 投票
0 回答
2383 浏览

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 上记录问题并建议一个补丁?

0 投票
2 回答
10615 浏览

openssl - 无法在 OpenSSL 中启用 GOST 引擎支持

我正在尝试安装SoftHSM,如此处所示它需要 OpenSSL。所以我安装了 OpenSSL v1.0.2j,但它似乎没有捆绑 GOST 支持,或者至少我libgost.so/usr/lib/openssl/engines; 所以我从我找到的旧版本的 OpenSSL (v1.0.0k-2.1.x86_64) 中取出它并将它放在那个文件夹中。

然后,根据多个论坛的建议,我修改了文件 openssl.cnf(在 中/usr/local/ssl)。

RANDFIL = $ENV::HOME/.rnd我添加后的行中:

在文件末尾:

但仍处于 SoftHSM 安装的配置阶段,它显示此错误:

任何帮助将不胜感激!

如果我运行这个命令:openssl ciphers|tr ':' '\n'|grep GOST,输出是:Error configuring OpenSSL

0 投票
1 回答
4065 浏览

java - 是否可以在 SoftHSM 上存储密钥?

我找到了这个线程:Connecting to SoftHSM java and it works when storage private keys,就像这个例子一样。

但我需要存储密钥,例如 AES。

这是我的代码:

这是 softhsm.cfg 文件:

当执行 keyStore.store(null) 我得到java.security.KeyStoreException Cannot convert to PKCS11 keys

0 投票
0 回答
603 浏览

c++ - 如何为 RSA 私钥定义 pkcs11 属性,该属性可以存储诸如 IV 或用于密钥的生成日期之类的元数据?

根据最新的 PKCS#11 规范,RSA 私钥的典型属性结构如下:

但是,还有另一个属性CK_VALUE只能用于创建 pkcs“数据对象”而不是“关键对象”。当我使用此字段CK_VALUE创建关键对象时,PKCS 会抛出一个无效属性错误。我想在其中使用一个类似的字段,其中包含一个字符串格式的值,该值可以保存与密钥相关的元数据信息(如用于包装 RSA 密钥的 IV、密钥的生成日期等)。有没有办法将这些信息存储在现有的 pkcs11 模板中,而无需在实现中修改属性数据结构?我正在使用 OpenDNSSec 社区的 SoftHSM n2.0 包来实现 pkcs。

任何建议,将不胜感激。

0 投票
1 回答
909 浏览

java - java抱怨从softhsm加载pkcs dll

我正在尝试使用 java 1.8-64bit 为我的项目使用 softhsm。

我正在尝试使用此处给出的第一个示例 java 类Connecting to SoftHSM java code

我能够安装 softhsm softhsm2-windows installer

并且还能够使用 softhsm-util.exe 工具创建令牌。

但是当我尝试运行 java 代码时,我得到了

即使文件在异常中提到的正确位置可用。

请帮助解决这个问题。

已安装更新的系统 Visual C++:

我的电脑 Win 10 中的 Visual C++

0 投票
0 回答
6976 浏览

java - PKCS11Exception: CKR_TOKEN_NOT_RECOGNIZED

我安装了 Softhsm v 2.2 并开始使用 PkCS#11 Java API

操作:

  1. 1.插槽创建
    1. 代币创建
    2. 密钥生成
    3. 加密
    4. 签约
    5. 密钥检索

我得到以下异常:

我的softhsm.cfg

在我重新启动PC后尝试了另一个之后:

但是现在它说它已初始化,但我仍然不知道我必须提供什么插槽 id。我尝试使用 slot=1, slot=1526831955 但我得到了