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

Уведомление

Icon
Error

67 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline Дмитрий Пичулин  
#11 Оставлено : 26 февраля 2015 г. 13:54:42(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Для простой проверки работоспособности openssl + gost_capi можно выполнить две команды:

  1. Проверка загрузки engine — должны увидеть "CryptoPro ENGINE GOST CAPI"

    Код:
    openssl engine

    с приблизительно таким выводом:

    Цитата:
    (rdrand) Intel RDRAND engine
    (dynamic) Dynamic engine loading support
    (gost_capi) CryptoPro ENGINE GOST CAPI ($Revision: 114689 $)


  2. Проверка возможности подписи — должны успешно подписать

    Код:
    openssl cms -sign -engine gost_capi -keyform ENGINE -inkey www.vpngost.ru -in "doc.txt" -out "doc.signed.txt" -outform PEM -CAfile /path/to/cert/www.vpngost.ru.cer -nodetach -signer /path/to/cert/www.vpngost.ru.cer


Если эти команды проходят успешно — openssl корректно работает c gost_capi, тогда при ошибках в работе nginx можно предположить, что он работает с каким-то другим openssl, который настроен некорректно или не настроен вообще.

Отредактировано пользователем 26 февраля 2015 г. 13:56:29(UTC)  | Причина: fix

Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#12 Оставлено : 27 февраля 2015 г. 10:08:45(UTC)
kropotin

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

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

Код:
[root@tls-nginx ~]# openssl engine
(dynamic) Dynamic engine loading support


Код:
[root@tls-nginx ~]# openssl engine gost_capi
3077641964:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:187:filename(/usr/lib/openssl/engines/libgost_capi.so): /usr/lib/openssl/engines/libgost_capi.so: cannot open shared object file: No such file or directory
3077641964:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
3077641964:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450:
3077641964:error:2606A074:engine routines:ENGINE_by_id:no such engine:eng_list.c:417:id=gost_capi

Ок, скопировал библиотеку /opt/cprocsp/cp-openssl/lib/ia32/engines/libgost_capi.so.0.0.0 в /usr/lib/openssl/engines/libgost_capi.so

Код:
[root@tls-nginx ~]# openssl engine gost_capi
(gost_capi) CAPIlite (CryptoAPI) gost ENGINE


Openssl видит gost_capi, но только тогда, когда явно укажешь, openssl engine снова говорит:
Код:
[root@tls-nginx engines]# openssl engine
(dynamic) Dynamic engine loading support


Код:
[root@tls-nginx ~]# service nginx configtest
nginx: [emerg] SSL_CTX_use_certificate("/etc/nginx/nginx.cer") failed (SSL: error:0609E09C:digital envelope routines:PKEY_SET_TYPE:unsupported algorithm error:0B07706F:x509 certificate routines:X509_PUBKEY_get:unsupported algorithm error:140BF10C:SSL routines:SSL_SET_CERT:x509 lib)
nginx: configuration file /etc/nginx/nginx.conf test failed


Может nginx не понимает сертифкат в Base64 кодировке?
Генерируем новый в DER-кодировке, удаляем старый, устанавливаем, сбрасываем пароль на контейнер:
Код:
[root@tls-nginx tmp]# service nginx configtest
nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/nginx.cer") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: configuration file /etc/nginx/nginx.conf test failed


Так как же правильно прописать КриптоПро в OpenSSL?
Offline kropotin  
#13 Оставлено : 27 февраля 2015 г. 10:13:57(UTC)
kropotin

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

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

Попытка зашифровать файл дает тот же результат:
Код:
[root@tls-nginx tmp]# openssl cms -sign -engine gost_capi -keyform ENGINE -inkey qwerty -in "test.txt" -out "test.signed.txt" -outform PEM -CAfile /etc/nginx/nginx.cer -nodetach -signer /etc/nginx/nginx.cer
engine "gost_capi" set.
unable to load certificate
3078264556:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE


Что-то не то с сертификатом?
Offline kropotin  
#14 Оставлено : 27 февраля 2015 г. 11:02:58(UTC)
kropotin

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

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

Модифицировал openssl.cnf: строку
Код:
openssl_conf = openssl_def

