Я сгенерировал два SSL-сертификата, один - сертификат RSA, а другой - сертификат E CC, для моего домена forum.example.com
и реализовал его в Nginx, используя следующую конфигурацию:
listen 443 ssl http2; listen [::]:443 ssl http2;
server_name forum.example.com;
access_log /var/log/nginx/forum.example.com.log;
ssl on;
ssl_certificate /path/forum.example.com/fullchain.cer;
ssl_certificate_key /path/forum.example.com/forum.example.key;
ssl_certificate /path/forum.example.com_ecc/fullchain.cer;
ssl_certificate_key /path/forum.example.com_ecc/forum.example.com.key;
ssl_dhparam /path/dhparams.pem;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
http2_idle_timeout 5m;
# Rest of the configuration
Идея, лежащая в основе этого, заключается в том, чтобы по возможности использовать сертификат E CC, а в случае, если клиент не поддерживает сертификаты E CC, будет использоваться сертификат RSA. Однако на моей машине иногда я вижу, что используется сертификат RSA, а иногда - сертификат E CC. Я предполагаю, что какой-то метод циклического перебора используется для определения того, какой сертификат использовать.
Есть ли способ установить приоритет E CC над RSA, и если клиент не поддерживает E CC, сервер будет использовать сертификат RSA?