(Apache / nginx)

Nasazení ECC a RSA současně

Chcete-li využít výhod SSL/TLS certifikátu s ECC klíčem, ale zároveň zajistit kompatibilitu se zastaralými systémy, které podporují pouze RSA klíče, můžete web server celkem jednoduše nastavit tak, aby klientovi posílal buď SSL/TLS certifikát s ECC klíčem nebo RSA klíčem podle toho, který klient podporuje.

Zní to složitě, ale řešení v tomto návodu je celkem triviální a implementace nezabere více jak pár minut.

Co potřebuji

  • dva samostatné SSL/TLS certifikáty — jeden s ECC a druhý s RSA klíčem, oba pro stejnou doménu/domény
  • Apache verze 2.4.8+ nebo nginx 1.11.0+
  • OpenSSL 1.0.2 nebo novější

Aktuální verzi Apache zjistíte příkazem apache2 -version, aktuální verzi OpenSSL pak příkazem openssl version.

Konfigurace Apache

Pokud v konfiguraci VirtualHostu používáte pro intermediate CA certifikáty direktivu SSLCertificateChainFile, pak ji zakomentujte nebo smažte. Tu lze totiž definovat pouze jednou, ale SSL/TLS certifikáty s ECC a RSA klíči mají odlišné intermediate CA certifikáty. Pro instrukce, jak nastavit intermediate CA certifikáty čtěte dále.

Příklad původní konfigurace s jedním SSL/TLS certifikátem

SSLCertificateFile     /cesta/k/ssl.crt
SSLCertificateKeyFile /cesta/k/privatni.key
SSLCACertificateFile /cesta/k/intermediate_chain.crt

Elegance řešení spočívá jednoduše v tom, že direktivy SSLCertificateFile (serverový certifikát) a SSLCertificateKeyFile (privátní klíč) uvedeme v konfiguraci VirtualHostu dvakrát … jednou pro SSL/TLS certifikát s ECC klíčem a podruhé pro SSL/TLS certifikát s RSA klíčem.

Příklad konfigurace s ECC i RSA klíčem simultánně

SSLCertificateFile     /cesta/k/ssl-ecc.crt
SSLCertificateKeyFile /cesta/k/privatni-ecc.key

SSLCertificateFile /cesta/k/ssl-rsa.crt
SSLCertificateKeyFile /cesta/k/privatni-rsa.key

SSLCipherSuite 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

Pokud jste direktivu SSLCipherSuite ještě neměli nastavenou, tak ji nastavte — a to tak, aby měly přednost šifrovací algoritmy používající ECC a následně RSA.

Rovněž jste si jistě všimli, že direktivu SSLCertificateChainFile jsme úplně odebrali. To proto, že jsou intermediate CA certifikáty umístěny přímo v souborech se serverovými SSL/TLS certifikáty ssl-ecc.crt a ssl-rsa.crt. Certifikáty jsou jeden pod druhým v tomto pořadí:

  1. serverový SSL/TLS certifikát
  2. intermediate CA certifikát, kterým je podepsán certifikát výše
  3. případný další intermediate CA certifikát, kterým je podepsán intermediate CA certifikát výše
  4. nakonec můžete přiložit kořenový root CA certifikát, popř. cross-signed certifikát (tzv. intermediate root)

Obsah takového souboru SSL/TLS certifikátu s celým řetězcem intermediate certifikátů a kořenového certifikátu může vypadat třeba následovně:

-----BEGIN CERTIFICATE-----
QWxwaXJvU1NMIFJTQSBEViBDQTAeFw0yMTA1MjcwMDAwMDBaFw0yMjA2MjIyMzU5
NTlaMBgxFjAUBgNVBAMTDXd3dy5zc2wxMjMuZXUwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQDhKBADSRiBM/1f7XNrZnWcdoql1Cmqifx3pRpogUtY6vWO
1lbQJ4D13r2w0UKYkLYjZJZ/W0hS9k1kpRC7aMLvSQ4PuF2hlq1nuuEd52+vLlmC
2Wyg3NPb5WT9q0mZsoxphL42f/xruIWQQVZo1PIp/e7WaxOOGguZUbg+iRtc0Zi/
hgXzrEdwQjo2hYUfFniVKnBfZ78k7GdPZldANTdYY8sKTZRBBUmDzoJo8j9giurJ
eRJN+nPTI1urV402e8g9PtbnmtsTt9KJVxbmIDvg87sVSUdVh8u1j9tFrDxb+rJs
6QXhhiN0JSgAu6NDMz0CGBG3efoz8JKPxIyaUhObAJESXfGrCImADt1K/o3dL3+z
66plQVQaj5yBP7xQV51HckX0FB/XAaMYJnXAYfRg8NOMyIUVeACwlvzTYK/3S+6/
YQHvfShDjYA5zbbb9291jWVJh6pQazs77yWoRW0cCc67g7daEbZxFSyhtKvIXPYf
ZsL2wy3HYEmRdKoQumEOc8Ti+eWJWzAtcw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIw
MTAwNjAwMDAwMFoXDTMwMTAwNTIzNTk1OVowQzELMAkGA1UEBhMCQ1oxFjAUBgNV
B66IjJqu/C6+S5SImDsoRH7+KVNy5RbTN6ewfq4QV6BbobFeT4qu9cJD68RENI7+
5GPDdKEtA4a9QJoArMYhrO8G/6sY8kBzJ2jjxdDjfDhdln2MuYxOjhQupm2Fx8gw
AlwJmEsZt1a8srqSbgjN0jxktv0+jCm31r6sXRGNLhF6ADnnkJyDr4ogDeTYZQLe
DNDNeO4vhlJw5jxOQA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE
AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4
MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5
/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA
CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F
zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA
vGp4z7h/jnZymQyd/teRCBaho1+V
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
-----END CERTIFICATE-----

