Ну вот, только собрался обойтись малой кровью,
Так опять надо вглыбЬ лезть.
Получаем число подписантов
....
CryptMsgGetParam(hMsg, CMSG_SIGNER_COUNT_PARAM, 0, xTmp.pbData, xTmp.cbData);
cnts := pLongInt(xTmp.pbdata)^;
cnts = 3 и это правильно.
Читаем
for j := 0 to cnts-1 do
begin
CryptMsgGetParam(hMsg, CMSG_SIGNER_INFO_PARAM, 0, nil, xTmp.cbData);
CryptMsgGetParam(hMsg, CMSG_SIGNER_INFO_PARAM, 0, @arMsgSi[j], xTmp.cbData);
end;
0,1,2 - arMsgSi[j].UnauthAttrs = (0,nil)
0,1,2 - arMsgSi[j].AuthAttrs = (0,nil)
Заходим с другого бока
for j := 0 to cnts-1 do
begin
alog.W(inttostr(j));
CryptMsgGetParam(hMsg, CMSG_SIGNER_unAUTH_ATTR_PARAM, 0, nil, cbData);
if cbData>0 then
чтой-то там интересное
end;
cbData по нулям и для unAUTH и для AUTH
ну и напоследок:
CryptMsgGetParam(hMsg, CMSG_UNPROTECTED_ATTR_PARAM, 0, nil, cbData);
также =0
Однако КриптоАрм активно показывает время каждой подписи.
Извечно русский вопрос: ЧТО ДЕЛАТЬ?
Звиняйте добавлю - специальных действий по добавлению время подписи не предпринимаю,
само получается
.
На бэйсике через CAPICOM было также...
Отредактировано пользователем 25 марта 2013 г. 18:17:41(UTC)
| Причина: Уточнение