Я пытаюсь проверить отметку времени подписи с 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.
Спасибо всем, кто может помочь!
Задача ещё не решена.
Других решений пока нет …