abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:33 | Nová verze

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 1
    včera 14:33 | Nová verze

    Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 8
    včera 13:44 | Pozvánky

    Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.

    Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »
    bkralik | Komentářů: 0
    včera 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 1
    včera 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    9.6. 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 1
    9.6. 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

    Ladislav Hagara | Komentářů: 0
    9.6. 19:11 | Nová verze

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    9.6. 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 20
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 242 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Chci podepsaný certifikát pro Apache

    4.1.2006 16:30 | Přečteno: 7694× | Mohlo by se někomu hodit

    Nedávno jsem byl donucen pustit se na tenký led instalace webového serveru s podporou šifrovaného spojení. Jelikož jsem chtěl být důkladný, nastudoval jsem si, jak pro server získat certifikát podepsaný vlastní certifikační autoritou. No a abych to nemusel studovat znovu, až to budu dělat přístě, tak jsem si sepsal postup. I když kdo ví, bude-li nějaké přístě.

    Předem podotýkám, že instalaci jsem prováděl v prostředí SUSE 9.3 a předpokládá již rozchozený apache bez šifrovaného spojení a nainstalované OpenSSL.

    Příprava

    V souboru /etc/ssl/openssl.cnf se nachází nepřeberné množství parametrů, kterými se dá nastavit případně nabídnout výchozí hodnota při generování nových certifikátů. Vzhledem k tomu, že certifikáty je třeba generovat dva, není od věci si zde nastavit položky stateOrProvinceName_default na Czech Republic a podobně výchozí hodnotu města, organizace atd.
    Také mi nevyhovuje název adresáře pro soubory certifikační autority demoCA a certifikát chci mít alespoň na deset let:

    dir             = .
    default_days    = 3650
    

    Skript v /usr/share/ssl/misc/CA.sh na první pohled moc důvěru nebudí, ale svou práci nakonec odvede. Aby ji odvedl podle mých představ, opět jsem upravil proměnné na počet dní platnosti certifikátu a adresáře CA:

    DAYS="-days 3652"
    CATOP=.
    

    Nakonec si vytvořím adresář pro svou certifikační autoritu:

    mkdir /usr/share/ssl/ca && cd /usr/share/ssl/ca
    

    Generování certifikátů

    Vygenerování certifikační autority

    Skript CA.sh s parametrem -newca mi vygeneruje certifikát a ostatní potřebné soubory pro správu vlastní certifikační autority. Zadávané heslo je samozřejmě nanejvýš vhodné si zapamatovat. Již v tomto kroku lze s výhodou využít předvyplněných údajů, kterými je potřeba údaje o certifikátu naplnit:

    jupiter:/usr/share/ssl/ca # ../misc/CA.sh -newca
    mkdir: adresář `.' nelze vytvořit: Soubor již existuje
    CA certificate filename (or enter to create)
    
    Making CA certificate ...
    Generating a 1024 bit RSA private key
    ..................................++++++
    ......++++++
    writing new private key to './private/./cakey.pem'
    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [CZ]:
    State or Province Name (full name) [Czech Republic]:
    Locality Name (eg, city) [Brno]:
    Organization Name (eg, company) [Masaryk Univerzity]:
    Organizational Unit Name (eg, section) [Faculty of Economics and Administration]:
    Common Name (eg, YOUR name) []:Webmaster
    Email Address []:webmaster@econ.muni.cz
    

    Vygenerování certifikační žádosti

    Stejný skript, jiný parametr -newreq nám vygeneruje další certifikát, tentokráte pro nás server, navíc připravený k podpisu certifikační autoritou, kterou jsme si připravili v předchozím kroku. Opět je potřeba zadat, ale jelikož toto heslo by bylo zapotřebí zadávat při každém startu apache, bude v následujícím kroku vymazáno.
    Jako common name je v tomto případě potřeba uvést doménové jméno serveru, pro který certifikát připravujeme – jinak budeme upozorňováni, že certifikát nebyl vydán pro náš server:

    jupiter:/usr/share/ssl/ca # ../misc/CA.sh -newreq
    Generating a 1024 bit RSA private key
    ............++++++
    ..................................................................++++++
    writing new private key to 'newreq.pem'
    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [CZ]:
    State or Province Name (full name) [Czech Republic]:
    Locality Name (eg, city) [Brno]:
    Organization Name (eg, company) [Masaryk Univerzity]:
    Organizational Unit Name (eg, section) [Faculty of Economics and Administration]:
    Common Name (eg, YOUR name) []:svi.econ.muni.cz
    Email Address []:knihovna@econ.muni.cz
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    Request (and private key) is in newreq.pem
    

    Exportování klíče pro server

    Následující příkaz vymaže s našeho certifikátu pro server heslo zadané v předchozím kroku (ale je nutno jej zadat) a zároveň jej připraví do správného formátu:

    jupiter:/usr/share/ssl/ca # openssl rsa -in newreq.pem -out svi.key
    Enter pass phrase for newreq.pem:
    writing RSA key
    

    Konečně podepsání certifikátu pro server

    Zde zadáváme heslo certifikační autority:

    jupiter:/usr/share/ssl/ca # ../misc/CA.sh -sign
    Using configuration from /etc/ssl/openssl.cnf
    Enter pass phrase for ./private/cakey.pem:
    Check that the request matches the signature
    Signature ok
    Certificate Details:
    ...
    Sign the certificate? [y/n]:y
    
    
    1 out of 1 certificate requests certified, commit? [y/n]y
    ...
    Signed certificate is in newcert.pem
    

    Konfigurace apache

    Certifikáty na správné místo

    Předně si tu vygenerovanou trojici certifikát CA + certifikát serveru + privátní klíč serveru nakopírujeme do adresářů k tomu určených, přejmenujeme a upravíme oprávnění (pouze root je smí číst):

    jupiter:/usr/share/ssl/ca # cp newcert.pem /etc/apache2/ssl.crt/svi.crt
    jupiter:/usr/share/ssl/ca # cp svi.key /etc/apache2/ssl.key/
    jupiter:/usr/share/ssl/ca # cp cacert.pem /etc/apache2/ssl.crt/svi-ca.crt
    jupiter:/usr/share/ssl/ca # cd /etc/apache2/ssl.crt
    jupiter:/etc/apache2/ssl.crt # chmod 400 svi.crt svi-ca.crt
    jupiter:/etc/apache2/ssl.crt # cd ../ssl.key
    jupiter:/etc/apache2/ssl.key # chmod 400 svi.key
    

    Úpravy v ssl.conf /etc/sysconfig/apache2

    Šablonu souboru pro virtuálního hosta apache s podporou SSL si přejmenujeme tak, aby měl příponu .conf, tj, například /etc/apache2/vhosts.d/ssl.conf a soubor upravíme:

    SSLCertificateKeyFile /etc/apache2/ssl.key/svi.key
    SSLCACertificateFile /etc/apache2/ssl.crt/svi-ca.crt # není důležitý
    SSLCertificateFile /etc/apache2/ssl.crt/svi.crt
    

    Aby Apache startoval s podporou SSL, je potřeba v souboru /etc/sysconfig/apache2 přidat potřebný příznak SSL:

    APACHE_SERVER_FLAGS="SSL"
    

    Hotovo

    Po restartu apache by měl být obsah adresáře /srv/www/secure přístupný s pomocí protokol HTTPS.
    Nabídnutím certifikátu CA ( v tomto případě svi-ca.crt) ke stažení umožníme uživatelům si tento certifikát nainstalovat do prohlížeče a pak už je přístup na náš server nebude otravovat hláškou, že není splněn test autenticity.

    Odkazy na problematiky Apache+SSL

    Čerpal jsem z těchto zdrojů:
    http://httpd.apache.org/docs/2.0/ssl/
    www.linuxsoft.cz/article_print.php?id_article=389
    http://raibledesigns.com/wiki/Wiki.jsp?page=ApacheSSL
    http://www.modssl.org/docs/2.7/ssl_faq.html

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.1.2006 17:13 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Moc hezké, asi se budu opakovat, ale i tohle by mohlo vyjít po rozšíření jako článek. Doufám, že se Robert co nejdřív uzdraví.
    When your hammer is C++, everything begins to look like a thumb.
    Shadow avatar 4.1.2006 17:28 Shadow | skóre: 25 | blog: Brainstorm
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Skvělý návod, výborně. Tohle co nejdříve vyzkouším. Díky.
    If we do not believe in freedom of speech for those we despise we do not believe in it at all.
    4.1.2006 18:35 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Dobrý článek, něco takového se mi právě teď bude hodit :-)

    Jenom bych chtěl upozornit, že existuje server CAcert.org, který se snaží stát certifikační autoritou, jež bude v prohlížečích a podobném softwaru, stejně jako např. známé Thawte nebo VeriSign. Jenže narozdíl od těchto dvou vydává certifikáty zdarma.
    4.1.2006 21:55 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    A ako zarucuje, ze nevystavuje certifikaty pre subjekty, ktore sa tvaria ako niekto iny?
    If you hold a Unix shell up to your ear, you can you hear the C.
    xxx avatar 4.1.2006 22:35 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Neco takoveho sem taky budoval, jako vzor jsem pouzil knihu Protokol TCP/IP a bezpecnost. Ale kdybych vedel, ze existuje tahle sluzba, tak bych ji pouzil a usetril bych si praci. Podle me ma uplatneni, kdyz nekde potrebuji pouzit podepsany certifikat. Treba mail server firmicky s peti lidma.
    Please rise for the Futurama theme song.
    Vykook avatar 4.1.2006 21:37 Vykook | skóre: 23 | blog: Tomas
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Bravo sice se me to nehodi, ale i tak to bylo zajimave ;-)
    Nejde nám o dobro druhých. Nejde nám o bohatství. Jde o čisté opojení mocí.
    5.2.2007 16:59 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Dekuju. Musel jsem tento problem vyresit. Vygooglil jsem vas navod a velice mi to pomohlo. Opravdu diky
    23.3.2007 18:38 Chulda | skóre: 20
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Jen doplnim - me se stalo, ze 3. krok skoncil s hlaskou
    unable to load Private Key
    7181:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:642:Expecting: ANY PRIVATE KEY
    
    tak problem je, ze 2. krok ulozil vysledek do 2 souboru
    ...
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    Request is in newreq.pem, private key is in newkey.pem
    
    takze 3.krok vyzaduje soubor newkey.pem
    7.8.2007 00:41 DarkLogic | skóre: 8
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    taky diky tobe za tuto poznamku...stalo se mi to a na chvili jsem se citil ztracen. Tohle pomohlo!
    7.8.2007 00:39 DarkLogic | skóre: 8
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    I po roce a půl je to skvělý a užitečný článek. Zrovna se mi to díky němu v pořádku povedlo udělat. Takže moooc díky!
    5.12.2008 13:17 Sonic
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache

    Clanek je super, certifikat sem si podepsal, ale na to aby prohlizece navstevniky neotravovali o neplatnosti certifikatu to nestaci. Skoda.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.