Статус: Участник
Группы: Участники
Зарегистрирован: 14.12.2010(UTC) Сообщений: 18 Откуда: Питер
|
Да, спасибо, есть у меня такой SDK. Там кстати нет примеров на использование Chain. Да и вот думаю, а надо ли оно, мне: может достаточно проверить сертификат на время действия? (что собственно и делает метод verify с параметром CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,437 Сказал «Спасибо»: 551 раз Поблагодарили: 2235 раз в 1743 постах
|
PavelK написал:Да, спасибо, есть у меня такой SDK. Там кстати нет примеров на использование Chain. Да и вот думаю, а надо ли оно, мне: может достаточно проверить сертификат на время действия? (что собственно и делает метод verify с параметром CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE) Цитата:Там кстати нет примеров на использование Chain. есть! открыть папку \Program Files\Microsoft CAPICOM 2.1.0.2 SDK\Samples\c_sharp\chainsh или это был скрытый вопрос - а где?Отредактировано пользователем 2 марта 2012 г. 21:32:34(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.12.2010(UTC) Сообщений: 18 Откуда: Питер
|
В примере на c нет использования метода build, а я так понимаю, вся суть в нем. Вот такой пример я нашел на http://support.microsoft.com/kb/304298/ru:Dim cert Dim chain as New Chain For i = 1 To sData.Certificates.Count Set cert = sData.Certificates(i) cert.IsValid.CheckFlag = CAPICOM_CHECK_TRUSTED_ROOT Or _ CAPICOM_CHECK_TIME_VALIDITY Or _ CAPICOM_CHECK_SIGNATURE_VALIDITY Or _ CAPICOM_CHECK_ONLINE_REVOCATION_STATUS If cert.IsValid.Result Then 'CERTIFICATE IS VALID! Else chain.Build cert If CAPICOM_TRUST_IS_REVOKED And chain.Status Then 'AT LEAST ONE CERTIFICATE IN THE CHAIN HAS BEEN REVOKED. End If If CAPICOM_TRUST_REVOCATION_STATUS_UNKNOWN And chain.Status Then 'THE REVOCATION STATUS COULD NOT BE DETERMINED. End If End If Next i Хотелось бы понять что тут происходит. Вот мы только что получили файл .sig, выполнили проверку его содержимого через verify (там все ок), выдернули из signData сертификат и проверяем его цепочку как в этом примере: 1. проперти cert.IsValid.CheckFlag в момент задания значений выполняет какие-то проверки (так ли?), после чего анализируется cert.IsValid.Result. Среди прочих там задается флаг CAPICOM_CHECK_ONLINE_REVOCATION_STATUS, но как можно проверять отозванные сертификаты, если цепочка еще не построена? Причем онлайн! 2. В какой момент (в этом примере) отозванные сертификаты скачиваются с УЦ и что будет, если нет интернет-соединения?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:1. проперти cert.IsValid.CheckFlag в момент задания значений выполняет какие-то проверки (так ли?), после чего анализируется cert.IsValid.Result. Среди прочих там задается флаг CAPICOM_CHECK_ONLINE_REVOCATION_STATUS, но как можно проверять отозванные сертификаты, если цепочка еще не построена? Причем онлайн! Из MSDN Цитата:The IsValid method builds a certificate verification chain for a certificate and returns a CertificateStatus object that contains the validity status of the certificate. Так что цепочка там строится. Цитата:2. В какой момент (в этом примере) отозванные сертификаты скачиваются с УЦ и что будет, если нет интернет-соединения? Будет ошибка в Chain.Status CAPICOM_TRUST_REVOCATION_STATUS_UNKNOWN | CAPICOM_TRUST_IS_OFFLINE_REVOCATION. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.12.2010(UTC) Сообщений: 18 Откуда: Питер
|
>Так что цепочка там строится. Тогда не очень понял, зачем еще раз строить цепочку, но уже через chain.Build cert, как видно из примера microsoft. (если метод IsValid уже ее построил)
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.12.2010(UTC) Сообщений: 18 Откуда: Питер
|
Очень странно. Похоже, что функция Verify все же проверяет в том числе и цепочку. Вот, что она выдает на одном из sig-ов:
"Цепочка сертификатов обработана, но обработка прервана на корневом сертификате, у которого отсутствует отношение доверия с поставщиком доверия."
Тогда я не понимаю, зачем мне еще юзать Chain.Build cert ? Или она только CLR обновляет? (цель по-прежнему выполнить полную проверку ЭЦП)
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.08.2014(UTC) Сообщений: 90 Сказал «Спасибо»: 21 раз Поблагодарили: 9 раз в 9 постах
|
Всем здравствовать! Возвращаясь к самой теме: как узнать "Что внутри файла sig?" для обычного пользователя, у которого установлено КриптоПро CSP-4.0.x (есть capicom-2.1.0), но нет КриптоАРМ? От клиента при ЭДО получены файлы скан-копии документа из ЕИС по закупкам с sig-файлом открепленной ЭП. ВОПРОС: возможно-ли чем-то и как просмотреть информацию sig-файла, подтверждающую ЭП основного ЭД скан-копии, на уровне прессэникейщиков? (т.е. с минимальными действиями администратора что-то доустановить или доступным для уровня простых пользователей порядком действий "перейти туда-то -> открыть то-то -> выбрать это -> нажать тут -> ...) в закрытой доменной сети без доступа к интернету? Понимаю, что без помощи системного администратора не обойтись, но цель - сделать это как можно проще и быстрее для него, не обладающим программированием в области криптографии. Отредактировано пользователем 13 августа 2020 г. 9:28:24(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,437 Сказал «Спасибо»: 551 раз Поблагодарили: 2235 раз в 1743 постах
|
Здравствуйте. В составе КриптоПро CSP 5 есть приложение для проверки подписи-Инструменты КриптоПро, в меню Пуск\... \КриптоПро
|
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Добрый день. Немного жесткая формулировка задачи, потому что как раз в Интернете есть различные ресурсы для проверки ЭП файла, удобные для рядового пользователя: это и госуслуги и госзакупки и сервисы конкретных УЦ (Контура, например) и DSS сервисы от Криптопро. В принципе во многих системах ЭДО (как СУФД) уже есть команда проверки подписи или она чем-то не устраивает? Есть на форуме и ссылки на авторские утилиты проверки с графическим интерфейсом, но тут уже сами смотрите доверяете ли автору. В дополнение к ответу выше, описывающему возможности 5 версии. Технически на Криптопро CSP 4 версии можно для проверки подписи воспользоваться утилитами командной строки от КриптоПро cryptcp (скачивается на сайте КриптоПро) / csptest (уже идет в комплекте). Либо через командную строку openssl + gostengy + Криптопро CSP подробнее здесь). Если "как есть" и без гарантий - есть уже скомпилированные openssl под Windows с добавленным gostengy, так что не нужно вникать в тонкости сборки из исходных текстов. Текст команд можно поискать по форуму. У утилит есть встроенная справка, по ней тоже можно составить команду, а для cryptcp и openssl еще и справка в виде pdf. Далее, удобнее сделать или cmd/bat файл, на который перетаскивать .sig файл или дописать команду в реестр, а потом щелкать правой кнопкой по файлу и выбирать команду проверки. С учетом того, что форматы содержимого SIG могут быть слегка разные, а не все утилиты автоматически определяют формат - возможно потребуется несколько cmd файлов или пунктов команд. Вроде бы названное не требует глубоких знаний криптографии, скорее уж навыков написания cmd файлов, работы с командной строкой и добавления команд в контекстное меню.
Выглядит cmd на подписание у меня примерно так, по аналогии можно и проверку организовать Код:chcp 1251
cd \openssl_\bin
openssl cms -sign -engine gostengy -keyform ENGINE -inkey 028df5c169b8225feb40cc2c6396177966bd5a32 -in "%1" -out "%1.sig" -outform PEM -signer "C:\Others\1234.crt"
pause
|
1 пользователь поблагодарил two_oceans за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.08.2014(UTC) Сообщений: 90 Сказал «Спасибо»: 21 раз Поблагодарили: 9 раз в 9 постах
|
Автор: Андрей * В составе КриптоПро CSP 5 есть приложение для проверки подписи-Инструменты КриптоПро, в меню Пуск\... КриптоПро
Автор: Alex_04 установлено КриптоПро CSP-4.0.x (есть capicom-2.1.0), но нет КриптоАРМ Спасибо за интересную информацию, но это не вариант, к сожалению. :( Нет 5 пока и не слышно когда лицензии будут на неё.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close