PKI és SSL mérés. Crysys Lab - oktatas@crysys.hu 2005. október 14.



Hasonló dokumentumok
PKI és SSL mérés. Crysys Lab - oktatas@crysys.hu szeptember 12.

PPKE-ITK. Adatbiztonság és Kriptográfia. Mérési útmutató a. PKI és SSL. címő méréshez

Titkosítás NetWare környezetben

S, mint secure. Nagy Attila Gábor Wildom Kft.

Tanúsítványkérelem készítése, tanúsítvány telepítése Apache szerveren

Az Outlook levelező program beállítása tanúsítványok használatához

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette:

GIROLOCK2 ROOT_CA ÉS ÜZEMI CA TANÚSÍTVÁNY IMPORTÁLÁSI SEGÉDLET

IP alapú távközlés. Virtuális magánhálózatok (VPN)

ÜGYFÉL OLDALI BEÁLLÍTÁSOK KÉZIKÖNYVE

Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

Tanúsítványok kezelése az ibahir rendszerben

MEGÚJÍTOTT GIROLOCK_CA TANÚSÍTVÁNYCSERE

Biztonság a glite-ban

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

Kriptográfiai alapfogalmak

DIGITÁLIS TANÚSÍTVÁNY HASZNÁLATA A REGIONÁLIS BOOKING PLATFORMON

Elektronikus hitelesítés a gyakorlatban

Evolution levelező program beállítása tanúsítványok használatához

Tanúsítvány és hozzá tartozó kulcsok feltöltése Gemalto TPC IM CC és ID Classic 340 kártyára

BaBér bérügyviteli rendszer telepítési segédlete év

Előnyei. Helyi hálózatok tervezése és üzemeltetése 2

TANÚSÍTVÁNY. tanúsítja, hogy az. InfoScope Kft. által kifejlesztett. Attribútum tanúsítványok érvényességét ellenőrző SDK InfoSigno AC SDK v1.0.0.

italc felhasználói dokumentáció

5.1 Környezet Hálózati topológia

A NÉGY BŰVÖS HÁRMAS WWW FTP SQL PHP. BRKK::Békéscsaba Linux rendszergazda képzés 2008

DIGITÁLIS TANÚSÍTVÁNY HASZNÁLATA AZ INFORMATIKAI PLATFORMON

Segédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger)

Verziószám 2.2 Objektum azonosító (OID) Hatálybalépés dátuma szeptember 2.

TANÚSÍTVÁNY. tanúsítja, hogy a Utimaco Safeware AG által kifejlesztett és forgalmazott

A JAVA FUTTATÁSAKOR ELŐFORDULÓ HIBA-

A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A.

Gyökértanúsítványok telepítése Windows Mobile operációs rendszerekre

Java-s Nyomtatványkitöltő Program Súgó

Bérprogram vásárlásakor az Ügyfélnek ben és levélben is megküldjük a termék letöltéséhez és aktiválásához szükséges termékszámot.

Tanúsítványkérelem készítése, tanúsítvány telepítése Lotus Domino szerveren

Magyar Gyors felhasználói útmutató A GW-7100PCI driver telepítése Windows 98, ME, 2000 és XP operációs rendszerek alatt

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Telepítés, újratelepítés több számítógépre, hálózatos telepítés Kulcs-Bér program

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Az adatfeldolgozás és adatátvitel biztonsága. Az adatfeldolgozás biztonsága. Adatbiztonság. Automatikus adatazonosítás, adattovábbítás, adatbiztonság

Budapest Főváros Kormányhivatala. Földmérési, Távérzékelési és Földhivatali Főosztály. Általános Szerződési Feltételek.

TANÚSÍTVÁNY. tanúsítja, hogy a E-Group Magyarország Rt. által kifejlesztett és forgalmazott. Signed Document expert (SDX) Professional 1.

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

e-szignó Online e-kézbesítés Végrehajtási Rendszerekhez

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

Adatbázis kezelő szoftverek biztonsága. Vasi Sándor G-3S

Rendszergazda Debrecenben

Útmutató az ActiveX valamit az Internet Explorer egyéb beállításaihoz. Windows 7, 8, 8.1 és 10 operációs rendszerekhez

Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott

Oktatási cloud használata

RapidMiner telepítés i. RapidMiner telepítés

1 of :54

IP-címhez kötött webszolgáltatások használata idegen IP-című gépről

Az ActiveX beállítása

Használati útmutató a Székács Elemér Szakközépiskola WLAN hálózatához

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

