Контрназначение сообщения
Для счетчика подписанного сообщения с помощью CryptMsgCountersign
- Вызовите CryptMsgOpenToDecode, чтобы получить дескриптор подписанного сообщения.
- Инициализация структуры CMSG_SIGNER_ENCODE_INFO для счетчика.
- Добавьте структуру CMSG_SIGNER_ENCODE_INFO в массив счетчиков (в настоящее время поддерживается только один счетчик).
- Вызовите CryptMsgCountersign , чтобы добавить счетчик или счетчики.
Если все вызовы функции выполняются успешно, исходное сообщение теперь содержит счетчик , включенный в качестве атрибута без проверки подлинности.
Для счетчика подписанного сообщения с помощью CryptMsgCountersignEncoded
- Вызовите CryptMsgOpenToDecode, чтобы получить дескриптор подписанного сообщения.
- Вызовите CryptMsgGetParam , чтобы получить закодированные сведения о подписывшем сообщении.
- Инициализация структуры CMSG_SIGNER_ENCODE_INFO для счетчика.
- Добавьте структуру CMSG_SIGNER_ENCODE_INFO в массив счетчиков (в настоящее время поддерживается только один счетчик).
- Вызовите CryptMsgCountersignEncoded, чтобы создать закодированный атрибут счетчика.
- Вызовите CryptMsgControl , чтобы добавить атрибут счетчика в исходное сообщение в качестве атрибута без проверки подлинности.
Если все вызовы функции выполнены успешно, атрибут контрназначения добавляется в исходное сообщение.