#language cs
## 25.08.2015 AK
----
 '''česky''' | [[SimpleApacheCert|english]]
----
## Zde je popsán jednoduchý certifikát pro Apache (SimpleApacheCert)...
## stránka byla přejmenována z KnowledgeBase/Server/SimpleApacheCert
## stránka byla přejmenována z SimpleApacheCert

 . '''NOTA BENE - ROZPRACOVÁNO''' (WORK IN PROGRESS) - [[SimpleApacheCert/CZ#Příspěvky_a_úvahy|Vaše příspěvky a úvahy]] :-)

 . '''K Technologii''' '''[[Technology#Technology_Knowledge_Base| Báze znalostí]]'''  - '''K Technologii ''' '''[[Technology/KnowledgeBase| Báze znalostí - přehled]]''' - '''K Technologii''' '''[[Technology/KnowledgeBase/Server| Báze znalostí - server]]''' - Tento článek najdete také na '''Podpoře''' pro '''[[Technology/TechnicalSupport/SysAdmin| Správce systému]]'''

----

== Jak vytvořit jednoduchý certifikát v Apache ==

 . Napsal [[DanielBlack]]

 . Nejdříve jděte do [[http://httpd.apache.org/docs/trunk/ssl/index.html#mod-ssl|dokumentace mod_ssl]], kde je základní konfigurace mod_ssl. Já však nebudu postupovat podle mod_ssl, ale pokusím se ukázat Vám způsob, jak získat a instalovat certifikát CAcert.

 . Chcete-li certifikát pro jediný web se serverem Apache, je toto pravděpodobně nejjednodušší způsob, jak získat certifikát podepsaný CAcertem. Ve složitějších případech se podívejte na [[Technology/TechnicalSupport/SysAdmin/ApacheServer/CZ|ApacheServer]] a VhostsApache. 

 . Tento návod by měl fungovat s Apache 2.x na Unixech a Windows, pravděpodobně i na jiných systémech.

 . Když Apache běží v mod_ssl, budete muset zaregistrovat doménovou složku svého webového serveru (například "example.org" pro server "www.example.org") ve svém účtu CAcert. Jděte tedy na [[https://www.cacert.org|hlavní stránku CAcert]], přihlaste se, z menu (vpravo) zvolte "Domény -> Přidat" a postupujte podle nápovědy. Zobrazuje-li se u Vaší domény (v "Domény" -> "Zobrazit") slovo "Ověřeno", můžete pokračovat a vygenerovat si certifikát pro svůj server.

 . Získejte openssl, pokud už není instalováno na Vašem systému. Nemůžete-li je najít jinde, zkuste [[http://www.openssl.org/related/binaries.html|openssl web]], kde je binární verze pro Windows.

 . Vygenerujte si žádost o podpis certifikátu (CSR) příkazem:

  {{{
'''''Jeden krok'''''
openssl req -newkey rsa:4096 -subj /CN=<DNS_adresa_Vašeho_serveru> -nodes -keyout <název souboru pro Váš privátní klíč> -out <název souboru pro žádost CSR>
}}}

  {{{
'''''Dva kroky'''''
openssl genrsa -out <název souboru pro Váš privátní klíč> 4096
openssl req -new -key <název souboru pro Váš privátní klíč> -out <název souboru pro žádost CSR>
}}}

 . Příklad:
  {{{
openssl req -newkey rsa:4096 -subj /CN=www.example.org -nodes -keyout example_key.pem -out example_csr.pem
}}}
  . generuje CSR pro server '''''www.example.org''''' do souboru '''''example_csr.pem''''' a uloží příslušný '''nezašifrovaný''' privátní klíč do souboru '''''example_key.pem'''''.

  . Když Vás skript openssl požádá, odpovězte na tyto otázky:
   || '''Otázka OpenSSL''' || '''Příklad odpovědi''' || '''Poznámky''' ||
   || Country Name (2 letter code) [DE]: || CZ ||<#ff8080> později bude odstraněno ||
   || State or Province Name (full name) [Some-State]: || Jihomoravský ||<#ff8080> později bude odstraněno ||
   || Locality Name (eg, city) []: || Brno ||<#ff8080> později bude odstraněno ||
   || Organization Name (eg, company) [Internet Widgits Pty Ltd]: || @doma ||<#ff8080> později bude odstraněno ||
   || Organizational Unit Name (eg, section) []: || ||<#ff8080> později bude odstraněno ||
   || Common Name (e.g. server FQDN or YOUR name) []: || testserver3.mojedom.cz ||<#00FF00> později bude použito ke kontrole ||
   || Email Address []: || primární.e-mail.z.mého.účtu.u.CAcert ||<#00FF00> později bude použito ke kontrole ||
   ||<-3> Please enter the following 'extra' attributes ||
   ||<-3> to be sent with your certificate request ||
   || A challenge password []: || || ||
   || An optional company name []: || || ||

 . Jděte na [[https://www.cacert.org|CACert]], přihlaste se a z menu zvolte "Certifikáty serveru -> Nový". Je-li Vám dostupný certifikát třídy 3, zvolte ho.

 . Použijte Kopírovat/Vložit (Copy/Paste) pro vložení své žádosti o podpis certifikátu (CSR, obsah souboru '''''example_csr.pem''''' v našem příkladu) do velkého textového pole. Vložte i úvodní a koncový řádek:
  {{{
-----BEGIN CERTIFICATE REQUEST-----
}}}
  . a
  {{{
-----END CERTIFICATE REQUEST-----
}}}
 . a zkontrolujte, že po vložení není žádost zkrácena.

 . Stiskněte "Odeslat" a Váš certifikát bude vygenerován. Ovšem jen pokud jste neudělali chybu. Když ano, přečtěte si hlášení chyby, pokuste se pochopit, co Vám říká a zkuste to znovu bezchybně. ;)

 . Použijte Kopírovat/Vložit (Copy/Paste) svého oblíbeného editoru pro uložení certifikátu do souboru (s názvem dejme tomu example_cert.pem).

 . Přesuňte privátní klíč a certifikát do vhodného umístění (adresáře). Standardní instalace Apache vytvářejí v konfiguračním adresáři podadresáře ssl.key pro privátní klíč a ssl.crt pro certifikát. Chcete-li si zachovat i CSR (i když ho asi už nikdy nebudete potřebovat), je tu i adresář s názvem ssl.csr.

 . Při používání certifikátu třídy 3, jak navrhuji, budete potřebovat soubor řetězu certifikátů. Jsou to zřetězené certifikáty třídy 3 a třídy 1, uložené ve formátu PEM. Můžete ho vytvořit sami nebo stáhnout z [[attachment:CAcert_chain.pem|této přílohy]].

 . Uložte soubor řetězu certifikátů do adresáře ssl.crt a nazvěte ho CAcert_chain.pem pro pozdější odkazy.

 . Zbývá už jen správně konfigurovat mod_ssl v Apache. Sadu certifikátů použijte v těchto direktivách své konfigurace SSL:

 . {{{
SSLCertificateFile <Cesta k Vašemu souboru certifikátu>/example_cert.pem
SSLCertificateKeyFile <Cesta k Vašemu souboru klíče>/example_key.pem
SSLCertificateChainFile <Cesta k Vašemu souboru řetězu certifikátů>/CAcert_chain.pem
 . }}}

 . A je to vše. Restartujte Apache a zkontrolujte, jak pracuje!

=== Obnova existujícího certifikátu ===

 . Pro obnovu certifikátu existující konfigurace Apache potřebujete certifikát obnovit pomocí [[https://www.cacert.org/account.php?id=12|webového interface CAcert]] a pak nahradit existující certifikát (v našem příkladu `<Cesta k Vašemu souboru certifikátu>/example_cert.pem`) nově získaným certifikátem.

----

== Příspěvky a úvahy ==

 . RRRRMMDD-[[Vaše_jméno]]

 . {{{
Text / Vaše příspěvky, úvahy a úryvky e-mailů - prosím sem
 }}}

----
 . CategoryGuide