Tartalomjegyzék. 1. fejezet A Windows 2000 biztonsági szolgáltatásai. Röviden Azonnali megoldások... 11

Hardver és szoftver követelmények

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Java telepítése és beállítása

Rendszerkezelési útmutató

TANÚSÍTVÁNY. tanúsítja, hogy a. Pénzügyi Szervezetek Állami Felügyelete. által kifejlesztetett. IngridSigno Feldolgozó Modul aláíró alkalmazás

HBONE tábor 2005 november Mohácsi János

AIX 6.1. IBM Systems Director Console for AIX

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

Fábián Zoltán Hálózatok elmélet

Dr. Schuster György október 30.

Hálózatbiztonság Androidon. Tamas Balogh Tech AutSoft

Tanúsítvány és hozzá tartozó kulcsok telepítése szoftveresen tárolt tanúsítványok esetén

ELEKTRONIKUS TANÚSÍTVÁNY HASZNÁLATA AZ INFORMATIKAI PLATFORMON

[ISMERTETŐ] Központi tanulmányi információs rendszer

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Szolgáltatási szerződés elektronikus aláírása

E mail titkosítás az üzleti életben ma már követelmény! Ön szerint ki tudja elolvasni bizalmas leveleinket?

Bankkártya elfogadás a kereskedelmi POS terminálokon

TANÚSÍTVÁNY. tanúsítja, hogy a. MÁV INFORMATIKA Kft. által kifejlesztett és forgalmazott. DSign UI 1.6. aláíró alkalmazás

Tanúsítvány és kulcspár biztonsági mentése/telepítése


VIZSGÁLATI BIZONYÍTVÁNY

Számítógépes munkakörnyezet II. Szoftver

OE-NIK 2010/11 ősz OE-NIK ősz

VBA makrók aláírása Office 2007 esetén

Baár-Madas Elektronikus Tanúsítvány

Metadata specifikáció

Sapientia Egyetem, Matematika-Informatika Tanszék.

Testnevelési Egyetem VPN beállítása és használata

VBA makrók aláírása Office XP/2002/2003 esetén

Segédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger)

Kézikönyv Nyomtatók kezelése Linuxon

Bevezetés... xi Ebben a könyvben... xi Gyakorlati segítség... xii 1. Az átállás megtervezése...1 Ebben a fejezetben... 1 Áttekintés: az áttérés

Geotechnika II. (NGB-SE005-2) Geo5 használat

Zimbra levelező rendszer

Java telepítése és beállítása

Átírás:

PKI és SSL mérés Crysys Lab - oktatas@crysys.hu 2005. október 14. Tartalomjegyzék 1. Elméleti összefoglaló 2 1.1. PKI............................................ 2 1.2. SSL............................................ 2 1.3. Programok digitális aláírása............................... 2 2. Mérési környezet 2 2.1. OpenSSL környezet.................................... 3 2.2. Apache HTTPd környezet................................ 3 2.3. Java környezet...................................... 4 3. Feladatok 4 3.1. Hitelesítő központ felállítása............................... 4 3.2. Webkiszolgáló beüzemelése SSL motorral........................ 4 3.2.1. Tanúsítvány kérelem készítése a webkiszolgálónak............... 4 3.2.2. Tanúsítvány készítése a webkiszolgálónak a kérelem alapján......... 4 3.2.3. A webkiszolgáló beállítása............................ 4 3.2.4. Hitelesítő központ adatainak felvétele a böngészőkbe............. 4 3.2.5. SSL hálózati forgalom vizsgálata........................ 5 3.2.6. Tanúsítvány igénylése a böngészőnek...................... 5 3.2.7. Webkiszolgáló tanúsítványának visszavonása.................. 5 3.2.8. Visszavonási lista frissítése a böngészőben................... 5 3.3. SSL alapú hálózati program fejlesztése......................... 5 3.3.1. SSL alapú program készítése.......................... 5 3.3.2. SSL alapú program üzembehelyezése...................... 5 3.3.3. Összegzés..................................... 5 3.4. Digitálisan aláírt program................................ 5 3.5. Szorgalmi feladatok.................................... 5 3.5.1. Az SSL alapú program esetén ügyfél oldali tanúsítvány használata..... 5 3.5.2. SSL finombeállítások, összehasonlító mérések................. 6 3.5.3. Több SSL tanúsítvány használata........................ 6 3.5.4. Több SSL tanúsítvány használata........................ 6 3.5.5. Kisalkalmazás + SSL............................... 6 4. Beugró kérdések 6 5. További információk 6 5.1. OpenSSL használata................................... 6 5.2. Apache webkiszolgáló.................................. 7 5.3. Java Keytool....................................... 7 5.4. Kapcsolódó anyagok, ajánlott olvasmányok...................... 8 1