перенес в самое начало, остальные блоки в конец конфигурационного файла.
Результат:
Код:
[root@tls-nginx tmp]# openssl engine
(dynamic) Dynamic engine loading support
(gost_capi) CAPIlite (CryptoAPI) gost ENGINE

Но один фиг:
Код:
[root@tls-nginx tmp]# openssl cms -sign -engine gost_capi -keyform ENGINE -inkey qwerty -in "test.txt" -out "test.signed.txt" -outform PEM -CAfile /etc/nginx/nginx.cer -nodetach -signer /etc/nginx/nginx.cer
engine "gost_capi" set.
unable to load certificate
3078481644:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
Offline Iniki  
#15 Оставлено : 27 февраля 2015 г. 11:59:59(UTC)
Iniki

Статус: Новичок

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

У меня та же проблема
Код:
failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)

Отредактировано пользователем 27 февраля 2015 г. 12:02:56(UTC)  | Причина: Не указана

Offline kropotin  
#16 Оставлено : 27 февраля 2015 г. 12:06:08(UTC)
kropotin

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

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

После множественных манипуляций все заблочилось и отпал sshd (видать с шифрованием что-то):
Код:
Starting sshd: support_mutex_open("registry_lock") failed:: Permission denied
Offline Iniki  
#17 Оставлено : 27 февраля 2015 г. 12:06:27(UTC)
Iniki

Статус: Новичок

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

Автор: kropotin Перейти к цитате
Модифицировал openssl.cnf: строку
Код:
openssl_conf = openssl_def

перенес в самое начало, остальные блоки в конец конфигурационного файла.
Результат:
Код:
[root@tls-nginx tmp]# openssl engine
(dynamic) Dynamic engine loading support
(gost_capi) CAPIlite (CryptoAPI) gost ENGINE

Но один фиг:
Код:
[root@tls-nginx tmp]# openssl cms -sign -engine gost_capi -keyform ENGINE -inkey qwerty -in "test.txt" -out "test.signed.txt" -outform PEM -CAfile /etc/nginx/nginx.cer -nodetach -signer /etc/nginx/nginx.cer
engine "gost_capi" set.
unable to load certificate
3078481644:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE


А у вас доступ по SSH не поломался после вынесения
Код:
openssl_conf = openssl_def
в самый вверх конфига openssl.cnf ??
Offline kropotin  
#18 Оставлено : 27 февраля 2015 г. 12:08:24(UTC)
kropotin

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

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

Автор: Iniki Перейти к цитате

А у вас доступ по SSH не поломался после вынесения
Код:
openssl_conf = openssl_def
в самый вверх конфига openssl.cnf ??


От оно чо!

Действительно, после того как закомментировал
Код:
openssl_conf = openssl_def
, sshd поднялся.

Отредактировано пользователем 27 февраля 2015 г. 12:11:24(UTC)  | Причина: Не указана

Offline Дмитрий Пичулин  
#19 Оставлено : 27 февраля 2015 г. 13:27:03(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
представленные в FAQ строчки начинающиеся c "openssl_conf = openssl_def" из логики конфига, должны быть после глобальных определений, обычно глобальные определения заканчиваются "oid_section = new_oids", то есть вставлять наш кусок конфига следует после них.

Отредактировано пользователем 27 февраля 2015 г. 13:28:02(UTC)  | Причина: fix

Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#20 Оставлено : 27 февраля 2015 г. 13:32:01(UTC)
kropotin

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

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

Автор: pd Перейти к цитате
представленные в FAQ строчки начинающиеся c "openssl_conf = openssl_def" из логики конфига, должны быть после глобальных определений, обычно глобальные определения заканчиваются "oid_section = new_oids", то есть вставлять наш кусок конфига следует после них.


Ок, с этим разобрались. как быть с
Код:
[root@tls-nginx tmp]# openssl cms -sign -engine gost_capi -keyform ENGINE -inkey qwerty -in "test.txt" -out "test.signed.txt" -outform PEM -CAfile /etc/nginx/nginx.cer -nodetach -signer /etc/nginx/nginx.cer
engine "gost_capi" set.
unable to load certificate
3078485740:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
67 Страницы<1234>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.