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

IETF มาตรฐาน

PKCS #12 (P12/PFX) เป็นรูปแบบคอนเทนเนอร์ที่จัดเก็บคีย์ส่วนตัว ใบรับรอง และข้อมูลที่เกี่ยวข้องได้ ไฟล์อาจมีการป้องกันด้วยรหัสผ่านหรือไม่ได้เข้ารหัส ขึ้นอยู่กับวิธีสร้างไฟล์

แปลง P12 เป็น PEM

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

ตรวจสอบไฟล์และข้อมูลเมตา

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

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

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

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

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ 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 (ปัจจุบัน)PEMCRTDER
ความสามารถในการรวมชุดคีย์ส่วนตัว + ห่วงโซ่ใบรับรองรวมอยู่ในที่เดียวรวมไว้ในไฟล์ข้อความได้ แต่กุญแจจะไม่ถูกเข้ารหัสเฉพาะใบรับรองเท่านั้นคีย์ไบนารีเดี่ยวหรือใบรับรอง
การเข้ารหัสเข้ารหัสด้วยรหัสผ่าน (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 เสมอ

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

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

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

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