问题标签 [pkcs11interop]

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 投票
0 回答
48 浏览

c# - 如何根据当前智能卡生成有效的 Pkcs11UriBuilder

我确实有一张来自 thales/gemalto 的智能卡,我可以通过他们的 SafeNet 软件访问它。 在此处输入图像描述

我正在使用Pkcs11Interop通过 c# 访问智能卡。我可以阅读基本信息,也可以通过 c# 使用 pin 登录。

我现在需要创建一个 Pkcs11UriBuilder 的实例。Pkcs11Interop网站上也有一个示例

以下值取决于智能卡:

  • 串行
  • 目的

我可以通过以下代码获得的序列号:

问题:必须为“对象”提供什么值?如何使用 Pkcs11Interop 从智能卡中读取可能/可用的对象值?

0 投票
1 回答
277 浏览

c# - Pkcs11Interop (C#) - 在 Utimaco HSM 模拟器上计算 HMAC 签名

我必须在 Utimaco HSM 模拟器上使用 AES-256 密钥生成 HMAC(SHA256) 签名。为此,我使用 PKCS#11 库“Pkcs11Interop”(C#)。我的源代码功能:

我收到此错误消息。有人可以帮助我我做错了什么吗?

“方法 C_SignInit 返回 CKR_MECHANISM_INVALID”

Utimaco 日志:“机制 CKM_SHA256_HMAC_GENERAL 不适合密钥 t。”

0 投票
1 回答
93 浏览

c# - pkcs11interop 生成密钥对(EC 或 ECDSA),得到错误

这是我的代码:

我收到错误消息:

“方法 C_GenerateKeyPair 返回 CKR_ATTRIBUTE_VALUE_INVALID”

我错过了任何属性或这个模板有什么问题吗?有知道的请帮忙,谢谢。

0 投票
1 回答
110 浏览

vb.net - 删除阅读器时,WaitForSlotEvent 的 pkcs11Interop 问题

我设置 pkcs11Interop 库如下

然后我立即使用包含 WaitForSlotEvent 的 WPF DispatcherTimer

我希望这里没有惊喜。如果插槽(它是一个 USB 智能卡读卡器)被移除,那么我会收到一个 C_WaitForSlotEvent 返回的 CKR_DEVICE_ERROR。

  • 对于 WaitForSlotEvent,DispatcherTimer 可以吗?
  • 我应该怎么做才能避免 C_WaitForSlotEvent CKR_DEVICE_ERROR?
  • pkcs11Interop 是否处理插槽(即智能卡读卡器)的添加和删除?
  • 如果 pkcs11Interop 不处理添加和删除插槽是轮询的唯一方式,什么是最好的轮询?
0 投票
1 回答
205 浏览

.net-core - pkcs11Interop 空槽列表

我最近创建了一个控制台应用程序,它包含 Pkcs11Interop 库的上下文以及 HSM dll。它工作得很好,但是我需要将代码重写为 Windows 服务(我将它作为 gRPC 服务托管,因为它是 .NET Core)。托管 WS 后,出现了 factory.Pkcs11LibraryFactory.LoadPkcs11Library(factories, libraryPath, AppType.MultiThreaded) 上的插槽列表。GetSlotList(SlotsType.WithOrWithoutTokenPresent).Find(slot => slot.SlotId == slotId)返回一个空的插槽列表,即使它在控制台应用程序中返回了 3 个元素的列表。

执行库:

我已经看到了这一点,但是将 Windows 服务的“登录身份”更改为“本地服务”没有任何效果: C_GetSlotList Failing when called from IIS but not from IIS express

0 投票
1 回答
78 浏览

c# - 如何找到具有公钥的配对 ECDSA 私钥 PKCS11

我有一个应用程序可以与上面有 RSA 证书的智能卡一起使用由于某种原因,制造商没有在它们上填写 CKA_LABEL,所以我为 RSA 设置了私钥对象,如下所示:

现在我必须支持具有 ECDSA 证书的智能卡,也没有 CKA_LABEL 所以问题是我如何找到像 RSA 这样的私钥?

注意:所有智能卡都有 2 个随机顺序的证书(身份验证、签名),所以我不能只取第一个或最后一个找到的对象:

-----需要更多参数来识别所需的私钥

0 投票
1 回答
58 浏览

.net-core - PKCS#11 interop convert in .net core error in RHEL

我正在使用 PKCS#11 互操作版本 1.3。在 .netcore 3.1 中转换了这个版本。使用 .netcore 应用程序时,它在 Windows 环境中运行良好,但在 RHEL 中出现错误

方法 C_FindObjectsInit 返回 CKR_TEMPLATE_INCONSISTENT

我知道最新版本的互操作支持.netstandard2.0。所以在 .netcore 3.1 中创建应用程序会很容易。但我没有什么限制,所以只能使用 PKCS#11 interop 1.3。

0 投票
1 回答
60 浏览

c# - 如何解密软包装密钥

我正在使用带有 SoftHsm2 的 pkcs11interop 库

我已经生成了 aes 密钥:

之后我包装这个密钥(用于包装的密钥是相同的):

然后我尝试解密密钥以将其发送到另一台设备。

我的问题是,当我包装密钥时,我有 40 个字节的数组长度(不知道为什么是 40 而不是 32)。我不知道如何以编程方式或使用 hsm 解密它以获得 32 字节的 aes 密钥。这是 wrapedKye 的一些特定格式吗?是否有任何示例如何解密包装的密钥?

我可以获得密钥的cka_value,但就我而言,这不是一个可接受的解决方案。

0 投票
0 回答
63 浏览

c# - CSR 使用 SHA-256withECDSA 的签名无效

我尝试使用SHA-256withECDSA签名算法生成 CSR,但通过使用 Bouncy Castle API 验证在 CSR 中得到错误无效签名。我正在使用加密令牌进行签名

我也确实更改了其他签名算法,例如 SHA1,但仍然得到无效签名。因此,怀疑错误与算法无关,而是与 DER 编码有关。

这是我签署pkcs10的方法

签名长度:71

r =32 + s =32,签名为 64字节。附加字节是填充,r 或 s

输出企业社会责任

点击此处在线查看企业社会责任及详情

老实说,如果这是此签名的问题,我不确定如何修改签名rs填充。希望有人可以指导我。任何建议都可能有所帮助

0 投票
0 回答
120 浏览

c# - 在 c# 中从 USB 令牌生成 XAdES

我正在尝试通过XAdES格式的 USB 令牌对 XML 文件进行签名。

System.Security.Cryptography.Xml的文档很少。我只能找到如何使用基本/默认选项签署 XML(https://docs.microsoft.com/en-us/dotnet/standard/security/how-to-sign-xml-documents-with-digital-signatures)。

有用。但是它缺少几个元素,例如:一些引用、变换和对象元素。

这是我需要的 XAdES XML 结构。

我需要弄清楚如何使用 AddReference (+AddTransform)、AddObject 等将这些元素添加到 SignedXml。

我在哪里可以找到一些用于 XAdES 签名的 C# 代码示例,尤其是关于不同的 SignedXml 格式选项?