В коде проекта pkcs11interop я вижу CKM_ECDSA_SHA256, но в пакете nuget, который я добавил в свое решение, его там нет

Мне нужно использовать ECDSA с sha256 с помощью hsm, и я использую C# с оболочкой http://www.pkcs11interop.net/. Код Github имеет CKM_ECDSA_SHA256, но не выпуск 3.3.0, хотя выпуск является самым последним на 24 января, а перечисление было добавлено намного раньше.

Почему я не могу получить доступ к перечислению? Я мог бы использовать CKM_ECDSA и хэш до подписания, но это не позволило бы использовать hsm для его скорости.

1 ответ

Решение

Член перечисления CKM_ECDSA_SHA256 был добавлен 1 марта 2017 года как часть более крупного патча, в котором добавлена ​​поддержка PKCS#11 v2.40. Его не было в Pkcs11Interop v3.3.0, но он присутствует в основной ветке на GitHub, который еще не выпущен как Pkcs11Interop v4.0.0.

Между тем вы можете использовать перегруженный метод, который принимает ulong вместо CKM и определяет отсутствующую константу в вашем коде:

const ulong CKM_ECDSA_SHA256 = 0x00001044;
Другие вопросы по тегам