#language cs ## 20160504 AK ---- '''česky''' | [[WildcardCertificates|english]] ---- = O skupinových (wildcard) certifikátech = Asi víte, že certifikáty obsahující zástupný (wildcard) znak "*" v Obecném názvu (!CommonName, CN) serveru se nazývají skupinové (wildcard) certifikáty. ## [[http://rfc.net/rfc2818.html|RFC 2818]] "HTTP nad TLS" uvádí: [[http://www.ietf.org/rfc/rfc2818.txt|RFC 2818]] "HTTP nad TLS" uvádí: Porovnávání probíhá podle porovnávacích pravidel uvedených v [[http://www.ietf.org/rfc/rfc2459.txt|RFC 2459]]. Je-li v certifikátu uloženo více identit daného typu (například více než jeden název dNSName, je přípustné porovnání s kterýmkoli z takové skupiny). Názvy mohou obsahovat zástupný znak "*" [takový název nazveme "šablona"], jehož význam je úspěšně porovnat jakoukoli jednoduchou složku názvu domény nebo část takové složky. Tedy (příklad): šabloně "*.a.com" vyhoví "foo.a.com", ale už ne "bar.foo.a.com" [protože "bar.foo" není jednoduchá složka], a šabloně "f*.com" vyhoví "foo.com", ale ne bar.com [složka názvu "bar" je sice jednoduchá, ale nezačíná písmenem "f" a "*" se týká jen zbylé části složky]. ## Na druhé straně [[http://rfc.net/rfc2595.html|RFC 2595]] "Používání TLS s IMAP, POP3 a ACAP" uvádí: Na druhé straně [[http://www.ietf.org/rfc/rfc2595.txt|RFC 2595]] "Používání TLS s IMAP, POP3 a ACAP", uvádí: Zástupný znak "*" se MŮŽE použít v certifikátu jako první složka názvu zleva. Například šabloně "*.example.com" vyhoví názvy "a.example.com", "foo.example.com", atd., ale už nevyhoví "example.com". ##RFC 2459 při popisu porovnávání názvu počítače/domény skupinové domény (wildcards) výslovně nezmiňuje. [[http://www.ietf.org/rfc/rfc2459.txt|RFC 2459]] při popisu porovnávání názvu počítače/domény skupinové domény (wildcards) výslovně nezmiňuje. Zdá se tedy, že pro různé protokoly existují různé specifikace... ''Zbývá: prozkoumat blíže [[http://www.ietf.org/rfc/rfc3280.txt|RFC 3280]] a [[http://www.ietf.org/rfc/rfc5280.txt|RFC 5280]]'' == Chyba v IIS == Kódování žádosti o certifikát vytvořené pomocí IIS a obsahující zástupný znak "*" (wildcard) skončí chybou: {{{ The following hostnames were rejected because the system couldn't link them to your account, if they are valid please verify the domains against your account. }}} česky: {{{ Následující názvy počítačů byly odmítnuty, protože je systém nemohl propojit s Vaším účtem; pokud jsou platné, prosím ověřte domény podle svého účtu. }}} [Patrně jde o IIS verzi 5 nebo 6.] === Řešení === Použijte návod [[How to create certificate request#OpenSSL|Vytvoření žádosti o certifikát pomocí OpenSSL]] s obecným názvem (Common Name, CN), který obsahuje "*" (wildcard) a importujte hotový certifikát do IIS. == IIS 8 na Windows serveru 2012 R2 == V této verzi lze vytvořit: 1. certifikát - bez specifikace, do souboru žádosti, nelze zde zadat alternativní názvy (SAN), 1. certifikát domény - nevytváří soubor žádosti a získá certifikát u místní certifikační autority dosažitelné v místní síti; rovněž nelze zadat alternativní názvy. Pro CAcert certifikáty je použitelná první funkce. Funkcí "Vytvořit žádost o certifikát..." se žádost vytvoří i s CN obsahujícím zástupný znak "*" a do souboru se uloží bez problémů. Chyba nastane až u funkce "Dokončit žádost o certifikát...", kde je třeba zadat soubor s vystaveným certifikátem od CA - ohlásí se, že nešlo certifikát odebrat (!), avšak po obnově zobrazení certifikátů je nový skupinový certifikát viditelný, jeho předmět skutečně obsahuje zástupný znak "*" a vše vypadá, že je v pořádku: certifikát lze v IIS (web --> vazby --> https) použít a je funkční. Pro možnost zavedení alternativních názvů (SAN), například "*.firma.cz" a "firma.cz" je asi vhodnější vytvořit žádost pomocí MMC modulu Certifikáty. == Studie interoperability == Protože Mozilla neporovnává názvy podle RFC 2818, mohou existovat jiné produkty, které to také nedělají. Přidejte sem laskavě svůj vlastní program typu prohlížeč/nástroj/knihovna/aplikace. === OpenSSL === Knihovna OpenSSL neobsahuje kód ke kontrole názvu serveru v certifikátu, takže záleží pouze na aplikaci, zda skupinový certifikát (wildcard) přijme. === Internet Explorer === Internet Explorer 6.0.2800.1106: * neporovná podřízené domény === Mozilla & Co === !SeaMonkey 1.0.5 na Linuxu i Windows: * porovnává podřízené domény. ===== Firefox ===== * 1.5.0.7/Windows: porovná podřízené domény, zadaný název počítače (NIKOLI CN z certifikátu, což považuji za chybu) se zobrazuje na stavovém řádku. To je hlášeno jako chyba v [[https://bugzilla.mozilla.org/show_bug.cgi?id=159483]], takže to může být v další verzi opraveno. Ale protože toto hlášení chyby bylo podáno už v roce 2002, asi chyba nějaký ten rok vydrží... /!\ NYNÍ VYŘEŠENO A OPRAVENO /!\ - viz uvedené hlášení chyby * 3.0.0b5/Ubuntu: porovná podřízené domény. === Konqueror === * Konqueror 3.5.1: neporovná podřízené domény. * Konqueror 3.5.4-0.5.fc5: porovná podřízené domény (použijte zámek v liště ikon - prověří údaje KDE SSL). * Konqueror 3.5.9: porovná podřízené domény. Oprava v SVN v listopadu 2005: [[http://bugs.kde.org/show_bug.cgi?id=106476]] === Opera === * Opera 9.00: pravděpodobně neporovná podřízené domény. * Opera 9.27: porovná podřízené domény === Safari === * 3.1 (5525.13): porovná podřízené domény === Lynx === * Lynx 2.6.8rel.1 na FreeBSD: vůbec neporovnává skupinové certifikáty * Lynx 2.8.6rel.4 na Linuxu: porovná podřízené domény * Testováno na Ubuntu 7.10 (GnuTLS 1.6.3, SSL-MM 1.4.1) === Pod-verze === * 1.4.4 (r25188): porovná podřízené domény ---- . CategorySoftware