Gnu Privacy Guard (GnuPG) Mini Howto (Magyar verzió)

Szommer Péter (magyar verzió) <szpl@metal.elte.hu>

Brenno J.S.A.A.F. de Winter (angol verzió) <brenno@dewinter.com>

Michael Fischer v. Mollard (német verzió) <fischer@math.uni-goettingen.de>

Version 0.1.0 Nov 18th 1999


Ez a leírás a GNU Privacy Guard (GnuPG) program használatát ismerteti, amely egy az Open Source OpenPGP-vel kompatibilis titkosító rendszer. A program teljesen szabad használatát biztosítandó, mellőzték az RSA és más szabadalommal védett algoritmusok használatát. A leírást eredetileg Michael Fischer v. Mollar írta németül. Ezen leírás a Brenno J.S.A.A.F. de Winter által készített angol fordítás alapján készült.

1. Fogalmak

2. Installálás

3. A kulcsok használata

4. Kódolás és dekódolás

5. Aláírás és aláírások ellenőrzése

6. Információforrások

7. Ezen dokumentumról


1. Fogalmak

1.1 Nyílt kulcsú titkosítás

A hagyományos titkosítási módszerek egyetlen kulcsot használnak kódolásra. A feladó ezzel a kulccsal titkosítja az üzenetet. A címzettnek a visszafejtéshez ugyanerre a kulcsra van szüksége. Ezt a kulcsot oly módon kell eljuttatni a címzetthez, hogy másoknak ne legyen lehetőségük a megszerzésére. Ha bárki másnak is megvan ez a kulcs, a titkosítás ezen módszere haszontalan.

Az úgynevezett nyílt kulcsok használatával megoldhatjuk ezt a problémát. A nyílt kulcsok eljárásnál két kulcsot használunk. Az egyik egy nyilvános kulcs amit bármilyen úton-módon terjeszthetünk és bárki megszerezheti. A másik kulcs a titkos kulcs. Ez titkos és nem szabad terjeszteni. Ehhez a kulcshoz csak a tulajdonosának szabad hozzáférnie. Ha a rendszert jól valósítják meg a nyilvános kulcsból nem határozható meg a titkos kulcs. A küldő a címzett nyilvános kulcsával kódolja az üzenetet. A dekódolás a címzett titkos kulcsával történik.

Ebben a módszerben létfontosságú, hogy a titkos kulcs titkos maradjon, senkinek nem adhatjuk oda és azt is biztosítani kell, hogy ne is férhessen hozzá más csak a kulcs tulajdonosa. SOHA NE KÜLDJÜK EZT A KULCSOT AZ INTERNETEN KERESZTÜL! Továbbá nem túl bölcs dolog a GnuPG-t telnet-en keresztül használni. (A nagy biztonsági kockázat miatt egyáltalán nem célszerű telenetet használni. Alternatívaként például használhatjuk az ssh-t -a ford.)

1.2 Digitális aláírások

Annak bizonyítására, hogy egy üzenetet valóban az állítólagos feladó küldte, kitalálták a Digitális Aláírást. Ahogy azt a neve is mutatja az üzenetet a küldő digitálisan aláírja. Ezzel az aláírással ellenőrizhető egy üzenet valódisága. Így csökkenthetjük annak veszélyét, hogy trójai lovat kapunk (ez egy olyan file, ami pl. azt állítja hogy javítás valamely problémára de valójában egy vírust tartalmaz vagy a számítógépeden levő adatokkal tesz valamit). Információk és adatok legális forrásból való származását is ellenőrizhetjük vele amiket ezáltal hitelesnek tekinthetünk.

Digitális aláírást a titkos kulcs és a szöveg kombinálásával hozunk létre. A küldő nyilvános kulcsát használva ellenőrizhető az üzenet. Nemcsak a küldő személye ellenőrizhető hanem a tartalom is. Tehát tudhatjuk, hogy az üzenet tényleg a feladótól jött és a továbbítási folyamat során nem változott meg.

1.3 A bizalom hálózata

A nyílt kulcsú algoritmusok gyenge pontja a nyilvános kulcsok terjesztése. Egy felhasználó hamis kóddal rendelkező felhasználói azonosítót juttahat be a rendszerbe. Ha ezzel a kóddal küldenek üzeneteket a behatoló dekódolhatja és elolvashatja a (nem neki szánt) üzeneteket. Ha ezután a címzett eredeti nyilvános kulcsával kódolja a visszafejtett üzenetet majd ezt továbbküldi az eredeti címzettnek a támadás nem észrevehető.

