标签: hsm

nCipher HSM重定目标JCE密钥

是否可以通过ncipher JCE API"重新定位"密钥到pkcs11?我知道您可以通过generatekey命令重新定位,但我不知道如何对现有的JCE密钥执行此操作.第一个提示是"源应用程序",选项似乎不包括JCE.它是否支持除此处列出的选项之外的其他选项,还是应该以不同的方式重新定位?

这里的最终目标是导出通过nCipher的JCE API生成的一对密钥(非对称和对称)(是的,我知道HSM的工作是保护密钥和导出通常不是一个好主意,但这是一个要求).我们能够导出通过PKCS11接口生成的密钥,但不能导出通过JCE生成的密钥,因此我们的想法是,如果我们可以将它从JCE重新定位到PKCS11,我们也可以导出这些密钥.如果还有其他方法可以做到这一点,我们也会对此持开放态度.

最后,在对它们执行nfkminfo时,JCE键显示为"已启用恢复".这是否意味着它们可以出口或者这里的恢复意味着什么呢?

jce pkcs#11 hsm

1
推荐指数
1
解决办法
1141
查看次数

如何从 openSSL 中的 PKCS#11 模块中读出私钥?

问题的答案

如何在 PKCS#11 模块上使用私钥而不是 perivate 密钥文件在 OpenSSL 中进行相互身份验证?

非常清楚地解释了使用存储在智能卡或 HSM(硬件安全模块)上而不是普通文件上的私钥建立 SSL 连接所需的步骤。其实我想用python做同样的事情,但首先我必须了解背后的原理。所以暂时忘记python:

假设密钥已经存在于 HSM 上的“SecureToken”下。所以

  1. 我首先必须从引擎加载私钥:

    EVP_PKEY* key = ENGINE_load_private_key(e, "SecureToken", NULL, &cb_data);

  2. 然后必须打电话

    SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);

现在,我有一个带有 PKCS#11 接口的 HSM,我可以将其作为 openSSL 引擎加载。慢慢地我对原理有了更好的了解,但是,私钥如何离开模块仍然是个谜:为了将私钥始终保存在模块内,这就是我完全使用 HSM 的原因。

具体来说:我从 1) 中调用的返回值中返回什么作为“键”?我无法想象密钥内容是从 HSM 中读出的,因为 PKCS#11 甚至不支持此操作。我还能得到什么?它只是有关HSM 中密钥的元信息而不是密钥本身吗?并且 SSL_CTX * ctx 稍后如何知道,该“密钥”将如何使用?

鉴于 PKCS#11 引擎已正确加载,这是否意味着任何 RSA 函数都会与存储在上下文中的“元密钥信息”一起自动委托给 HSM ?

请确认这个假设或让我知道我错在哪里。

无论如何,我发现了 EVP_PKEY 是什么:

    struct evp_pkey_st {
        int type;
        int save_type;
        int references;
        const EVP_PKEY_ASN1_METHOD *ameth;
        ENGINE *engine;
        union …
Run Code Online (Sandbox Code Playgroud)

openssl cryptography pkcs#11 hsm private-key

1
推荐指数
1
解决办法
2789
查看次数

HSM(硬件安全模块)如何工作?

我是 HSM 的新手。我想在我的产品之一中使用 HSM 来存储密钥数据库。我有以下问题:

1) 是否所有 HSM 都支持 HTTPS(SSL)?
2)我们在 HSM 上有用户空间可以运行我们自己的程序吗?
3) 任何通过 HTPPS 访问 HSM 的标准 API?

注意:用户可以拥有来自任何服务提供商的任何 HSM。

hsm

1
推荐指数
2
解决办法
2365
查看次数

如何从 linux/cygwin 控制台运行 Thales“NC”诊断主机命令

我想直接从 linux/cygwin 控制台运行 Thales NC(执行诊断)主机命令。

如何才能做到这一点?

linux cygwin hsm

0
推荐指数
1
解决办法
1115
查看次数

我在哪里可以获得用于 DUKPT 解密的 BDK

我已在 Thales HSM 中为 DUKPT 生成了 BDK Type3 密钥。我已将这个在 HSM 的 LMK 下加密的 BDK 发送给终端制造商,以生成 IPEK 密钥并将其注入终端。

当我收到加密数据时,我拥有 KSN,现在我再次需要 BDK 来解密它。我没有将 BDK 存储在我的主机应用程序中的任何位置。如何再次获取 BDK 进行解密。它是否存储在 HSM 中的某个位置.如果有多个 BDK,我如何找到用于该特定终端的正确的 BDK?

encryption hsm dukpt

0
推荐指数
1
解决办法
3710
查看次数

标签 统计

hsm ×5

pkcs#11 ×2

cryptography ×1

cygwin ×1

dukpt ×1

encryption ×1

jce ×1

linux ×1

openssl ×1

private-key ×1