В коде проекта 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;