Перейти к контенту

Создание откреплённой подписи


Рекомендуемые сообщения

Нужно создать откреплённую подпись в формате Base64 к произвольному тексту с использованием Crypto API CNG.

Всё это нужно для взаимодействия с "Честный знак", маркировка лекарственных препаратов.

Для создания подписи необходимо использовать функцию BCryptEncrypt и закрытый ключ сертификата (private key).

В последовательности вызовов дошёл до функции BCryptImportKeyPair, чтобы получить закрытый ключ.

https://docs.microsoft.com/en-us/windows/win32/seccng/encrypting-data-with-cng#encrypting-data-with-cng

В итоге сломался на параметре pbInput - The address of a buffer that contains the key BLOB to import.

Не могу понять как мне получить адрес этого самого буфера, который содержит BLOB ключа для импорта.

По идее надо использовать BCryptExportKey ... Однако в то же самое время у меня уже есть структура CERT_CONTEXT,

которая содержит данные всего сертификата, в том числе закрытый ключ, в поле pbCertEncoded (массив байт).

Структура CERT_CONTEXT была получена при помощи вызовов CertEnumCertificatesInStore на хранилище сертификатов.

Прошу помочь примерами кода (лучше всего на C# PInvoke) или дать последовательность вызовов функций.

 

Ссылка на комментарий
Поделиться на других сайтах

Думаю вы не по адресу, если только заплатите им хотя бы 500 т.р. что то задут, а так забудьте. Лучше попробуйте поискать ответ на форуме КриптоПро и использовать их криптопровайдер, окупится с полна лицензия. Они как ни как CSP делают именно для таких случаев, а для Инфотекса это "побочный" продукт и работает не плохо, но узко для своих целей.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...

Важная информация

Продолжая пользоваться сайтом вы принимаете Условия использования.