1. Elméleti összefoglaló A mérés két tárgya közeli kapcsolatban van egymással: az SSL használja a PKI infrastruktúráját, a PKI fogalma az SSL és hasonló protokollok által támasztott igények következtében jött létre. Minden rendszerben alapvető kérdés a másik fél azonosítása: személyi igazolvánnyal tudjuk igazolni kilétünket ismeretleneknek. Az elektronikus, internetes világban természetesen hasonló igények jelentek meg. Ezen cél megvalósulását segítik a PKI (Public Key Infrastructure) rendszerek. Az SSL célja a PKI által biztosított elemekkel történő szabványos kommunikáció, melynek segítségével nem biztonságos csatornán keresztül is tud két fél egymással kommunikálni. 1.1. PKI A PKI rendszerek a mindennapi életben megtalálható igazolványkészítés és kiadás intézményének felel meg. Hitelesítő központok tanúsítványt adnak személyeknek, entitásoknak, hogy más személyek illetve entitások felé igazolni tudják kilétüket, elektronikus formában. A tanúsítványok tartalmaznak leíró adatokat a tulajdonosra vonatkozóan (név, cím,...), kriptográfiai kulcsokat, a kibocsátó digitális aláírását (pecsét). 1.2. SSL Az SSL protokoll célja, hogy személyek/entitások elektronikus adatcseréjét hitelesen, titkosítva biztosítsák a rendelkezésre álló tanúsítványok alapján, az igényeknek megfelelően. Előnye az SSL-nek, hogy az alkalmazásnak transzparens módon nyújtja a kriptográfiai szolgáltatásokat, azaz egyedül a kapcsolat létesítése után az alkalmazás egyszerű TCP kapcsolatként használhatja az összeköttetést a hálózat másik pontján levő alkalmazással. 1.3. Programok digitális aláírása A PKI másik használatos területe a digitális aláírások készítése, a digitális aláírások ellenőrizhetősége. Különösen a férgek és vírusok korában fontos lehet programokat digitálisan aláírni, hogy azok eredete ismert legyen annak érdekében, hogy el lehessen dönteni, szabad futtatni vagy sem, illetve milyen jogosultságokat kap a program (rendszer erőforrásaihoz történő hozzáférés, hálózatkezelés...). Digitálisan aláírt programok például a Microsoft Windows operációs rendszerek által használt eszközmeghajtók, Java alkalmazások. 2. Mérési környezet A mérés Linux operációs rendszer alatt kell elvégezni, melyen a méréshez szükséges szoftverek megtalálhatók. A mérés sikeres elvégzéséhez szükséges elméleti ismeretek: nyilvános és titkos kulcsú titkosítás: különbségek, előnyök, hátrányok, sajátosságok, alkalmazási területek lenyomat függvények: tulajdonságok, elvárások PKI: felépítés, szabványok, algoritmusok SSL protokoll Unix felhasználói alapismeretek (alapelvek, fájlok kezelése, bash) webes alapismeretek (HTTP protokoll, apache webkiszolgáló) 2

