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

ITU-T มาตรฐาน

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

แปลง CRT เป็น PEM

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

ตรวจสอบและดู Metadata

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

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

การแปลงไฟล์แบบส่วนตัว 100% ในเบราว์เซอร์ - ไฟล์จะไม่ rời ออกจากอุปกรณ์ของคุณ

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

ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)

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

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

30 82 / 2D 2D 2D 2D 2D 42 45 47 49 4E

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

มาตรฐาน: ITU-T X.509 / IETF RFC 5280

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

สถาปัตยกรรมคอนเทนเนอร์Base64 PEM or binary DER encoding of an X.509 digital certificate
การบีบอัดUncompressed cryptographic data
การจัดลำดับไบต์ (Byte Endianness)Big-Endian (DER ASN.1)
พื้นที่สีN/A (Security Credential)
ช่องสัญญาณและโครงสร้างDomain names (SAN), Organization details, Public key parameters, Digital Signature
ขนาดสูงสุดTypically 1 KB to 5 KB
ความโปร่งใสPublic cryptographic token
การสตรีมและแบบโปรเกรสซีฟAtomic certificate validation

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

คุณลักษณะทางเทคนิคCRT (ปัจจุบัน)PEMCERP12
การกำหนดค่าเว็บเซิร์ฟเวอร์มาตรฐานสำหรับ Nginx / Apacheคอนเทนเนอร์สากลมาตรฐานสำหรับ Windows IISมาตรฐานสำหรับ Tomcat / Java
เนื้อหาทั่วไปใบรับรองสาธารณะเท่านั้นใบรับรอง กุญแจ หรือคำขอใบรับรองสาธารณะเท่านั้นชุดรวมที่เข้ารหัส (ใบรับรอง + กุญแจ)
ซองจดหมายรูปแบบBase64 PEM หรือไบนารี DERBase64 ASCII armored อย่างเคร่งครัดไบนารี DER หรือ PEMคลังเก็บไบนารี PKCS #12
รวมกุญแจส่วนตัวไม่ (ต้องใช้ .key แยกต่างหาก)สามารถรวมกุญแจส่วนตัวได้ไม่ (สาธารณะเท่านั้น)ใช่ (ป้องกันด้วยรหัสผ่าน)

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

เว็บเซิร์ฟเวอร์ไม่สามารถเริ่มต้นได้ด้วยข้อความ 'SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line'

สาเหตุหลัก: ขาดหรือเสียหายที่แบนเนอร์ส่วนหัว '-----BEGIN CERTIFICATE-----' ในไฟล์ CRT รูปแบบ PEM

การกู้คืน: กู้คืนเครื่องหมายส่วนหัวและส่วนท้าย PEM ที่ถูกต้องโดยใช้ File2File Certificate Tool

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

ใบรับรอง CRT จะต้องได้รับการตรวจสอบเทียบกับที่เก็บความน่าเชื่อถือราก (root trust stores); ใบรับรองที่ไม่ได้ตรวจสอบมีความเสี่ยงต่อการโจมตีแบบ Man-in-the-Middle (MitM)

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

  • การยอมรับใบรับรอง CRT ที่ลงนามเอง (self-signed) หรือหมดอายุในไคลเอนต์ API อัตโนมัติ
  • การโจมตีแบบ Man-in-the-Middle ผ่านใบรับรองระดับกลางที่ไม่น่าเชื่อถือ
  • อัลกอริทึมลายเซ็นที่อ่อนแอ (MD5, SHA-1) ซึ่งมีความเสี่ยงต่อการปลอมแปลงการชนกัน (collision forgery)

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:

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

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

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

  • มาตรฐานสากลสำหรับการกำหนดค่า HTTPS บนเว็บเซิร์ฟเวอร์ Linux (Nginx 'ssl_certificate', Apache 'SSLCertificateFile')
  • มนุษย์สามารถอ่านได้เมื่อจัดเก็บในรูปแบบ PEM: สามารถดูได้ในโปรแกรมแก้ไขข้อความใดก็ได้เพื่อตรวจสอบวันหมดอายุ
  • รองรับโดย OpenSSL และเครื่องมือบรรทัดคำสั่งการเข้ารหัสทั้งหมด

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

  • การเข้ารหัสที่คลุมเครือ: เช่นเดียวกับ CER สามารถจัดรูปแบบเป็น ASCII PEM หรือไบนารี DER ก็ได้
  • ไม่สามารถใช้งานบนเซิร์ฟเวอร์ได้โดยไม่มีกุญแจส่วนตัวที่ตรงกัน (ไฟล์ .key)
  • ต้องมีการเชื่อมต่อ (concatenation) ใบรับรอง 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 เพื่อถอดรหัสชื่อโดเมน, ผู้ออกใบรับรอง และวันหมดอายุ