A Certificate Transparency (CT) a TLS tanúsítványok kiállításának naplózására és felügyeletére szolgáló rendszer. A CT jelentősen növeli mindenki képességét a tanúsítványkiadások nyomon követésére és elemzésére, és ezek a lehetőségek számos fejlesztést eredményeztek a hitelesítésszolgáltatói ökoszisztémában és a webbiztonság terén. Ennek eredményeképpen a CT gyorsan kritikus infrastruktúrává válik.
A Let's Encrypt minden általa kiállított tanúsítványt átad a CT naplóknak. Mi magunk is üzemeltetünk CT-naplókat. Minden nyilvánosan megbízható hitelesítésszolgáltató szívesen küldhet be adatokat a naplóinkba. Számos hitelesítésszolgáltató gyökértanúsítványa már szerepel a CT-naplóinkban. Ha hitelesítésszolgáltatást üzemeltetsz, és a kiállítód nincs az elfogadott kiállítók listáján, kérjük, jelezd a problémát itt.
Iratkozz fel értesítésekre a közösségi fórumunk CT-értesítések kategóriájában, hogy megkapd a fontos bejelentéseket a CT-naplóinkról.
Ha a szervezeted szeretne segíteni munkánk folytatásában, kérjük, fontold meg a támogatást vagy adományozást.
Információk a CT-naplók különböző életciklus-állapotairól itt találhatók.
A Let’s Encrypt jelenleg static-Ct naplókat üzemeltet, amelyek a Sunlight alapjain működnek.
Az elfogadott gyökértanúsítványokra, nyilvános kulcsokra, naplóazonosítókra és shard intervallumokra vonatkozó információk az egyes naplók kezdőoldalán érhetők el, amelyek lentebb vannak belinkelve.
A Sycamore és a Willow a produkciós CT-naplóink, amelyek megbízható hitelesítésszolgáltatóktól (CA-któl) fogadnak el tanúsítványokat.
A Twig egy teszt napló, amely megbízható hitelesítésszolgáltatóktól (CA-któl) származó tanúsítványokat, valamint néhány további teszt CA-t is elfogad, beleértve a Let’s Encrypt staging környezetét is.
A Let’s Encrypt korábban egy Trillian alapú naplót üzemeltetett, amely az RFC 6962 API-t valósította meg. Jelenleg csak olvasható módban érhető el, és 2026 februárjában leállításra kerül. További információkért lásd az az RFC 6962 Certificate Transparency naplóink élettartamának megszűnésére vonatkozó tervet . Szükség esetén az URL-ek és a naplókulcsok megtalálhatók a Google és az Apple CT-naplólistáiban. A régi produkciós napló neve Oak volt.
Futtattunk korábban Testflume és Sapling nevű teszt naplókat is, amelyek már nem érhetők el.
Az adott CT-naplóhoz tartozó gyökértanúsítványok felsorolásához a következő parancsot futtathatod a választott terminálban:
$ for i in $(curl -s https://oak.ct.letsencrypt.org/2020/ct/v1/get-roots | jq -r '.certificates[]'); do
echo '------'; base64 -d <<< "${i}" | openssl x509 -inform der -noout -issuer -serial
done
A tanúsítványok CT-naplóba történő beküldését általában a tanúsítványkiadó hatóságok (CA-k) végzik. Ha szeretnéd kipróbálni, kezd azzal, hogy szerezz be egy tetszőleges PEM formátumú tanúsítványt a kedvenc weboldalunkról. Másold be a következő blokkot a terminálodba.
$ echo | \
openssl s_client \
-connect "letsencrypt.org":443 \
-servername "letsencrypt.org" \
-verify_hostname "letsencrypt.org" 2>/dev/null | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > example.crt
Mielőtt egy tanúsítványt be lehetne küldeni, azt JSON formátumban, egy speciális szerkezetbe kell ágyazni. A feladat elvégzéséhez használhatod a JSON generátort a következő oldalon: https://crt.sh/gen-add-chain . A crt.sh segédprogram egy JSON csomagot fog visszaadni. Töltsd le a bundle-t a számítógépedre, szükség esetén nevezd át a fájlt, majd futtasd a következő parancsot az add-chain művelet elvégzéséhez (RFC 6962, 4.1. szakasz), amellyel a tanúsítványt CT-naplóba küldheted. A kimenet tartalmazni fog egy aláírást, amely valójában egy SCT. A részletek az aláírásról egy kicsit később következnek.
$ curl \
-X POST \
--data @example-json-bundle.json \
-H "Content-Type: application/json" \
-H "User-Agent: lets-encrypt-ct-log-example-1.0" \
https://oak.ct.letsencrypt.org/2020/ct/v1/add-chain
{"sct_version":0,"id":"5xLysDd+GmL7jskMYYTx6ns3y1YdESZb8+DzS/JBVG4=","timestamp":1576689972016,"extensions":"","signature":"BAMARzBFAiEA4OmuTcft9Jq3XLtcdZz9XinXCvYEY1RdSQICXayMJ+0CIHuujkKBLmQz5Cl/VG6C354cP9gxW0dfgMWB+A2yHi+E"}
Annak megerősítéséhez, hogy a CT naplót az Oak 2020 shard írta alá, használjuk a fenti parancs id mezőjét, és futtassuk le a következő paranccsal. A parancs végrehajtásának eredménye a CT-napló Log ID-ját fogja kiírni.
$ base64 -d <<< "5xLysDd+GmL7jskMYYTx6ns3y1YdESZb8+DzS/JBVG4=" | xxd -p -c 64 | sed -e 's/../&:/g' -e 's/:$//' | tr '[:lower:]' '[:upper:]' E7:12:F2:B0:37:7E:1A:62:FB:8E:C9:0C:61:84:F1:EA:7B:37:CB:56:1D:11:26:5B:F3:E0:F3:4B:F2:41:54:6E
Az aláírás mező felhasználásával ellenőrizhetjük, hogy a tanúsítványt valóban beküldték-e egy naplóba. A mi SCT részletes útmutatónkat használva ezt az értéket tovább dekódolhatod.
$ base64 -d <<< "BAMARzBFAiEA4OmuTcft9Jq3XLtcdZz9XinXCvYEY1RdSQICXayMJ+0CIHuujkKBLmQz5Cl/VG6C354cP9gxW0dfgMWB+A2yHi+E" | xxd -p -c 16 | sed -e 's/../&:/g' -e 's/:$//' | tr '[:lower:]' '[:upper:]' 04:03:00:47:30:45:02:21:00:E0:E9:AE:4D:C7:ED:F4 9A:B7:5C:BB:5C:75:9C:FD:5E:29:D7:0A:F6:04:63:54 5D:49:02:02:5D:AC:8C:27:ED:02:20:7B:AE:8E:42:81 2E:64:33:E4:29:7F:54:6E:82:DF:9E:1C:3F:D8:31:5B 47:5F:80:C5:81:F8:0D:B2:1E:2F:84