Статус: Участник
Группы: Участники
Зарегистрирован: 12.09.2018(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 6 раз
|
Подскажите, пожалуйста, где взять список возможных ответов для команды ниже? Код:
openssl smime -verify -crl_check -inform DER -in /home/cms.bin -content /home/message.txt -CAfile /etc/pki/ca-trust/source/anchors/crypto-cert-combine.pem
Что есть успех понятно. Но среди неуспеха нужно выделять:
- Невозможно проверить подпись этим сертификатом.
- Подпись валидная, но сертификат устарел.
- Подпись валидная, но сертификат не начал действовать (такое возможно?).
- Подпись валидная, но СОС устарел.
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Цитата:В bash (и вроде бы в других оболочках в Linux) отлично работают одинарные кавычки, с ними дополнительное экранирование не требуется bash это конечно замечательно, но c openssl не так все прозрачно. Буквально на предыдущей странице gostengy не загружалась в openssl из-за неэкранированных \ в пути в файле конфигурации! Раз ни одно из значений не срабатывает, то это наводит на мысль о неверной подготовке openssl значения, передаваемого в gostengy и надо эту подготовку как-то нивелировать, чтобы в gostengy поступило верное значение. Возможно и одинарные кавычки использовать и \ проэкранировать. Цитата:Подпись валидная, но сертификат не начал действовать (такое возможно?). Возможно, если на компьютере, где производится проверка, выставлено время далеко в прошлое, а в подписи не указано время подписания. Другой вариант, если время верное, подписано и проверено в день получения сертификата, но в другом часовом поясе - при этом тоже могут быть странные эффекты. Есть и другие ситуации, связанные с особенностями отсчета времени - например, секунд в минуте не всегда 60, иногда раз в полугодие 1 секунду добавляют или убирают чтобы компенсировать неравномерность движения Земли, но вероятность попасть на такую ситуацию ничтожно мала. Кроме того, у УЦ есть опция выпускать сертификаты с датой начала в будущем, но таким сертификатом будет нельзя подписать до наступления этой даты. То есть если такой сертификат использовать для подписи на компьютере с отведенной датой в будущее, то при проверке на компьютере с верной датой также возможно выявление ошибки "сертификат не начал действовать". Собственно, выявлять такую ситуацию и не нужно - просто проверить регулярно правильность установки времени на своем куомпьютере и возвращать на повторную подпись. Цитата:Невозможно проверить подпись этим сертификатом. Такую ситуацию почти невозможно отличить от измененной подписи, если алгоритм сертификата подходит для алгоритма подписи. Из остальных ошибок пожалуй имеет значение устаревший CRL, это тоже можно решить регулярными обновлениями, например раз в сутки. Отредактировано пользователем 20 сентября 2018 г. 12:37:11(UTC)
| Причина: дополнено
|
1 пользователь поблагодарил two_oceans за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.09.2018(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 6 раз
|
Автор: colotiline Подскажите, пожалуйста, где взять список возможных ответов для команды ниже? Код:
openssl smime -verify -crl_check -inform DER -in /home/cms.bin -content /home/message.txt -CAfile /etc/pki/ca-trust/source/anchors/crypto-cert-combine.pem
Что есть успех понятно. Но среди неуспеха нужно выделять:
- Невозможно проверить подпись этим сертификатом.
- Подпись валидная, но сертификат устарел.
- Подпись валидная, но сертификат не начал действовать (такое возможно?).
- Подпись валидная, но СОС устарел.
Невозможно проверить подпись этим сертификатом Verification failure 139793328756624:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:pk7_smime.c:336:Verify error:unable to get local issuer certificate Подпись валидная, но сертификат устарел ? Подпись валидная, но сертификат не начал действовать ? Подпись валидная, но СОС устарел Verification failure 140363354548112:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:pk7_smime.c:336:Verify error:CRL has expired
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.09.2018(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 6 раз
|
Автор: two_oceans Цитата:В bash (и вроде бы в других оболочках в Linux) отлично работают одинарные кавычки, с ними дополнительное экранирование не требуется bash это конечно замечательно, но c openssl не так все прозрачно. Буквально на предыдущей странице gostengy не загружалась в openssl из-за неэкранированных \ в пути в файле конфигурации! Раз ни одно из значений не срабатывает, то это наводит на мысль о неверной подготовке openssl значения, передаваемого в gostengy и надо эту подготовку как-то нивелировать, чтобы в gostengy поступило верное значение. Возможно и одинарные кавычки использовать и \ проэкранировать. Цитата:Подпись валидная, но сертификат не начал действовать (такое возможно?). Возможно, если на компьютере, где производится проверка, выставлено время далеко в прошлое, а в подписи не указано время подписания. Другой вариант, если время верное, подписано и проверено в день получения сертификата, но в другом часовом поясе - при этом тоже могут быть странные эффекты. Есть и другие ситуации, связанные с особенностями отсчета времени - например, секунд в минуте не всегда 60, иногда раз в полугодие 1 секунду добавляют или убирают чтобы компенсировать неравномерность движения Земли, но вероятность попасть на такую ситуацию ничтожно мала. Кроме того, у УЦ есть опция выпускать сертификаты с датой начала в будущем, но таким сертификатом будет нельзя подписать до наступления этой даты. То есть если такой сертификат использовать для подписи на компьютере с отведенной датой в будущее, то при проверке на компьютере с верной датой также возможно выявление ошибки "сертификат не начал действовать". Мне бы сообщение от OpenSSL получить, чтобы его потом скармливать валидатору и понимать, что делать с такой подписью. Пока не могу этого сделать, так как openssl в докере, в нём время нельзя менять, а на хосте нет прав на изменение времени. В целом, если никто не ответит, разберусь позже дома. За описание ситуаций по "не начал действовать" большое спасибо. :)
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Автор: two_oceans Цитата:В bash (и вроде бы в других оболочках в Linux) отлично работают одинарные кавычки, с ними дополнительное экранирование не требуется bash это конечно замечательно, но c openssl не так все прозрачно. Буквально на предыдущей странице gostengy не загружалась в openssl из-за неэкранированных \ в пути в файле конфигурации! Раз ни одно из значений не срабатывает, то это наводит на мысль о неверной подготовке openssl значения, передаваемого в gostengy и надо эту подготовку как-то нивелировать, чтобы в gostengy поступило верное значение. Возможно и одинарные кавычки использовать и \ проэкранировать. Вот воспроизводимый тест-кейс: https://gist.github.com/...e77b9b968267bd3c355baa8f . Скриптом создаю контейнер "foo" (CN=bar), и прогоняю варианты с/без экранированием обратного слеша, двоеточия, пробелов, с/без одинарными кавычками, с/без префиксом "c:", со всеми формами во всех комбинациях. Из порядка 500 полученных вариантов ни один не сработал. Отредактировано пользователем 20 сентября 2018 г. 13:56:14(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: dmitryp Попробовал (безрезультатно) следующие варианты: В логе OpenSSL должна быть соответствующая ошибка со словами "gng_support_getuserkey", если её нет, то что-то идёт не так и до вызова нашей функции просто не доходит. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Автор: Дмитрий Пичулин Автор: dmitryp Попробовал (безрезультатно) следующие варианты: В логе OpenSSL должна быть соответствующая ошибка со словами "gng_support_getuserkey", если её нет, то что-то идёт не так и до вызова нашей функции просто не доходит. Такой ошибки там нет: Код:engine "gostengy" set.
cannot load signing key file from engine
139983316783296:error:26096080:engine routines:ENGINE_load_private_key:failed loading private key:crypto/engine/eng_pkey.c:78:
unable to load signing key file
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: dmitryp Автор: Дмитрий Пичулин Автор: dmitryp Попробовал (безрезультатно) следующие варианты: В логе OpenSSL должна быть соответствующая ошибка со словами "gng_support_getuserkey", если её нет, то что-то идёт не так и до вызова нашей функции просто не доходит. Такой ошибки там нет: Код:engine "gostengy" set.
cannot load signing key file from engine
139983316783296:error:26096080:engine routines:ENGINE_load_private_key:failed loading private key:crypto/engine/eng_pkey.c:78:
unable to load signing key file
Да, в логе не видно нашего вызова, значит ошибка до него. Проверим, изучим. |
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Цитата:В логе OpenSSL должна быть соответствующая ошибка со словами "gng_support_getuserkey", если её нет, то что-то идёт не так и до вызова нашей функции просто не доходит. Как я понимаю был процитирован вывод на консоль... а где смотреть лог openssl если понадобится не подскажете? Наверно его надо как-то включить? попробовал искать в интернете, но все выдачи поиска забиты пересказами как установить openssl и как сгенерировать самоподписанный сертификат.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.09.2018(UTC) Сообщений: 36 Сказал(а) «Спасибо»: 9 раз
|
Прошу прощения, что я влезаю в эту напряженную дискуссию, но хочется окончательно удостовериться.
Правильно ли я понимаю, что несмотря на то, что используется openssl, все равно она работает с CryptoproCSP и для работы по ГОСТ 2012 нужно его устанавливать (CryptoproCSP). И нет никакой реализации ГОСТ в openssl, которая бы работала без CryptoproCSP.
Тогда в чем должен быть выигыш от использования openssl в командной строке, если есть родная утилита cryptcp, которая может тоже выполнять подпись и шифрование? А для работы с сертификатами - certmgr.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close