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


Контрназначение сообщения

Для контрасигнации подписанного сообщения с помощью CryptMsgCountersign

  1. Вызовите CryptMsgOpenToDecode, чтобы получить дескриптор подписанного сообщения.
  2. Инициализируйте структуру CMSG_SIGNER_ENCODE_INFO для дополнительного подписанта.
  3. Добавьте структуру CMSG_SIGNER_ENCODE_INFO в массив контрассигнантов (в настоящее время поддерживается только один контрассигнант).
  4. Вызовите CryptMsgCountersign, чтобы добавить контрасигнатуру или контрасигнатуры.

Если все вызовы функции выполнены успешно, исходное сообщение теперь содержит контрасигнатуру, включенную в качестве неаутентифицированного атрибута.

Для счетчика подписанного сообщения с помощью CryptMsgCounterSignEncoded

  1. Вызовите CryptMsgOpenToDecode, чтобы получить дескриптор подписанного сообщения.
  2. Вызовите CryptMsgGetParam, чтобы получить закодированные сведения о подписывшем сообщении.
  3. Инициализируйте структуру CMSG_SIGNER_ENCODE_INFO для контрассигнатора.
  4. Добавьте структуру CMSG_SIGNER_ENCODE_INFO в массив подписантов (в данный момент поддерживается только один подписант).
  5. Вызовите CryptMsgCountersignEncoded для создания закодированного атрибута контрасигнатуры.
  6. Вызовите CryptMsgControl, чтобы добавить атрибут контрасигнатуры в исходное сообщение в качестве недостоверенного атрибута.

Если все вызовы функции выполнены успешно, в исходное сообщение добавляется атрибут контрасигнатуры .