logo Наши способы организации безопасного удалённого доступа к рабочим местам и корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

30 Страницы«<1819202122>»
Опции
К последнему сообщению К первому непрочитанному
Offline dvfin  
#381 Оставлено : 24 июля 2018 г. 22:56:17(UTC)
dvfin

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

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

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 2 раз в 2 постах
Дмитрий Пичулин, установил пакеты
Цитата:
cprocsp-cpopenssl-110-64-5.0.11099-5.x86_64
cprocsp-cpopenssl-110-base-5.0.11099-5.noarch
cprocsp-cpopenssl-110-devel-5.0.11099-5.noarch
cprocsp-cpopenssl-110-gost-64-5.0.11099-5.x86_64
cprocsp-cpopenssl-64-5.0.11099-5.x86_64
cprocsp-cpopenssl-base-5.0.11099-5.noarch
cprocsp-cpopenssl-devel-5.0.11099-5.noarch
cprocsp-cpopenssl-gost-64-5.0.11099-5.x86_64

Предположительно пакет cprocsp-cpopenssl-gost-64-5.0.11099-5.x86_64 не нужен, так как в нем libgost_capi.so - поправите меня, если я ошибаюсь.

В /etc/ssl/openssl.cnf внес следующие поправки:
Код:
openssl_conf = openssl_def

[openssl_def]
engines = engine_section

[engine_section]
gostengy = gost_section

[gost_section]
engine_id = gostengy
dynamic_path = /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/engines/libgostengy.so
default_algorithms = CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN1

Если я ошибся, просьба так же поправить.

Итог такой:
Код:
# openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 174535 $)

Библиотека gostengy погрузилась и можно-ли это считать успехом?