Na závěr nezapomeňte Apache restartovat:

service apache2 restart

Konfigurace nginx

Nginx konfigurace funguje prakticky stejně jako u Apache. Hybridní konfigurace pro jednu doménu s dvěma SSL certifikáty může vypadat následovně:

ssl_certificate     /cesta/k/ssl-ecc.crt
ssl_certificate_key /cesta/k/privatni-ecc.key

ssl_certificate /cesta/k/ssl-rsa.crt
ssl_certificate_key /cesta/k/privatni-rsa.key

ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:DHE+AESGCM:DHE:!RSA!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!CAMELLIA:!SEED";

Tip na závěr

Pokud se při restartu Apache či nginx zobrazí chyba, přidejte na úplný konec souborů ssl-ecc.crt a ssl-rsa.crt jeden prázdný řádek.

Generovat CSR Request ECC Eliptic Curve Cryptography

CSR Generátor

CSR žádost s 256-bit ECC klíčem můžete pohodlně vygenerovat pomocí nástroje

Online CSR Generátor →

Související

SSL certifikáty podporující ECC

Poskytnete-li při aktivaci některého z těchto SSL certifikátů CSR žádost s ECC klíčem, bude vystaven ECC certifikát. V opačném případě bude vystaven RSA certifikát.

AlpiroSSL Premium
již za 189 Kč / rok


AlpiroSSL Premium Wildcard
již za 1490 Kč / rok


AlpiroSSL Organization
s ověřením organizace
již za 599 Kč / rok


AlpiroSSL Elite EV
zelený adresní řádek
již za 1790 Kč / rok


AlpiroSSL Organization Wildcard
s ověřením organizace
již za 3490 Kč / rok


PositiveSSL
již za 189 Kč / rok


PositiveSSL EV
zelený adresní řádek
již za 1890 Kč / rok


PositiveSSL Wildcard
již za 1590 Kč / rok


EssentialSSL
již za 209 Kč / rok


EssentialSSL Wildcard
již za 1990 Kč / rok


InstantSSL
s ověřením organizace
již za 629 Kč / rok


InstantSSL Pro
s ověřením organizace
již za 829 Kč / rok


Sectigo SSL EV
zelený adresní řádek
již za 2390 Kč / rok


Sectigo SSL
již za 990 Kč / rok


Sectigo SSL Wildcard
již za 3590 Kč / rok


EnterpriseSSL
s ověřením organizace
již za 5890 Kč / rok


EnterpriseSSL Pro
s ověřením organizace
již za 12890 Kč / rok


PremiumSSL
s ověřením organizace
již za 899 Kč / rok


PremiumSSL Wildcard
s ověřením organizace
již za 3880 Kč / rok


EnterpriseSSL Pro EV
zelený adresní řádek
již za 20190 Kč / rok


EnterpriseSSL Pro Wildcard
s ověřením organizace
již za 21390 Kč / rok


AMT SSL pro Intel® vPro™
s ověřením organizace
již za 3390 Kč / rok


AMT SSL Wildcard pro Intel® vPro™
s ověřením organizace
již za 9980 Kč / rok


SSL certifikát — 169 Kč

Přejděte na důvěryhodný SSL certifikát AlpiroSSL se silným až 256-bit šifrováním a ušetřete.

Zelený adresní řádek

Nepřehlédnutelný indikátor důvěryhodného webu, díky kterému zvýšíte konverze a zisky.

Multidoménové UC/SAN

Skonsolidujte všechny Vaše SSL certifikáty do jednoho multidoménového SSL certifikátu!

Uživatel SSL Přihlášení

Zavřít

Přejít k registraci

Zavřít
Zavřít
Zavřít
Doporučené SSL certifikáty
Zavřít
Máte dotaz?
Napište nám
Nenašli jste řešení na stránce Podpora a Nejčastější dotazy?
Jméno a příjmení: E-mail:
Odesílám…Odeslat
Tato stránka používá soubory cookies. více informací
Souhlasím