LINUX.ORG.RU
ФорумAdmin

Сертификаты на ГОСТовых алгоритмах

 , , ,


0

2

Здраствуйте.

Встала задача применения сабжа.
Начал собирать «стенд».
Настроил openssl согласно README.
Проверяем:

> openssl ciphers | tr ":" "\n" | grep GOST
GOST2001-GOST89-GOST89
GOST94-GOST89-GOST89
Сгенерил самоподписаный сертификат и скормил его nginx. Он его проглатил. В конфигурации прописал:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "GOST2001-GOST89-GOST89:GOST94-GOST89-GOST89";
ssl_prefer_server_ciphers on;

Тестирую:

> openssl s_client -connect 192.168.50.178:443 -state
подлючение ок. В логе вижу:
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : GOST2001-GOST89-GOST89

Пробую curl:

> curl -v -k https://192.168.50.178
* Rebuilt URL to: https://192.168.50.178/
*   Trying 192.168.50.178...
* Connected to 192.168.50.178 (192.168.50.178) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs/
* TLSv1.2, TLS handshake, Client hello (1):
* TLSv1.2, TLS alert, Server hello (2):
* error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
* Closing connection 0
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
В логах nginx:
2015/04/03 19:38:44 [info] 26751#0: *642 SSL_do_handshake() failed (SSL: error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher) while SSL handshaking, client: 192.168.50.178, server: 192.168.50.178:443

При этом, если указывать сами чиперы то будет так:

> curl -v --ciphers "GOST2001-GOST89-GOST89:GOST94-GOST89-GOST89" -k https://192.168.50.178
* Rebuilt URL to: https://192.168.50.178/
*   Trying 192.168.50.178...
* Connected to 192.168.50.178 (192.168.50.178) port 443 (#0)
* failed setting cipher list: GOST2001-GOST89-GOST89:GOST94-GOST89-GOST89
* Closing connection 0
curl: (59) failed setting cipher list: GOST2001-GOST89-GOST89:GOST94-GOST89-GOST89

Попробовал перекомпилять curl, не помогает.
Кто-нибудь сталкивался? Куда копать?

Тестовые примеры, из упомянутого README, выполняются.
Сам openssl и nginx явных проблем не испытывают.

expelled ★★ ()
Последнее исправление: expelled (всего исправлений: 1)

В curl я нашел косяк, буду выкатывать патч.
Но не понятно что делать с firefox и chromium, но я думаю что у них проблема аналогична curlовой

expelled ★★ ()

косяк в gost поинтересней будет...

anonymous ()

Немного не по теме

Сгенерил самоподписаный сертификат и скормил его nginx. Он его проглатил

Сгенерил самоподписанный сертификат с ключем (openssl req -x509 -newkey gost2001 -pkeyopt paramset:A) и запихал его в pkcs#12 (openssl pkcs12 -export). Пытаюсь скормить его Файерфоксу для подписания документов в Либреофисе, но тот пишет: The PKCS #12 operation failed for unknown reasons.

Если не использую ГОСТ, то все проходит на ура. Конфиг тоже настраивал по readme, гостовские шиферы установились.

Курил в основном криптокомовский ман: http://cryptocom.ru/docs/cryptopack21-openssl.pdf

Куда копнуть?

зы Задача для меня практического значения не имеет, просто пытаюсь начать разбираться.

paver ()
Ответ на: комментарий от paver

Копать некуда. Хром и продукты мазилы пользуют nss, а к ней патчи с реализацией ГОСТов так и не приняли. Все попытки остались в состоянии new/active, но дальше ревью дело не пошло. Удаки крч.

Если нужен ГОСТ в офисе/браузере, то придется покупать у криптокома/криптопро/etc.

В итоге получается что опенсорс ставит нас раком, если интересно почитайте это и ветки в багтрекере фаерфокса и nss (ссылки там есть)

expelled ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.