Ennek a problémának a feloldására a PGP (és ezáltal automatikusan a GnuPG is) a kulcsok aláírását használja. Egy nyilvános kulcsot mások is aláírhatnak. Ezek a további aláírások azt igazolják, hogy az adott UID (User Identification, felhasználó azonosító) által használt kulcs valóban ahhoz a személyhez tartozik mint állítja. Ezután már a GnuPG használóján múlik mennyire bízik meg az aláírásban. Megbízhatónak tekinthet egy kulcsot ha megbízik a kulcs küldőjében és biztosan tudja hogy a kulcs valóban ahhoz a személyhez tartozik. Kizárólag akkor bízhatunk meg az aláírásban ha megbízunk az aláíró kulcsában. Ha abszolút biztosak akarunk lenni abban, hogy a kulcs valódi, megbízható csatornákon keresztül össze kell hasonlítanunk az ún. ujjlenyomatokat.

1.4 A biztonság korlátai

Ha olyan adataink vannak amelyeket titokban szeretnénk tartani, nem elég azt eldönteni hogy milyen kódoló algoritmust használjunk. Át kell gondolnunk a teljes biztonsági rendszerünket. Alapvetően biztonságosnak tekintjük a PGP-t és ezen leírás készítésekor a szerzőnek nem volt tudomása egyetlen olyan esetről sem ahol a PGP-t feltörték volna. Ez nem jelenti azt, hogy minden amit kódoltunk biztonságban van (például sem az NSA, az amerikai Nemzeti Biztonsági Ügynökség nem fog értesíteni minket arról hogy valahogy sikerült feltörniük a PGP-t sem mások, akik mindenféle rossz szándékból törnek kódot). De még ha a PGP teljesen feltörhetelen is, vannak más módjai is a biztonság elleni támadásnak. Február elején találtak egy olyan trójai vírust amely a winchesteren megkereste a titkos PGP kulcsokat majd FTP-n keresztül elküldte őket valakinek. Ha a jelszót (amit a titkos kulcs tárolás közbeni kódolására használunk) rosszul választottuk meg a titkos kulcs könnyen kinyerehető.

Egy másik technikai lehetőség (bár sokkal bonyolultabb) olyan trójai vírusok használata amelyek a billentyűzetleütéseket küldik el valahova. Szintén lehetséges (de nagyon nehéz) a képernyő tartalmának "lehallgatása". Ilyen esetekben nincs szükség az üzenetek feltörésére. Mindezen kockázati tényezők figyelembevételével egy jól átgondolt biztonsági tervet kell készíteni amit életbe is léptetünk.

Nem az a célunk hogy paranoiát keltsünk az emberekben, hanem hogy rámutassunk milyen sokat kell tennünk ahhoz hogy nagyobb biztonságot teremtsünk. A legfontosabb hogy megértessük, a titkosítás csak egy lépés a biztonság felé és nem egy teljes megoldás. Ahogyan azt az 1999 márciusában feltűnt Melissa vírusbeli trójai programok bebizonyították, sok társaság nincs felkészülve rájuk.


2. Installálás

2.1 A GnuPG beszerzése

A hivatalos letöltési hely: GnuPG Honlap. Ezen a helyen linkeket találunk a tükörhelyekhez.

Jogi korlátozások miatt nem szabad USA-beli szerverekről letölteni a GnuPG-t. Az USA-ban korlátozások vannak érvényben a titkosító programok kivitelét illetően. Ez az oka annak, hogy a PGP mindíg egy nemzetközi és egy nemzeti (az USA-n belüli) változatban is elérhető. A nemzetközi verzió esetében a forráskódot nyomtatott formában, könyvként vitték ki az országból. Ezután Európában (Oslóban) beszkennelték. A témával kapcsolatban további információk a Nemzetközi PGP Honlapon találhatók. A PGP nemzetközi változata szabadon importálható az Egyesült Államokba amíg nem exportálják tovább.

Változás: 2000 januárjában az amerikai kormány enyhített az exportkorlátozásokon és nyílt forráskódú titkosító programok forráskódja felteheteő letöltésre a hálózatra, csak egy értesító emailt kell küldenie a megfelelő címre. Nekünk ez annyit jelent, hogy az USA-ból is szabadon letölthetők és használhatók az ilyen programok (amíg demokrácia van nálunk és nem akarják korlátozni ezek használatát.).

Ha valaki már felinstallálta a GnuPG-t vagy a PGP-t, ellenőrizze a file aláírását. (lásd Aláírások).

2.2 Konfigurálás

A GnuPG-hez Debian csomagként, RPM csomagként (Redhat Package Manager) vagy forráskódként juthatunk hozzá. A csomagok bináris file-ként installálódnak a linux platformokhoz szükséges segédprogramokkal együtt. Ha más platformon szeretnénk használni a GnuPG-t, le kell fordítanunk magadnak. Nagyon szívesen vennénk ha a más platformokhoz készített eltérő installálási módszereket hozzáférhetővé tennéd a széles tömegek számára.

Mivel a fejlesztés legnagyobb része Linuxon (x86) történik, más rendszerekre való átvitele nem okozhat különösebb problémát. A GnuPG-t támogató operációs rendszerek aktuális listája a GnuPG Honlapon található meg. Az alábbiakban leírt eljárás meglehetősen platformfüggetlen. Az ismertetett eljárás a forráskódból történő GnuPG installálást írja le.

Bontsuk ki a tar csomagot a következő paranccsal:

 
tar xvzf gnupg-?.?.?.tar.gz 

A kibontás után lépjünk a forráskódot tartalmazó könyvtárba. Itt adjuk ki a

 ./configure 
parancsot.

Ha így teszünk, semmi különleges nem történik. Ha a

 
./configure --help 
parancsot adjuk ki, megnézhetjük a fordítás rendelkezésre álló beállítási lehetőségeit. Ha problémák merülnének fel a nemzetköziesítéssel kapcsolatban (GET text), a --with-included-gettext opció használatával megadhatunk másikat vagy kikapcsolhatjuk a --disable-NLS kapcsoló használatával.

2.3 Fordítás

Ezek után a fordítás a

 
make 
parancs kiadásával történik. A fordításnak probléma nélkül le kell futnia. Ha mégis felmerülne bármilyen probléma, a következők szerint járjunk el (az itt olvashatókkal megegyező sorrendben): Először próbáljuk meg magunk megoldani a dolgot (természetesen a rendelkezésre álló dokumentáció segítségével). Ezek után bizonyosodjunk meg arról hogy ez nem egy ismert hiba (ellenőrizd a http://www.gnupg.org-on található BUGS file-t). Ezután kérdezzünk meg valaki ismerőst. Ha mindezen lépések nem oldják meg a problémát küldjük el egy levélben a GnuPG levelező listára (lásd Információforrások). Ha a probléma az elérési utakkal van kapcsolatban, próbáljuk meg kiadni a make clean majd a configure parancsot majd próbáld újra lefordítani. Ha ez sem működik ideje pánikba esnünk.

2.4 Installálás

Írjuk be:

 
make install 
Ez másolja be ténylegesen a programot és a man oldalakat az install könyvtárba. Ha a ./configure kiadásakor nem változtattuk meg az install könyvtárat ez a usr/local/share/gnupg/ könyvtár lesz. Ezt a könyvtárat az options.skel file-ban talájuk meg. Ha ezt átmásoljuk a ~/.gnupg/options file-ba a benne található beállítások lesznek az alpértelmezettek. A másolás elvileg a ~/.gnupg/ létrehozásakor automatikusan megtörténik. A lehetséges beállítások jól dokumentáltak ezért az itt való ismertetésük nem szükséges.

A GnuPG-t futtahatjuk suid root-kent is. Ezáltal a program a superuser összes jogával fut. Ha így teszünk kizárjuk annak lehetőségét, hogy a program bizonyos részei kívül tárolásra kerüljenek és ezáltal bárki számára olvashatóvá váljanak. Én magam nem tudom megítélni ennek kockázatát. Annak aki suid root-ként futtatja a programot tudatában kell legyen a trójai programok veszélyének. Egy root jogokkal futó trójai program az egész rendszert tönkreteheti. Ha ezen okból (vagy más okból) úgy döntünk hogy nem suid root-ként futtatjuk a GnuPG-t, a figyelmezetetéseket a no-secmem-warning beállításával kapcsolhatjuk ki a ~/.gnupg/options file-ban.


3. A kulcsok használata

3.1 Kulcs készítése

A

 
gpg --gen-key 
paranccsal egy új kulcspárt készíthetünk (kulcspár: titkos és nyilvános kulcs). Az első kérdés az, hogy milyen algoritmust használjunk. Az algoritmusokról bővebben a PGP DH és az RSA összehasonlítása GYIK-ban olvashatunk vagy az Alkalmazott kriptográfiá-ban. Használjuk az alapértelmezett DSA/ ElGamal kódolást. Ez nem szabadalmaztatott algoritmus tehát a használatát sem korlátozza semmi.

A következő kérdés a kulcs hossza. Ez egy nagyon felhasználótól függő dolog. Választanunk kell biztonság és számítási idő között. Ha egy kulcs hosszabb, az üzenet elfogása esetén a feltörés kockázata csökken. Ugyanakkor a hosszabb kulcs hosszabb számítási idővel jár együtt. Ha a számítási idő fontos számunkra akkor is figyelembe kell vennünk hogy esetleg évekig nem használjuk a kulcsot mialatt a törésre használható számítási teljesítmény jelentősen megnő. A GnuPG által megkövetelt minimális kulcshossz 768 bit. Lehet hogy néhányan azt mondják 2048 bites kulcs kell (ami jelenleg egyben a maximum is a GnuPG-ben ). A DSA-ban az 1024 bit a szabvány méret. Ha a biztonság mindenekfeletti prioritást élvez, a lehetséges legnagyobb kulcsméretet válasszuk.

Ezután a rendszer bekéri a neveket, megjegyzéseket és e-mail címeket. Az itt megadott adatok szolgálnak a kód azonosítására. Később ezek módosíthatók. Lásd Kulcspárok adminisztrációja. Célszerű hosszabb érvényes e-mail címet választani mivel a teljes felhasználói azonosító aláírásra kerül. Ha a címet megváltoztajuk, az aláírás nem lesz érvényes a megváltoztatott adatokkal.

Végül meg kell adnunk egy jelszót (vagy inkább jelmondatot, mivel szóközök is megengedettek). Ez a jelszó biztosítja a titkos kulcshoz kapcsolódó funkcionalitást. Egy jó jelszó (jelmondat) a következő tulajdonságokkal rendelkezik:

KiS és nAGybEtűk kEVerT használatával tovább növelhetjük a biztonságot. Úgy válasszuk meg a jelszót hogy biztosak legyünk benne hogy NEM FOGJUK ELFELEJTENI. A titkos kulcs a jelszó nélkül használhatatlan. Bölcs előrelátás lehet rögtön a kulcspár generálásakor egy érvénytelenítési igazolást készíteni (amit aztán NAGYON jól kell őrizni!). Kulcs érvénytelenítése.

Miután mindent megadtunk a rendszer legenerálja a kulcsokat. Ez némi időt vesz igénybe. Ez alatt az idő alatt rengeteg véletlen adatot kell gyűjtenie. Segíthetjük a rendszert a változó véletlen adatok gyűjtésében azzal ha egy másik képernyőn dolgozunk. Ahogy mostanra bizonyára megértettük, a kulcs mindíg más lesz. Ha 5 perc különbséggel generálunk két kulcsot ugyanazokkal az adatokkal két különböző kulcsot kapunk. Most már érthető miért nem szabad elfelejtenünk a jelszót.

3.2 Kulcsok exportálása

A

 
gpg --export [UID] 
parancs az adott UID-hez tartozó kulcsot exportálja. Ha nem adunk meg UID-t akkor az összes jelenlegi kulcsot exportálja a program. Alapértelmezésben a kimenetet a stdout-ra küldi, a -o kapcsolóval átirányíthatjuk egy file-ba. Tanácsos a -a kapcsolóval kimenteni a kulcsot mivel ekkor egy 7-bites kódolású ASCII file-t hoz létre.

A nyilvános kulcs exportálása nagyobbra nyithatja előttünk a világot. Ezzel a lépéssel lehetőséget biztosítunk mások számára arra hogy biztonságosan vehessék fel velünk a kapcsolatot. A kulcsot feltehetjük a web-oldalunkra, elérhetővé tehetjük a finger útján, egy kulcs szerveren keresztül vagy bármilyen más módon ami csak eszünkbe jut.

3.3 Kulcsok importálása

Amikor megkapjuk valakinek a nyilvános kulcsát (vagy néhány nyilvános kulcsot) el kell helyeznünk azt a kulcskarikánkon ahhoz hogy használni tudjuk. Az erre szolgáló parancs a

 
gpg --import [Filename] 
ahol a Filename az a file amelyik az importálandó kulcso(ka)t tartalmazza. Ha nem adunk meg filenevet a program a stdin-ról olvas.

3.4 Kulcs érvénytelenítése

Különböző okoból lehet szükségünk egy kulcs érvénytelenítésére. Például ellopták a titkos kulcsot vagy rossz kezekbe került, megváltozott a UID, a kulcs már nem elég hosszú stb. A kulcsunkat a

 
gpg --gen-revoke 
paranccsal érvénteleníthetjük. Ekkor a program létrehoz egy érvénytelenítési igazolást. Ahhoz hogy ezt megtehessük, szükségünk van a titkos kulcsunkra, különben bárki érvényteleníthetné a kulcsunkat. Ennek van egy hátránya is. Amennyiben elfelejtjük a jelszót a kulcs használhatatlanná válik. De így a kulcsot nem tudjuk érvényteleníteni! Ezen probléma elkerülésére bölcs dolog a kulcspárunk létrehozásakor létrehozni egy érvénytelenítési igazolást. Ha viszont így teszünk nagyon vigyázzunk rá! Tárolhatjuk lemezen, papíron stb. Gondoskodjunk róla hogy ne kerüljön rossz kezekbe!!!!. Ha nem így teszünk bárki akinek kezébe került felhasználhatja és ezáltal a kulcsunkat használhatatlanná teheti.

3.5 Kulcs adminisztrálás

A kulcskarika egy file amit egyfajta adatbázisnak tekinthetünk. Ebben a file-ban található meg az összes kulcs a hozzátartozó információkkal együtt (minden információ az ún. Ownertrust értékek kivételével). Erről részletesebben a Kulcs aláírása) részben olvashatunk. A

 
gpg --list-keys 
parancs hatására a kulcskarikánkon található összes kulcs kilistázódik. Ha a hozzájuk tartozó aláírásokat is ki szeretnénk listáztatni a
 
gpg --list-sigs 
parancsot adjuk ki (lásd a Kulcs aláírása szekciót bővebb információkért). Ha a kulcsokat a hozzájuk tartozó ujjlenyomatokkal együtt szeretnénk látni a
 
gpg --fingerprint 
parancsot kell kiadnunk. Az ujjlenyomatok rövid számsorok melyekkel a kulcsokat azonosíthatjuk. Ez például arra jó hogy meggyőződjünk arról hogy valaki tényleg az akinek mondja magát (például egy telefonbeszélgetésben). Ennek a parancsnak a kimenete viszonylag kis számokból áll.

A titkos kulcsok kilistázására a

 
gpg --list-secret-keys 
parancs szolgál. Megjegyezzük hogy privát kulcsokból történő ujjlenyomat és aláírás listázásank nincs értelme.

Egy nyilvános kulcs törlésére a

 
gpg --delete-key UID 
parancs. míg egy titkos kulcséra a
 
gpg --delete-secret-key 
szolgál.

Egy fontosabb kulcskezelő parancs maradt még, a

 
gpg --edit-key UID 
Az ezt követő menüben egyebek között megváltoztathatjuk a jelszót és a kulcs lejárati idejét, ujjlenyomatot adhatunk hozzá és aláírhatjuk amiről a következő fejezetben lesz szó.

3.6 Kulcs aláírása

Mint már korábban említettük a rendszer Achilles-sarka a nyilvános kulcsok hitelesítése. Ezért hozták létre a kulcsok aláírását. Ezzel az aláíró tanusítja, hogy a kulcs tulajdonosa valoban az UID-ben megadott személy.

Miután a gpg --edit-key UID paranccsal kiválasztottuk az alírni kívánt kulcsot az aláírás a sign parancs hatására történik meg.

Kizárólag olyan kulcsot írjunk alá amelynek eredetiségéről meg vagyunk győződve!. Ez akkor lehet ha az ember vagy személyesen jutott hozzá (például egy kulcsaláíró partin) vagy más módon és ezután ellenőrizte azt (például telefonon) az ujjlenyomat-mechanizmus segítségével. Soha ne írjunk alá kulcsot feltételezésekre alapítva!

A rendelkezésre álló aláírások és "Ownertrust"-ok segítségével a GnuPG ellenőrzi a kulcsok érvényességét. Az Ownertrust egy olyan érték amit a kulcs tulajdonosa arra használ hogy a kulcs megbízhatósági szintjét megjatározza. A lehetséges értékek:

Ha a felhasználó nem bízik meg egy aláírásban ezzel a mechanizmussal veheti rá a GnuPG-t hogy ne vegye figyelembe azt. Az Ownertrust értékeket nem a kulcskarikán hanem egy külön file-ban tárolja a program.


4. Kódolás és dekódolás

Miután mindent telepítettünk és konfiguráltunk nekiláthatunk kódolni és dekódolni.

Ha több privát kulccsal rendelkezünk, kódolás és dekódolás előtt meg kell mondanunk a programnak melyiket akarjuk használni. Ez lesz az aktív kulcs. Az aktiválást a -u UID vagy a --local-user UID kapcsolóval végezhetjük. Ez a parancs a konfigurációs file-ban a default-key KeyID paranccsal megadott alapértelmezett kulcsot cseréli ki az újonnan megadottra.

A címzettet a -r vagy --recipient kapcsolókkal változtathatjuk meg.

4.1 Kódolás

A kódolást a

 
gpg -e Recipient [Data] 
vagy a
 
gpg --encrypt Recipient [Data] 
paranccsal végezhetjük el. Annak veszélyét elkerülendő hogy valaki azt mondja magáról hogy ő mi vagyunk nagyon hasznos minden kódolt adatot aláírni lásd Aláírások.

4.2 Dekódlás

A dekódolást a

 
gpg [-d] [Data] 
vagy a
 
gpg [--decrypt] [Data] 
paranccsal végezhetjük el. Alapértelmezésben itt is a stdout-ra küldi a program az eredményt de a -o opció használatával átirányíthatjuk a kimenetet egy file-ba.


5. Aláírás és aláírások ellenőrzése

Egy adatfile saját kulcsunkkal való aláírásáshoz a

 
gpg -s (or --sign) [Data] 
parancsot használjuk. Ezzel egyidőben a program tömöríti is az adatokat ezáltal olvashatatlanná válnak. Ha olvasható eredményt akarunk, használjuk a

 
gpg --clearsign [Data] 
parancsot. Ez biztosítja, hogy az eredmény olvasható marad.

A

 
gpg -b (or --detach-sign) [Data] 
paranccsal egy külön file-ba irathatjuk az aláírást. Ez különösen akkor ajánlott ha bináris file-okat írunk alá (például ?archives). Ezeknél a parancsoknál nagyon hasznos lehet a --armor opció.

Gyakran talákozhatunk olyan file-okkal melyeket kódoltak és alá is írtak. Ilyet a

 
gpg [-u Sender] [-r Recipient] [--armor] --sign --encrypt [Data] 
paranccsal készíthetünk.

A -u és (--local-user) valamint a -r és (--recipient) opciók a fentieknek megfelelően működnek.

Ha egy kódolt file-t még aláírással is hitelesítettek a dekódoláskor az aláírást is ellenőrizhetjük a

 
gpg [--verify] [Data] 
paranccsal. Ez természetesen csak akkor lehetséges ha a küldő nyilvános kulcsa a birtokunkban van.


6. Információforrások

6.1 GnuPG

6.2 PGP

A PGP egy régebbi és széles körben elterjedt titkosító program. Az évek során rengeteg leírás készült hozzá amelyek nagyon hasznosak. Ezen információ nagy része annyira általános, hogy a GnuPG-re is érvényes. Ezen leírások a következő helyeken találhatóak:

6.3 Kulcsszerverek

6.4 Könyvek


7. Ezen dokumentumról

Copyright © 1999 Szommer Péter (magyar változat) Copyright © 1999 Brenno J.S.A.A.F. de Winter (angol változat) Copyright © 1999 Michael Fischer v. Mollard (eredeti német verzió)

This document is free documentation you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

7.1 Verziók

Eredeti német verzió: Az első német verzió a 0.1 volt

Változások a magyar verzióban