יומני שקיפות אישורים (CT)

עדכון אחרון: December 11, 2025
הצגת כל התיעוד

שקיפות אישורים (CT) היא מערכת לתיעוד ומעקב של הנפקת אישורי TLS. מערכת שקיפות האישורים מרחיבה את היכולת של כל אחד לעקוב ולחקור הנפקות אישורים והיכולות האלו הובילו למגוון שיפורים בסביבת הפעילות של רשויות האישורים ובאבטחת האינטרנט. כתוצאה מכך, שקיפות האישורים הופכת במהרה לתשתית חיונית.

מערכת Let's Encrypt מגישה את כל האישורים שאנו מנפיקים ליומני שקיפות אישורים. אנחנו גם מפעילים יומני שקיפות אישורים (CT). כל רשויות האישורים שנחשבות למהימנות בעיני הציבור מוזמנות לתעד ליומנים שלנו. אישורים עליונים רבים של מגוון רשויות אישורים כבר נכללו ביומני שקיפות האישורים שלנו. אם יש לך רשות אישורים שמתופעלת על ידיך והמנפיק שלך אינו ברשימת המנפיקים המורשים, נא לפתוח בקשה כאן.

ניתן להירשם לקבלת התראות בקטגוריית הכרזות שקיפות האישורים שבפורום הקהילתי שלנו כדי לצפות בהכרזות עיקריות בנוגע ליומני שקיפות האישורים שלנו.

מימון

אם הארגון שלך מעוניין לסייע לנו להמשיך בעבודה הזאת, נא לשקול להעניק חסות או לתרום.

יומני שקיפות אישורים

המידע על מגוון מצבי מחזורי החיים שיומן שקיפות אישורים יכול לעבור ביניהם נמצא כאן.

Sunlight

מיזם Let's Encrypt מפעיל יומני static-ct שמבוססים על Sunlight.

הפרטים כוללים אישורי על מקובלים, מפתחות ציבוריים, מזהי יומנים וזמני חלוקה שזמינים בכל עמוד נחיתה של יומן, קישור להלן.

Sycamore ו־Willow הם יומני שקיפות האישורים לסביבה המבצעית שלנו, הם מקבלים אישורים מרשויות אישורים אמינות.

Twig הוא יומן בדיקה שמקבל אישורים מרשויות אישורים אמינות לרבות כמה רשויות אישורים לבדיקה, כולל סביבת ההכנה להקמה של Let's Encrypt.

תום חיי יומני RFC 6962

מיזם Let's Encrypt הריץ בעבר יומן שמבוסס על Trillian, שממש API לפי RFC 6962. הוא זמין כרגע לקריאה בלבד ויושבת סופית בפברואר 2026. למידע נוסף אפשר לפנות ל תוכנית ההשבתה הסופית של יומני שקיפות האישורים מסוג RFC 6962 . כתובות ומפתחות יומנים ניתן למצוא ביומני שקיפות האישורים של Google ושל Apple במקרה הצורך. היומן המבצעי הישן נקרא Oak.

הרצנו גם יומני בדיקה שנקראים Testflue ו־Sapling, שאינם זמינים עוד.

פעולות על היומן

כדי למנות את האישורים העליונים הנכללים ליומן שקיפות אישורים מסוים עליך להריץ את הפקודה הבאה במסוף החביב עליך:

$ 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

הגשת אישורים ליומן שקיפות אישורים בדרך כלל מטופלת על ידי רשויות אישורים. אם מעניין אותך להתנסות בזה, כדאי להתחיל בקבלת אישור בקידוד PEM שרירותית מהאתרים האהובים עליך. עליך להעתיק את המקטע הבא ולהדביק אותו במסוף שלך.

$ 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

לפני שניתן להגיש אישור, יש לקודד אותו ל־JSON במבנה מיוחד. ניתן להשתמש במחולל ה־JSON שסופק על ידי https://crt.sh/gen-add-chain לביצוע הפעולה הזאת. הכלי crt.sh יחזיר מאגד JSON. עליך להוריד את המאגד למחשב שלך, לשנות את שם הקובץ אם יש בכך צורך ולהריץ את הפקודה הבאה כדי לבצע פעולת add-chain (הוספת שרשרת - RFC 6962 סעיף 4.1) כדי להגיש את האישור ליומן שקיפות האישורים. הפלט יכיל חתימה שהיא למעשה SCT. נפרט יותר על החתימה עוד רגע קט.

$ 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"}

כדי לאמת שיומן שקיפות האישורים נחתם על ידי שבר 2020 של Oak, אנו משתמשים בשדה המזהה (id) מהפקודה שלהלן ומריצים אותו דרך הפקודה הבאה. תוצאות הפלט של הפקודה הזאת יציג את מזהה היומן של יומן שקיפות האישורים.

$ 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

באמצעות שדה החתימה נוכל לוודא שהאישור הוגש ליומן. באמצעות מדריך ההתעמקות בחותמת זמן של אישור חתום, ניתן לפענח את הערך הזה בפירוט.

$ 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