问题标签 [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.

0 投票
3 回答
9998 浏览

c# - 如何将 HSM 加密与 C# 集成?

如何将硬件安全模块加密与 C# 应用程序集成?

0 投票
1 回答
345 浏览

c# - 如何 p/invoke 这个方法?

问候,

/* 我还需要通过 P/Invoke PKCS#11 通过 C# 应用程序获取我的 hsm 信息*/

0 投票
1 回答
5708 浏览

cryptography - PKCS#11 生成 AES 密钥

嘿,这个问题并不是关于 Ncryptoki 的问题,但我不知道还有什么地方可以问..所以如果有人可以帮忙,请帮助我。我正在尝试生成 AES 密钥,这是我现在拥有的代码:

但这给了我一个错误:

谁能给我一些想法从这里去哪里解决这个问题..

编辑:仅供参考 - 我有 SafeNet HSM,我使用 java PKCS#11 包装器,称为jprovSafeNet ProtectToolkit 附带的包装器。

0 投票
1 回答
2157 浏览

c++ - 如何从 USB Token 的公钥/私钥对中获取 CKA_ID?

我有一个包含证书、公钥/私钥对的 USB 令牌,我该如何获取

来自使用 C++ 的 PKCS 11 文档?

0 投票
1 回答
1115 浏览

macos - 使用 Network-HSM 在 OS X 上进行代码签名

我被要求重新设计我们的构建/签名/发布流程。我对 Windows 的东西非常满意,并且我已经确定了几个可以满足我们需要的联网 HSM 产品。它们基本上直接与​​ CryptoAPI 集成,因此进行签名的人可以正常使用 signtool.exe。

我们目前有一个单独的 Mac 团队,他们自己构建/签名/发布。这在我们的一个 DC 中的几台 Mac Mini 上运行良好。我也想保护我们的 Mac 软件密钥,因此我试图找出如何将联网 HSM 集成到我们的 Mac 签名过程中。

我在任何地方都找不到有关此的任何好信息!所以我希望这里有人已经这样做了,可以减轻我的痛苦。

实际问题是;

1) 我可以将 HSM 与标准 Mac 代码签名工具一起使用吗?2)任何人都可以推荐上述供应商/产品吗?3) 谁能指出一些关于 Mac 代码签名和 Mac 加密基础设施内部工作的优秀文档?

干杯

BHB

0 投票
1 回答
1650 浏览

java - Java Sun PKCS#11 提供程序,未设置 HSM 令牌 LOGIN REQUIRED 标志和空别名列表

我是 Pavel,主要是一名 Java 开发人员。这是我的问题:

我正在尝试使用 Java Sun PKCS#11 提供程序在 HSM 插槽中列出别名,但我得到一个空列表。我已经在 Windows XP/Server 平台上使用 Java 6 和 7 进行了尝试。我下载了 Sun PKCS#11 源并检查了它们,打开了调试,做了其他技巧,所以最后我发现别名映射是空的,因为令牌没有设置 LOGIN_REQUIRED 标志。在 Sun PKCS#11 实现中,有一个 IF 构造,因此当未设置此标志时,即使向密钥库提供了 PIN 字节,也不会调用 C_Login!我觉得很奇怪!如果它是 PKCS#11 提供程序的 Sun 实现中的一个错误,或者它背后有一个总体想法,有人可以解释我吗?无论如何,当我“破解”

0 投票
3 回答
4352 浏览

c - 与 Linux 上的硬件安全模块接口

我必须使用 HSM 设备来满足我项目中的安全要求。我对 HSM 如何在 Linux 机器上与 C 接口感到困惑。

用户如何访问 HSM 内部存储器以执行不同的操作?

0 投票
1 回答
2690 浏览

java - 将 *.so 文件加载到 Websphere

我的 JSP 程序设置为在 HP-UX 下的 Websphere 上运行。

我有一些 .jar 文件和一个 .so 文件,其中包含我的程序需要运行的类。

通过将我的 .jar 文件放入\MyProgram\WEB-INF\lib\文件夹中,我能够得到一些工作。

但是,我看到UnsatisfiedLinkError这是由于我的 lib.so 文件未被识别造成的。

我发现的方法之一是:

  1. 在管理控制台中,转到环境 -> 共享库 -> 新建

  2. 在 Classpath 中输入 .jar 文件位置,在 Native Library Path 中输入 .so 文件位置

  3. 在管理控制台中,转到应用程序 -> 应用程序类型 -> 企业应用程序

  4. 在 MyProgram -> Shared library references -> Shared Library Mapping 下,通过将库从 Available 移动到 Selected 将库分配给程序。