TCP/IP hálózati alapismeretek Java programozási alapismeretek: IO, hálózatkezelés, JSSE (Java Secure Socket Extension), AWT, Applet A feladatok elvégzéséhez adottak a szoftverek, melyek alapvető ismerete szintén szükséges: OpenSSL: a hitelesítő központ infrastruktúráját biztosítja a mérés során Apache HTTPd + mod-ssl: webkiszolgáló a https protokollhoz OpenSSH: távoli bejelentkezés a kiszolgálóra Debian Linux: a kiszolgálón használt operációs rendszer Mozilla vagy Firefox: HTTPS protokoll ügyfél oldali alkalmazása JDK 1.4: fejlesztés Java nyelven (java, javac, keytool, jarsigner) Megjegyzés: az OpenSSL nem alkalamas "éles" hitelesítő központ funkciójának betöltésére (lásd man (1) ca), így csak a mérés labor keretein belül, demonstrációs célokra használatos. Minden csoportnak önálló környezet áll rendelkezésére, melyet szabadon állíthat be a szükségleteknek megfelelően. Amennyiben egy gépet több csoport használ, a TCP/IP portokat természetesen egyeztetni kell egymással. 2.1. OpenSSL környezet Az OpenSSL környezet a $HOME/meres-pki-ssl/openssl könyvtárban található meg a szükséges fájlokkal. A beállításokban ezt az útvonalat meg kell adni alapútvonalnak ($HOME/merespki-ssl/openssl/openssl.cnf, [CA_default] dir opció). Azon OpenSSL parancsok esetén, melyek az openssl.cnf-ben tárolt adatokat igénylik, a -config kapcsolónak a $HOME/meres-pki-ssl/openssl/openssl.cnf útvonalat kell megadni paraméterül. 2.2. Apache HTTPd környezet Az Apache HTTPd környezet a $HOME/meres-pki-ssl/apache könyvtárban található. Ezenbelül a könyvtárak funkciója a következő: conf: beállítások data: a HTTP protokollal kiszolgált adatok log: napló fájlok run: aktuális futó folyamat állapota Az apachectl segítségével lehet egyszerűen elindítani, leállítani a kiszolgálót, a beállításokat ellenőrizni. A httpd.conf és apachectl fájlokban testre kell szabni a beállításokat: alapkönyvtár ($HOME/meres-pki-ssl/apache), HTTP és HTTPS portok, melyen a kiszolgáló fogadja a kéréseket. A data/cert könyvtárban található 3 darab fájl, melyek a böngésző tanúsítványok létrehozását hivatottak segíteni. 3

2.3. Java környezet A Java fejlesztéshez 1.4.2-es fejlesztői és futtató környezet áll rendelkezésre. A forrásfájlok szerkesztésére rendelkezésre álló szerkesztők: vim, joe, nano, emacs, pico, mcedit. Igény esetén a fájlokat le lehet tölteni a munkaállomásra és ott szerkeszteni, majd futtatás céljából feltölteni a lefordított fájlokat. Az 1.4-es Java környezet tartalmazza a JSSE-t az SSL alapú hálózati kapcsolatok létesítéséhez, így annak beállítása és használata nem igényel többlet munkát. A Java a tanúsítványokat saját formátumú kulcstárban tárolja, melyet a keytool paranccsal lehet kezelni. JAR csomagok aláírása a jarsigner paranccsal végezhető el. A Java fejlesztéshez szükséges fájlok helye a $HOME/meres-pki-ssl/java könyvtár, a szükséges parancsok (java, javac, keytool, jarsigner) helyen bent van a $PATH környezeti változóban. 3. Feladatok A kitűzött feladatok célja, hogy az SSL alapú kommunikáció és az ahhoz szükséges PKI infrastruktúra technikai oldalát ismertessék a hallgatóval. A feladatok nem térnek ki a PKI rendszereknél szükséges adminisztratív teendőkre, mint például a tanúsítvány igénylőjének megfelelő azonosítására, a titkos kulcsuk tárolására és kezelésre vonatkozó előírásokra illetve azoknak a betartására, a jogi háttérre. 3.1. Hitelesítő központ felállítása Hozzon létre OpenSSL segítségével egy hitelesítő központot, mely alkalmas kiszolgálók és böngészők számára tanúsítványt kibocsátani! Milyen lépések szükségesek? Ügyeljen a kulcs tárolására! Mire kell figyelni? Mekkora kulcsot célszerű használni? A létrehozott hitelesítő központ miben nem felel meg a valós elvárásoknak? 3.2. Webkiszolgáló beüzemelése SSL motorral 3.2.1. Tanúsítvány kérelem készítése a webkiszolgálónak Készítsen egy tanúsítvány kérelmet webkiszolgálónak! Milyen egyéb szempontok vannak? 3.2.2. Tanúsítvány készítése a webkiszolgálónak a kérelem alapján Mire kell a névválasztásnál figyelni? A kérelem alapján adjon ki tanúsítványt a hitelesítő központtal a webkiszolgáló számára! Milyen paraméterek lehetségesek a kiállításnál? 3.2.3. A webkiszolgáló beállítása A kiadott tanúsítvány alapján állítsa be a webkiszolgálót, hogy HTTPS protokollal is ki tudja szolgálni a kéréséket. A nem titkosított kapcsolathoz a 80X0, a titkosítotthoz 80X1-es portot használja, ahol X a mérőhely számát jelenti. Vigyázzon arra, hogy ne fogadja el tartósan a böngésző számára a szerver által küldött tanúsítványt! Milyen szempontokat kell figyelembe venni a kulcstárolási módjához? Tesztelje a beállításokat böngészővel! Mit tapasztal? Ellenőrizze az SSL kapcsolat létét a hálózati forgalom megfigyelésével! 3.2.4. Hitelesítő központ adatainak felvétele a böngészőkbe Milyen haszna van a hitelesítő központ adatainak rögzítésének? Milyen előnyei és hátrányai vannak? Milyen esetben célszerű rögzíteni az adatokat a böngészőben, melyekben nem? 4

