ไฟล์ .pem คืออะไร และจะใช้งานอย่างไร

What Is Pem File



รูปแบบไฟล์ .pem ส่วนใหญ่จะใช้เพื่อจัดเก็บคีย์การเข้ารหัส ไฟล์นี้สามารถใช้เพื่อวัตถุประสงค์ต่างๆ ไฟล์ .pem กำหนดโครงสร้างและประเภทไฟล์ที่เข้ารหัสที่ใช้ในการจัดเก็บข้อมูล ไฟล์ pem มีรูปแบบที่กำหนดมาตรฐานในการเริ่มต้นและสิ้นสุดไฟล์

เราจะให้ภาพรวมในบทความนี้เกี่ยวกับไฟล์ .pem และวิธีใช้งาน







ไวยากรณ์พื้นฐาน

ไฟล์ Pem เริ่มต้นด้วย:



-----เริ่ม -----

Base64 เข้ารหัสบล็อคของ Data



-----จบ -----

ข้อมูลถูกเข้ารหัสด้วย base64 ระหว่างแท็กเหล่านี้ ไฟล์ pem ประกอบด้วยหลายบล็อก วัตถุประสงค์ของแต่ละไฟล์บล็อกหรือ pem ได้อธิบายไว้ในส่วนหัวที่บอกคุณว่าการใช้บล็อกที่กำหนดคืออะไร ตัวอย่างเช่น คุณเห็นหัวข้อต่อไปนี้ที่จุดเริ่มต้นของไฟล์ pem





-----เริ่มคีย์ส่วนตัว RSA -----

ส่วนหัวด้านบนหมายถึงสตริงข้อมูลต่อไปนี้ทั้งหมดที่เกี่ยวข้องกับรายละเอียดคีย์ส่วนตัว RSA

จะใช้ไฟล์ pem สำหรับใบรับรอง SSL ได้อย่างไร

เมื่อใช้ไฟล์ pem คุณสามารถจัดเก็บใบรับรอง SSL ด้วยคีย์ส่วนตัวที่เกี่ยวข้อง มีการมอบหมายใบรับรองมากกว่าหนึ่งรายการในสายโซ่ SSL แบบเต็ม และทำงานตามลำดับต่อไปนี้:



ขั้นแรก ใบรับรองผู้ใช้ปลายทาง ซึ่งโดยทั่วไปแล้วจะกำหนดให้กับชื่อโดเมนโดยผู้ออกใบรับรอง (CA) ไฟล์ใบรับรองนี้ใช้ใน Nginx และ Apache เพื่อเข้ารหัส HTTPS

มีใบรับรองระดับกลางให้เลือกสูงสุดสี่ใบที่มอบหมายให้กับ CA ที่มีขนาดเล็กกว่าโดยหน่วยงานระดับสูง

ในท้ายที่สุด ใบรับรองสูงสุดคือใบรับรองหลักที่ลงนามด้วยตนเองโดยผู้ออกใบรับรองหลัก (CA)

ใบรับรองแต่ละรายการในไฟล์ pem ที่แสดงรายการในบล็อกแยกกันดังนี้:

-----เริ่มใบรับรอง-----
//ผู้ใช้
-----จบใบรับรอง-----
-----เริ่มใบรับรอง-----
//ใบรับรองระดับกลาง
-----จบใบรับรอง-----
-----เริ่มใบรับรอง-----
//ใบรับรองหลัก
-----จบใบรับรอง-----

ไฟล์เหล่านี้จะได้รับจากผู้ให้บริการ SSL ของคุณเพื่อใช้ในเว็บเซิร์ฟเวอร์ของคุณ

ใบรับรองต่อไปนี้จะถูกสร้างขึ้นผ่าน certbot ของ LetsEncrypt

cert.pem chain.pem fullchain.pem privkey.pem

วางใบรับรองทั้งหมดเหล่านี้ไว้ที่ตำแหน่ง '/etc/letsencrypt/live/your-domain-name/'

ตอนนี้ ใช้ใบรับรองเหล่านี้ ส่งต่อเป็นพารามิเตอร์สำหรับเว็บเบราว์เซอร์ของคุณใน Nginx ดังนี้:

ssl_certificate/ฯลฯ/letsencrypt/มีชีวิต/ชื่อโดเมน/fullchain.pem;
ssl_certificate_key/ฯลฯ/letsencrypt/มีชีวิต/ชื่อโดเมน/privkey.pem;

สำหรับวิธีเดียวกันของ Apache สามารถใช้ได้ แต่ให้ใช้คำสั่ง SSLCertificateFile และ SSLCertificatekeyFile ดังนี้:

SSLCertificateFile/ฯลฯ/letsencrypt/มีชีวิต/ชื่อโดเมน/fullchain.pem
SSLCertificateKeyFile/ฯลฯ/letsencrypt/มีชีวิต/ชื่อโดเมน/privkey.pem

จะใช้ไฟล์ Pem สำหรับ SSH ได้อย่างไร?

ไฟล์ Pem ยังสามารถใช้สำหรับ SSH เป็นที่น่าสนใจที่จะทราบว่าเมื่อคุณสร้างอินสแตนซ์ใหม่สำหรับบริการเว็บของ Amazon จะให้ไฟล์ pem ที่มีคีย์ส่วนตัว และคีย์นี้จะใช้เพื่อให้สามารถ SSH ในอินสแตนซ์ใหม่ได้

วิธีที่ง่ายที่สุดในการเพิ่มไพรเวตคีย์ให้กับ ssh-agent ของคุณโดยใช้คำสั่ง ssh-add ดังนี้:

ssh-addไฟล์คีย์.pem

เรียกใช้คำสั่งด้านบนเมื่อเริ่มต้น สิ่งนี้จะไม่คงอยู่ในระหว่างการรีบูตระบบ

บทสรุป

เราได้ให้ภาพรวมโดยย่อในบทความนี้เกี่ยวกับไฟล์ pem เราอธิบายการแนะนำเบื้องต้นและการใช้ไฟล์ pem สำหรับใบรับรอง SSL และบริการ SSH