ใบรับรอง CRT (.crt)

ITU-T มาตรฐาน

SSL/TLS X.509 Certificate (CRT) คือนามสกุลไฟล์มาตรฐานที่ใช้ทั่วทั้งเว็บเซิร์ฟเวอร์ Linux และ Unix (Apache, Nginx) เพื่อจัดเก็บใบรับรองสาธารณะที่เปิดใช้งานการเข้ารหัส HTTPS

แปลง CRT เป็น PEM

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

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

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

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

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

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

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

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ 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 (ปัจจุบัน)PEMCERP12
การกำหนดค่าเว็บเซิร์ฟเวอร์มาตรฐานสำหรับ 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

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

2015Let's Encrypt เปิดตัว ซึ่งช่วยให้ออกใบรับรอง CRT ฟรีทั่วโลกโดยอัตโนมัติ
1995Netscape แนะนำ SSL 2.0 ซึ่งทำให้ไฟล์ .crt เป็นมาตรฐานสำหรับการตรวจสอบความถูกต้องของเซิร์ฟเวอร์
1994Netscape Communications ออกแบบโปรโตคอลความปลอดภัยของเว็บยุคแรกโดยใช้ใบรับรอง X.509

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

  • มาตรฐานสำหรับ 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 เพื่อถอดรหัสชื่อโดเมน ผู้ออกใบรับรอง และวันหมดอายุ