Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

4 Страницы<1234>
Опции
К последнему сообщению К первому непрочитанному
Offline Kirill Sobolev  
#11 Оставлено : 30 марта 2012 г. 18:50:43(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Попробуйте локально в хранилище установить.
Техническую поддержку оказываем тут
Наша база знаний
Offline forik  
#12 Оставлено : 31 марта 2012 г. 14:02:36(UTC)
forik

Статус: Активный участник

Группы: Участники
Зарегистрирован: 26.10.2011(UTC)
Сообщений: 61

Сказал(а) «Спасибо»: 2 раз
Kirill Sobolev написал:
Попробуйте локально в хранилище установить.

Подскажите, если не сложно, как ограничить проверку по CRL локальным хранилищем? Пробовал hRestrictedOther - все равно в сеть лезет.
Offline Kirill Sobolev  
#13 Оставлено : 2 апреля 2012 г. 13:51:38(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Флаг CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY должен помочь.
Техническую поддержку оказываем тут
Наша база знаний
Offline PavelK  
#14 Оставлено : 6 апреля 2012 г. 17:13:49(UTC)
PavelK

Статус: Участник

Группы: Участники
Зарегистрирован: 14.12.2010(UTC)
Сообщений: 18
Откуда: Питер

Kirill Sobolev написал:
2) и 3) можно объединить с помощью функции CertGetCertificateChain.


А какая функция в CAPICOM выполняет проверки 2) и 3) ?
Подскажите, плиз... Там есть verify, chain.Build, cert.IsValid.CheckFlag и что каким проверкам соответствует в MSDN очень туманно описано.
Offline Kirill Sobolev  
#15 Оставлено : 6 апреля 2012 г. 18:48:04(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
SignedData.Verify проверяет сообщение PKCS#7 а Chain.Build строит цепочку для сертификата, используя CertificateStatus.CheckFlag.
Так что для 2) и 3) нужно использовать Chain.Build.
Техническую поддержку оказываем тут
Наша база знаний
Offline PavelK  
#16 Оставлено : 6 апреля 2012 г. 19:28:19(UTC)
PavelK

Статус: Участник

Группы: Участники
Зарегистрирован: 14.12.2010(UTC)
Сообщений: 18
Откуда: Питер

Спасибо за ответ!
Offline Boris@Serezhkin.com  
#17 Оставлено : 22 марта 2013 г. 18:46:09(UTC)
Boris@Serezhkin.com

Статус: Активный участник

Группы: Участники
Зарегистрирован: 26.08.2010(UTC)
Сообщений: 259
Откуда: Moscow

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 11 раз в 10 постах
Очень тема - "в тему".
Подскажите как вытащить атрибуты подписей
Аналогично CAPICOM-у ?

Среда - Дельфи. Проверка - Ок, Получаю хранилище подписантов,
А кто когда подписал и зачем? Очень хочется узнать.
Навернно CertEnumCertificateContextProperties?
только какое PropId ?
Offline Kirill Sobolev  
#18 Оставлено : 25 марта 2013 г. 9:00:26(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Нет.
CryptMsgGetParam
с CMSG_SIGNER_AUTH_ATTR_PARAM или CMSG_SIGNER_UNAUTH_ATTR_PARAM.
Техническую поддержку оказываем тут
Наша база знаний
Offline Boris@Serezhkin.com  
#19 Оставлено : 25 марта 2013 г. 18:12:14(UTC)
Boris@Serezhkin.com

Статус: Активный участник

Группы: Участники
Зарегистрирован: 26.08.2010(UTC)
Сообщений: 259
Откуда: Moscow

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 11 раз в 10 постах
Ну вот, только собрался обойтись малой кровью,
Так опять надо вглыбЬ лезть.

Получаем число подписантов
....
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

Однако КриптоАрм активно показывает время каждой подписи.
Извечно русский вопрос: ЧТО ДЕЛАТЬ?

Звиняйте добавлю - специальных действий по добавлению время подписи не предпринимаю,
само получается Drool .
На бэйсике через CAPICOM было также...

Отредактировано пользователем 25 марта 2013 г. 18:17:41(UTC)  | Причина: Уточнение

Offline Андрей Писарев  
#20 Оставлено : 25 марта 2013 г. 18:18:44(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Время каждой подписи в CMSG_SIGNER_AUTH_ATTR_PARAM
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
clipper оставлено 30.09.2018(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
4 Страницы<1234>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.