ชุดข้อมูล PKCS #12 (.p12)
IETF มาตรฐานPKCS #12 (P12/PFX) เป็นรูปแบบคอนเทนเนอร์ที่จัดเก็บคีย์ส่วนตัว ใบรับรอง และข้อมูลที่เกี่ยวข้องได้ ไฟล์อาจมีการป้องกันด้วยรหัสผ่านหรือไม่ได้เข้ารหัส ขึ้นอยู่กับวิธีสร้างไฟล์
แปลง P12 เป็น PEM
ตัวแปลงจาก P12 เป็น PEM ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ P12 โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ P12 โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
30การแสดงผลรูปแบบ ASCII: 0
มาตรฐาน: IETF RFC 7292 / PKCS #12 v1.1
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | โครงสร้าง ASN.1 PFX ที่เข้ารหัสด้วยรหัสผ่าน ครอบชุด SafeBags ซึ่งเก็บกุญแจส่วนตัว, ใบรับรอง และ CRL |
| การบีบอัด | ข้อมูลคริปโตกราฟีแบบไม่บีบอัด |
| การจัดลำดับไบต์ | ASN.1 DER แบบ Big-Endian |
| พื้นที่สี | ไม่เกี่ยวข้อง (ที่เก็บกุญแจแบบเข้ารหัส) |
| ช่องสัญญาณและโครงสร้าง | กุญแจส่วนตัว, ใบรับรองสาธารณะ, สายโซ่ CA ระดับกลาง และใบรับรอง Root CA |
| ขนาดสูงสุด | โดยทั่วไปมีขนาด 5 KB ถึง 25 KB |
| ความโปร่งใส | คอนเทนเนอร์ที่เข้ารหัส (ป้องกันด้วยรหัสผ่าน) |
| การสตรีมและแบบโปรเกรสซีฟ | แตกไฟล์เก็บถาวรที่เข้ารหัสแบบอะตอม |
ตารางเปรียบเทียบทางเทคนิค: P12 กับคู่แข่ง
| คุณลักษณะทางเทคนิค | P12 (ปัจจุบัน) | PEM | CRT | DER |
|---|---|---|---|---|
| ความสามารถในการรวมชุด | คีย์ส่วนตัว + ห่วงโซ่ใบรับรองรวมอยู่ในที่เดียว | รวมไว้ในไฟล์ข้อความได้ แต่กุญแจจะไม่ถูกเข้ารหัส | เฉพาะใบรับรองเท่านั้น | คีย์ไบนารีเดี่ยวหรือใบรับรอง |
| การเข้ารหัส | เข้ารหัสด้วยรหัสผ่าน (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
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
คอนเทนเนอร์ P12 บรรจุคีย์ส่วนตัวที่สำคัญ โดยต้องอัปเดตตัวเข้ารหัสรุ่นเก่าให้เป็นมาตรฐาน AES สมัยใหม่
เวกเตอร์การโจมตีที่ทราบ
- การโจมตีด้วยการลองรหัสผ่านจำนวนมากต่อไฟล์ 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' สามารถใช้แทนกันได้ 100% และอ้างอิงถึงรูปแบบเดียวกันทุกประการ
- ใบรับรองนักพัฒนา Apple iOS และโปรไฟล์การจัดเตรียมจะถูกแจกจ่ายเป็นไฟล์ .p12 เพื่อลงนามแอป iPhone
- OpenSSL 3.0 เลิกใช้ PKCS#12 รุ่นเก่า (RC2-40-CBC) แล้ว ซึ่งต้องใช้แฟล็ก '-legacy' เพื่อเปิดไฟล์ P12 รุ่นเก่า
คำถามทางเทคนิคที่พบบ่อย
ความแตกต่างระหว่าง .p12 และ .pfx คืออะไร
ไม่มีความแตกต่างกัน .pfx เป็นรูปแบบเดิมของ Microsoft ซึ่งได้รับการมาตรฐานโดย RSA Laboratories เป็น PKCS #12 (.p12) ปัจจุบันนามสกุลทั้งสองอ้างถึงรูปแบบเดียวกันทุกประการ
ดึงกุญแจส่วนตัวจากไฟล์ .p12 ได้อย่างไร?
คุณสามารถดึงกุญแจส่วนตัวและใบรับรองสาธารณะออกเป็นไฟล์ .pem แยกกันได้ภายในไม่กี่วินาที โดยใช้ File2File.app ในเว็บเบราว์เซอร์
เหตุใดไฟล์ P12 ของฉันจึงต้องมีรหัสผ่าน
เนื่องจากไฟล์ P12 มีคีย์ส่วนตัวที่ละเอียดอ่อนของคุณ จึงได้รับการเข้ารหัสด้วยรหัสผ่านเพื่อป้องกันไม่ให้ผู้ที่ไม่ได้รับอนุญาตขโมยตัวตนดิจิทัลของคุณ
คู่การแปลงไฟล์ P12 ที่เกี่ยวข้อง
การแปลงชุดข้อมูล PKCS #12 เป็นใบรับรอง PEM จะดึงคีย์สาธารณะและคีย์ส่วนตัวจากคลังเก็บไบนารีที่มีการป้องกันออกมาเป็นไฟล์ข้อความสำหรับเว็บเซิร์ฟเวอร์
การแปลงใบรับรอง PEM เป็นชุดข้อมูล PKCS #12 จะรวมใบรับรองสาธารณะและคีย์ส่วนตัวของคุณไว้ในไฟล์เดียวที่มีรหัสผ่านป้องกัน เพื่อความสะดวกในการติดตั้งบนเซิร์ฟเวอร์ Windows และเว็บเบราว์เซอร์