3.2.5. SSL hálózati forgalom vizsgálata Hasonlítsa össze a webkiszolgáló/böngésző által okozott terhelés és teljesítmény különbséget (time parancs) nyílt HTTP és titkosított HTTPS kapcsolat esetén, használjon "nagyobb" méretű fájlt (pl. dd parancs /dev/urandom bemenettel)! 3.2.6. Tanúsítvány igénylése a böngészőnek Igényeljen és bocsásson ki tanúsítvány a böngészőjének! Állítsa be a webkiszolgálót, hogy az oldalakat csak érvényes böngésző tanúsítvány esetén szolgáltassa ki! Milyen esetekben célszerű ügyfél oldali tanúsítványt használni? Soroljon fel néhányat! 3.2.7. Webkiszolgáló tanúsítványának visszavonása Milyen esetben kerülhet visszavonásra egy tanúsítvány? Vonja vissza a tanúsítványt és frissítse a visszavonási listát! 3.2.8. Visszavonási lista frissítése a böngészőben Frissítse a visszavonási listát a böngészőben! Mit tapasztalt előtte, mit utána? (Ügyeljen a helyes MIME típus beállításokra!) 3.3. SSL alapú hálózati program fejlesztése Milyen esetben célszerű SSL alapú hálózati programot fejleszteni? Milyen előnyei és hátrányai vannak az SSL alapú programoknak, milyen szempontokra kell figyelni a fejlesztés és üzemeltetés folyamán? 3.3.1. SSL alapú program készítése Készítsen egyszerű hálózati programot, mely a bemeneti adatokat a konzolról veszi, a konzolra írja az eredményeket, majd egészítse ki oly módon, hogy a hálózati kommunikáció SSL csatornán keresztül történjen! Milyen módosításokra van szükség? Törekedjen az egyszerűségre, használjon öröklődést! 3.3.2. SSL alapú program üzembehelyezése Készítse el a szükséges tanúsítványokat és a Java által használt kulcstárakat! Ellenőrizze a program futását! 3.3.3. Összegzés Összegezze a feladatok során szerzett tapasztalatokat, milyen módszereket mely esetekben célszerű használni, milyen előnyökkel, hátrányokkal jár! 3.4. Digitálisan aláírt program Készítsen egy egyszerű Java kisalkalmazást (applet), mely megnyit egy ablakot, csomagolja be (.jar fájl), majd írja alá digitális! A böngészőben ellenőrizze az eredményt! Ellenőrizze az erőforráshasználat korlátozást! (fájlok, hálózat) 3.5. Szorgalmi feladatok 3.5.1. Az SSL alapú program esetén ügyfél oldali tanúsítvány használata Készítsen ügyfél oldali tanúsítványt a programnak, majd használja a kiszolgálóval történő kapcsolat létesítéséhez! 5

3.5.2. SSL finombeállítások, összehasonlító mérések Az SSL alapú programban variálja a használt algoritmusokat! Mérje meg, hogy azonos tartalmú adatcsere esetén mely algoritmus esetén mekkora az adatforgalom! Hasonlítsa össze a nem SSL alapú összeköttetésben mért adatforgalommal! Mérje meg a program memória használatát! 3.5.3. Több SSL tanúsítvány használata Készítsen több tanúsítványt egy kulcstárba, majd a kiszolgálónak adja meg paraméterül, hogy melyiket használja a kapcsolatok létesítésekor! Ügyfél oldalon ellenőrizze a kapott tanúsítványt! 3.5.4. Több SSL tanúsítvány használata A Sun által kibocsátott Java futtató környezet legfeljebb 2048 bit hosszú kulcsú tanúsítványokat tud importálni. Változtasson JCE-t, mely kiküszöböli ezt a korlátot! 3.5.5. Kisalkalmazás + SSL Készítsen Java kisalkalmazást, mely tetszőleges kiszolgálóval tud SSL kapcsolatot létesíteni! 4. Beugró kérdések 1. Milyen hosszúságúnak javasolja egy nyilvános kulcsú titkosításhoz használt kulcsokat? röviden indokolja válaszát! 2. A PKI-nek milyen alkalmazási területei vannak? 3. Milyen módszerrel titkosítana egy teljes CD tartalmát? Hogyan hitelesítené? 4. Soroljon fel legalább 3 szimmetrikus kulcsú titkosító algoritmust! Ismertesse főbb jellemzőit! 5. Soroljon fel legalább 2 kriptográfiai lenyomatfüggvényt! Mik a jellemzőik? 6. Mire használható az SSL? Milyen rétegben (szinten) használható? 7. Mi a JSSE? Mi a JCE és mi a jelentősége? 8. Mi a hitelesítő központ? Mi a tanúsítvány? 5. További információk 5.1. OpenSSL használata Kulcspár létrehozása: openssl genrsa -des3 -out mykey.key 512 Önaláírt tanúsítvány készítése: openssl req -new -x509 -days 1 -key ca.key -out ca.crt Tanúsítvány kérelem létrehozása: openssl req -new -key server.key -out server.csr Tanúsítvány kiadása: openssl ca -out server.crt -in server.csr 6

