חבילת PKCS #12 (.p12)
IETF תקןPKCS #12 (P12/PFX) הוא פורמט מכל שיכול לאחסן מפתחות פרטיים, אישורים ונתונים קשורים. בהתאם לאופן יצירת הקובץ, הוא עשוי להיות מוגן בסיסמה או לא מוצפן.
המר P12 ל-PEM
ממיר חינמי מ-P12 ל-PEM פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי P12 על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי P12 על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
30ייצוג ASCII: 0
תקינה: IETF RFC 7292 / PKCS #12 v1.1
מפרט טכני
| מבנה המכולה | מבנה PFX של ASN.1 המוצפן בסיסמה, ועוטף SafeBags המכילים מפתחות פרטיים, תעודות ורשימות ביטול תעודות (CRL) |
| דחיסה | נתונים קריפטוגרפיים לא דחוסים |
| סדר בתים (Endianness) | סדר בתים Big-Endian בקידוד ASN.1 DER |
| מרחבי צבע | לא רלוונטי (מאגר מפתחות מוצפן) |
| ערוצים ומבנה | מפתחות פרטיים, תעודות ציבוריות, שרשראות ביניים של רשויות אישורים ותעודות של רשויות אישורים שורשיות |
| ממדים מרביים | בדרך כלל 5 KB עד 25 KB |
| שקיפות | מכל מוצפן (מוגן בסיסמה) |
| הזרמה ופרוגרסיביות | חילוץ אטומי של ארכיון מוצפן |
מטריצת השוואה טכנית: P12 מול מתחרים
| תכונה טכנית | P12 (נוכחי) | PEM | CRT | DER |
|---|---|---|---|---|
| יכולת אריזה (Bundle) | מפתח פרטי + שרשרת אישורים בהכל-באחד | ניתן לשלב בטקסט, מפתח לא מוצפן | אישור בלבד | מפתח בינארי יחיד או אישור |
| הצפנה | מוצפן בסיסמא (AES-256) | סיסמה אופציונלית על מפתח פרטי | אישור ציבורי לא מוצפן | בינארי לא מוצפן |
| Apple iOS & macOS | תקן ייצוא זהויות מקורי | בשימוש דרך שורת הפקודה | מובא כאישור | מובא כמפתח גולמי |
| ניתן להחלפה עם | .pfx (פורמט זהה) | .crt, .key | .cer | .asn1 |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
שגיאת חילוץ: 'Mac verify error: invalid password' למרות הקלדת הסיסמה הנכונה.
גורם שורש: הגדרות ברירת המחדל של OpenSSL 3.0 מסרבות לאלגוריתמי הצפנה ישנים מסוג 3DES/RC2 הנמצאים בתוך קבצי P12 ישנים יותר.
שחזור: הצפנה מחדש באמצעות AES-256 מודרני בעזרת כלי האישורים של File2File.app.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
מיכלי P12 מחזיקים מפתחות פרטיים קריטיים; יש לעדכן צפני הצפנה ישנים בתקני AES מודרניים.
ווקטורי תקיפה ידועים
- התקפות כוח גס (Brute-force) על סיסמאות נגד ארכיון P12 המוצפן בחולשה תוך שימוש בספירות איטרציה נמוכות.
- ניצול צפנים חלשים מדור קודם RC2-40-CBC בקבצי P12 ישנים.
- דליפת זיכרון של מפתחות פרטיים מפוענחים בתווך זיכרון לא מוקשח.
שיטות מומלצות להגנה: השתמש תמיד בסיסמאות חזקות ובהצפנת AES-256 מודרנית עם PBKDF2/SHA-256 עבור קבצי P12.
היסטוריה ואבני דרך
יתרונות מרכזיים
- חבילת הכל-באחד: מאגדת את המפתח הפרטי, האישור הציבורי ושרשרת ה-CA הביניים המלאה בקובץ מאובטח אחד.
- הצפנה המוגנת בסיסמה: מפתחות פרטיים מוצפנים באמצעות AES-256 או 3DES, מה שהופך אותם לבטוחים להעברה.
- פורמט אישור הלקוח התקני עבור אימות בדפדפן אינטרנט ופרופילי חתימת קוד למפתחי Apple iOS.
מגבלות טכניות וחסרונות
- דורש סיסמה לצורך חילוץ: שכחת הסיסמה הופכת את המפתח הפרטי לבלתי ניתן לשחזור לצמיתות.
- קבצי P12 ישנים השתמשו באלגוריתמי הצפנה חלשים מסוג 3DES או RC2 המעוררים אזהרות ב-OpenSSL 3.0 המודרני.
- פורמט בינארי שלא ניתן לבדוק אותו ויזואלית ללא כלי חילוץ קריפטוגרפיים.
עובדות טכניות מעניינות
- הסיומות .p12 ו-.pfx משמשות בדרך כלל לקובצי PKCS #12, אך המוסכמות משתנות בין תוכנות; בדוק מה נדרש ביישום המקבל.
- אישורי מפתחי Apple iOS ופרופילי הוראות הפעלה (provisioning profiles) מופצים כקבצי .p12 לצורך חתימת אפליקציות אייפון.
- OpenSSL 3.0 הוציא משימוש אלגוריתמי PKCS#12 ישנים (RC2-40-CBC), ומחייב שימוש בדגל '-legacy' כדי לפתוח קבצי P12 ישנים.
שאלות טכניות נפוצות
מה ההבדל בין .p12 ל-.pfx?
אין הבדל. .pfx היה הפורמט הקודם של Microsoft, שמעבדות RSA תקננו כ-PKCS #12 (.p12). כיום שתי הסיומות מתייחסות לאותו פורמט.
איך אני יכול לחלץ את המפתח הפרטי מקובץ .p12?
אתה יכול לחלץ את המפתח הפרטי והאישור הציבורי לקבצי .pem נקיים בתוך שניות באמצעות File2File.app ישירות בדפדפן האינטרנט שלך.
למה קובץ ה-P12 שלי זקוק לסיסמה?
מכיוון שקבצי P12 מכילים את המפתח הפרטי הרגיש שלך, הם מוצפנים בסיסמה כדי למנוע מאנשים לא מורשים לגנוב את הזהות הדיגיטלית שלך.