在 pkcs11interop 项目代码中,我看到 CKM_ECDSA_SHA256,但在我添加到我的解决方案的 nuget 包中它不存在

In the pkcs11interop project code, I see CKM_ECDSA_SHA256, but in the nuget package I added to my solution its not there

我需要将 ECDSA 与 sha256 和 hsm 一起使用,我正在使用 c# 和 http://www.pkcs11interop.net/ 包装器。 Github 代码有 CKM_ECDSA_SHA256,但没有 3.3.0 版本,尽管该版本是截至 1 月 24 日的最新版本并且枚举添加得更早。

为什么我无法访问枚举?我可以在签名前使用 CKM_ECDSA 和散列,但这会破坏使用 hsm 的目的。

CKM_ECDSA_SHA256 枚举成员于 2017 年 3 月 1 日作为 larger patch that added support for PKCS#11 v2.40. It was not present in Pkcs11Interop v3.3.0 but it is present in master branch 的一部分添加到 GitHub 中,尚未作为 Pkcs11Interop v4.0.0 发布。

同时,您可以使用接受 ulong 而不是 CKM 的重载方法,并在代码中定义缺少的常量:

const ulong CKM_ECDSA_SHA256 = 0x00001044;