我有两个问题:

  1. 我可以从我的程序\lib\文件夹中获取 .jar 文件和 .so 文件吗?

  2. 如果我不能,是否可以从我的应用程序文件夹中列出类路径和本机库路径?像使用 websphere 变量目录上传我的 application.war%MYPROGRAM%\WEB-INF\lib\lib.so而不是使用绝对路径将文件放在物理服务器中C:\IBM\WebSphere\AppServer\bin\lib.so

[EDIT-01] 更多详情如下:

收到错误:“错误 500:java.lang.UnsatisfiedLinkError:com.chrysalisits.crypto.LunaAPI.Initialize()V”

I am trying to get Websphere to interface with LunaSA HSM to retrieve public/private keys. They have provided me with: libLunaAPI.sl, libLunaAPI.so, LunaJCASP.jar, LunaJCESP.jar. From IBM's Websphere V8 -> References -> Class Loading Exceptions, it indicates that I need the *.so file for HP-UX so I did that accordingly. The path set are absolute paths which I have specified in the Websphere. This relates to my second question.

第一个问题是我实际上想知道是否可以将这些文件放入 myProgram.war 并从那里运行,而不是使用 WinSCP 访问服务器并将文件放在那里以获取绝对路径引用。也许指定上述文件位于我的程序中,而不是在 \WEB-INF\lib\ 下。这是因为只有我的这个程序才能访问 LunaSA HSM。

** PS。我尝试了这两种方法,但仍然失败。叹。

0 投票
1 回答
868 浏览

cryptography - Microsoft PlayReady DRM P160 椭圆曲线参数

我正在尝试为自定义 Microsoft P160 PlayReady 曲线创建正确的 DER 编码 ECC 参数以输入 HSM。我找到了一些指定 P160 曲线定义的来源,因为它是非标准和自定义的。下面是一个来源的链接。特别是,PlayReady 曲线值在William Stein 所著的 Elementary Number Theory,A Computational Approach 一书的第 6.4.2 节中进行了讨论。

下面是来自另一个来源的关于 P160 PlayReady 曲线参数的尝试。

对于 ECC,Microsoft 使用 Zp 上的椭圆曲线,其中 p 是 160 位素数(如下所示)。该曲线由位于曲线 y^2=x^3+ax+b 上的点组成,其中操作是在域 Zp 上完成的,a 和 b 是下面给出的系数。所有值都表示为打包二进制值:换句话说,Zp 上的单个值被简单地编码为 20 个字节,以小端顺序存储。因此,椭圆曲线上的一个点是一个 40 字节的块,它由两个 20 字节的小端值(x 坐标后跟 y 坐标)组成。以下是 MS-DRM 中使用的椭圆曲线的参数:

p(模数): 89abcdef012345672718281831415926141424f7
系数 a: 37a5abccd277bce87632ff3d4780c009ebe41497
coefficient b : 0dd8dabf725e2f3228e85f1ad78fdedf9328239e
generator x : 8723947fd6a3a1e53510c07dba38daf0109fa120
*generator y : 445744911075522d8c3c5856d4ed7acda379936f
Order of curve : 89abcdef012345672716b26eec14904428c2a675

These constants are fixed, and used by all parties in the MS-DRM system. 当您看到这个以十六进制表示的数字时,模数的“书呆子吸引力”很高:它包括以十六进制计数,以及基本常数 e、pi 和 sqrt(2) 的数字。

基于此信息,我使用 BouncyCastle 作为我的基本 ASN.1 库为 P160 曲线创建了以下 DER 编码曲线参数的十六进制编码。请注意,这些曲线参数中没有指定种子值。

308195020101302006072a8648ce3d010102150089abcdef012345672718281831415926141424f7302c041437a5abccd277bce87632ff3d4780c009ebe4149704140dd8dabf725e2f3228e85f1ad78fdedf9328239e0429048723947fd6a3a1e53510c07dba38daf0109fa120445744911075522d8c3c5856d4ed7acda379936f02150089abcdef012345672716b26eec14904428c2a675

尽管这些曲线参数在数学上被 HSM 和 OpenSSL 接受,但产生的 P160 曲线点对 PlayReady 来说是不可接受的。我能够使用相同的过程来生成 PlayReady 可接受的有效 P256 曲线点,所以我不相信我的方法有缺陷。有人对 PlayReady P160 曲线参数有任何经验吗?

0 投票
2 回答
13513 浏览

java - 如何将 HSM 加密与 JAVA 集成?

如何将硬件安全模块加密与 Java 应用程序集成?我正在寻找代码示例以连接到 HSM、生成密钥(非对称、对称)、加密和解密数据(非对称、对称)并存储密钥。