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

Уведомление

Icon
Error

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

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

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

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 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)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: 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)
Сообщений: 126

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

Помогите разобраться с проблемой: не проходит проверка 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) загружен 3 раз(а).

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

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

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

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

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 35 раз в 28 постах
Похоже в текущей реализации не предусмотрена обработка бандлов, с сертификатами, у которых одинаковое 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)
Сообщений: 126

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 35 раз в 28 постах
Корректный (по моему мнению) код используется в 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)
Сообщений: 126

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

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

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

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

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

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

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

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

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

Хотя в 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)
pd

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

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

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

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

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

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

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

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 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 ?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
67 Страницы«<3738394041>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.