После всех изменений, с подгруженным GostEngy, что-то у меня в списке шифрования OpenSSL нет ГОСТ-овских шифров:
Код:
# openssl ciphers -v
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=CHACHA20/POLY1305(256) Mac=AEAD
ECDHE-RSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH     Au=RSA  Enc=CHACHA20/POLY1305(256) Mac=AEAD
DHE-RSA-CHACHA20-POLY1305 TLSv1.2 Kx=DH       Au=RSA  Enc=CHACHA20/POLY1305(256) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA256
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA256
DHE-RSA-AES128-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA256
ECDHE-ECDSA-AES256-SHA  TLSv1 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA1
ECDHE-RSA-AES256-SHA    TLSv1 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA1
DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
ECDHE-ECDSA-AES128-SHA  TLSv1 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA1
ECDHE-RSA-AES128-SHA    TLSv1 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA1
DHE-RSA-AES128-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA1
RSA-PSK-AES256-GCM-SHA384 TLSv1.2 Kx=RSAPSK   Au=RSA  Enc=AESGCM(256) Mac=AEAD
DHE-PSK-AES256-GCM-SHA384 TLSv1.2 Kx=DHEPSK   Au=PSK  Enc=AESGCM(256) Mac=AEAD
RSA-PSK-CHACHA20-POLY1305 TLSv1.2 Kx=RSAPSK   Au=RSA  Enc=CHACHA20/POLY1305(256) Mac=AEAD
DHE-PSK-CHACHA20-POLY1305 TLSv1.2 Kx=DHEPSK   Au=PSK  Enc=CHACHA20/POLY1305(256) Mac=AEAD
ECDHE-PSK-CHACHA20-POLY1305 TLSv1.2 Kx=ECDHEPSK Au=PSK  Enc=CHACHA20/POLY1305(256) Mac=AEAD
AES256-GCM-SHA384       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(256) Mac=AEAD
PSK-AES256-GCM-SHA384   TLSv1.2 Kx=PSK      Au=PSK  Enc=AESGCM(256) Mac=AEAD
PSK-CHACHA20-POLY1305   TLSv1.2 Kx=PSK      Au=PSK  Enc=CHACHA20/POLY1305(256) Mac=AEAD
RSA-PSK-AES128-GCM-SHA256 TLSv1.2 Kx=RSAPSK   Au=RSA  Enc=AESGCM(128) Mac=AEAD
DHE-PSK-AES128-GCM-SHA256 TLSv1.2 Kx=DHEPSK   Au=PSK  Enc=AESGCM(128) Mac=AEAD
AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD
PSK-AES128-GCM-SHA256   TLSv1.2 Kx=PSK      Au=PSK  Enc=AESGCM(128) Mac=AEAD
AES256-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA256
AES128-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA256
ECDHE-PSK-AES256-CBC-SHA384 TLSv1 Kx=ECDHEPSK Au=PSK  Enc=AES(256)  Mac=SHA384
ECDHE-PSK-AES256-CBC-SHA TLSv1 Kx=ECDHEPSK Au=PSK  Enc=AES(256)  Mac=SHA1
SRP-RSA-AES-256-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=AES(256)  Mac=SHA1
SRP-AES-256-CBC-SHA     SSLv3 Kx=SRP      Au=SRP  Enc=AES(256)  Mac=SHA1
RSA-PSK-AES256-CBC-SHA384 TLSv1 Kx=RSAPSK   Au=RSA  Enc=AES(256)  Mac=SHA384
DHE-PSK-AES256-CBC-SHA384 TLSv1 Kx=DHEPSK   Au=PSK  Enc=AES(256)  Mac=SHA384
RSA-PSK-AES256-CBC-SHA  SSLv3 Kx=RSAPSK   Au=RSA  Enc=AES(256)  Mac=SHA1
DHE-PSK-AES256-CBC-SHA  SSLv3 Kx=DHEPSK   Au=PSK  Enc=AES(256)  Mac=SHA1
AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
PSK-AES256-CBC-SHA384   TLSv1 Kx=PSK      Au=PSK  Enc=AES(256)  Mac=SHA384
PSK-AES256-CBC-SHA      SSLv3 Kx=PSK      Au=PSK  Enc=AES(256)  Mac=SHA1
ECDHE-PSK-AES128-CBC-SHA256 TLSv1 Kx=ECDHEPSK Au=PSK  Enc=AES(128)  Mac=SHA256
ECDHE-PSK-AES128-CBC-SHA TLSv1 Kx=ECDHEPSK Au=PSK  Enc=AES(128)  Mac=SHA1
SRP-RSA-AES-128-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=AES(128)  Mac=SHA1
SRP-AES-128-CBC-SHA     SSLv3 Kx=SRP      Au=SRP  Enc=AES(128)  Mac=SHA1
RSA-PSK-AES128-CBC-SHA256 TLSv1 Kx=RSAPSK   Au=RSA  Enc=AES(128)  Mac=SHA256
DHE-PSK-AES128-CBC-SHA256 TLSv1 Kx=DHEPSK   Au=PSK  Enc=AES(128)  Mac=SHA256
RSA-PSK-AES128-CBC-SHA  SSLv3 Kx=RSAPSK   Au=RSA  Enc=AES(128)  Mac=SHA1
DHE-PSK-AES128-CBC-SHA  SSLv3 Kx=DHEPSK   Au=PSK  Enc=AES(128)  Mac=SHA1
AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
PSK-AES128-CBC-SHA256   TLSv1 Kx=PSK      Au=PSK  Enc=AES(128)  Mac=SHA256
PSK-AES128-CBC-SHA      SSLv3 Kx=PSK      Au=PSK  Enc=AES(128)  Mac=SHA1

Большое спасибо!

Отредактировано пользователем 24 июля 2018 г. 23:12:02(UTC)  | Причина: Не указана

Offline Дмитрий Пичулин  
#382 Оставлено : 25 июля 2018 г. 11:51:59(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: dvfin Перейти к цитате
[b]После всех изменений, с подгруженным GostEngy, что-то у меня в списке шифрования OpenSSL нет ГОСТ-овских шифров

Если вы используете официальный OpenSSL, то в него закралась ошибка с инициализацией списка шифров, подробнее здесь: https://www.cryptopro.ru...ts&m=92961#post92961
Знания в базе знаний, поддержка в техподдержке
Offline Aleksandr G*  
#383 Оставлено : 25 июля 2018 г. 14:49:19(UTC)
Aleksandr G*

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

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

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 23 раз в 22 постах
Здравствуйте

Помогите разобраться с проблемой: не проходит проверка CRL при определенной последовательности сертификатов CA в бандле. Так, при наличии корректного СОС и некоторого количества сертификатов (конечно должен присутствовать и сертификат издателя СОС), CRL недействительна.

Команда:
Код:
openssl crl -in CRL.crl -inform DER -CAfile Cert.cer -noout

Результат:
Код:
verify failure


Но если удалить последний (или добавить в конец любой) сертификат, результат проверки той же CRL положителен.

Проверили на:
OS: windows 10, windows 7
openssl: 1.0.2o ( openssl-1.0.2o-gost-0.55 )
CSP: 4.0 R4, 4.0 R3, 4.0 R2

Используемые бандлы и сос прикладываю. CRL_CA_for_test.zip (7kb) загружен 2 раз(а).

Отредактировано пользователем 25 июля 2018 г. 14:58:15(UTC)  | Причина: Не указана

Offline Aleksandr G*  
#384 Оставлено : 25 июля 2018 г. 16:04:25(UTC)
Aleksandr G*

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

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

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 23 раз в 22 постах
Похоже в текущей реализации не предусмотрена обработка бандлов, с сертификатами, у которых одинаковое subjectName https://github.com/opens...2-stable/apps/crl.c#L276
Offline Aleksandr G*  
#385 Оставлено : 25 июля 2018 г. 17:03:28(UTC)
Aleksandr G*

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

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

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 23 раз в 22 постах
Корректный (по моему мнению) код используется в X509_STORE_CTX_get1_issuer: https://github.com/opens...ypto/x509/x509_lu.c#L641
Код:

/* If certificate matches all OK */
    if (ctx->check_issued(ctx, x, obj.data.x509)) {
        *issuer = obj.data.x509;
        return 1;
    }
    X509_OBJECT_free_contents(&obj);

    if (ctx->ctx == NULL)
        return 0;

    /* Else find index of first cert accepted by 'check_issued' */
    ret = 0;
    CRYPTO_w_lock(CRYPTO_LOCK_X509_STORE);
    idx = X509_OBJECT_idx_by_subject(ctx->ctx->objs, X509_LU_X509, xn);
    if (idx != -1) {            /* should be true as we've had at least one
                                 * match */
        /* Look through all matching certs for suitable issuer */
        for (i = idx; i < sk_X509_OBJECT_num(ctx->ctx->objs); i++) {
            pobj = sk_X509_OBJECT_value(ctx->ctx->objs, i);
            /* See if we've run past the matches */
            if (pobj->type != X509_LU_X509)
                break;
            if (X509_NAME_cmp(xn, X509_get_subject_name(pobj->data.x509)))
                break;
            if (ctx->check_issued(ctx, x, pobj->data.x509)) {
                *issuer = pobj->data.x509;
                X509_OBJECT_up_ref_count(pobj);
                ret = 1;
                break;
            }
        }
}


Ошибся для CRL то он не подойдет. или подойдет? надо попробовать

Отредактировано пользователем 25 июля 2018 г. 17:08:51(UTC)  | Причина: Не указана

Offline Aleksandr G*  
#386 Оставлено : 25 июля 2018 г. 17:20:23(UTC)
Aleksandr G*

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

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

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 23 раз в 22 постах
Offline Дмитрий Пичулин  
#387 Оставлено : 25 июля 2018 г. 17:46:24(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: Aleksandr G* Перейти к цитате

Да, openssl ищёт только по subject, могут быть проблемы с совпадениями.

Хотя в crl ещё есть идентификатор ключа (akid), по которому должно находится однозначно.
Знания в базе знаний, поддержка в техподдержке
Offline Aleksandr G*  
#388 Оставлено : 25 июля 2018 г. 18:07:11(UTC)
Aleksandr G*

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

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

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 23 раз в 22 постах
Автор: Дмитрий Пичулин Перейти к цитате

Хотя в crl ещё есть идентификатор ключа (akid), по которому должно находится однозначно.


Но в RFC (https://tools.ietf.org/html/rfc5280#section-4.2.1.2) читаем:
Цитата:
Applications are not required to verify that key identifiers match when performing certification path validation


И как быть непонятно.
Offline Дмитрий Пичулин  
#389 Оставлено : 25 июля 2018 г. 18:41:56(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: Aleksandr G* Перейти к цитате
И как быть непонятно.

Как быть понятно, делать свой пред-матчер и давать openssl подготовленный bundle.

Знания в базе знаний, поддержка в техподдержке
Offline dvfin  
#390 Оставлено : 27 июля 2018 г. 19:38:56(UTC)
dvfin

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

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

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 2 раз в 2 постах
Код:
# openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 174535 $)

# openssl ciphers | tr ":" "\n" | grep -i gost
GOST2012-GOST8912-GOST8912
GOST2001-GOST89-GOST89

# openssl version -a
OpenSSL 1.1.0h  27 Mar 2018
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) md2(char) rc4(16x,int) des(int) blowfish(ptr) 
compiler: gcc -DZLIB -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/usr/lib64/engines-1.1\""  -Wa,--noexecstack
OPENSSLDIR: "/etc/ssl"
ENGINESDIR: "/usr/lib64/engines-1.1"
#

А теперь можно считать успехом? И еще вопрос ГОСТ-ы по умолчанию будут поддерживаться в OpenSSL версии 1.1.1 ?
Offline Дмитрий Пичулин  
#391 Оставлено : 28 июля 2018 г. 0:43:01(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: dvfin Перейти к цитате
А теперь можно считать успехом? И еще вопрос ГОСТ-ы по умолчанию будут поддерживаться в OpenSSL версии 1.1.1 ?

Можно. Это успех.

OpenSSL 1.1.1 не должен сильно отличаться от 1.1.0, по умолчанию только зарубежные алгоритмы, ГОСТ необходимо будет подключать дополнительно, как сейчас.

Как только OpenSSL 1.1.1 станет стабильным релизом -- мы доработаем под него наш gostengy.
Знания в базе знаний, поддержка в техподдержке
Offline dvfin  
#392 Оставлено : 29 июля 2018 г. 13:23:14(UTC)
dvfin

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

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

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 2 раз в 2 постах
Все серверные и корневые сертификаты http://www.roskazna.ru/g...tr/kornevye-sertifikaty/ установлены с помощью КриптоПро 5 в хранилище сертификатов uRoot - для корневых сертификатов Удостоверяющих Центров. Личные сертификаты установлены в uMy - для личных сертификатов.

В браузере Спутник увидел следующие ошибки:
Код:
ERROR:ssl_client_socket_impl.cc(1314)] trying to load gostssl lib libgostssl.so
ERROR:ssl_client_socket_impl.cc(1319)] ok when trying to load gostssl lib
ERROR:ssl_client_socket_impl.cc(1142)] handshake failed; returned -1, SSL error code 1, net_error -3072
ERROR:ssl_client_socket_impl.cc(1142)] handshake failed; returned -1, SSL error code 1, net_error -3072
ERROR:ssl_client_socket_impl.cc(1142)] handshake failed; returned -1, SSL error code 1, net_error -2
ERROR:ssl_client_socket_impl.cc(1142)] handshake failed; returned -1, SSL error code 1, net_error -2

в /opt/sputnik-browser/ лежит библиотека libgostssl.so но она не подгружается, или подгружается некорректно из-за неправильной настройки SSL ФГИСов и автоионизация по ГОСТ из-за этого не проходит.

Скриншоты https://dropmefiles.com/VQBCM


UserPostedImageUserPostedImageUserPostedImage
UserPostedImage

Из-за этой ошибки не получается зайти в Личные кабинеты следующих ФГИС

https://zakupki.gov.ru/auth/secure
https://bus.gov.ru/private
https://lk-fzs.roskazna.ru/private/requests/new
https://ssl.budgetplan.minfin.ru/bp/

Nmap при этом выдает следующее:
Код:
nmap --script ssl-enum-ciphers -p 443 zakupki.gov.ru
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-27 13:54 Local time zone must be set--see zic manual page
Nmap scan report for zakupki.gov.ru (31.173.38.227)
Host is up (0.017s latency).

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers: 
|   SSLv3: 
|     ciphers: 
|       TLS_GOSTR341001_WITH_28147_CNT_IMIT-draft - unknown
|     compressors: 
|       NULL
|     cipher preference: indeterminate
|     cipher preference error: Too few ciphers supported
|   TLSv1.0: 
|     ciphers: 
|       TLS_GOSTR341001_WITH_28147_CNT_IMIT-draft - unknown
|     compressors: 
|       NULL
|     cipher preference: indeterminate
|     cipher preference error: Too few ciphers supported
|   TLSv1.1: 
|     ciphers: 
|       TLS_GOSTR341001_WITH_28147_CNT_IMIT-draft - unknown
|     compressors: 
|       NULL
|     cipher preference: indeterminate
|     cipher preference error: Too few ciphers supported
|_  least strength: unknown

Nmap done: 1 IP address (1 host up) scanned in 0.76 seconds

Подскажите эта проблема на моей стороне или это проблема настройки авторизации по SSL у данных ФГИСов?

По поводу ошибки [missing_subjectAltName] при входе в Личный кабинет ЕИС (см. выше на скриншоте) написано здесь https://www.linux.or...eneral/13369028
В сертификате ЕИС не заполнено поле SAN (Subject Alternative Name), на основании это происходит "отфутболивание" всеми браузерами. Сам Ghrome сообщал об этом:

Цитата:
Chrome 58 позволяет временно вернуть старое поведение браузера. Делается это с помощью политики EnableCommonNameFallbackForLocalAnchors.
Она позволяет избежать повторной генерации сертификатов. Однако это
решение является временным и будет удалено в последующих версиях
браузера (не позднее Chrome 65). Мы настоятельно рекомендуем заново
сгенерировать самоподписанные SSL-сертификаты с включением расширения
Subject Alternative Name.

и еще нашел такое:
Цитата:
Немного изучив вопрос, выяснил, что openssl не добавляет subjectAltName в сертификат, так как он не указан в конфиге, поэтому в openssl.cnf нужно
в секции [ req ] раскомментировать параметр req_extensions = v3_req и в
секци [ v3_req ] добавить параметр subjectAltName = DNS:example.com, IP:ххх.ххх.ххх.ххх (можно указать один из параметров, если у вас только IP/домен).
При перевыпуске в запросе на подпись добавить параметр -reqexts v3_req и при подписывании -extensions v3_req
После этого не забыть закомментировать req_extensions обратно.

и как правильно выпустить сертификат с v3_req (Subject Alternative Name extension) более подробно написано здесь:

http://wiki.cacert.o.../subjectAltName
http://www.linuxsnippets.net/node/364

Получается в файл конфигурации /etc/ssl/openssl.cnf необходимо внести следующие изменения:
Код:
    [ req ]                      # В этой секции  
    req_extensions = v3_req      # раскоментировать эту строку  
      
    [ v3_req ]                   # В этой  
    subjectAltName = @alt_names  # добавить такую строку  
      
    # В конец файла добавить секцию  
    [ alt_names ]                # И здесь  
    DNS.1 = zakupki.gov.ru       # указать список доменов  
    DNS.2 = www.zakupki.gov.ru   # для которых выписываем сертификат  
    DNS.3 = *.zakupki.gov.ru  
    IP.0  = 31.173.38.227        # И, если нужно, IP адреса  

Теперь можно создавать сертификат по этой инструкции http://www.linuxsnippets.net/node/364
Самое главное указать openssl использовать расширение -extensions v3_req и конфигурационный файл -config /etc/ssl/openssl.cnf (содержимое /etc/ssl/openssl.cnf см. в этом сообщении)

И еще, из статьи https://www.opennet.ru/o...news/art.shtml?num=42982
18.09.2015 09:10 Google прекращает поддержку SSLv3 и RC4 и повышает требования к HTTPS

Цитата:
Компания Google анонсировала скорое прекращение поддержки протокола SSLv3 и алгоритма RC4, которые не отвечают
современным требованиям безопасности и подвержены нескольким видам атак.
На первом этапе поддержка SSLv3 и RC4 будет отключена на
фронтэнд-серверах, после чего отключение распространится на все продукты
Google, включая Chrome (SSLv3 в Chrome уже отключён, в очереди на отключение RC4), Android, поисковые боты и SMTP-серверы. По статистике SSL Pulse из 200
тысяч крупнейших HTTPS-сайтов 42% уже отключили RC4 и 65% отключили
SSLv3.


Кроме того, планируется повысить требования к параметрам установки соединения HTTPS, например, для работы с сайтами Google по защищённому
каналу связи на стороне клиента станет обязательной поддержка TLS 1.2,
наличие расширения SNI (Server Name Indication) и присутствие набора
шифров TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. Доверие будет ограничено
корневыми сертификтами из списка pki.google.com/roots.pem, при обработке сертификатов обязательной будет поддержка DNS SAN (Subject Alternative Names). Для тестирования соответствия клиентского ПО новым требованиям Google подготовлена страница cert-test.sandbox.google.com.
Offline Дмитрий Пичулин  
#393 Оставлено : 31 июля 2018 г. 1:56:21(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: dvfin Перейти к цитате
В браузере Спутник

Создавайте новую тему. OpenSSL и engine тут не при чём.

Знания в базе знаний, поддержка в техподдержке
Offline two_oceans  
#394 Оставлено : 6 августа 2018 г. 13:02:43(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 62 раз
Поблагодарили: 219 раз в 206 постах
ОС: Windows 7. Gostengy настроен, GOST есть в списке шифров.
Подскажите пожалуйста, есть ли описание уточненное параметров openssl при работе с Gostengy? Меня интересует использование связки параметров
Код:
-engine gostengy -keyform ENGINE -key xx

при которой не нужно экспортировать ключ в формат, совместимый с openssl. Какие именно значения допустимо указывать для key? Пробовал по отпечатку сертификата - прекрасно находит, но только если сертификат установлен в хранилище "Личные". Попытки ввести после -key имена контейнера приводят к ошибке "cannot load PrivateKey from engine". Пробовал следующие имена:
Код:
# K:\le-ce723.000 # путь к папке
# 8081E13F volumeid диска K, метки нет
le-ce723ce0-88cc-4bf2-9931-a11b366653f6 #дружественное
\\.\FAT12_K\le-ce723ce0-88cc-4bf2-9931-a11b366653f6
FAT12\8081E13F\le-ce723.000
FAT12\8081E13F\le-ce723.000\560A
При этом csptest принимает эти имена в качестве имени контейнера.

Хотел сделать сертификат внутреннего УЦ организации по гост-2012 и оказалось невозможно обратиться к ключевому контейнеру, пока не выпущен сертификат и сертификат не связан с контейнером. Обход конечно нашелся - выпустил на тестовом УЦ КриптоПро, добавил в Личные, указал отпечаток - сделал корневой на это же контейнер. Однако это кажется не очень правильным и хотелось бы разобраться с параметром key.
Offline Дмитрий Пичулин  
#395 Оставлено : 6 августа 2018 г. 13:17:17(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: two_oceans Перейти к цитате
ОС: Windows 7. Gostengy настроен, GOST есть в списке шифров.
Подскажите пожалуйста, есть ли описание уточненное параметров openssl при работе с Gostengy? Меня интересует использование связки параметров
Код:
-engine gostengy -keyform ENGINE -key xx

при которой не нужно экспортировать ключ в формат, совместимый с openssl. Какие именно значения допустимо указывать для key? Пробовал по отпечатку сертификата - прекрасно находит, но только если сертификат установлен в хранилище "Личные". Попытки ввести после -key имена контейнера приводят к ошибке "cannot load PrivateKey from engine". Пробовал следующие имена:
Код:
# K:\le-ce723.000 # путь к папке
# 8081E13F volumeid диска K, метки нет
le-ce723ce0-88cc-4bf2-9931-a11b366653f6 #дружественное
\\.\FAT12_K\le-ce723ce0-88cc-4bf2-9931-a11b366653f6
FAT12\8081E13F\le-ce723.000
FAT12\8081E13F\le-ce723.000\560A
При этом csptest принимает эти имена в качестве имени контейнера.

Хотел сделать сертификат внутреннего УЦ организации по гост-2012 и оказалось невозможно обратиться к ключевому контейнеру, пока не выпущен сертификат и сертификат не связан с контейнером. Обход конечно нашелся - выпустил на тестовом УЦ КриптоПро, добавил в Личные, указал отпечаток - сделал корневой на это же контейнер. Однако это кажется не очень правильным и хотелось бы разобраться с параметром key.

