แปลง CRT เป็น PEM
การแปลงใบรับรองความปลอดภัย CRT แบบไบนารีให้อยู่ในรูปแบบข้อความ PEM ที่เข้ารหัสด้วย Base64 ทำให้สามารถใช้งานร่วมกับ Apache, Nginx และเว็บเซิร์ฟเวอร์ Linux สมัยใหม่ได้
การเปรียบเทียบรูปแบบและข้อกำหนดทางเทคนิค
| ข้อกำหนด | CRT | PEM |
|---|---|---|
| ประเภท MIME | application/ | application/ |
| ประเภท | ใบรับรองสาธารณะ X.509 | คอนเทนเนอร์ใบรับรอง ASCII แบบ Base64 |
| การบีบอัด | ไม่มี | ไม่มี (เข้ารหัสหุ้มด้วย Base64) |
| ข้อกำหนดมาตรฐาน | ITU-T X.509 / RFC 5280 | IETF RFC 7468 |
| ส่วนหัวที่ระบุลายเซ็นไฟล์ | 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
ข้อกำหนดทางเทคนิคและรายละเอียดตัวแปลงสัญญาณ
ไฟล์ 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 ที่อ่านได้โดยไม่เปลี่ยนแปลงคีย์สาธารณะทางคณิตศาสตร์เบื้องหลัง
ความเข้ากันได้ของระบบปฏิบัติการและเบราว์เซอร์
ส่วนขยายไฟล์ใบรับรองไม่ได้บอกว่าเนื้อหาเข้ารหัสแบบ DER หรือ PEM การรองรับขึ้นอยู่กับแอปและรูปแบบที่คาดไว้ OpenSSL กับเครื่องมือเซิร์ฟเวอร์หลายตัวรับ PEM ส่วนเครื่องมือใบรับรอง Windows มักทำงานกับใบรับรอง X.509 ในรูปแบบและคอนเทนเนอร์ที่รองรับ
เคล็ดลับการใช้งาน
ควรตรวจสอบเสมอว่าคีย์ส่วนตัวของคุณตรงกับใบรับรอง PEM ที่แปลงใหม่โดยใช้คำสั่ง OpenSSL ก่อนรีสตาร์ทเว็บเซิร์ฟเวอร์สำหรับใช้งานจริง
คำถามที่พบบ่อย
วิธีการแปลงใบรับรอง CRT เป็นใบรับรอง PEM โดยไม่สูญเสียคุณภาพทำอย่างไร?
CRT และ PEM เป็นนามสกุลไฟล์ ไม่ใช่รูปแบบการเข้ารหัสที่ตายตัว เมื่ออินพุตเป็นใบรับรองที่รองรับ การแปลงจะเปลี่ยนการจัดรูปแบบหรือการห่อข้อมูล ควรตรวจสอบว่าไฟล์ผลลัพธ์มีใบรับรองเดิมก่อนนำไปใช้งาน
ความแตกต่างระหว่างใบรับรอง CRT และใบรับรอง PEM คืออะไร?
CRT เป็นนามสกุลไฟล์ที่ใช้กับใบรับรองซึ่งอาจเข้ารหัสแบบ DER หรือ PEM ส่วน PEM เป็นการเข้ารหัสข้อความ Base64 ที่มีป้ายกำกับขอบเขต ควรตรวจสอบการเข้ารหัสจริงจากเนื้อหาไฟล์ ไม่ควรเดาจากนามสกุลเพียงอย่างเดียว