Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.12.2016(UTC) Сообщений: 114 Сказал «Спасибо»: 26 раз
|
Как получить ключи в форматах pem Цитата: Bag Attributes localKeyID: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX friendlyName: cp_exported Key Attributes X509v3 Key Usage: 10 -----BEGIN PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX -----END PRIVATE KEY-----
Нормально OPENSSL я собрать под виндой и ubuntu не смог! Пацаны это блин наши налоги! Создайте уже нормальный продукт который будет нормально работать! Ответы получаем долго, вообщем целая куча претензий! Кормите детей за наши налоги, а нам сидеть изучать все с нуля! Сидеть напильником пилить все... Я не учился на шифрование, мне это не нужно! Почему у других компаний, нормальное API! Быстрая поддержка и т. д.! Лобируйте в своих каналах простоту! Отредактировано пользователем 7 августа 2018 г. 15:44:47(UTC)
| Причина: Не указана
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Сколько экспрессии. Если вдруг прям позарез нужен ключ в формате pem, то на Ваш страх и риск можете поискать программку privkey (аргументы: путь до папки контейнера и пин-код). Из минусов - не вытаскивает ключ из реестра и токенов, только с флешек и жестких дисков; изначальная версия поддерживает только гост-2001, ключи гост-2012 не поддерживаются. Ссылку давать не буду - безопасность pem очень сомнительна. Хорошо подумайте перед вытаскиванием ключа в pem, ведь для большинства операций Openssl наличие ключа в формате pem в принципе не нужно при установленном КриптоПро, можно просто через engine подключиться к ядру КриптоПро и работать с контейнерами КриптоПро, в том числе реестром или токенами. Если операция openssl поддерживает аргумент -keyform ENGINE, то: 1. Устанавливаются пакеты КриптоПро CSP; 2. Настраиваете работу engine подправив конфиг openssl. Нужен или gost_capi для Openssl 1.0, поддерживает гост-2001 (версии постарее и гост-94) или gostengy для openssl 1.1.0, поддерживает гост-2001 и гост-2012. Если не нужно TLS 1.2 можно обойтись стандартной версией Openssl, не собирая версию от КриптоПро. Такие версии для Windows есть уже в собранном виде (хотя небезопасно брать неизвестно кем собранную), а в ubuntu скорее всего уже встроенная есть (только engine собрать); 2. Проверяете, что engine загружен и GOST есть в выводе можете отвильтровать последний через (*nix) или (Windows); 3. Используете в операции openssl связку параметров Код:-engine gostengy -keyform ENGINE -key xx
где xx отпечаток сертификата или "c:"+имя контейнера в КриптоПро. Для других решений на основе openssl - Apache nginx stunnel также поддерживается получение ключа из engine с указанием отпечатка или имени контейнера. Подробнее смотрите в соответствующих темах здесь.
|
1 пользователь поблагодарил two_oceans за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.12.2016(UTC) Сообщений: 114 Сказал «Спасибо»: 26 раз
|
Автор: two_oceans Сколько экспрессии. Если вдруг прям позарез нужен ключ в формате pem, то на Ваш страх и риск можете поискать программку privkey (аргументы: путь до папки контейнера и пин-код). Из минусов - не вытаскивает ключ из реестра и токенов, только с флешек и жестких дисков; изначальная версия поддерживает только гост-2001, ключи гост-2012 не поддерживаются. Ссылку давать не буду - безопасность pem очень сомнительна. Хорошо подумайте перед вытаскиванием ключа в pem, ведь для большинства операций Openssl наличие ключа в формате pem в принципе не нужно при установленном КриптоПро, можно просто через engine подключиться к ядру КриптоПро и работать с контейнерами КриптоПро, в том числе реестром или токенами. Если операция openssl поддерживает аргумент -keyform ENGINE, то: 1. Устанавливаются пакеты КриптоПро CSP; 2. Настраиваете работу engine подправив конфиг openssl. Нужен или gost_capi для Openssl 1.0, поддерживает гост-2001 (версии постарее и гост-94) или gostengy для openssl 1.1.0, поддерживает гост-2001 и гост-2012. Если не нужно TLS 1.2 можно обойтись стандартной версией Openssl, не собирая версию от КриптоПро. Такие версии для Windows есть уже в собранном виде (хотя небезопасно брать неизвестно кем собранную), а в ubuntu скорее всего уже встроенная есть (только engine собрать); 2. Проверяете, что engine загружен и GOST есть в выводе можете отвильтровать последний через (*nix) или (Windows); 3. Используете в операции openssl связку параметров Код:-engine gostengy -keyform ENGINE -key xx
где xx отпечаток сертификата или "c:"+имя контейнера в КриптоПро. Для других решений на основе openssl - Apache nginx stunnel также поддерживается получение ключа из engine с указанием отпечатка или имени контейнера. Подробнее смотрите в соответствующих темах здесь. Понятно, что сомнительна! Но мне нужна для stunnel! 2001 я смогу выдрать дома после 16 августа! Нужны 2012! Которые будут работать с 1 января 2019 года! PEM нужен для связи с сайтом zakupki.gov! Делаю ВСРЗ!
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
У себя (на Windows) пробно настроил соединение с самим zakupki.gov.ru через версию stunnel с поддержкой msspi интерфейса (там же есть версия постарее "КриптоПро Stunnel", но она не поддерживает renegotiating, который нужен ЕИС госзакупок), просто указал отпечаток сертификата и пин-код (насчет пин-кода в конфигурации конечно тоже небезопасно) Код:output=d:\programs\stunnel2\stun-cli.log
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 5
[cert_eis_zakaz]
client = yes
accept=127.0.0.1:719
connect=zakupki.gov.ru:443
cert=отпечаток_сертификата
pin=пин-код
verify=0
без использования параметра key, сертификат находится в "Личные" по отпечатку, ключ по связке с сертификатом, соединение устанавливается, после расшифровки ЕИС работает даже в браузерах без поддержки ГОСТ. Вот только ЕИС имеет нехорошую привычку в каждом перенаправлении и каждой ссылке прописывать не относительный, а полный адрес и потому с регулярно браузер перекидывает на Конечно это можно решить при помощи прокси. Если вход по нескольким сертификатам, то каждому нужен свой порт. Запуск как службы не проверял, скорее всего потребуется установка сертификата с привязкой к контейнеру в хранилище "Личные" компьютера, но возможны и другие варианты. В новых версиях под Windows есть 2 приложения - консольное для установки как службы и с графическим интерфейсом для обычного запуска (в окне показывает журнал, что удобно для отладки). С гост-2012 не знаю где сейчас можно проверить.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,098
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 151 раз в 136 постах
|
Автор: two_oceans С гост-2012 не знаю где сейчас можно проверить. Дык - стенд открытого тестирования ... С произвольными сертификатами не получится (стенд доверяет только самому себе), а без авторизации по сертификатам или на тестовых сертификатах КриптоПРО - какие проблемы?
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Без авторизации для данной задачи не подойдет, как раз надо проверить использование пользовательских сертификатов гост-2012. А они пока только на тестовом УЦ, АУЦ не спешат с переходом.
Спасибо, что ссылку на стенд напомнили. Про стенд я тоже мельком подумал, но короткая жизнь сертификатов тестового УЦ несколько отбивает желание им пользоваться. Имеет смысл получать тестовый сертификат, когда уже ПО готово и осталось только его отладить, иначе пока ПО пишешь сертификаты уже "протухнут", а это значит нужно новое получение и новое заполнение настроек ПО. Также необходимость устанавливать тестовые УЦ в доверенные центры сертификации - потенциальная дыра в безопасности.
Ну и вообще, хотелось бы проверить как будет взаимодействие по гост-2012 с другими вендорами, не только между stunnel-msspi от Криптопро и стендом от Криптопро. Получается, что проблем нет, но есть другие соображения отложить стенд в конец списка.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,098
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 151 раз в 136 постах
|
Автор: two_oceans Ну и вообще, хотелось бы проверить как будет взаимодействие по гост-2012 с другими вендорами ViPNet CSP 4.2. 8, Windows 7 SP1+ - нормально взаимодействует в ослике и хромиум-гост. С минимальными "предосторожностями" ViPNet CSP и КриптоПРО CSP нормально сосуществуют и работают. ViPNet CSP 4.2.8 уже сертифицирован и выложен ИнфоТекс-ом "только что" (начало августа 2018 года).
|
1 пользователь поблагодарил basid за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 01.03.2019(UTC) Сообщений: 45 Сказал(а) «Спасибо»: 23 раз Поблагодарили: 2 раз в 1 постах
|
Автор: two_oceans Если вдруг прям позарез нужен ключ в формате pem. - есть ПО "черный ящик",что внутри не вижу, заявлено, что шарманка поддерживает ГОСТ 2012 , нужны ключи в pem. Пытаюсь получить pem через - pfx получен с помощью экспорта + криптопро 5.0 - openssl 1.1.1c + CryptoPro GostEngy ($Revision 185515)+ криптопро 5.0 ошибки вида "unknoun pbe algorithm" Это в принципе возможно? Или в такой связке ничего не получится? п.с. шарманка работает со списками роскомнадзора..
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 01.03.2019(UTC) Сообщений: 45 Сказал(а) «Спасибо»: 23 раз Поблагодарили: 2 раз в 1 постах
|
с гост 2001 ранее получалось в связке - pfx получен волшебной утилитой от лисси - openssl 1.0 + gost_capi
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Насколько я понимаю, нет штатной возможности вытащить ключ из стандартного pfx сформированного КриптоПро чем либо кроме самого КриптоПро. Openssl и зарубежные операторы оидов вообще не знают о таком оиде. Вручную вытащить можно, но там похоже защита ключа процентов на 90 напоминающая защиту самого контейнера, то есть часть контейнера вырезали и вставили в pfx, проще вытаскивать из контейнера. Однако есть более фундаментальная проблема с pem в Вашем случае. Автор: lab2 openssl 1.1.1c + CryptoPro GostEngy ($Revision 185515) Для справки: такая связка НЕ работает с ключами pem в принципе даже если Вы его вытащите. Прочитайте внимательно тему про GostEngy, во втором сообщении инструкция и пояснения. Вкратце: cгенерировать ключ в такой связке также не получится, нужно генерировать в самом КриптоПро, потом использовать готовый контейнер в связке. Экспортировать закрытый ключ из контейнера также невозможно - gostengy возвращает в openssl дескриптор закрытого ключа, а не сам ключ. Дескриптор каждый раз разный, поэтому сохранить в файл можно, но загруженный из файла дескриптор будет работать очень короткое время пока дескриптор еще не закрыт. Создать запрос на сертификат по контейнеру и дальнейшие действия с сертификатом и криптооперации поддерживаются, если вместо файла pem указать контейнер, об этом дальше. Для указания контейнера либо сертификат должен быть в хранилище сертификатов со ссылкой на контейнер и находиться криптоПро, тогда вместо файла pem можно написать отпечаток сертификата или CN. Либо если сертификат не установлен в хранилище нужно вместо файла pem указать без кавычек "c:" + имя контейнера в КриптоПро (если в имени контейнера пробелы, то берется в одинарные кавычки в *nix, или двойные кавычки в Windows). Должно получиться что-то вроде 'c:\\.\HDIMAGE\test' или "c:test" - это не путь, а способ записи имени контейнера. Программа "черный ящик" скорее всего не заморачивается над спецификой pem или не pem, поэтому сначала проверьте что openssl видит и работает с контейнером по одной из записей выше, потом укажите этому "черному ящику" запись вместо файла pem. Высока вероятность что так заработает, без всякого вытаскивания pem.
|
2 пользователей поблагодарили two_oceans за этот пост.
|
lab2 оставлено 04.07.2019(UTC), raynor оставлено 21.05.2020(UTC)
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close