česky | english
Alternativní název předmětu (subjectAltName, SAN)
Co je to subjectAltName?
subjectAltName specifikuje přídavné identity předmětu, ale pro názvy počítačů (a vše další definované pro subjectAltName):
subjectAltName musí být použit vždy (RFC 3280 4.2.1.7, 1. odstavec). CN se vyhodnocuje, pouze když subjectAltName není přítomen a pouze pro kompatibilitu se starým, nekompatibilním softwarem. Takže nastavíte-li subjectAltName, musíte v něm použít všechny názvy počítačů, e-mailové adresy, atd., ne pouze ty "přídavné".
subjectAltName a analyzátor žádosti (CSR) u CAcert
Analyzátor žádosti o podpis certifikátu (CSR) odstraní všechny obecné názvy (commonNames) a alternativní názvy předmětu (subjectAltNames), nemůže-li systém najít uvedenou doménu ve Vašem účtu jako ověřenou. Ověřené domény na webové stránce svého účtu můžete zkontrolovat po přihlášení k účtu v menu Domény - Zobrazit. (Aby tento odkaz fungoval, přihlaste se uživatelským jménem a heslem.)
Podle platných standardů bude obecný název (commonName) ignorován, poskytnete-li alternativní název předmětu (subjectAltName) v žádostech o certifikáty (CSR), což je ověřeno jako funkční v posledních verzích MS Internet Exploreru a Mozilla Firefoxu (12.05.2005)... Proto je třeba uvést (hlavní) obecný název také mezi alternativní názvy (například na prvním místě). Pouze nepoužijete-li alternativní názvy (SAN) vůbec, uplatní se obecný název (commonName) z důvodu kompatibility.
Přidání více alternativních názvů (SAN) do Vaší žádosti CSR pomocí OpenSSL
- Zkopírujte výchozí soubor openssl.cnf do dočasného souboru openssl-san.cnf
- Upravte soubor openssl-san.cnf přidáním dalších požadovaných parametrů
[req] req_extensions = v3_req [ v3_req ] # Rozšiřující údaje k přidání do žádosti o podpis certifikátu basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = server1.example.com DNS.2 = mail.example.com DNS.3 = www.example.com DNS.4 = www.sub.example.com DNS.5 = mx.example.com DNS.6 = support.example.com
Vytvoření privátního klíče a žádosti CSR pomocí OpenSSL
- Dva příkazy openssl po sobě - první generuje pár klíčů, druhý generuje CSR
openssl genrsa -out srvr1-example-com-2048.key 4096 openssl req -new -out srvr1-example-com-2048.csr -key srvr1-example-com-2048.key -config openssl-san.cnf
Kontrola alternativních názvů (SAN) ve Vaší žádosti CSR pomocí OpenSSL
- Příkaz openssl
openssl req -text -noout -in <yourcsrfile>.csr
- Výsledek kontroly (příklad)
Certificate Request: Data: Version: 0 (0x0) Subject: C=DE, ST=Germany, L=City, O=Company, OU=Organisation-Unit, CN=server1.example.com/emailAddress=alias@example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (4096 bit) Modulus (4096 bit): [...] Exponent: 65537 (0x10001) Attributes: Requested Extensions: X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment X509v3 Subject Alternative Name: DNS:server1.example.com, DNS:mail.example.com, DNS:www.example.com, DNS:www.sub.example.com, DNS:mx.example.com, DNS:support.example.com Signature Algorithm: sha1WithRSAEncryption [...]
- Legenda:
- Certificate Request = Žádost o (podpis) certifikát(u)
- Subject Public Key Info = Informace o veřejném klíči
- Public Key Algorithm = Algoritmus veřejného klíče
- RSA Public Key = Veřejný klíč RSA
- Requested Extensions = Požadované rozšiřující údaje
- Key Usage = Použití klíče
- Digital Signature = Digitální podpis
- Non Repudiation = Nepopiratelnost [schopnost prokázat zpětně jednání či událost tak, aby dané jednání či událost nemohly být následně popřeny]
- Key Encipherment = Zašifrování klíčem
- Subject Alternative Name = Alternativní název předmětu
- Signature Algorithm = Algoritmus (použitý pro vytvoření) podpisu
Zkopírovat obsah souboru žádosti (CSR) do formuláře pro nový serverový certifikát
- Zpracování výsledků žádosti o podpis - příklad výstupu:
Před pokračováním zajistěte správnost následujících údajů. CommonName: server1.example.com subjectAltName: DNS:server1.example.com subjectAltName: DNS:mail.example.com subjectAltName: DNS:www.example.com subjectAltName: DNS:www.sub.example.com subjectAltName: DNS:mx.example.com subjectAltName: DNS:support.example.com Další údaje nebudou do certifikátů vloženy, protože systém není schopen je automaticky zkontrolovat. [submit]
- Výsledky:
Zde je Váš serverový certifikát: -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE-----
- Zkopírujte (Ctrl-C) a vložte (Ctrl-V) text včetně řádků
"-----BEGIN CERTIFICATE-----" -a- "-----END CERTIFICATE-----"
- do nového souboru, například s názvem a příponou: srvr1-example-com-2048-signed-class1.key
Ověřte podepsaný soubor s (veřejným) klíčem pomocí OpenSSL
- Příkaz openssl
openssl x509 -text -in srvr1-example-com-2048-signed-class1.key -noout
- dá výsledek:
Certificate: Data: Version: 3 (0x2) Serial Number: 4451 (0x1163) Signature Algorithm: sha1WithRSAEncryption Issuer: C=AU, ST=New South Wales, O=CAcert Testserver, OU=http://cacert1.it-sls.de, CN=CAcert Testserver Root Validity Not Before: Sep 21 14:41:43 2012 GMT Not After : Oct 21 14:41:43 2012 GMT Subject: CN=server1.example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): [...] Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Key Usage: critical Digital Signature, Key Encipherment, Key Agreement X509v3 Extended Key Usage: TLS Web Client Authentication, TLS Web Server Authentication, Netscape Server Gated Crypto, Microsoft Server Gated Crypto Authority Information Access: OCSP - URI:http://ocsp.cacert.org/ X509v3 CRL Distribution Points: URI:http://crl.cacert.org/revoke.crl X509v3 Subject Alternative Name: DNS:server1.example.com, othername:<unsupported>, DNS:mail.example.com, othername:<unsupported>, DNS:www.example.com, othername:<unsupported>, DNS:www.sub.example.com, othername:<unsupported>, DNS:mx.example.com, othername:<unsupported>, DNS:support.example.com, othername:<unsupported> Signature Algorithm: sha1WithRSAEncryption [...]
- Legenda (jen termíny neuvedené výše, u Kontroly SAN v CSR):
- Issuer = Vydavatel
- Validity = Platnost
- Not before = začátek platnosti včetně (ne před datem)
- Not after = Konec platnosti včetně (ne po datu)
- Basic Constraints: critical = Základní omezení: kritické
- CA: FALSE = toto není kořenový certifikát certifikační autority (CA)
Key Agreement = Dohoda klíčů (protokol dohody klíčů - https://en.wikipedia.org/wiki/Key-agreement_protocol)
- Extended Key Usage = Rozšířená použití klíče
- TLS Web Client Authentication = identifikace klienta webového serveru pro TLS [Transport Layer Security - bezpečné šifrované spojení transportní vrstvy]
- TLS Web Server Authentication = identifikace webového serveru pro TLS
- Server Gated Crypto = způsob přechodu ze systémů šifrování klíčem 40/56 bitů na 128 bitů; dnes zastaralé
Authority Information Access = přístup k údajům [certifikační] autority (AIA) [u CAcert: URL odpovídače OCSP ]
- CRL Distribution Points = distribuční místa CRL [Certificate Revocation List, seznam odvolaných certifikátů]
Další materiál ke čtení