/ домой \ | \ темы / |
12/08/2020 10:40 dsmts: |
Генерирую новые ключи для https трафика. Но все браузеры ругаются что tls 1.0. Не безопасное подключение, слабая защита. Использую библиотеку libsec.dll. Дамал поможет, установил OpenSSL на компьютер. А как их связать не знаю. Подскажите, пожалуйста, как правильно настроить ssl/tls.
|
12/08/2020 15:47 Max: |
OpenSSL поможет сгенерировать ключи, но для работы программы нужна только библиотека. В выложенной на сайте версии библиотеки 1.01t для Windows OpenSSL уже включен статически и установка пакета на компьютер никак не влияет на ее работу. Вот выложенная библиотека для GNU TLS, напротив, предполагает динамическую загрузку библиотеки и ее необходимо устанавливать. Если что-то не устраивает в силе шифрования, возможно автоматически выбираются слабые методы. В новых версиях сервера для SSL/TLS добавлена настройка: "Sets priorities for the ciphers, key exchange methods, and macs" Там можно указать приоритет методов в формате библиотки. Настройка поддерживается новыми выложенными сборками библиотек GNU TLS и OpenSSL Для GNU TLS и для OpenSSL формат строки различается. Для OpenSSL посмотреть формат этой строки можно здесь в разделе CIPHER LIST FORMAT: www.openssl.org/docs/manmaster/man1/openssl-ciphers.html По умолчанию задается такая строка: "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384:ALL:!DES:!3DES:!RC2" В моем представлении такая строка должна обеспечивать сильное шифрование. Возможно я не прав, -- поэкспериментируйте. Может быть вы используйте старый вариант libsec.dll, -- раньше этой настройки не было и приоритет методов вообще не задавался. Для GnuTLS посмотреть формат строки можно здесь: gnutls.org/manual/html_node/Priority-Strings.html |
13/08/2020 05:34 dsmts: |
Спасибо за быстрый ответ. Буду пробовать. tls_cert_file="c:\shttps\ssl\certificate.crt" tls_key_file="c:\shttps\ssl\private.key" tls_capath="c:\shttps\ssl\" tls_cafile="c:\shttps\ssl\ca_bundle.crt" Можете еще подсказать про tls_capath и tls_cafile. Что бы туда не вводил, результат не меняется. Как я понял tls_cafile указывается на промежуточный сертификат? А tls_capath= для чего? И как быть если промежуточный сертификат не один, а несколько. |
13/08/2020 06:03 dsmts: |
Забыл написать. При старте появляются такие ошибки. Securety library, based on OpenSSL Library Copyright (c) 1998-2019 The OpenSSL Project This product includes software developed by the OpenSSL Projec Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudsont for use in the OpenSSL Toolkit. (www.openssl.org/) This product includes cryptographic software written by Eric Young (eay[ dog ]cryptsoft.com). This product includes software written by Tim Hudson (tjh[ dog ]cryptsoft.com). This product includes software written by Dr Stephen N Henson (shenson[ dog ]bigfoot.com). OpenSSL error: lib=9 func=109 reason=108 pem_lib.c line=697 OpenSSL error: lib=6 func=103 reason=153 p_lib.c line=137 OpenSSL error: lib=9 func=109 reason=108 pem_lib.c line=697 OpenSSL error data:Expecting: CERTIFICATE,3 TLS/SSL port=443 Number of connections=12 |
13/08/2020 16:57 Max: |
tls_capath и tls_cafile это настройки которые напрямую передаются библиотеке. Задавать можно что-то одно, и по моему небольшому опыту, лучше задавать cafile. Несколько сертификатов, видимо, могут лежать и в каталоге заданном в ca-path, но так же, цепочка из нескольких ca-сертефикатов, удостоверяющих подлинность вашего сертификата может находится в одном файле. Как правило операторы подписывающие сертификаты предоставляют именно этот файл. Часто он называется fullchain.cer или CA-bundle Да OpenSSL иногда выдает разнообразные и непонятные ошибки, при этом продолжая работать. |
22/08/2020 20:39 dsmts: |
Подозреваю что всё-таки дело в библиотеке, которую я с вашего сайта загрузил. При запуске ошибки. Не пойму что еще ей нужно. Securety library, based on OpenSSL Library Copyright (c) 1998-2019 The OpenSSL Project This product includes software developed by the OpenSSL Projec Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudsont for use in the OpenSSL Toolkit. (www.openssl.org/) This product includes cryptographic software written by Eric Young (eay[ dog ]cryptsoft.com). This product includes software written by Tim Hudson (tjh[ dog ]cryptsoft.com). This product includes software written by Dr Stephen N Henson (shenson[ dog ]bigfoot.com). OpenSSL error: lib=6 func=103 reason=153 p_lib.c line=137 OpenSSL error: lib=9 func=109 reason=108 pem_lib.c line=697 OpenSSL error data:Expecting: CERTIFICATE,3 TLS/SSL port=443 Number of connections=12 Вот кусок с файла конфигурации. tls_lib="c:\shttps\ssl\libsec.dll" tls_cert_file="c:\shttps\ssl\certificate.crt" tls_key_file="c:\shttps\ssl\private.key" tls_capath="" tls_cafile="C:\shttps\ssl\ca_bundle.crt" tls_priority="" В приоритет пробовал разные данные писать. Толку ни какого. |
26/08/2020 13:25 Max: |
Это "рабочие" ошибки OpenSSL. Он что-то попробовал и это что-то не подошло для данного сертификата. А пробует он все подряд... В принципе можно было бы эти ошибки не выводить, но OpenSSL и серьезные, принципиальные ошибки передает по той же схеме, и автоматически отделить одни ошибки от других невозможно. По этому сейчас в лог пишутся все ошибки приходящие от OpenSSL. Если выведена строка TLS/SSL port=443 Number of connections=12 значит библиотека загрузилась нормально. Если вас смущают эти ошибки, попробуйте GnuTLS, -- по моим ощущениям, он даже стабильнее работает... И меняйте приоритет методов, это помогает от слабого шифрования. |