Vettem egy SSL tanusítványt az egyik domainemhez, mert szeretném, hogy https-en keresztül is el lehessen érni bizonyos szolgáltatásokat. Próbálom gyakorlatisan megközelíteni az egész folyamatot, ezért kapásból ajánlanám is a godaddy.com-ot: egy sima SSL tanusítványt $29.99-ért adnak, megbízható, lehet fizetni paypal-al. Ha az összes aldomainünk (pl: aldomain.domain.hu) tanusítvánnyal való ellátása a cél, az már a wildcard kategória és $199 dolcsiba fog fájni.
A folyamat lépésről-lépésre:
1. Előkészítés:
- Szükségünk lesz a WIN32 OpenSSL legújabb verziójára: letöltés.
- Ellenőrizzük, hogy milyen Apache-unk van.. mindenképp OpenSSL-es változatra lesz szükség. Ha még nincs fenn az Apache, töltsük le és telepítsük: letöltés. A telepítést itt nem részletezem.
- A win/system32 könyvtárba másoljuk be a ssleay.dll és libeay32.dll-t, ha még nincsenek ott. A két ddl-t a kicsomagolt openssl mappájában találjuk meg.
- Másoljuk az OpenSSL.exe-t az Apache/bin mappába.
- Ellenőrizzük, hogy a mod_ssl.so file az Apache/modules könyvtárában van-e.
- Töltsük le az openssl.cnf fájlt, ha az apache conf mappában nem találunk ilyet. Rendszerint tárcsázó alkalmazásnak ismeri fel a winfos ezt a fájlt és a kiterjesztését el is rejti. Másoljuk az openssl mappájába.
2. Gyártsunk egy SSL tanusítványkérelmet (certificate request), melyet elküldünk a CA-nak (Certificate Authority), aki kiállítja számunkra a tanusítványt.
Parancssorban kerssük meg az openssl mappáját és adjuk ki a következő parancsot:
openssl req -config openssl.cnf -new -out domainem.com.csr
Haladjunk végig a kérdéseken. A country code: HU A common name-hez adjuk meg a domaint amit tanusítvánnyal szeretnénk ellátni.
FONTOS! A normál SSL tanusítvány nem érvényes az aldomainekre, csak a www-re. Tehát ha domain.com-ot adunk meg, a www.domain.com is működni fog, de a sg.domain.com már nem. Ha www.domain.com-ot adunk meg, akkor a www nélküli is hiteles lesz!
MÉGFONTOSABB! http://, https:// vagy bármilyen marhaságot ne írjunk a common name elé!!
3. Ha készen vagyunk a parancssorba mehet:
openssl rsa -in privkey.pem -out domainem.com.key
4. Az openssl mappájában lévő csr file-t küldjük el a tanusítványt kiállító céghez!
A visszakapott crt tanusítvány fájlt és a domainem.com.key fájlt másoljuk az apache/conf/ssl mappába.
5. Szerkesszük az Apache konfig fájlt! (apache/conf/httpd.conf):
Figyeljen a 443-as porton is (a 80-ast nem kell törölni!):
Listen 443
Töltse be az SSL modult:
LoadModule ssl_module modules/mod_ssl.so
Az ssl_module általános beállítása:
SSLMutex default
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLSessionCache none
6. Virtualhost konfiguráció (rendszerint az apache/conf/httpd-vhosts.conf fájlban):
NameVirtualHost *:443
SSLEngine On
SSLCertificateFile conf/ssl/domainem.com.crt
SSLCertificateKeyFile conf/ssl/domainem.com.key
DocumentRoot "C:/server/www/domainem.com/www"
ServerName domainem.com
ServerAlias www.domainem.com
ErrorLog "logs/domainem.com-error.log"
CustomLog "logs/domainem.com-access.log" common
7. Apache restart!
A böngészőben most már működnie kell a https://www.domainem.com -nak mindenféle felugró hitelesítési ablak nélkül.