ใบรับรอง PEM (.pem)

IETF มาตรฐาน

Privacy-Enhanced Mail (PEM) เป็นการเข้ารหัสแบบข้อความที่ใช้กันแพร่หลายสำหรับวัตถุเข้ารหัส เช่น ใบรับรองและคีย์ส่วนตัว โดยใช้ข้อมูล Base64 คั่นด้วยขอบเขตที่ระบุป้ายกำกับ “-----BEGIN...-----” และ “-----END...-----”

แปลง CRT เป็น PEM

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

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

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

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

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

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

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

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

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

2D 2D 2D 2D 2D 42 45 47 49 4E

การแสดงผลรูปแบบ ASCII: -----BEGIN

มาตรฐาน: IETF RFC 7468 / RFC 1421

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

สถาปัตยกรรมคอนเทนเนอร์คอนเทนเนอร์ ASCII แบบเกราะ Base64 ที่คั่นด้วย '-----BEGIN [LABEL]-----' และ '-----END [LABEL]-----' ซึ่งครอบโครงสร้าง DER แบบไบนารี
การบีบอัดรูปแบบข้อความแบบไม่บีบอัด
การจัดลำดับไบต์สตรีมข้อความ ASCII / UTF-8
พื้นที่สีไม่เกี่ยวข้อง (คอนเทนเนอร์คริปโตกราฟี)
ช่องสัญญาณและโครงสร้างใบรับรอง, กุญแจส่วนตัว (RSA/EC/DSA), CSR, กุญแจสาธารณะ และรายการเพิกถอนใบรับรอง
ขนาดสูงสุดสตรีมข้อความไม่จำกัด (รองรับใบรับรองหลายฉบับที่ต่อกันเป็นสาย)
ความโปร่งใสซอง ASCII แบบเกราะที่เป็นข้อความอ่านได้
การสตรีมและแบบโปรเกรสซีฟแยกข้อมูลผ่านสตรีมตามลำดับทีละแบนเนอร์

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

คุณลักษณะทางเทคนิคPEM (ปัจจุบัน)DERP12CRT
ข้อความเทียบกับไบนารีข้อความ Base64 ที่มนุษย์อ่านได้ไบต์ไบนารีดิบเท่านั้นไฟล์เก็บข้อมูลไบนารีที่เข้ารหัสโดยทั่วไปคือข้อความ Base64
การใช้งานบนคลาวด์และ DevOpsมาตรฐานที่ใช้ทั่วไป (AWS, K8s)โทเค็นฮาร์ดแวร์ / Javaการนำเข้าเซิร์ฟเวอร์ Windows IISการกำหนดค่าเว็บเซิร์ฟเวอร์
เนื้อหาที่อนุญาตใบรับรอง กุญแจส่วนตัว สายโซ่ใบรับรอง และ CSRใบรับรองหรือคีย์เดี่ยวใบรับรองที่รวมกับคีย์ซึ่งเข้ารหัสไว้โดยทั่วไปคือใบรับรองสาธารณะเท่านั้น
คัดลอกและวางได้ได้ (วางลงในช่องข้อความโดยตรง)ไม่ได้ (ไบนารี)ไม่ได้ (ไบนารี)ได้ (หากอยู่ในรูปแบบ PEM)

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

ข้อผิดพลาด OpenSSL: 'PEM_read_bio: no start line'

สาเหตุหลัก: แบนเนอร์ส่วนหัว '-----BEGIN ...-----' หายไปหรือเสียหาย หรือความเสียหายจากการขึ้นบรรทัดใหม่ CRLF ของ Windows

การกู้คืน: กู้คืนแบนเนอร์ส่วนหัวขีด 5 ขีดมาตรฐานโดยใช้เครื่องมือใบรับรอง File2File.app

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

ไฟล์ PEM มักจะมีคีย์ส่วนตัวที่ไม่ได้เข้ารหัส ('-----BEGIN RSA PRIVATE KEY-----') ซึ่งให้สิทธิ์การเข้าถึงเซิร์ฟเวอร์อย่างสมบูรณ์หากเปิดเผย

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

  • การคอมมิตคีย์ส่วนตัว PEM ที่ไม่ได้เข้ารหัสไปยังที่เก็บการควบคุมเวอร์ชันสาธารณะ
  • การโจมตีแบบ Directory traversal เพื่ออ่านคีย์ PEM ของเซิร์ฟเวอร์ผ่าน local file inclusion (LFI)
  • รหัสผ่านที่อ่อนแอในไฟล์ PEM ของคีย์ส่วนตัวที่เข้ารหัส

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ปกป้องไฟล์ PEM ของคีย์ส่วนตัวด้วยสิทธิ์ระบบไฟล์ที่เข้มงวด (chmod 600) และห้ามคอมมิตไปที่ git

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

