המטרה של Let’s Encrypt ושל פרוטוקול ACME היא לאפשר להקים שרת HTTPS ושהוא ימשוך אוטומטית אישורים מהימנים לדפדפן, ללא התערבות של בן אדם. אפשר להשיג את זה על ידי הרצת לקוח ACME על שרת האתר.
כדי להבין איך הטכנולוגיה הזו עובדת, הבה נעבור על תהליך הגדרת https://example.com/
עם לקוח ACME.
לתהליך זה שני שלבים. קודם, לקוח ה־ACME מוכיח לרשות האישורים (CA) שהשרת שולט בשם התחום. לאחר מכן, הסוכן יכול לבקש, לחדש ולשלול אישורים עבור שם התחום הזה.
Let’s Encrypt מזהה את תוכנת לקוח ה־ACME באמצעות מפתח ציבורי. בפעם הראשונה שלקוח ה־ACME יוצר קשר עם Let’sEncrypt הוא מייצר צמד מפתחות חדש לחשבון ומוכיח לרשות האישורים Let’sEncrypt שלמפעיל יש שליטה בשם תחום אחד או יותר. בדומה לתהליך המסורתי מול רשות אישורים שכרוך ביצירת חשבון והוספת שמות תחום לחשבון הזה.
כדי להניע את התהליך, הלקוח מבקש מרשות האישורים Let’s Encrypt את מה שדרוש לו כדי להוכיח שהוא שולט ב־example.com
. רשות האישורים Let’s Encrypt תסתכל על שם התחום שבבקשה ותנפיק סדרת אתגרים אחת או יותר. יש דרכים שונות שבהן יכול הלקוח להוכיח שיש לו שליטה על שם התחום. למשל, רשות האישורים יכולה לתת ללקוח לבחור בין:
example.com
, אוhttp://example.com/
תכנית הלקוח משלימה את אחת מסדרות האתגרים שסופקו. נניח שהוא מצליח להשלים את המשימה השנייה שלעיל: הסוכן יוצר קובץ תחת נתיב מסוים באתר http://example.com
. לאחר שהלקוח השלים את הצעדים האלה, הוא מודיע לרשות האישורים שהוא מוכן להשלים את התיקוף.
לאחר מכן, זאת המשימה של רשות האישורים לבדוק שהאתגרים הושלמו בהצלחה ממגוון היבטי רשת.
לאחר השלמת האתגרים בהצלחה, הלקוח שמזוהה על ידי המפתח הציבורי מורשה לבצע ניהול אישורים עבור example.com
.
לאחר שהלקוח קיבל אישור, בקשה, חידוש ושלילה של אישורים היא פשוטה - צריך פשוט לשלוח הודעות ניהול אישורים ולחתום עליהן עם חשבון צמד המפתחות המורשה.
כדי להשיג אישור עבור שם התחום, הסוכן מרכיב בקשת חתימת אישור - Certificate Signing Request (CSR) בתצורת PKCS#10 שמבקשת מרשות האישורים Let’sEncrypt להנפיק אישור עבור example.com
עם מפתח ציבורי מסוים. כרגיל, ה־CSR כולל חתימה במפתח הפרטי שתואם למפתח הציבורי שב־CSR. הסוכן גם חותם על כל ה־CSR עם המפתח המורשה עבור example.com
כדי שרשות האישורים Let’sEncrypt תדע שהוא מורשה.
כאשר רשות האישורים Let’sEncrypt מקבלת את האישור, היא מאמתת את שתי החתימות. אם הכול נראה טוב, היא מנפיקה אישור עבור example.com
עם המפתח הציבורי מתוך בקשת חתימת האישור (CSR) ומחזירה אותו אל הסוכן. רשות האישורים גם תגיש את האישור למגוון יומני שקיפות אישורים (CT) ציבוריים. לפרטים נוספים ניתן לגשת לכאן.
השלילה עובדת באופן דומה. הלקוח חותם על בקשת שלילה עם חשבון צמד המפתחות שמורשים עבור example.com
, ורשות האישורים Let’sEncrypt מוודאה שהבקשה מורשית. אם התהליך צלח, פרטי השלילה מפורסמים דרך רשימת שלילת אישורים (CRL), כך שגופים נסמכים כגון דפדפנים יכולים לדעת שהם לא אמורים לקבל את האישור שנשלל.