ממיר חבילת PKCS #12 לתעודת PEM
המרת חבילת PKCS #12 לתעודת PEM מחלצת את המפתחות הציבוריים והפרטיים מתוך ארכיון בינארי נעול לקובצי טקסט נקיים עבור שרתי אינטרנט.
השוואת פורמטים ומפרטים טכניים
| מפרט | P12 | PEM |
|---|---|---|
| סוג MIME | application/x-pkcs12 | application/x-pem-file |
| סוג | PKCS #12 encrypted archive | Base64 ASCII certificate container |
| דחיסה | password encrypted PKCS #7 safe bags | none (Base64 armored) |
| מפרט תקני | IETF RFC 7292 | IETF RFC 7468 |
| כותרת ביתים קסומים (Magic Bytes) | 30 82 (ASN.1 PKCS #12 PFX sequence) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
סקירת פורמטים ושימושים
מנהלי אבטחה ממירים תכופות קובצי P12 לתסדיר PEM בעת פריסת תעודות SSL על שרתי אינטרנט מסוג Apache, Nginx או HAProxy. בעוד שדפדפנים ומערכות הפעלה משתמשים במיכלים מסוג P12 כדי להתקין בקלות זהויות משתמש ומפתחות פרטיים באחסוני תעודות אישיים, שרתי אינטרנט מבוססי לינוקס דורשים בדרך כלל קובצי טקסט פשוט נפרדים עבור התעודה הציבורית, שרשרת הביניים והמפתח הפרטי. המרה זו מאפשרת לתוכנת השרת לקרוא את פרטי האבטחה באופן ישיר מבלי לבקש סיסמת פענוח בכל פעם שהשירות מופעל מחדש. תהליך נפוץ נוסף כולל שילוב ממשקי תכנות יישומים (API) ושירותי מיקרו מנוהלים בקונטיינרים. צינורות פריסה אוטומטיים מסתמכים לרוב על קובצי טקסט פשוט המוזרקים באמצעות משתני סביבה או נקודות עיגון של תצורות. המרת חבילת P12 בינארית לקובצי PEM נפרדים מבטיחה תאימות לכלי תזמור ענן מודרניים המנתחים בלוקי טקסט תקניים ממוגנים ב-Base64.
מפרטים טכניים ופירוט מקודדים
קובץ PKCS #12 (מסוג MIME application/x-pkcs12) הוא תסדיר ארכיון בינארי המבוסס על תחביר ASN.1. הוא עושה שימוש בהצפנה מבוססת סיסמה באמצעות אלגוריתמים כמו Triple DES או AES כדי להגן על מפתחות פרטיים ותעודות בתוך תיקיות אבטחה ייעודיות. הוא אינו כולל כותרת בתים ייחודית (magic byte), אך בדרך כלל מתחיל בתגית ה-ASN.1 SEQUENCE (0x30). לעומת זאת, קובץ PEM (מסוג MIME application/x-pem-file) עושה שימוש בקידוד ASCII מבוסס Base64 העטוף בין שורות מפרידות כגון -----BEGIN CERTIFICATE----- ו- -----END CERTIFICATE----_. תסדיר PEM אינו עושה שימוש בדחיסה פנימית. במקום זאת, הוא מסתמך על מיסגור טקסט פשוט, מה שהופך אותו לחסר אובדן נתונים לחלוטין מכיוון שחומרת המפתח הקריפטוגרפי שברקע נותרת זהה מבחינה מתמטית לאחר החילוץ.
תאימות למערכות הפעלה ודפדפנים
תעודות PEM נהנות מתאימות אוניברסלית בכל סביבות השרת המרכזיות מבוססות Unix ו-Linux, כולל Ubuntu, Red Hat, CentOS וקונטיינרים מסוג Alpine Docker. הן נקראות באופן מקומי על ידי OpenSSL, שרת האינטרנט Apache, Nginx ו-Postfix. מצד שני, חבילות P12 נתמכות רבות על ידי מערכות בצד הלקוח כגון Windows Certificate Manager, מפתח הגישה של macOS (Keychain), iOS ו-Android לייבוא פרטי אימות אישיים. דפדפני אינטרנט כגון Chrome, Firefox ו-Safari מקבלים קובצי P12 לאימות תעודות משתמש, אך שרתי אינטרנט דורשים מקבילים מסוג PEM.
💡 מידע שימושי
יש להגן תמיד על קובץ ה-PEM של המפתח הפרטי המחולץ באמצעות הרשאות קובץ קפדניות, כגון chmod 600 בלינוקס, משום שהסרת מעטפת הסיסמה הבינארית חושפת את טקסט המפתח הגולמי.
השוואת פורמטים ומפרטים טכניים
חבילת P12 טיפוסית ומערך קובצי תעודת ה-PEM הנובעים ממנה נע גודלם בין 2 קילו-בייט ל-10 קילו-בייט. בגדלים זעירים אלו של קבצים, זמני ההעברה ברשתות 4G, 5G וסיבים אופטיים הינם מיידיים למעשה, ולוקחים פחות מאלפית השנייה להעלאה או הורדה.
שאלות נפוצות
כיצד ממירים חבילת PKCS #12 לתעודת PEM מבלי לאבד איכות?
הימרה זו הינה חסרת אובדן נתונים לחלוטין משום שהיא משנה אך ורק את תסדיר המיכל ואת הקידוד. המפתחות הקריפטוגרפיים והתעודות הציבוריות בתוך תיקיות האבטחה הבינאריות מסוג P12 מחולצים ומקודדים מחדש לטקסט ASCII מבוסס Base64 מבלי לשנות אף נתון מתמטי שברקע.
מה ההבדל בין חבילת PKCS #12 לתעודת PEM?
חבילת PKCS #12 היא ארכיון בינארי יחיד המאחסן תעודות ציבוריות, שרשרות ביניים ומפתחות פרטיים יחד, המוגנים באמצעות סיסמה יחידה. תעודת PEM היא קובץ טקסט פשוט ממוגן ב-Base64 המכיל בדרך כלל רק חלק אחד משרשרת התעודות, מה שמאפשר לשרתי אינטרנט לקרוא את פרטי האבטחה באופן ישיר.