ใบรับรอง CRT (.crt)
ITU-T มาตรฐานSSL/TLS X.509 Certificate (CRT) คือนามสกุลไฟล์มาตรฐานที่ใช้ทั่วทั้งเว็บเซิร์ฟเวอร์ Linux และ Unix (Apache, Nginx) เพื่อจัดเก็บใบรับรองสาธารณะที่เปิดใช้งานการเข้ารหัส HTTPS
แปลง CRT เป็น PEM
ตัวแปลงจาก CRT เป็น PEM ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ CRT โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ CRT โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
30 / 2D 2D 2D 2D 2D 42 45 47 49 4Eการแสดงผลรูปแบบ ASCII: 0 / -----BEGIN
มาตรฐาน: ITU-T X.509 / IETF RFC 5280
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | การเข้ารหัสใบรับรองดิจิทัล X.509 ในรูปแบบ Base64 PEM หรือ DER แบบไบนารี |
| การบีบอัด | ข้อมูลคริปโตกราฟีแบบไม่บีบอัด |
| การจัดลำดับไบต์ | ลำดับไบต์แบบ Big-Endian (DER ASN.1) |
| พื้นที่สี | ไม่เกี่ยวข้อง (ข้อมูลรับรองความปลอดภัย) |
| ช่องสัญญาณและโครงสร้าง | ชื่อโดเมน (SAN), รายละเอียดองค์กร, พารามิเตอร์กุญแจสาธารณะ และลายเซ็นดิจิทัล |
| ขนาดสูงสุด | โดยทั่วไปมีขนาด 1 KB ถึง 5 KB |
| ความโปร่งใส | โทเค็นคริปโตกราฟีสาธารณะ |
| การสตรีมและแบบโปรเกรสซีฟ | การตรวจสอบใบรับรองแบบอะตอม |
ตารางเปรียบเทียบทางเทคนิค: CRT กับคู่แข่ง
| คุณลักษณะทางเทคนิค | CRT (ปัจจุบัน) | PEM | CER | P12 |
|---|---|---|---|---|
| การกำหนดค่าเว็บเซิร์ฟเวอร์ | มาตรฐานสำหรับ Nginx / Apache | ใบรับรอง กุญแจ หรือคำขอ | มาตรฐานสำหรับ Windows IIS | มาตรฐานสำหรับ Tomcat / Java |
| เนื้อหาทั่วไป | ใบรับรองสาธารณะเท่านั้น | ใบรับรอง กุญแจ หรือคำขอ | ใบรับรองสาธารณะเท่านั้น | ชุดรวมที่เข้ารหัส (ใบรับรอง + กุญแจ) |
| รูปแบบการจัดเก็บ | Base64 PEM หรือไบนารี DER | ข้อความ ASCII ที่เข้ารหัส Base64 | ไบนารี DER หรือ PEM | คลังเก็บไบนารี PKCS #12 |
| รวมกุญแจส่วนตัว | ไม่ (ต้องใช้ .key แยกต่างหาก) | สามารถรวมกุญแจส่วนตัวได้ | ไม่ (สาธารณะเท่านั้น) | ใช่ (ป้องกันด้วยรหัสผ่าน) |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
เว็บเซิร์ฟเวอร์ไม่สามารถเริ่มต้นได้ด้วยข้อความ 'SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line'
สาเหตุหลัก: ขาดหรือเสียหายที่แบนเนอร์ส่วนหัว '-----BEGIN CERTIFICATE-----' ในไฟล์ CRT รูปแบบ PEM
การกู้คืน: กู้คืนเครื่องหมายส่วนหัวและส่วนท้าย PEM ที่ถูกต้องโดยใช้ File2File.app Certificate Tool
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ใบรับรอง CRT จะต้องได้รับการตรวจสอบเทียบกับที่เก็บความน่าเชื่อถือราก (root trust stores); ใบรับรองที่ไม่ได้ตรวจสอบมีความเสี่ยงต่อการโจมตีแบบ Man-in-the-Middle (MitM)
เวกเตอร์การโจมตีที่ทราบ
- การยอมรับใบรับรอง CRT ที่ลงนามเอง (self-signed) หรือหมดอายุในไคลเอนต์ API อัตโนมัติ
- การโจมตีแบบ Man-in-the-Middle ผ่านใบรับรองระดับกลางที่ไม่น่าเชื่อถือ
- อัลกอริทึมลายเซ็นที่อ่อนแอ (MD5, SHA-1) ซึ่งมีความเสี่ยงต่อการปลอมแปลงการชนกัน (collision forgery)
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: บังคับใช้การตรวจสอบความถูกต้องของผู้ออกใบรับรองอย่างเข้มงวดและต้องการลายเซ็น SHA-256 หรือ SHA-384
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- มาตรฐานสำหรับ Nginx / Apache
- หากจัดเก็บในรูปแบบ PEM จะอ่านได้ด้วยโปรแกรมแก้ไขข้อความทั่วไปและตรวจสอบวันหมดอายุได้
- OpenSSL และเครื่องมือเข้ารหัสผ่านบรรทัดคำสั่งรองรับรูปแบบนี้
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- การเข้ารหัสที่คลุมเครือ: เช่นเดียวกับ CER สามารถจัดรูปแบบเป็น ASCII PEM หรือไบนารี DER ก็ได้
- ไม่สามารถใช้งานบนเซิร์ฟเวอร์ได้โดยไม่มีกุญแจส่วนตัวที่ตรงกัน (ไฟล์ .key)
- ต้องนำใบรับรอง CA ระดับกลางมาต่อเข้าด้วยกันด้วยตนเองเพื่อสร้างสายโซ่ความน่าเชื่อถือให้ครบ
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- ไฟล์ CRT ที่ขึ้นต้นด้วย '-----BEGIN CERTIFICATE-----' เป็นเพียงใบรับรอง DER ที่เข้ารหัสด้วย Base64
- Let's Encrypt ได้ออกใบรับรอง CRT ฟรีมากกว่า 3 พันล้านฉบับนับตั้งแต่เปิดตัวในปี 2015
- ไอคอนแม่กุญแจในแถบ URL ของเบราว์เซอร์ยืนยันว่ามีการตรวจสอบใบรับรอง CRT ที่ถูกต้องแล้ว
คำถามทางเทคนิคที่พบบ่อย
ความแตกต่างระหว่าง .crt และ .pem คืออะไร
.crt มักหมายถึงไฟล์ใบรับรองสาธารณะ ส่วน .pem เป็นคอนเทนเนอร์อเนกประสงค์ที่เก็บใบรับรอง กุญแจส่วนตัว หรือสายโซ่ใบรับรองทั้งหมดได้
แปลง CRT เป็น PFX หรือ P12 สำหรับ Windows IIS ได้อย่างไร?
คุณสามารถรวมไฟล์ .crt และไฟล์ .key ส่วนตัวเข้าเป็นชุด P12/PFX ที่มีการป้องกันด้วยรหัสผ่านได้โดยใช้ File2File.app บนเว็บเบราว์เซอร์ของคุณ
ดูเนื้อหาของไฟล์ .crt ได้หรือไม่?
ได้ หากไฟล์อยู่ในรูปแบบ PEM คุณสามารถเปิดด้วยโปรแกรมแก้ไขข้อความ หรือวางลงใน File2File.app เพื่อถอดรหัสชื่อโดเมน ผู้ออกใบรับรอง และวันหมดอายุ
คู่การแปลงไฟล์ CRT ที่เกี่ยวข้อง
การแปลงใบรับรองความปลอดภัย CRT แบบไบนารีให้อยู่ในรูปแบบข้อความ PEM ที่เข้ารหัสด้วย Base64 ทำให้สามารถใช้งานร่วมกับ Apache, Nginx และเว็บเซิร์ฟเวอร์ Linux สมัยใหม่ได้
การแปลงใบรับรองข้อความ PEM เป็นใบรับรองไบนารี CRT ช่วยให้เซิร์ฟเวอร์ Apache และระบบ Windows สามารถอ่านข้อมูลประจำตัวความปลอดภัยของเว็บไซต์ได้อย่างถูกต้อง