Создание подписанного сообщения

На следующем рисунке показаны задачи, которые необходимо выполнить для создания подписанного сообщения. Шаги перечислены на рисунке.

подписывание сообщения

Создание подписанного сообщения

  1. Создайте данные (при необходимости) и получите указатель на них.

  2. Откройте хранилище сертификатов , содержащее сертификат подписывающего.

  3. Получите закрытый ключ для сертификата. Перед использованием сертификата необходимо задать свойство, чтобы связать сертификат с определенным CSPи в рамках этого CSP к конкретному закрытому ключу. Это необходимо задать один раз.

  4. Выберите алгоритм хэширования для операции дайджеста. Рекомендуется выбрать алгоритм хэширования из настраиваемого расположения, которое можно впоследствии обновить, не требуя изменений в коде.

  5. Отправьте данные через функцию хэширования с помощью алгоритма хэширования, таким образом создав хэш- (хеш-дайджест) данных.

  6. Используя закрытый ключ, полученный с помощью свойства сертификата, зашифруйте дайджест, создав подпись.

  7. Добавьте следующее в подписанное сообщение:

    • Подписанные данные
    • Хэш-алгоритм
    • Подпись
    • Идентификатор подписи (издатель сертификата и серийный номер)
    • Сертификат подписи (необязательно)

Подробные процедуры и примеры см. в разделе процедура подписывания данных и пример программы C: подписывание сообщения и проверка подписи сообщения.