23.06.2003 7:56:50Дата создания подписи Ответов: 1
Denis
Подписываю файл(формат подписи PKSC#7), Можно ли при верификации узнить дату создания подписи(Если да, подскажите функцию).
 
Ответы:
23.06.2003 9:28:01kure
В примере 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;