| ||||
| ||||
Подписываю файл(формат подписи PKSC#7), Можно ли при верификации узнить дату создания подписи(Если да, подскажите функцию). | ||||
Ответы: | ||||
| ||||
В примере signlo.c /* Определение времени формирования ЭЦП из сообщения*/ int get_signing_time (HCRYPTMSG hMsg, int signerIndex) В примере signtsf.c /*--------------------------------------------------------------------------------- Определим системное время и добавим его в список аутентифицируемых (подписанных) атрибутов PKCS#7 сообщения с идентификатором szOID_RSA_signingTime. ---------------------------------------------------------------------------------*/ GetSystemTime(&systemTime); SystemTimeToFileTime(&systemTime, &fileTime); /* Определим требуемую длину для хранения времени*/ ret = CryptEncodeObject(TYPE_DER, szOID_RSA_signingTime, (LPVOID)&fileTime, NULL, &cbAuth); if (!ret) HandleErrorFL("Cannot encode object"); pbAuth = (BYTE*) malloc (cbAuth); if (!pbAuth) HandleErrorFL("Memory allocation error"); /* Кодирование времени в атрибут типа szOID_RSA_signingTime */ ret = CryptEncodeObject(TYPE_DER, szOID_RSA_signingTime, (LPVOID)&fileTime, pbAuth, &cbAuth); if (!ret) HandleErrorFL("Cannot encode object"); cablob[0].cbData = cbAuth; cablob[0].pbData = pbAuth; ca[0].pszObjId = szOID_RSA_signingTime; ca[0].cValue = 1; | ||||