2015IETF เผยแพร่ RFC 7468 ซึ่งกำหนดรูปแบบการเข้ารหัสข้อความสำหรับโครงสร้าง PKIX, PKCS และ CMS
1998OpenSSL นำ PEM มาใช้เป็นรูปแบบหลัก ทำให้เป็นมาตรฐานพฤตินัยในวงการคอมพิวเตอร์โอเพนซอร์ส
1993IETF เผยแพร่ RFC 1421 สำหรับ Privacy-Enhanced Mail และนำเสนอรูปแบบข้อความ ASCII ที่ห่อหุ้มข้อมูลไบนารี

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

  • อ่านและคัดลอกวางได้: วางลงในแบบฟอร์มเว็บ ช่องป้อนข้อมูลในคอนโซลคลาวด์ (AWS, GCP) และอีเมลได้
  • เครื่องมือและแพลตฟอร์มอย่าง OpenSSL, บริการ Linux, Docker, Kubernetes และระบบคลาวด์ใช้กันทั่วไป แต่รูปแบบที่ยอมรับแตกต่างกันตามส่วนประกอบ
  • รองรับใบรับรองหลายรายการ: สามารถเก็บสายโซ่ความเชื่อถือของใบรับรองทั้งหมดไว้ในไฟล์ข้อความเดียวโดยวางบล็อกต่อกัน

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • มีขนาดใหญ่กว่าไบนารี DER ดิบประมาณ 33% เนื่องจากข้อมูลส่วนเกินจากการเข้ารหัส Base64
  • ความเสียหายโดยอุบัติเหตุ: การเปลี่ยนแปลงการตัดบรรทัดหรือเครื่องหมายขีดที่ขาดหายไปในแบนเนอร์อาจทำให้การแยกวิเคราะห์ล้มเหลว
  • ไฟล์ PEM ของคีย์ส่วนตัวที่ไม่ได้เข้ารหัสมีความเสี่ยงด้านความปลอดภัยที่สูงมากหากรั่วไหล

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • แม้ PEM จะสร้างขึ้นสำหรับระบบอีเมลเข้ารหัสที่ไม่ได้รับความนิยม แต่วิธีห่อหุ้มข้อมูลในรูปแบบ ASCII ของ PEM กลับกลายเป็นรูปแบบความปลอดภัยที่ได้รับความนิยมมากที่สุดในโลก
  • ไฟล์ PEM ที่ถูกต้องทุกไฟล์จะเริ่มต้นด้วยขีดห้าขีด: '-----BEGIN'
  • ห่วงโซ่ใบรับรอง SSL เต็มรูปแบบสร้างขึ้นง่ายๆ โดยการวางบล็อก 'BEGIN CERTIFICATE' หลายบล็อกต่อกันในไฟล์ .pem เดียว

คำถามทางเทคนิคที่พบบ่อย

ไฟล์ .pem คืออะไร

ไฟล์ .pem เป็นรูปแบบข้อความสำหรับจัดเก็บใบรับรองความปลอดภัย กุญแจส่วนตัว หรือสายโซ่ใบรับรองทั้งหมดเป็นข้อความ Base64 ที่อ่านได้ พร้อมแบนเนอร์ "-----BEGIN...-----"

แปลง PEM เป็น P12 หรือ PFX ได้อย่างไร?

คุณสามารถแปลงใบรับรอง PEM และคีย์ส่วนตัวของคุณให้เป็นไฟล์ P12/PFX ที่มีการป้องกันด้วยรหัสผ่านได้ในคลิกเดียวโดยใช้ File2File.app บนเว็บเบราว์เซอร์ของคุณ

ตรวจสอบวันหมดอายุของใบรับรอง PEM ได้อย่างไร?

เปิดไฟล์ .pem ใน File2File.app เพื่ออ่านวันหมดอายุ ผู้ออกใบรับรอง และชื่อโดเมน โดยไม่ส่งข้อมูลไปยังเซิร์ฟเวอร์ภายนอก

คู่การแปลงไฟล์ PEM ที่เกี่ยวข้อง

CRT เป็น PEM

การแปลงใบรับรองความปลอดภัย CRT แบบไบนารีให้อยู่ในรูปแบบข้อความ PEM ที่เข้ารหัสด้วย Base64 ทำให้สามารถใช้งานร่วมกับ Apache, Nginx และเว็บเซิร์ฟเวอร์ Linux สมัยใหม่ได้

PEM เป็น CRT

การแปลงใบรับรองข้อความ PEM เป็นใบรับรองไบนารี CRT ช่วยให้เซิร์ฟเวอร์ Apache และระบบ Windows สามารถอ่านข้อมูลประจำตัวความปลอดภัยของเว็บไซต์ได้อย่างถูกต้อง

P12 เป็น PEM

การแปลงชุดข้อมูล PKCS #12 เป็นใบรับรอง PEM จะดึงคีย์สาธารณะและคีย์ส่วนตัวจากคลังเก็บไบนารีที่มีการป้องกันออกมาเป็นไฟล์ข้อความสำหรับเว็บเซิร์ฟเวอร์

PEM เป็น P12

การแปลงใบรับรอง PEM เป็นชุดข้อมูล PKCS #12 จะรวมใบรับรองสาธารณะและคีย์ส่วนตัวของคุณไว้ในไฟล์เดียวที่มีรหัสผ่านป้องกัน เพื่อความสะดวกในการติดตั้งบนเซิร์ฟเวอร์ Windows และเว็บเบราว์เซอร์

DER เป็น PEM

การแปลงใบรับรองไบนารี DER เป็นใบรับรอง PEM จะเปลี่ยนการเข้ารหัสจากไบต์ไบนารีดิบเป็นข้อความ Base64 ASCII เพื่อให้เว็บเซิร์ฟเวอร์และโปรแกรมแก้ไขข้อความอ่านได้ง่าย

CER เป็น PEM

การแปลงใบรับรองความปลอดภัย CER แบบไบนารีเป็นไฟล์ข้อความ PEM ที่เข้ารหัสด้วย Base64 ช่วยให้ผู้ดูแลระบบสามารถอ่านและวางคีย์ความปลอดภัยลงในเว็บเซิร์ฟเวอร์และการกำหนดค่าแอปพลิเคชันได้อย่างง่ายดาย