SSL Tanúsítványok .PFX formátumú tanúsítvány használata a cPaneles tárhelyeken Alapértelmezésben a PKCS#12/PFX formátumot a Microsoft® Windows környezetben használják. Az UNIX alapú gépeken is lehet telepíteni a .pfx kiterjesztésű tanúsítványokat, de a telepítés előtt át kell konvertálni a .pfx kiterjesztésű tanúsítványt mivel az Apache a PEM formátumot vár (.pem, .crt, .cer, és a .key). KONVERTÁLÁS WEBOLDALON KERESZTÜL Az alábbi weboldalon el lehet végezni a konvertálást: https://www.sslshopper.com/ssl-converter.html Ha nem szeretne a weboldalon keresztül konvertálni akkor lehetőség van parancssoros konverzióra is az alábbi parancs mintája alapján: KONVERTÁLÁS LINUX ALATT: openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes KONVERTÁLÁS WINDOWS ALATT: Szükséges az OpenSSL library telepítése amelyet az alábbi oldalról szerezhető be: http://slproweb.com/products/Win32OpenSSL.html A telepítést követően Windows parancssorból elvégezhető a konvertálás az alábbi minta alapján: cd C:\Program Files\OpenSSL-Win64\bin openssl pkcs12 -in d:\Temp\cert.pfx -out d:\Temp\cert.pem -nodes A konvertálást követően egyetlen fájlba fog bekerülni a tanúsítvány, a privát kulcs, ezért a kapott fájlt szövegszerkesztővel meg kell nyitni és a cPanel felületére innen kell beilleszteni a tanúsítványt, valamint a CACert-et. A tanúsítvány a cPanel felületén az  SSL/TLS kezelő  menü a  Tanúsítványok (CRT)  almenüponton belül tölthető fel. SSL tanúsítványok és a Server Name Indication (SNI) támogatás MI AZ AZ SNI? Az SNI a Server Name Indication rövidítése. A  TLS  protokoll egy kiterjesztése amely lehetővé teszi a kiszolgálók számára, hogy több SSL tanúsítványt használjanak egy IP címen. Gyakorlatilag ez azt jelenti hogy: a rendelkezésre álló IPv4 címek száma folyamatosan csökken ezért a jelenleg használt címeken az SNI segítségével hatékonyabban lehet üzemeltetni a kiszolgálókat. a legtöbb esetben az SSL tanúsítvánnyal biztonságossá tett weboldalak üzemeltetéséhez nincs szükség külön dedikált IP cím vásárlására. SZÜKSÉGES DEDIKÁLT IP CÍM VÁSÁRLÁSA A MEGVÁSÁROLT SSL TANÚSÍTVÁNY HASZNÁLATÁHOZ? Ez két dologtól függ: az adott kiszolgáló támogatja e az SNI-t a látogató böngészője támogatja e az SNI-t Jelenleg minden webszerverünk támogatja az SNI-t, ezért az SSL tanúsítvány használatához nincs szükség dedikált IP cím vásárlására. A BÖNGÉSZŐK SNI TÁMOGATOTTSÁGA A szerverek SNI támogatása mellett szükséges az is, hogy a látogatók böngészői is támogassák az SNI-t. Jellemzően a legtöbb böngésző támogatja az SNI-t, azonban van néhány kivétel, ezek az alábbiak: Minden Internet Explorer verzió ami Windows XP operációs rendszeren fut Windows XP operációs rendszer alatt futó Safari böngésző BlackBerry OS 7.1 és a korábban kiadott verziók WindowsMobile 6.5 és a korábban kiadott verziók Android OS 2.x alatt használt alapértelmezett böngésző Abban az esetben ha az érintett weboldal látogatói amelyet SSL tanúsítvánnyal szeretne biztosítani jelentős részében ilyen típusú böngészőkből érik el akkor javasoljuk, hogy az SSL tanúsítvány mellé vásároljon dedikált IP címet is. TOVÁBBI INFORMÁCIÓK: Az SNI-ről további információkat találhat a következő hivatkozáson: https://en.wikipedia.org/wiki/Server_Name_Indication SSL tanúsítvány konvertálása Különböző platformok és eszközök esetén szükséges lehet az SSL tanúsítványokat eltérő formátumokká alakítani. Például egy Windows kiszolgáló esetén lehetőség van .pfx fájlokat exportálni és importálni, míg egy Apache szerver egyéni PEM (.crt, .cer) fájlokat használ. A különböző SSL tanúsítványok típusairól és a tanúsítványok számítógépen az OpenSSL segítségével történő konvertálásáról további információkat találhat alább. PEM FORMÁTUM A PEM formátum a leggyakoribb formátum, a tanúsítvány kibocsátó hatóságok a leggyakrabban ebben a formátumban adják ki a tanúsítványokat. A PEM tanúsítványok általában  .pem, .crt, .cer és .key  kiterjedésűek. Ezek Base64 kódolt ASCII fájlok, és „—– BEGIN CERTIFICATE —–” sorral kezdődnek illetve „—– END CERTIFICATE —–” sorral végződnek. A kiszolgálói tanúsítványok, köztes tanúsítványok és privát kulcsok mindegyike beilleszthető a PEM formátumba. Az  Apache és más hasonló szerver szoftverek  PEM formátumú tanúsítványokat használnak. Számos PEM tanúsítvány, sőt a privát kulcs is beilleszthető egy fájlba, egyik a másik alatt, de a legtöbb szerver szoftver, mint például az Apache elvárja, hogy a tanúsítványok és a privát kulcs külön fájlokban legyenek. DER FORMÁTUM A DER formátum egyszerűen a tanúsítvány bináris formája az ASCII-ben lévő PEM formátum helyett. Előfordul, hogy van  .der  fájlkiterjesztése, de gyakran rendelkezik  .cer  fájlkiterjesztéssel, így csak onnan lehet észlelni, hogy egy DER .cer fájl és egy PEM .cer fájl között a különbséget, hogy szövegszerkesztőben megnyitjuk és megkeressük a BEGIN / END utasításokat. A tanúsítványok és magánkulcsok minden típusa DER formátumban kódolható. A DER-t általában  Java platformokkal  használják. Ha a privát kulcsot DER formátumba kell konvertálni akkor kérjük, használja az  OpenSSL parancsokat . PKCS#7 / P7B FORMÁTUM A PKCS#7 vagy P7B formátum általában Base64 ASCII formátumban van tárolva és  .p7b vagy .p7c  a kiterjesztése. A P7B tanúsítványok tartalmazzák a fájl elején a „—– BEGIN PKCS7 —–” és a „—– END PKCS7 —–” sorokat a fájlok végein. A P7B fájl csak tanúsítványokat és lánc tanúsítványokat tartalmaz, privát kulcsot nem. Számos platform támogatja a P7B fájlokat, köztük a  Microsoft Windows és a Java Tomcat . PKCS#12 / PFX FORMÁTUM A PKCS#12 vagy PFX formátum bináris formátum a szerver tanúsítvány tárolására, a köztes tanúsítványok és a privát kulcs tárolására egy titkosítandó fájlban. A PFX fájlok általában  .pfx és .p12  kiterjesztésűek. A PFX fájlokat általában a  Windows gépeken  használják a tanúsítványok és a magánkulcsok importálásához és exportálásához. PFX fájl PEM formátumra történő konvertálásakor az OpenSSL minden tanúsítványt és privát kulcsot egyetlen fájlba helyez. A fájlt egy szövegszerkesztőben kell megnyitni, és minden egyes tanúsítványt és privát kulcsot (beleértve a BEGIN / END részeket) külön szövegfájlba kell másolni, és egybe kell menteni őket certificate.cer, CACert.cer és privateKey.key néven. OPENSSL PARANCSOK SSL TANÚSÍTVÁNYOK KONVERTÁLÁSÁHOZ Javasoljuk, hogy a saját gépen az OpenSSL segítségével konvertáljon .pfx fájlokról és fájlokba, így a privát kulcsot megtarthatja. Használja a következő OpenSSL parancsokat az SSL tanúsítvány különböző formátumokká konvertálásához a saját gépén: KONVERTÁLÁS OPENSSL-EL PEM FORMÁTUMBÓL PEM formátum átalakítása DER-be openssl x509 -outform der -in certificate.pem -out certificate.der PEM formátum átalakítása P7B-re openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer PEM formátum átalakítása PFX-be openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt KONVERTÁLÁS OPENSSL-EL DER FORMÁTUMBÓL DER formátum átalakítása PEM-be openssl x509 -inform der -in certificate.cer -out certificate.pem KONVERTÁLÁS OPENSSL-EL P7B FORMÁTUMBÓL P7B formátum átalakítása PEM-be openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer P7B formátum átalakítása PFX-be openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer KONVERTÁLÁS OPENSSL-EL PFX FORMÁTUMBÓL PFX formátum átalakítása PEM-be openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes Ha a Java Keystore fájlt más formátumra szeretné konvertálni, akkor általában könnyebb új privát kulcsot és tanúsítványokat létrehozni, de a Java Keystore PEM formátumra is konvertálható. Biztonságos és nem biztonságos tartalom a weboldalon Abban az esetben ha a domain nevet a tanúsítvány telepítését követően átirányítjuk biztonságos HTTPS protokollra, akkor előfordulhat, hogy a böngésző címsorában egy törött lakat jelenik meg. Amely mellett figyelmeztető üzenetet is megjelenítenek a böngészők. A törött lakat, illetve a figyelmeztető üzenetek amiatt jelennek meg, mert a weboldal kódjában egyszerre jelenítünk meg biztonságos és nem biztonságos elemeket. A weboldal csak akkor lesz teljesen biztonságos, – akkor fog megjelenni a böngésző címsorban a zöld lakat – ha minden elemet HTTPS protokollon keresztül jelenítünk meg. Például: Kép megtekintése A fenti HTML példában a hivatkozásban megadott kép URL-je nem biztonságos (http://) címre hivatkozik. Azaz a látogató a tartalom többi részét biztonságos kapcsolaton keresztül tudja megtekinteni, de magát a képet nem, tehát a böngészőben a látogató vegyes tartalmat fog látni. A problémát okozhatják a külsős forrásból meghívott képek, JavaScript, és CSS fájlok is. EZT A PROBLÉMÁT KÉT MÓDON LEHET JAVÍTANI: RELATÍV HIVATKOZÁSOK HASZNÁLATA: Azon tartalmak esetében (például ilyenek a weboldalra feltöltött képek, CSS, és Javascript fájlok) amelyek a webtárhelyről elérhető azokra hivatkozzunk relatív módon. Például: Kép megtekintése MINDEN MEGHÍVOTT FORRÁST SSL KAPCSOLATON KERESZTÜL HÍVUNK MEG: Ebben az esetben minden olyan hivatkozást amelyet a weboldalon meg akarunk jeleníteni, – legyen szó kép, CSS, Javascript, vagy betű típus fájlról – azt biztonságos SSL (https://) kapcsolaton keresztül hívunk meg. Például: