ชุดข้อมูล PKCS #12 (.p12)

IETF มาตรฐาน

PKCS #12 (P12 หรือที่รู้จักกันในชื่อ PFX) คือรูปแบบคลังเก็บที่เข้ารหัสและป้องกันด้วยรหัสผ่าน ซึ่งออกแบบมาเพื่อจัดเก็บและขนส่งคีย์ส่วนตัวอย่างปลอดภัยควบคู่ไปกับใบรับรองสาธารณะ X.509 ที่ตรงกันและห่วงโซ่ CA

แปลง P12 เป็น PEM

ตัวแปลงจาก P12 เป็น PEM ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบและดู Metadata

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ P12 โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

การแปลงไฟล์แบบส่วนตัว 100% ในเบราว์เซอร์ - ไฟล์จะไม่ rời ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
การรับประกันความเป็นส่วนตัวแบบไม่มีการส่งผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ P12 โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

30 82

การแสดงผลรูปแบบ ASCII: 0\x82

มาตรฐาน: IETF RFC 7292 / PKCS #12 v1.1

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์Password-encrypted ASN.1 PFX structure encapsulating SafeBags holding private keys, certificates, and CRLs
การบีบอัดUncompressed cryptographic data
การจัดลำดับไบต์ (Byte Endianness)Big-Endian ASN.1 DER
พื้นที่สีN/A (Encrypted Key Store)
ช่องสัญญาณและโครงสร้างPrivate keys, Public certificates, Intermediate CA chains, and Root CA certificates
ขนาดสูงสุดTypically 5 KB to 25 KB
ความโปร่งใสEncrypted container (password-protected)
การสตรีมและแบบโปรเกรสซีฟAtomic encrypted archive extraction

ตารางเปรียบเทียบทางเทคนิค: P12 กับคู่แข่ง

คุณลักษณะทางเทคนิคP12 (ปัจจุบัน)PEMCRTDER
ความสามารถในการรวมชุดคีย์ส่วนตัว + ห่วงโซ่ใบรับรองรวมอยู่ในที่เดียวสามารถรวมกันในข้อความ, คีย์ที่ไม่ได้เข้ารหัสเฉพาะใบรับรองเท่านั้นคีย์ไบนารีเดี่ยวหรือใบรับรอง
การเข้ารหัสป้องกันด้วยรหัสผ่าน (AES-256)รหัสผ่านเสริมบนคีย์ส่วนตัวใบรับรองสาธารณะที่ไม่ได้เข้ารหัสไบนารีที่ไม่ได้เข้ารหัส
Apple iOS & macOSมาตรฐานการส่งออกตัวตนดั้งเดิมใช้ผ่านบรรทัดคำสั่งนำเข้าเป็นใบรับรองนำเข้าเป็นคีย์ดิบ
สามารถใช้แทนกันได้กับ.pfx (รูปแบบเดียวกัน).crt, .key.cer.asn1

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ข้อผิดพลาดในการแยก: 'Mac verify error: invalid password' ทั้งๆ ที่พิมพ์รหัสผ่านถูกต้อง

สาเหตุหลัก: การตั้งค่าเริ่มต้นของ OpenSSL 3.0 ปฏิเสธ algorithm การเข้ารหัส 3DES/RC2 รุ่นเก่าที่อยู่ภายในไฟล์ P12 ที่เก่ากว่า

การกู้คืน: เข้ารหัสใหม่ด้วย AES-256 สมัยใหม่โดยใช้เครื่องมือใบรับรอง File2File

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

คอนเทนเนอร์ P12 บรรจุคีย์ส่วนตัวที่สำคัญ โดยต้องอัปเดตตัวเข้ารหัสรุ่นเก่าให้เป็นมาตรฐาน AES สมัยใหม่

เวกเตอร์การโจมตีที่ทราบ

  • การโจมตีด้วยรหัสผ่านแบบ Brute-force กับคลังเก็บ P12 ที่เข้ารหัสอย่างอ่อนแอโดยใช้จำนวนรอบต่ำ
  • การใช้ประโยชน์จากตัวเข้ารหัส RC2-40-CBC รุ่นเก่าที่อ่อนแอในไฟล์ P12 เก่า
  • การรั่วไหลของหน่วยความจำของคีย์ส่วนตัวที่ถอดรหัสแล้วในบัฟเฟอร์หน่วยความจำที่ไม่ได้ป้องกัน

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2014IETF เผยแพร่ RFC 7292 โดยกำหนดมาตรฐาน PKCS #12 v1.1 สมัยใหม่พร้อมการเข้ารหัส AES
2000พวงกุญแจ Apple macOS และ Microsoft Windows กำหนดมาตรฐาน PKCS #12 สำหรับการขนส่งรหัสประจำตัวดิจิทัลของผู้ใช้
1999RSA Laboratories เผยแพร่ PKCS #12 v1.0 ซึ่งมาแทนที่รูปแบบ PFX ก่อนหน้าของ Microsoft

ข้อได้เปรียบและจุดเด่นสำคัญ

  • การรวมแพ็กเกจแบบ All-in-one: รวมคีย์ส่วนตัว, ใบรับรองสาธารณะ และห่วงโซ่ 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 มีคีย์ส่วนตัวที่ละเอียดอ่อนของคุณ จึงได้รับการเข้ารหัสด้วยรหัสผ่านเพื่อป้องกันไม่ให้ผู้ที่ไม่ได้รับอนุญาตขโมยตัวตนดิจิทัลของคุณ