Так точно, такой функционал имеется, можно использовать имя контейнера без хранилища, для этого нужен префикс "c:" + имя контейнера, получаем например -key "c:le-ce723ce0-88cc-4bf2-9931-a11b366653f6".

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Дмитрий Пичулин за этот пост.
two_oceans оставлено 07.08.2018(UTC)
Offline Coriolis  
#396 Оставлено : 9 августа 2018 г. 14:18:56(UTC)
Coriolis

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

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

Сказал «Спасибо»: 3 раз
Поблагодарили: 3 раз в 2 постах
День добрый!
Автор: Дмитрий Пичулин Перейти к цитате


OpenSSL 1.1.1 не должен сильно отличаться от 1.1.0, по умолчанию только зарубежные алгоритмы, ГОСТ необходимо будет подключать дополнительно, как сейчас.

Как только OpenSSL 1.1.1 станет стабильным релизом -- мы доработаем под него наш gostengy.


gost_capi скачал из шапки

Код:
r:\G working>openssl.exe
OpenSSL> version -a
OpenSSL 1.1.1-pre8 (beta) 20 Jun 2018
built on: Wed Jun 20 15:20:40 2018 UTC
platform: VC-WIN32-rtt
options:  bn(64,32) rc4(8x,mmx) des(long) idea(int) blowfish(ptr)
compiler: cl /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MT /W3 /wd4090 /nologo /O2 /WX -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUI
D_OBJ -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_AS
M -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DP
ADLOCK_ASM -DPOLY1305_ASM
OPENSSLDIR: "C:\Program Files (x86)\Common Files\SSL"
ENGINESDIR: "C:\Program Files (x86)\OpenSSL\lib\engines-1_1"
Seeding source: os-specific
OpenSSL> engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
4052:error:260B6091:engine routines:dynamic_load:version incompatibility:crypto\engine\eng_dyn.c:454:
4052:error:260BC066:engine routines:int_engine_configure:engine configuration error:crypto\engine\eng_cnf.c:141:section=
gost_section, name=dynamic_path, value=gost_capi
4052:error:0E07606D:configuration file routines:module_run:module initialization error:crypto\conf\conf_mod.c:174:module
=engines, value=engine_section, retcode=-1
OpenSSL> exit

r:\G working>cd old

r:\G working\old>ossl_csp

r:\G working\old>set OPENSSL_CONF=.\openssl_csp.cfg

r:\G working\old>openssl.exe
OpenSSL> version -a
OpenSSL 1.1.0h  27 Mar 2018
built on: reproducible build, date unspecified
platform: VC-WIN32
options:  bn(64,32) rc4(8x,mmx) des(long) idea(int) blowfish(ptr)
compiler: cl
OPENSSLDIR: "C:\Program Files (x86)\Common Files\SSL"
ENGINESDIR: "C:\Program Files (x86)\OpenSSL\lib\engines-1_1"
OpenSSL> engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
2788:error:260B6091:engine routines:dynamic_load:version incompatibility:crypto\engine\eng_dyn.c:454:
2788:error:260BC066:engine routines:int_engine_configure:engine configuration error:crypto\engine\eng_cnf.c:141:section=
gost_section, name=dynamic_path, value=gost_capi
2788:error:0E07606D:configuration file routines:module_run:module initialization error:crypto\conf\conf_mod.c:173:module
=engines, value=engine_section, retcode=-1
OpenSSL>


Собственно, windows.
Конфиг такой:
Код:
openssl_conf = openssl_def

[openssl_def]
engines = engine_section

[engine_section]
gost_capi = gost_section

[gost_section]
engine_id = gost_capi
dynamic_path = gost_capi
default_algorithms = CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN1


dynamic_path = gost_capi >>> тут если указать = gost_capi.dll то он ругается что файл = gost_capi.dll.dll не найден :)

Что делать, куда бежать? Может у вас есть посвежее версия gost_capi.dll, а то эта 16того года же в шапке: 4.0.9806.0
Offline Дмитрий Пичулин  
#397 Оставлено : 9 августа 2018 г. 15:09:54(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: Coriolis Перейти к цитате

