Я обновил apache до последней версии 2.4.37 и openssl до 1.1.1, и теперь, когда клиент аутентифицируется, я получаю эту ошибку только с Firefox 63, но не в Chrome:
[ssl:error] AH: verify client post handshake, referer: https://******/login
[ssl:error] AH10158: cannot perform post-handshake authentication, referer: https://******/login
[ssl:error]SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received
Я использовал wireshark, чтобы попытаться найти проблему, и я ценю, что Firefox использует TLS 1.3, а Chrome использует TLS 1.2. Фактически, если я устанавливаю максимальную версию TLS в FF на TLS 1.2, она работает нормально.
Я хотел бы получить совместимость с TLS 1.3 или, если это невозможно, принудительно, в моей конфигурации Apache, клиент всегда использует TLS 1.2, но я не получаю его: (
Это мой конфигурационный файл apache vhost:
[...]
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SSLCertificateChainFile /etc/apache2/ssl/intermediate.crt
SSLCACertificateFile /etc/apache2/ssl/ca.pem
SSLVerifyDepth 3
SSLProtocol TLSv1.2
SSLHonorCipherOrder on
<Directory /var/www/html/>
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
Order deny,allow
Allow from 10.55.12.0/24
Deny from all
</Directory>
<Files "login-ssl.php">
SSLVerifyClient optional
SSLOptions +StdEnvVars +StrictRequire
</Files>
[...]
Может кто-нибудь помочь мне, пожалуйста?
Спасибо.
Отредактировано
Я нашел решение. Директива SSLProtocol должна находиться в /etc/apache2/mods-enabled/ssl.conf.