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

Уведомление

Icon
Error

67 Страницы«<4344454647>»
Опции
К последнему сообщению К первому непрочитанному
Offline colotiline  
#441 Оставлено : 20 сентября 2018 г. 11:54:19(UTC)
colotiline

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

Группы: Участники
Зарегистрирован: 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


Что есть успех понятно. Но среди неуспеха нужно выделять:

  • Невозможно проверить подпись этим сертификатом.
  • Подпись валидная, но сертификат устарел.
  • Подпись валидная, но сертификат не начал действовать (такое возможно?).
  • Подпись валидная, но СОС устарел.
Offline two_oceans  
#442 Оставлено : 20 сентября 2018 г. 12:26:41(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 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)  | Причина: дополнено

thanks 1 пользователь поблагодарил two_oceans за этот пост.
colotiline оставлено 20.09.2018(UTC)
Offline colotiline  
#443 Оставлено : 20 сентября 2018 г. 12:32:57(UTC)
colotiline

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

Группы: Участники
Зарегистрирован: 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
Offline colotiline  
#444 Оставлено : 20 сентября 2018 г. 12:35:44(UTC)
colotiline

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

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

Сказал(а) «Спасибо»: 6 раз
Автор: two_oceans Перейти к цитате
Цитата:
В bash (и вроде бы в других оболочках в Linux) отлично работают одинарные кавычки, с ними дополнительное экранирование не требуется
bash это конечно замечательно, но c openssl не так все прозрачно. Буквально на предыдущей странице gostengy не загружалась в openssl из-за неэкранированных \ в пути в файле конфигурации! Раз ни одно из значений не срабатывает, то это наводит на мысль о неверной подготовке openssl значения, передаваемого в gostengy и надо эту подготовку как-то нивелировать, чтобы в gostengy поступило верное значение. Возможно и одинарные кавычки использовать и \ проэкранировать.
Цитата:
Подпись валидная, но сертификат не начал действовать (такое возможно?).
Возможно, если на компьютере, где производится проверка, выставлено время далеко в прошлое, а в подписи не указано время подписания. Другой вариант, если время верное, подписано и проверено в день получения сертификата, но в другом часовом поясе - при этом тоже могут быть странные эффекты. Есть и другие ситуации, связанные с особенностями отсчета времени - например, секунд в минуте не всегда 60, иногда раз в полугодие 1 секунду добавляют или убирают чтобы компенсировать неравномерность движения Земли, но вероятность попасть на такую ситуацию ничтожно мала. Кроме того, у УЦ есть опция выпускать сертификаты с датой начала в будущем, но таким сертификатом будет нельзя подписать до наступления этой даты. То есть если такой сертификат использовать для подписи на компьютере с отведенной датой в будущее, то при проверке на компьютере с верной датой также возможно выявление ошибки "сертификат не начал действовать".


Мне бы сообщение от OpenSSL получить, чтобы его потом скармливать валидатору и понимать, что делать с такой подписью. Пока не могу этого сделать, так как openssl в докере, в нём время нельзя менять, а на хосте нет прав на изменение времени. В целом, если никто не ответит, разберусь позже дома.

За описание ситуаций по "не начал действовать" большое спасибо. :)
Offline dmitryp  
#445 Оставлено : 20 сентября 2018 г. 13:55:25(UTC)
dmitryp

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

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline Дмитрий Пичулин  
#446 Оставлено : 20 сентября 2018 г. 14:55:17(UTC)
pd

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

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,496
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 35 раз
Поблагодарили: 466 раз в 333 постах
Автор: dmitryp Перейти к цитате
Попробовал (безрезультатно) следующие варианты:

В логе OpenSSL должна быть соответствующая ошибка со словами "gng_support_getuserkey", если её нет, то что-то идёт не так и до вызова нашей функции просто не доходит.

Знания в базе знаний, поддержка в техподдержке
Offline dmitryp  
#447 Оставлено : 21 сентября 2018 г. 5:48:34(UTC)
dmitryp

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

Группы: Участники
Зарегистрирован: 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
Offline Дмитрий Пичулин  
#448 Оставлено : 21 сентября 2018 г. 8:50:27(UTC)
pd

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

Группы: Администраторы
Зарегистрирован: 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

Да, в логе не видно нашего вызова, значит ошибка до него. Проверим, изучим.

Знания в базе знаний, поддержка в техподдержке
Offline two_oceans  
#449 Оставлено : 21 сентября 2018 г. 10:19:54(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 395 раз в 366 постах
Цитата:
В логе OpenSSL должна быть соответствующая ошибка со словами "gng_support_getuserkey", если её нет, то что-то идёт не так и до вызова нашей функции просто не доходит.
Как я понимаю был процитирован вывод на консоль... а где смотреть лог openssl если понадобится не подскажете? Наверно его надо как-то включить? попробовал искать в интернете, но все выдачи поиска забиты пересказами как установить openssl и как сгенерировать самоподписанный сертификат.
Offline VictorFrom  
#450 Оставлено : 21 сентября 2018 г. 16:27:41(UTC)
VictorFrom

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

Группы: Участники
Зарегистрирован: 13.09.2018(UTC)
Сообщений: 36
Российская Федерация

Сказал(а) «Спасибо»: 9 раз
Прошу прощения, что я влезаю в эту напряженную дискуссию, но хочется окончательно удостовериться.

Правильно ли я понимаю, что несмотря на то, что используется openssl, все равно она работает с CryptoproCSP
и для работы по ГОСТ 2012 нужно его устанавливать (CryptoproCSP). И нет никакой реализации ГОСТ в openssl,
которая бы работала без CryptoproCSP.

Тогда в чем должен быть выигыш от использования openssl в командной строке, если есть родная утилита cryptcp,
которая может тоже выполнять подпись и шифрование? А для работы с сертификатами - certmgr.

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
67 Страницы«<4344454647>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.