【问题标题】:In the pkcs11interop project code, I see CKM_ECDSA_SHA256, but in the nuget package I added to my solution its not there在 pkcs11interop 项目代码中,我看到了 CKM_ECDSA_SHA256,但在我添加到我的解决方案的 nuget 包中它不存在
【发布时间】:2017-07-11 23:45:53
【问题描述】:
我需要将 ECDSA 与带有 hsm 的 sha256 一起使用,并且我正在使用带有 http://www.pkcs11interop.net/ 包装器的 c#。 Github 代码有 CKM_ECDSA_SHA256,但没有 3.3.0 版本,即使该版本是 1 月 24 日的最新版本,并且枚举是更早添加的。
为什么我不能访问枚举?我可以在签名之前使用 CKM_ECDSA 和哈希,但这会破坏使用 hsm 来提高速度的目的。
【问题讨论】:
标签:
c#
sha256
pkcs#11
ecdsa
pkcs11interop
【解决方案1】:
CKM_ECDSA_SHA256 枚举成员于 2017 年 3 月 1 日作为larger patch 的一部分添加,增加了对 PKCS#11 v2.40 的支持。它没有出现在 Pkcs11Interop v3.3.0 中,但出现在 GitHub 上的 master branch 中,尚未作为 Pkcs11Interop v4.0.0 发布。
同时,您可以使用接受 ulong 而不是 CKM 的重载方法,并在代码中定义缺失的常量:
const ulong CKM_ECDSA_SHA256 = 0x00001044;