- Published on
Bővebben a tanúsítványokról
- Authors
- Name
- Bartók Dániel
BUÉK 2024!
Egy picit megkésve, de boldog új évet kíván a Zsebinformatikus!
Egy héttel hamarabb szerettem volna ezt a bejegyzést kitenni az oldalra, a már sokat emlegetett videókkal egyetemben, de a karácsony előtti héten sikeresen lebetegedtem és azóta sem sikerült teljesen meggyógyulnom. Szerencsére már csak a hangom nem az igazi, viszont ez pont elég hátráltatás a videóknál. Nagyon remélem, hogy ez a napokban változni fog.
Addig is fogadjátok sok szeretettel az új év első bejegyzését, amely egyben az első haladó is. Törekszem itt is a közérthetőségre, viszont itt már valamennyi előképzettség nem árt a teljes érthetőség szempontjából. Mindig le fogom írni ilyen esetekben, mely alapozó bejegyzéseket érdemes ismerni, illetve milyen további ismeretek ajánlottak.
Hasznos perceket!
A haladó bejegyzés megértéséhez szükséges előképzettség:
Az alábbi alapozó bejegyzések ismerete:
További ajánlott ismeretek:
Openssl használata és a tanúsítvány felépítése
A legutóbbi alapozó bejegyzésekben megismertük, milyen folyamatok zajlanak le, amikor egy biztonságos, az-az egy https weboldalt felkeresünk. Ilyenkor a hitelesítési szakaszban a szerver elküldi a kliensnek a tanúsítványát, amely által megállapítható a szerver kiléte. Na, de mit is jelent ez a gyakorlatban?
A szerver tanúsítványt mi magunk is elég egyszerűen megszerezhetjük. Nem kell hozzá csak egy unix terminál
és az openssl
"alkalmazás". Az eszközzel számos dolgot megtehetünk, amelyek érintik a tanúsítványokat, mi most az s_client
parancsot fogjuk használni, ami kvázi "eljátssza" egy a szerverhez (esetünkben a zsebinformatikus weboldal) kapcsolódó kliens (böngésző) szerepét. Ezt főleg különféle SSL hibák felderítésében szokták használni. Mi most ezzel fogjuk lekérni a weboldal szerver tanúsítványát.
Ehhez nincs is más dolgunk, mint az alábbi parancsot kiadni egy internettel rendelkező unix terminálban.
openssl s_client -connect www.zsebinformatikus.hu:443
Ekkor a lenti képhez hasonlót kapunk vissza. A Server certificate résznél megkapjuk a szerver tanúsítványát. Első ránézésre a Begin és az End között csupa értelmezhetetlen karaktereket látunk, de ezt kibonthatjuk, hogy emberi "fogyasztásra" is alkalmas legyen. De mielőtt ez még megtesszük, felhívnám a Kedves Olvasó figyelmét az utolsó két sorra.
A subject mezőben azt látjuk ki számára lett a tanúsítvány kiállítva. Az issuer részben pedig a tanúsítvány kiállító személye olvasható.
A tanúsítvány kibontására szintén a már eddig bemutatott alkalmazást vesszük elő, ehhez az x509
parancsot fogjuk használni. A tanúsítványok formátuma szabványban van leírva. Több ilyen szabvány is létezik, az egyik ezek közül a már említett x509.
openssl s_client -connect www.zsebinformatikus.hu:443 | openssl x509 -text -noout
Az alábbi képeken a tanúsítvány mezői látszódnak, immár olvasható formában. Ezek közül a legfontosabbak:
- Version - A tanúsítvány verziója, az *x509-*es szabványból jelenleg a 3-as a legfrissebb
- Signature Algorithm: A tanúsítvány kiállító által használt titkosítási algoritmus
- Issuer: A tanúsítvány kiállító "személye"
- Validity: A kiállított tanúsítvány érvényességi ideje. Amennyiben lejárt tanúsítvánnyal rendelkező weboldalra látogatunk, arra a legtöbb modern böngésző felhívja a figyelmet. Nem ajánlott az ilyen oldalak látogatása!
- Subject: A tanúsítvány "tulajdonosa".
- Subject Public Key Info: A tanúsítványhoz tartozó publikus kulcs
Végezetül még egy mezőt megmutatnék, a Subject Alternative Name-et (röviden SAN). A mezőben több tulajdonosi név adható meg, ahol a tanúsítvány felhasználhatjuk. Ez azt jelenti, hogy ha például van egy weboldal, aminek több címe is van, alma és körte, akkor nem muszáj mindkét névre egy-egy tanúsítvány kiállítani. Csinálhatjuk azt, hogy az almára kiállíttatunk egy tanúsítványt és ebben a mezőben pedig felvesszük a körtét is.
Az alábbi képen látható, hogyan is néz ez ki a zsebinformatikus esetén. Láttuk fentebb, maga a tanúsítvány a zsebinformatikus.hu címre lett kiállítva. A SAN mezőben pedig ezen felül van még egy *.zsebinformatikus.hu cím is.
Itt a csillag jelentése bármi, így van az megoldva, hogy a weboldal a https://zsebinformatikus.hu és a https://www.zsebinformatikus.hu címen is elérhető ugyanazzal a tanúsítvánnyal.
openssl s_client -connect zsebinformatikus.hu:443 | openssl x509 -text -noout | grep Subject:
Subject: CN = zsebinformatikus.hu
openssl s_client -connect www.zsebinformatikus.hu:443 | openssl x509 -text -noout | grep Subject:
Subject: CN = zsebinformatikus.hu
Összegezve tehát megnéztük, hogy lehet egy nyilvánosan elérhető weboldalról lekérni a hozzá tartozó szerver tanúsítványt és megismertük az x509-es szabványú tanúsítvány legfontosabb mezőit.
Footnotes
Az egyik ilyen Windowson is használható terminál a Windows Terminal ↩
Az openssl angol dokumentációja az alábbi linken olvasható. ↩