CryptVerifyTimeStampSignature возвращается CRYPT_E_ASN1_BADTAG

Я пытаюсь проверить отметку времени подписи с CryptVerifyTimeStampSignature Функция Windows Crypto API. Я изо всех сил пытаюсь понять, что именно должно быть передано в pbTSContentInfo параметр.

BOOL CryptVerifyTimeStampSignature(
_In_      const BYTE                     pbTSContentInfo,
DWORD                    cbTSContentInfo,
_In_opt_  const DWORD                    pbData,
DWORD                    cbData,
_In_opt_        HCERTSTORE               hAdditionalStore,
_Out_           PCRYPT_TIMESTAMP_CONTEXT ppTsContext,
_Out_opt_       PCCERT_CONTEXT           *ppTsSigner,
_Out_opt_       HCERTSTORE               *phStore
);

MSDN документация утверждает, что pbTSContentInfo должен содержать:

Указатель на буфер, который содержит содержимое метки времени.

Я не уверен, что именно этот указатель должен указывать и откуда я могу получить его. Подпись, которую я проверяю, является подписью Authenticode на исполняемом файле. До сих пор я пытался передать закодированное сообщение, возвращенное CryptMsgGetParam однако это возвращает CRYPT_E_ASN1_BADTAG.

Спасибо всем, кто может помочь!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …