เครื่องมือแปลงใบรับรอง CRT เป็น PEM
การแปลงใบรับรองความปลอดภัย CRT แบบไบนารีให้อยู่ในรูปแบบข้อความ PEM ที่เข้ารหัสด้วย Base64 ทำให้สามารถใช้งานร่วมกับ Apache, Nginx และเว็บเซิร์ฟเวอร์ Linux สมัยใหม่ได้
การเปรียบเทียบรูปแบบและข้อกำหนดทางเทคนิค
| ข้อกำหนด | CRT | PEM |
|---|---|---|
| ประเภท MIME | application/x-x509-ca-cert | application/x-pem-file |
| ประเภท | X.509 public certificate | Base64 ASCII certificate container |
| การบีบอัด | none | none (Base64 armored) |
| ข้อกำหนดมาตรฐาน | ITU-T X.509 / RFC 5280 | IETF RFC 7468 |
| ส่วนหัว Magic Bytes | 30 82 (DER SEQUENCE) or -----BEGIN CERTIFICATE----- (PEM text) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
ภาพรวมรูปแบบและการใช้งาน
ใบรับรองความปลอดภัยทำหน้าที่ปกป้องข้อมูลที่ส่งระหว่างเว็บเบราว์เซอร์และเซิร์ฟเวอร์ ไฟล์ CRT มักใช้รูปแบบไบนารีที่เรียกว่า DER หรืออาจเป็นไฟล์ข้อความธรรมดา เว็บเซิร์ฟเวอร์ Linux, โหลดบาลานเซอร์ และอีเมลไคลเอนต์จำนวนมากจำเป็นต้องให้ใบรับรองความปลอดภัยใช้รูปแบบ PEM แทน โดยไฟล์ PEM จะใช้ตัวอักษรข้อความมาตรฐานและห่อหุ้มข้อมูลความปลอดภัยไว้ภายในแท็กขอบเขตเฉพาะ ผู้ดูแลระบบมักพบข้อกำหนดรูปแบบนี้บ่อยครั้งเมื่อย้ายใบรับรองความปลอดภัยจากสภาพแวดล้อม Windows ไปยังระบบ Linux เว็บเซิร์ฟเวอร์ Apache และ Nginx คาดหวังให้คีย์สาธารณะและคีย์ส่วนตัวอยู่ในไฟล์ข้อความ PEM การแปลงใบรับรอง CRT ช่วยให้มั่นใจได้ว่าซอฟต์แวร์เซิร์ฟเวอร์สามารถอ่านข้อมูลการเข้ารหัสได้อย่างถูกต้องในระหว่างการจับมือสื่อสารแบบ SSL
ข้อมูลทางเทคนิคและรายละเอียดตัวแปลงสัญญาณ (Codec)
ไฟล์ CRT ใช้ MIME type application/x-x509-ca-cert ซึ่งประกอบด้วยข้อมูลไบนารีดิบหากจัดเก็บในรูปแบบ DER หรือเป็นข้อความหากส่งออกจากหน่วยงานผู้ออกใบรับรองบางแห่ง รูปแบบ PEM ใช้ MIME type application/x-pem-file โดยคำว่า PEM ย่อมาจาก Privacy Enhanced Mail และทำหน้าที่เป็นรูปแบบคอนเทนเนอร์สำหรับจัดเก็บคีย์การเข้ารหัส ทั้งสองรูปแบบไม่มีการบีบอัดข้อมูล ดังนั้นการแปลงจึงไม่ทำให้คุณภาพของไฟล์ลดลง ไฟล์ CRT แบบไบนารีไม่มีข้อความที่อ่านได้ ในขณะที่ไฟล์ PEM จะมีส่วนหัวที่อ่านได้ เช่น -----BEGIN CERTIFICATE----- ตามด้วยตัวอักษร ASCII แบบ Base64 และแท็กปิดท้าย -----END CERTIFICATE----- การแปลงทำหน้าที่เพียงแปลไบต์ดิบเป็นข้อความ ASCII ที่อ่านได้โดยไม่เปลี่ยนแปลงคีย์สาธารณะทางคณิตศาสตร์เบื้องหลัง
ความเข้ากันได้ของระบบปฏิบัติการและเบราว์เซอร์
รูปแบบ PEM และ CRT รองรับอย่างเต็มรูปแบบในระบบปฏิบัติการหลักทั้งหมด รวมถึง Windows, macOS และลินุกซ์ดิสทริบิวชัน เช่น Ubuntu และ CentOS เว็บเบราว์เซอร์อย่าง Chrome, Firefox, Safari และ Edge ประมวลผลทั้งสองรูปแบบได้โดยตรงระหว่างการเชื่อมต่อ HTTPS ที่ปลอดภัย แอปพลิเคชันเซิร์ฟเวอร์อย่าง OpenSSL, Apache, Nginx และ Java keytool รองรับข้อความ PEM ได้ทันที ในขณะที่เครื่องมือ Windows Server มักจะชอบคอนเทนเนอร์ CRT หรือ PFX มากกว่า
💡 ข้อมูลที่เป็นประโยชน์
ควรตรวจสอบเสมอว่าคีย์ส่วนตัวของคุณตรงกับใบรับรอง PEM ที่แปลงใหม่โดยใช้คำสั่ง OpenSSL ก่อนรีสตาร์ทเว็บเซิร์ฟเวอร์สำหรับใช้งานจริง
การเปรียบเทียบรูปแบบและข้อกำหนดทางเทคนิค
ไฟล์ใบรับรองมีขนาดเล็กมาก โดยทั่วไปมีขนาดระหว่าง 1 กิโลไบต์ถึง 4 กิโลไบต์ การถ่ายโอนไฟล์ใบรับรอง PEM ที่แปลงแล้วใช้เวลาไม่ถึงหนึ่งมิลลิวินาทีผ่านเครือข่าย 4G, 5G และ Fiber
คำถามที่พบบ่อย
วิธีการแปลงใบรับรอง CRT เป็นใบรับรอง PEM โดยไม่สูญเสียคุณภาพทำอย่างไร?
การแปลงนี้ไม่มีการสูญเสียข้อมูลใดๆ ใบรับรองความปลอดภัยอาศัยคีย์ทางคณิตศาสตร์ที่แม่นยำ ดังนั้นการเปลี่ยนคอนเทนเนอร์ไฟล์จาก CRT แบบไบนารีเป็น ASCII PEM จึงเปลี่ยนเพียงวิธีแสดงผลของไบต์เท่านั้น โดยที่ข้อมูลการเข้ารหัสยังคงอยู่ครบถ้วน
ความแตกต่างระหว่างใบรับรอง CRT และใบรับรอง PEM คืออะไร?
ใบรับรอง CRT มักใช้การเข้ารหัสแบบไบนารีซึ่งปรากฏเป็นข้อมูลที่ไม่สามารถอ่านได้ในโปรแกรมแก้ไขข้อความ ในขณะที่ใบรับรอง PEM จะห่อหุ้มข้อมูลความปลอดภัยชุดเดียวกันในข้อความ ASCII แบบ Base64 พร้อมป้ายกำกับขอบเขตที่ชัดเจนเพื่อให้เว็บเซิร์ฟเวอร์อ่านได้ง่าย