Поделиться через


Расшифровка данных

В этом разделе представлены действия по расшифровке зашифрованного сообщения.

Расшифровка зашифрованного сообщения

  1. Получите указатель на цифровое зашифрованное сообщение.
  2. Откройте хранилище сертификатов.
  3. Из сообщения получите идентификатор получателя (Мой идентификатор).
  4. Используйте идентификатор получателя для получения сертификата.
  5. Получите закрытый ключ для сертификата.
  6. Используйте приватный ключ для расшифровки симметричного ключа (сеанса).
  7. Получите алгоритм шифрования из сообщения.
  8. С помощью расшифрованного ключа сеанса и алгоритма шифрования расшифруйте данные.

CryptDecryptMessage выполняет все задачи для расшифровки сообщения; однако инициализация структур и других данных по-прежнему необходима.

Для расшифровки данных с помощью CryptDecryptMessage

  1. Получите указатель на зашифрованный объект BLOB.
  2. Откройте хранилище сертификатов.
  3. Создайте массив хранилища сертификатов.
  4. Инициализируйте структуру CRYPT_DECRYPT_MESSAGE_PARA.
  5. Вызовите CryptDecryptMessage для расшифровки данных, содержащихся в сообщении.

пример программы C. Использование CryptEncryptMessage и CryptDecryptMessage реализует только что представленную процедуру. Примечания показывают, какие элементы кода выполняют каждый шаг процедуры. Дополнительные сведения о функции см. в CryptDecryptMessage и дополнительные сведения о структуре данных см. в CRYPT_DECRYPT_MESSAGE_PARA.