问题标签 [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.
c# - 在 Luna HSM 上使用 iTextSharp 进行签名
环境:
C# 4.5、Windows Server 2008 R2、iTextSharp v5.5.1、由 GlobalSign 托管的 Luna SA HSM。
问题:
每当我尝试签署 PDF 时,都会出现以下异常:
代码:
已验证与 HSM 的连接。Sign 类的证书是我从 GlobalSign 获得的证书。它不是存储在 HSM 上的证书。
为什么我会得到异常?我错过了什么?
key - PKCS11:导出不敏感且可提取的密钥
我生成了一个可提取且不敏感的派生密钥。我想将它从令牌中导出并再见它。我怎样才能做到这一点?
java - Java 到 HSM 连接并发送“GC”/FK”命令
这是从 HSM 发送和接收数据的代码
问题是我需要发送哪个命令来执行“GC”命令(将 ZPK 从 LMK 转换为 ZMK 加密)我需要为 TPK 密钥生成一个清晰的组件。通常我会
接着
我需要使用 Java 程序执行这些操作。
encryption - Thales HSM 生成密钥“从清除组件形成密钥”(“FK”命令)
我有两个清晰的组件,由命令生成000A30303030413230303255
(它是000A0000A2002U
在 HEX 模式下。这是"GC"
- 从 1270A513 第 3 期手册将 ZPK 从 LMK 转换为 ZMK 加密命令)使用 Java 代码
现在我需要从这些组件生成一个加密密钥。它的控制台命令:"FK"
command(1270A513 第 3 期,第 5-14 页)。我找不到任何通过 Java 代码执行此操作的命令。我使用了主机命令参考手册(1270A351 第 6 期),只发现A4
- Form a Key from Encrypted Components 命令,但此命令用于从加密组件生成密钥。
有没有办法使用明文组件生成加密密钥?
hsm - M2 - 解密数据块命令失败
我正面临 DUKPT 解密的问题。我按照 THales HSM 手册发送解密数据块 (M2) 命令,但我收到错误响应:0000M315
请在下面找到命令,请求您帮助我我的命令有什么问题。
命令: 0000M20011009U3BEE6C2C1850D691299B843984177A9A609FFFFFF8500000600016200E0beb0297d81e42bf9e07b1948dfaba7f8f032622173f61d2bacf6f485fa0a9babaf58637184b5e459cbae55f2b53ff9c356e4817f2efa9d70e740b27e2e089ccf42fefa56ee38c58d49f89206f9709c31e7ec616767f7638e3f853dde45af94e7cdb06502017a16c44ab472c3ce03260e
谢谢,纳齐尔
encryption - 使用位于 HSM 上的私钥对数据进行签名和解密
我的任务是签署和解密数据,但私钥位于 HSM(Luna SA,/Safenet)。我安装了所有客户端软件并将 Luna SA CSP 连接到测试服务器。
使用提供的 PKCS#11 函数,我可以将 HSM 上的公钥列出并导出为PCCERT_CONTEXT
( CertCreateCertificateContext
)。当我尝试获取私钥(使用 CryptoAPI 函数CryptAcquireCertificatePrivateKey
)时,我收到一个错误代码CRYPT_E_NO_KEY_PROPERTY
。
我可能缺少证书数据和 CSP/HSM 之间的链接。有没有人做过类似的事情并且可以给出任何提示?
编辑
我成功地从 HSM 上的所有密钥创建了 CER 文件。当我知道使用signtool.exe
(Microsoft Plattform SDK 附带的那个)时,我可以使用 HSM 上的密钥对 dll 进行签名(工具向导让我选择密钥容器、密钥规范……)。我尝试使用工具显示的信息并设置私钥
但 CryptAcquirePrivateKey 仍然给我同样的错误。我相信我在这里只遗漏了一点点,因为 signtool 能够访问私钥
编辑2
截图显示 KEYEXCHANGE 但我选择了 SIGNATURE
编辑3
LinkPrivateKey
我稍微改变了功能,现在它可以工作了
cryptography - OpenSSL - 检查调用的函数是什么引擎以及是否真的使用了硬件?
首先,我是 OpenSSL 世界的初学者。对于任何基本的野蛮错误,我提前道歉。
考虑一个流程:
- 使用硬件使用引擎初始化 OpenSSL(我们称之为 EngineHW)。
- 调用 OpenSSL 函数,例如 X509_sign。
如何检查调用的函数是否在硬件上执行?
如何验证 EngineHW 函数是否被调用?如果 EngineHW 未定义该函数怎么办 - OpenSSL 会回退到它拥有的任何默认引擎吗?
问题与断言质量有关——因为我有硬件为我做加密,我考虑使用软件回归(至少对于重要功能)。
java - MakeSignature.signDetached 抛出 IllegalArgumentException
同时使用MakeSignature.signDetached
LUNA HSM 1700 对 PDF 应用数字签名。
请指导我解决此问题。
提前致谢。
方法如下:
错误如下:
java.lang.IllegalArgumentException:名称'iText?5.5.0 ?2000-2013 iText Group NV (AGPL-version) (AGPL-version) (AGPL-version) (AGPL-version) (AGPL-version) (AGPL-version) (AGPL-version)'太长( 143 个字符)。
openssl - 具有特定 PKCS11 引擎二进制文件的 OpenSSL 接口
我有一个来自 HSM 的 PKCS11 库,我想使用 OpenSSL 与 PKCS11 库交互以生成密钥和证书。
如何在不需要安装 HSM 之外的外部第三方软件、HSM 和 OpenSSL 提供的 PKCS11 二进制文件的情况下做到这一点。
java - 如何使用 JCA/JCE 和 HSM 派生密钥
我在 HSM 中有一个主密钥,我想用给定的分散器派生它。我对 JCA/JCE 很陌生,对 KeyGenerator、SecretKeyFactory 有点迷失……尤其是因为所有参数都是字符串。我想使用 AES 或 HmacSha1。看来我需要使用 SecretKeyFactory,并提供 KeySpecs。但是哪种类型的 KeySpecs?
(我看过关于该主题的帖子,但我似乎没有使用 HSM。)
谢谢。