Jak funguje X509v3 extended key usage (letsencrypt)?
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Čtvrtek Prosinec 1 11:06:42 CET 2016
On Tue, 29 Nov 2016, Jan Kasprzak wrote:
> tusite nekdo, jak se ma interpretovat atribut "X509v3 Extended Key Usage"
> v SSL certifikatu?
Zdá se, že EKU je jedna z těch podivných věcí, které sice existují, ale
není k nalezení žádná oficiální specifikace toho, co by se s tím mělo
dělat.
EKU definuje PKIX (aktuálně RFC 5280, část 4.2.1.12. Extended Key
Usage), ale význam je popsán pouze v poznámce:
id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 }
-- TLS WWW server authentication
-- Key usage bits that may be consistent: digitalSignature,
-- keyEncipherment or keyAgreement
kde je právě to WWW. Našel jsem nějaký návrh, aby bylo "WWW" z popisu
vypuštěno, ale zřejmě to mělo zcela nulový ohlas:
<https://www.ietf.org/mail-archive/web/pkix/current/msg23418.html>
Specifikace TLS (aktuálně RFC 5246) EKU zcela ignoruje a zmiňuje jen Key
Usage, obyčejný bez Extended. Ve specifikacích popisujících použití TLS
v kombinaci s různými aplikačními protokoly (které mj. věnují zvláštní
pozornost tomu, jak se mají kontrolovat jména v certifikátu, protože každý
protokol to má pro větší zmatení trochu jinak) také není nic k nalezení,
občasné zmínky o EKU se týkají jen případů, kdy je definovaný nový typ
pro ten konkrétní protokol.
Interpretace EKU je tedy víceméně na libovůli konkrétních implementací.
(Pokud mne někdo usvědčí z omylu a něco nalezne, tak budu jen rád.)
Nicméně zvlášní typ EKU pro jiné než webové TLS servery nikde definovaný
není a požadovat anyExtendedKeyUsage by bylo až moc extrémní, a tak
zbývají jen maximálně dva rozumné přístupy: buď 1. testovat
id-kp-serverAuth, i když server není webový, nebo 2. zcela EKU
ignorovat.
A praxe skutečně ukazuje, že certifikáty s id-kp-serverAuth dobře
fungují na jakémkoli TLS serveru.
--
Pavel Kankovsky aka Peak "Que sçay-je?"
Další informace o konferenci Linux