Код:
r:\G working>openssl.exe
OpenSSL> version -a
OpenSSL 1.1.1-pre8 (beta) 20 Jun 2018

С OpenSSL 1.1.1 не тестировали. Для версий 1.1.0 использовать следует gostengy. Посвежее здесь: https://update.cryptopro...t/nginx-gost/bin/174535/

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Дмитрий Пичулин за этот пост.
Coriolis оставлено 09.08.2018(UTC)
Offline Coriolis  
#398 Оставлено : 14 августа 2018 г. 9:18:09(UTC)
Coriolis

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

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

Сказал «Спасибо»: 3 раз
Поблагодарили: 3 раз в 2 постах
Автор: Дмитрий Пичулин Перейти к цитате
Автор: Coriolis Перейти к цитате

Код:
r:\G working>openssl.exe
OpenSSL> version -a
OpenSSL 1.1.1-pre8 (beta) 20 Jun 2018

С OpenSSL 1.1.1 не тестировали. Для версий 1.1.0 использовать следует gostengy. Посвежее здесь: https://update.cryptopro...t/nginx-gost/bin/174535/



Спасибо Дмитрий, со свежей взлетело.
Однако наткнулся на эту проблему работа с pfx из openssl, стало странно, с одной стороны поддержка openssl у вас есть, с другой стороны чтобы этим openssl извлечь закрытый ключ - надо бежать к вашим конкурентам. Недоработка, как считаете? (не исключаю варианта что я глубоко заблуждаюсь, т.к. в теме криптографии профан - только начал ковырять).
Offline two_oceans  
#399 Оставлено : 14 августа 2018 г. 9:57:20(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 62 раз
Поблагодарили: 219 раз в 206 постах
Тут соль в том, что при использовании с КриптоПро вообще нет необходимости извлекать ключ в формат pfx/pem - есть средства работать напрямую с контейнером в КриптоПро. Просто забудьте уже о pem и pfx, политика КриптоПро - работать со своим контейнером, а не экспортировать ключ в иные форматы. Хотя, соглашусь, это было бы неплохо осветить в шапке, как и про использование gostengy с 1.1.0 вместо gost_capi. В этой теме почти 400 сообщений и немалая часть как раз по этим 2 вопросам.

Как интересно Вы искали по форуму - раскопали тему 6 летней давности, а мой вопрос выше на вот этой же странице об использовании параметра -keyform ENGINE не увидели. И тему об извлечении pem тоже - ей 7 дней.

Отредактировано пользователем 14 августа 2018 г. 10:00:54(UTC)  | Причина: про шапку

Offline Coriolis  
#400 Оставлено : 14 августа 2018 г. 10:23:27(UTC)
Coriolis

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

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

Сказал «Спасибо»: 3 раз
Поблагодарили: 3 раз в 2 постах
Автор: two_oceans Перейти к цитате
Тут соль в том, что при использовании с КриптоПро вообще нет необходимости извлекать ключ в формат pfx/pem - есть средства работать напрямую с контейнером в КриптоПро. Просто забудьте уже о pem и pfx, политика КриптоПро - работать со своим контейнером, а не экспортировать ключ в иные форматы. Хотя, соглашусь, это было бы неплохо осветить в шапке, как и про использование gostengy с 1.1.0 вместо gost_capi. В этой теме почти 400 сообщений и немалая часть как раз по этим 2 вопросам.

Как интересно Вы искали по форуму - раскопали тему 6 летней давности, а мой вопрос выше на вот этой же странице об использовании параметра -keyform ENGINE не увидели. И тему об извлечении pem тоже - ей 7 дней.


Искал не по форуму, искал в яндексе - пришел на ту тему старую. Искал по запросу на код ошибки EVP_PBE_CipherInit:unknown pbe algorithm:crypto\evp\evp_pbe.c:93:TYPE=1.2.840.113549.1.12.1.80
Показалось смешно что 6 лет - всё там же.

На счёт идеологии теперь понятно, pem небезопасный и всё такое, и ключ хранить в открытом виде - караул и т.д. Хотя для разработки и отладки было бы удобно.

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