Tanúsítvány és kulcs összevonása egy fájlba: openssl pkcs12 -export -inkey client.key -in client.crt -out client.p12 Tanúsítvány visszavonása: openssl ca -revoke cert.crt Visszavonási lista készítése: openssl ca -gencrl -out crl.pem Tanúsítvány konvertálása PEM-ről DER formátumba: openssl crl -inform PEM -outform DER -in cert.pem -out cert.der 5.2. Apache webkiszolgáló A kiszolgáló indítása: apachectl start A kiszolgáló leállítása: apachectl stop A kiszolgáló újraindítása: apachectl restart A kiszolgáló beállításainak tesztelése: apachectl configtest A beállítások a conf/httpd.conf fájlban találhatók. SSLVerifyClient SSLCACertificateFile 5.3. Java Keytool Kulcstár létrehozása: keytool -genkey -keystore my.keystore -keysize 1024 -alias alias Tanúsítvány kérelem létrehozása: keytool -certreq -keystore my.keystore -file req.csr -alias alias Tanúsítvány importálása: keytool -import -file cert.der -keystore my.keystore -alias alias Kulcstár listázása: keytool -list -keystore my.keystore Java indítása megadott kulcstárral: java -Djavax.net.ssl.keyStore=my.keystore -Djavax.net.ssl.keyStorePassword=password MainClass 7

JAR aláírása: jarsigner -keystore my.keystore applet.jar alias Java indítása megadott tanúsítványtárral: java -Djavax.net.ssl.trustStore=my.keystore -Djavax.net.ssl.trustStorePassword=password MainClass SSL debug üzenetek kiiratása: java -Djavax.net.debug=ssl MainClass 5.4. Kapcsolódó anyagok, ajánlott olvasmányok SSL - Secure Socket Layer http://www.hit.bme.hu/ buttyan/courses/bmevihi4372/ssl.pdf http://www.hit.bme.hu/ buttyan/courses/bmevihi9367/ssl_tls.ppt Java security http://www.hit.bme.hu/ buttyan/courses/bmevihi9367/java_security.ppt The PKI page http://www.pki-page.org OpenSSL man oldalak man openssl OpenSSL honlap http://www.openssl.org Apache webkiszolgáló dokumentációja http://httpd.apache.org/docs/ mod-ssl dokumentáció http://www.modssl.org/ JavaTM 2 SDK, Standard Edition Documentation http://java.sun.com/j2se/1.4.2/docs/ JavaTM Secure Socket Extension (JSSE) - Reference Guide http://java.sun.com/j2se/1.4.2/docs/guide/security/jsse/jsserefguide.html Java Secure Socket Extension (JSSE) http://java.sun.com/products/jsse/ keytool - Key and Certificate Management Tool http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/keytool.html http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/keytool.html java - the Java application launcher http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html http://java.sun.com/j2se/1.4.2/docs/tooldocs/linux/java.html javac - Java programming language compiler http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/javac.html http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javac.html 8

jarsigner - JAR Signing and Verification Tool http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/jarsigner.html http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html The Java Tutorial http://java.sun.com/docs/books/tutorial/index.html The Java Tutorial - Trail: Custom Networking http://java.sun.com/docs/books/tutorial/networking/ Mozilla: NSS and SSL Error Codes http://www.mozilla.org/projects/security/pki/nss/ref/ssl/sslerr.html Security Focus: An Introduction to OpenSSL, Part Three: PKI- Public Key Infrastructure http://www.securityfocus.com/infocus/1466 9