У меня есть веб-сайт, который использует веб-резкость для связи клиент-сервер и имеет сертификат, выданный Давайте зашифровать. Другие браузеры работают, но Google Chrome (в Linux) выдает ошибку ERR_SSL_VERSION_INTERFERENCE в консоли. Отключение TLS 1.3 позволяет пользователям обойти эту ошибку. Я использую последнюю стабильную версию.
Ответ Этот предполагает, что проблема в том, что Chrome обнаруживает "ошибочное промежуточное ПО", но я не знаю, что именно ищет Chrome.





Это оказалось проблемой с Mono. Mono использует BoringSSL в новых версиях, но в старых версиях он не включен по умолчанию. В новых дистрибутивах Linux вы можете использовать export MONO_TLS_PROVIDER=btls, но у меня это не сработало, потому что компилятор gcc в CentOS 6 (версия 4.4) слишком старый и не поддерживает align, который необходим для компиляции BoringSSL.
Сначала я установил gcc 4.8 с инструкциями отсюда: https://gist.github.com/stephenturner/e3bc5cfacc2dc67eca8b
wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
sudo yum install devtoolset-2
scl enable devtoolset-2 bash
Затем я загрузил последнюю версию пакета mono с их веб-сайта (в настоящее время 5.12.0.226): http://www.mono-project.com/docs/compiling-mono/linux/
wget https://download.mono-project.com/sources/mono/mono-5.12.0.226.tar.bz2
tar xvf mono-5.12.0.226.tar.bz2
cd mono-5.12.0.226
./configure --prefix=/usr/local
make
make install
На всякий случай, я тоже сделал export MONO_TLS_PROVIDER=btls, хотя я не думаю, что это необходимо, но независимо от того, если вы посмотрите на вывод в конце ./configure, он должен сказать вам, включен ли BTLS.
Это также устранило ту же проблему с недавним обновлением Firefox 60.0.0.2.