תעודת PEM (.pem)
IETF תקןPrivacy-Enhanced Mail (PEM) הוא קידוד מבוסס טקסט שנפוץ עבור אובייקטים קריפטוגרפיים, ובהם תעודות ומפתחות פרטיים. הוא משתמש בנתוני Base64 התחומים בסימוני '-----BEGIN...-----' ו-'-----END...-----'.
המר CRT ל-PEM
ממיר חינמי מ-CRT ל-PEM פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי PEM על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי PEM על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
2D 2D 2D 2D 2D 42 45 47 49 4Eייצוג ASCII: -----BEGIN
תקינה: IETF RFC 7468 / RFC 1421
מפרט טכני
| מבנה המכולה | מכל Base64 בתבנית ASCII armoring, התחום בסימני '-----BEGIN [LABEL]-----' ו-'-----END [LABEL]-----' ועוטף מבני DER בינאריים |
| דחיסה | תבנית טקסט לא דחוסה |
| סדר בתים (Endianness) | זרם טקסט ASCII / UTF-8 |
| מרחבי צבע | לא רלוונטי (מכל קריפטוגרפי) |
| ערוצים ומבנה | תעודות, מפתחות פרטיים (RSA/EC/DSA), בקשות חתימת תעודה (CSR), מפתחות ציבוריים ורשימות ביטול תעודות |
| ממדים מרביים | זרם טקסט ללא מגבלה קבועה (תומך בכמה תעודות משורשרות) |
| שקיפות | מעטפת ASCII גלויה |
| הזרמה ופרוגרסיביות | חילוץ רציף בהזרמה, בלוק כותרת אחר בלוק כותרת |
מטריצת השוואה טכנית: PEM מול מתחרים
| תכונה טכנית | PEM (נוכחי) | DER | P12 | CRT |
|---|---|---|---|---|
| טקסט לעומת בינארי | טקסט Base64 קריא לאדם | בתים בינאריים גולמיים בלבד | ארכיון בינארי מוצפן | בדרך כלל טקסט Base64 |
| שימוש בענן וב-DevOps | נפוץ בתהליכי עבודה של AWS ו-Kubernetes; התמיכה משתנה בין סביבות | אסימוני חומרה / ג'אווה | יבוא לשרת Windows IIS | הגדרות שרת אינטרנט |
| תוכן מותר | אישורים, מפתחות פרטיים, שרשראות, בקשות חתימה (CSR) | אישור יחיד או מפתח | אישור מצורף + מפתח מוצפן | בדרך כלל אישורים ציבוריים בלבד |
| ניתן להעתקה-הדבקה | כן (הדבקה ישירה לתוך שדות טקסט) | לא (בינארי) | לא (בינארי) | כן (אם מקודד ב-PEM) |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
שגיאת OpenSSL: 'PEM_read_bio: no start line'.
גורם שורש: כותרת מסוג '-----BEGIN ...-----' חסרה או פגומה, או שחיתות תו מעבר שורה מסוג Windows CRLF.
שחזור: שחזר את כותרת 5-המקפים התקנית באמצעות כלי האישורים של File2File.app.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
קבצי PEM מכילים לעיתים קרובות מפתחות פרטיים לא מוצפנים ('-----BEGIN RSA PRIVATE KEY-----') המעניקים גישה מלאה לשרת אם הם נחשפים.
ווקטורי תקיפה ידועים
- העלאת מפתחות PEM פרטיים לא מוצפנים למאגרי בקרת גרסאות ציבוריים.
- התקפות מעבר ספריות (Directory traversal) הקוראות מפתחות PEM של השרת באמצעות הכללת קבצים מקומיים (LFI).
- ביטוי סיסמה (Passphrase) חלש על קבצי PEM של מפתחות פרטיים מוצפנים.
שיטות מומלצות להגנה: הגן על קובצי מפתח PEM פרטיים באמצעות הרשאות קפדניות במערכת הקבצים (chmod 600), ולעולם אל תבצע commit שלהם ל-git.
היסטוריה ואבני דרך
יתרונות מרכזיים
- קריא לאדם וניתן להעתקה ולהדבקה: אפשר להעתיק אותו לטפסים באינטרנט, לשדות קלט במסופי ענן (AWS, GCP) ולהודעות דוא"ל.
- תקן אוניברסלי בכל סביבות OpenSSL, לינוקס, דוקר (Docker), סודות קוברנטיס (Kubernetes) ותשתיות ענן.
- תמיכה בריבוי אישורים: מאפשרת לאחסן שרשראות אמון מלאות של אישורים בקובץ טקסט יחיד על ידי הצבת בלוקים בזה אחר זה.
מגבלות טכניות וחסרונות
- גדול בכ-33% בהשוואה ל-DER בינארי גולמי עקב תוספת הנפח של קידוד Base64.
- שחיתות מקרית: שינויים בגלישת שורות או מקפים חסרים בכותרות עלולים לגרום לכשלים בניתוח הנתונים (parsing).
- קבצי PEM של מפתחות פרטיים לא מוצפנים מציגים סיכוני אבטחה קיצוניים במקרה של דליפה.
עובדות טכניות מעניינות
- למרות שנוצר עבור מערכת דוא"ל מוצפנת שלא הצליחה לצבור תאוצה, שריון ה-ASCII שלו הפך לפורמט האבטחה הפופולרי ביותר על פני כדור הארץ.
- כל קובץ PEM חוקי מתחיל בחמישה מקפים: '-----BEGIN'.
- שרשרת אישורי SSL מלאה נוצרת פשוט על ידי הדבקת מספר בלוקים מסוג 'BEGIN CERTIFICATE' זה אחר זה בקובץ .pem יחיד.
שאלות טכניות נפוצות
מה זה קובץ .pem?
קובץ .pem הוא פורמט מבוסס טקסט לאחסון אישורי אבטחה, מפתחות פרטיים או שרשראות אישורים שלמות בפורמט Base64 קריא עם כותרות '-----BEGIN...-----'.
איך אני ממיר PEM ל-P12 או PFX?
אתה יכול להמיר את אישור ה-PEM והמפתח הפרטי שלך לקובץ P12/PFX מוגן בסיסמה בלחיצה אחת באמצעות File2File.app ישירות בדפדפן האינטרנט שלך.
איך אני יכול לבדוק את תאריך התפוגה של אישור PEM?
פתח את קובץ ה-.pem שלך ב-File2File.app כדי לפענח את תאריך התפוגה, המנפיק ושמות המתחם מבלי לשלוח נתונים כלשהם לשרתים חיצוניים.
זוגות המרה קשורים ל-PEM
המרת תעודת אבטחה מסוג CRT במבנה בינארי לתסדיר טקסט PEM מקודד Base64 הופכת אותה לתואמת ל-Apache, ל-Nginx ולשרתי אינטרנט מודרניים מבוססי לינוקס.
המרת תעודת טקסט מסוג PEM לתעודה בינארית מסוג CRT מאפשרת לשרתי Apache ולמערכות Windows לקרוא את פרטי האבטחה של האתר שלך כהלכה.
המרת חבילת PKCS #12 לתעודת PEM מחלצת את המפתחות הציבוריים והפרטיים מתוך ארכיון בינארי נעול לקובצי טקסט גלוי עבור שרתי אינטרנט.
המרת אישור PEM לחבילת PKCS #12 משלבת את האישור הציבורי ואת המפתח הפרטי שלך לקובץ יחיד המוגן בסיסמה להתקנה קלה בשרתי Windows ובדפדפני אינטרנט.
המרת אישור DER בינארי לאישור PEM משנה את הקידוד שלו מביתים בינאריים גולמיים לטקסט Base64 ASCII כך שניתן לקרוא אותו בקלות על ידי שרתי אינטרנט ועורכי טקסט.
המרת אישור אבטחה בינארי מסוג CER לקובץ טקסט PEM המקודד ב-Base64 מאפשרת למנהלים לקרוא ולהדביק בקלות מפתחות אבטחה בשרתי אינטרנט ובתצורות יישומים.