问题标签 [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 投票
1 回答
2191 浏览

pkcs#11 - 如何使用 C# 通过智能卡远程登录 Windows 10?

我已经设置了活动目录以启用 SmartCard 登录,并且可以通过 PIN 通过登录屏幕登录到 Windows。

我正在寻找使用新会话登录或远程解锁活动会话的方法。我发现http://www.pkcs11interop.net/看起来很酷的工具。所以我花了几次阅读文档以找到解决方案。我实现了可以远程通信的服务,也可以初始化库并使用登录/注销创建会话,但是找不到如何登录到 Windows 或解锁活动会话的方法。有谁知道我怎么能达到这种方法?

我需要通过 C# 代码来做到这一点。

0 投票
0 回答
210 浏览

c# - 使用令牌中的私钥从 PDF 中获取无效签名

我正在尝试签署从服务器收到的 PDF 文档哈希。但它在 Adob​​e Reader 中显示“至少一个签名无效”。任何人都可以建议以下代码中有什么问题。现在我只是尝试在一个具有分离类的项目中实现代码。

代码

准备哈希令牌.cs

SignHashToken.cs

embedSignatureToken.cs

预签名和签名的 Base64 这里我放了一个签名的 PDF前置符号和符号的base64

更新

SignHashToken.cs

0 投票
1 回答
140 浏览

bouncycastle - PKCS11 EC公钥到BC PKCS10对象的映射问题

我已经使用 PKCS11Interop 库在 HSM 中创建了 EC 密钥对,我需要使用此密钥创建 PKCS10 证书请求。为了生成 PKCS10,我使用 BC,在这种情况下,我需要将公钥设置为 PKCS10 请求的参数。在 BC 我需要获取公钥作为 ECPublicKeyParameters 用于放入 PKCS10 对象。我不知道如何将 PKCS11 公钥映射到 ECPublicKeyParameters。

或者这种类型映射可能有另一种方法?

提前致谢!

0 投票
1 回答
447 浏览

amazon-web-services - AWS CloudHSM PKCS#11 与 PKCS11Interop 为 Wrap 操作 CKR_ARGUMENTS_BAD 提供错误

我正在使用最新的 AWS 云 HSM 以及带有 PKCS11Interop c# 库的 PKCS 供应商库。尝试从AWS PKCS Samples
模拟 CKM.CKM_RSA_AES_KEY_WRAP 的示例代码

包装 AES 256 密钥时出现以下错误。

Net.Pkcs11Interop.Common.Pkcs11Exception:“方法 C_WrapKey 返回 CKR_ARGUMENTS_BAD”在 Net.Pkcs11Interop.HighLevelAPI80.Session.WrapKey(IMechanism 机制,IObjectHandle wrappingKeyHandle,IObjectHandle keyHandle)

我的示例代码

0 投票
2 回答
334 浏览

pkcs#11 - 带有 PKCS#11 的 AWS cloudhsm 无法导出 RSA 公钥

我在 AWS 供应商 PKCS 库之上使用带有 PKCS11Interop c# 库的 AWS 云 HSM 生成 RSA 密钥对。想要使用 PKCS 11 getAttributeValue 方法从 HSM 导出公钥。

响应指出无法读取属性,我已正确标记所有属性值以便能够导出密钥,有人可以指出我做错了什么吗?

我的示例代码

0 投票
1 回答
266 浏览

pkcs#11 - 从私钥读取属性

我正在尝试使用 Pkcs11Interop 使用 C# 应用程序中智能卡证书中的私钥对消息进行签名。我们使用的智能卡包含多个证书——通常一个用于签名,一个用于身份验证。如果我使用 X509Certificate2,我会根据我正在寻找的 X509KeyUsageFlags 过滤证书。我正在努力弄清楚如何使用 PKCS11 来解决这个问题。

我开始的代码如下。当我调用 session.FindAllObjects 时,我在结果中获得了 2 个证书(这是预期的,因为这是智能卡上有多少个证书。)

我尝试使用 GetAttributeValue 读取各种属性,看看是否可以使用它们来识别正确的证书 - 奇怪的是,它们都返回 null/0 值。查询 CKA_SENSITIVE 属性返回 True (这也是预期的),但显然我无法从对象中读取其他属性。

我在使用 GetAttributeValue 时做错了什么吗?还是有其他方法我应该解决这个问题?

0 投票
0 回答
153 浏览

java - 在 pkcs7 中验证 ECDSA 签名时出错

我已经使用 C# 成功生成了 pkcs7 签名 ECDSAwithSHA256,但后来我无法使用 java 验证签名

这是示例类

}

错误

org.bouncycastle.operator.RuntimeOperatorException:异常获取签名:错误解码签名字节。

但是,我已经使用此方法成功验证了 RSAwithSHA256 签名。有人可以帮我解决这个问题,并请解释这个错误是关于什么的。这些签名的签名长度对于 RSA 是 256 字节,对于 ECDSA 是 64 字节。这是对的吗?

0 投票
1 回答
606 浏览

c# - 如何在 C# 中使用 Pkcs11Interop 创建具有 CAdES 格式的数字签名,无需数据或文档进行签名

我是密码编程的新手。我只想使用 Pkcs11Interop 库创建具有 CAdES 格式的 C# 数字签名,而无需签名数据或文档或消息,我希望签名字符串仅用于从我的应用程序生成的任何 json 或 xml 文件。我使用了 Pkcs11Interop 库,因为我有一个带有非托管 PKCS#11 dll 库的智能令牌“Cryptoki”,我必须使用它来制作签名。这是我基于 Pkcs11Interop 开源示例的示例代码。

如果我在以下 sourceData 变量中加上“null”或空双引号

或者

我在创建这样的签名时出错

或者

只有当我输入像“Hello World”这样的样本数据时,签名字符串才会成功生成,但它包含的数据字符串是这个样本中的“Hello World”。

我想生成不包含任何数据的签名字符串,而且在我的代码中我不知道如何将签名格式设置为 CAdES。

0 投票
1 回答
383 浏览

encryption - 使用 SHA-256 的 RSA OAEP 加密失败,而使用 SHA-1 则正常

我正在使用 Pkcs11Interop Library 并尝试使用 RSA_PKCS_OAEP 机制测试加密和解密。

上述机制一切正常,但如果我将哈希算法更改为 SHA-256,如下所示:

然后我得到CKR_ARGUMENTS_BAD异常。我一直在搜索和调试一段时间,但一无所获。

0 投票
1 回答
459 浏览

c# - 我在哪里可以找到樱桃 SmartTerminal ST-1144 的 PKCS11 非托管库

我想使用cherry SmartTerminal ST-1144,以便最终使用智能卡中的证书签署pdf文档。我确实使用 .net PKCS11Interop。在以下代码中,我需要为 Cherry SmartTerminal ST-1144 提供非托管 PKCS11 库:

我的问题是我不知道在哪里可以找到这个非托管库。我已经从cherry 安装了提供的软件,但没有一个列出的dll 可以加载。 在此处输入图像描述 错误总是

Net.Pkcs11Interop.Common.UnmanagedException:'无法加载库。错误代码:0x0000007E。错误详细信息:找不到指定的模块'

我猜那些不是兼容的库。我也尝试联系cherry的支持,但到目前为止没有成功。

任何想法

  • 如果这个樱桃智能终端与 IPkcs11Library 兼容?
  • 可以用作 pkcs11LibraryPath 的 dll 的名称是什么?