วิธีสร้างใบรับรองที่ลงนามด้วยตนเองด้วย OpenSSL

วิธีสร้างใบรับรองที่ลงนามด้วยตนเองด้วย OpenSSL
ผู้อ่านเช่นคุณช่วยสนับสนุน MUO เมื่อคุณทำการซื้อโดยใช้ลิงก์บนเว็บไซต์ของเรา เราอาจได้รับค่าคอมมิชชั่นจากพันธมิตร อ่านเพิ่มเติม.

ใบรับรอง SSL/TLS เป็นสิ่งจำเป็นสำหรับการรักษาความปลอดภัยเว็บแอปพลิเคชันหรือเซิร์ฟเวอร์ของคุณ แม้ว่าผู้ออกใบรับรองที่เชื่อถือได้หลายรายจะมอบใบรับรอง SSL/TLS โดยคิดค่าใช้จ่าย แต่ก็สามารถสร้างใบรับรองที่ลงนามเองโดยใช้ OpenSSL ได้เช่นกัน แม้ว่าใบรับรองที่ลงนามเองจะขาดการรับรองจากหน่วยงานที่เชื่อถือได้ แต่ก็ยังสามารถเข้ารหัสการรับส่งข้อมูลเว็บของคุณได้ คุณจะใช้ OpenSSL เพื่อสร้างใบรับรองที่ลงนามเองสำหรับเว็บไซต์หรือเซิร์ฟเวอร์ของคุณได้อย่างไร





วิธีดูข้อความบน Instagram บนคอมพิวเตอร์
สร้างวิดีโอประจำวัน เลื่อนเพื่อดำเนินการต่อกับเนื้อหา

วิธีการติดตั้ง OpenSSL

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





ที่นี่ เลือกส่วนขยาย MSI ของ OpenSSL เวอร์ชันล่าสุดที่เหมาะกับระบบของคุณ





  ภาพหน้าจอจากเว็บไซต์ slproweb สำหรับการดาวน์โหลด OpenSSL

ตัวอย่างเช่น พิจารณา OpenSSL ที่ D:\OpenSSL-Win64 . คุณสามารถเปลี่ยนสิ่งนี้ได้ หากการติดตั้งเสร็จสมบูรณ์ เปิด PowerShell ในฐานะผู้ดูแลระบบ และนำทางไปยังโฟลเดอร์ย่อยที่ชื่อ ถัง ในโฟลเดอร์ที่คุณติดตั้ง OpenSSL เมื่อต้องการทำเช่นนี้ ใช้คำสั่งต่อไปนี้:

 cd 'D:\OpenSSL-Win64\bin' 

ขณะนี้คุณสามารถเข้าถึง opensl.exe และเรียกใช้ได้ตามที่คุณต้องการ



  รันคำสั่ง version เพื่อดูว่ามี openssl ติดตั้งอยู่หรือไม่

สร้างรหัสส่วนตัวของคุณด้วย OpenSSL

คุณต้องมีรหัสส่วนตัวเพื่อสร้างใบรับรองที่ลงนามด้วยตนเอง ในโฟลเดอร์ถังขยะเดียวกัน คุณสามารถสร้างคีย์ส่วนตัวนี้ได้โดยป้อนคำสั่งต่อไปนี้ใน PowerShell เมื่อคุณเปิดในฐานะผู้ดูแลระบบแล้ว

 openssl.exe genrsa -des3 -out myPrivateKey.key 2048 

คำสั่งนี้จะสร้างคีย์ส่วนตัว RSA ที่เข้ารหัส 3DES ยาว 2048 บิตผ่าน OpenSSL OpenSSL จะขอให้คุณป้อนรหัสผ่าน คุณควรใช้ก รหัสผ่านที่แข็งแกร่งและน่าจดจำ . หลังจากป้อนรหัสผ่านเดียวกันสองครั้ง คุณจะสร้างคีย์ส่วนตัว RSA ได้สำเร็จ





  เอาต์พุตของคำสั่งที่ใช้สร้างคีย์ RSA

คุณสามารถค้นหารหัส RSA ส่วนตัวของคุณด้วยชื่อ myPrivateKey.key .

วิธีสร้างไฟล์ CSR ด้วย OpenSSL

รหัสส่วนตัวที่คุณสร้างจะไม่เพียงพอในตัวเอง นอกจากนี้ คุณต้องมีไฟล์ CSR เพื่อสร้างใบรับรองที่ลงนามด้วยตนเอง หากต้องการสร้างไฟล์ CSR นี้ คุณต้องป้อนคำสั่งใหม่ใน PowerShell:





 openssl.exe req -new -key myPrivateKey.key -out myCertRequest.csr 

OpenSSL จะขอรหัสผ่านที่คุณป้อนเพื่อสร้างรหัสส่วนตัวที่นี่ จะขอข้อมูลทางกฎหมายและข้อมูลส่วนตัวของคุณต่อไป โปรดระวัง คุณป้อนข้อมูลนี้ถูกต้อง

  เอาต์พุตของคำสั่งที่ใช้สร้างไฟล์ CSR

นอกจากนี้ยังเป็นไปได้ที่จะดำเนินการทั้งหมดด้วยบรรทัดคำสั่งเดียว หากคุณใช้คำสั่งด้านล่าง คุณสามารถสร้างทั้งคีย์ RSA ส่วนตัวและไฟล์ CSR พร้อมกันได้:

 openssl.exe req -new -newkey rsa:2048 -nodes -keyout myPrivateKey2.key -out myCertRequest2.csr 
  เอาต์พุตของคำสั่งที่ใช้สร้างไฟล์ RSA และ CSR ในครั้งเดียว

ตอนนี้คุณจะสามารถเห็นไฟล์ชื่อ myCertRequest.csr ในไดเรกทอรีที่เกี่ยวข้อง ไฟล์ CSR ที่คุณสร้างนี้มีข้อมูลเกี่ยวกับ:

  • สถาบันที่ขอใบรับรอง
  • ชื่อสามัญ (เช่น ชื่อโดเมน)
  • รหัสสาธารณะ (เพื่อวัตถุประสงค์ในการเข้ารหัส)

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

หน่วยงานและบริษัทนายหน้าเหล่านี้จะตรวจสอบว่าข้อมูลที่คุณให้นั้นถูกต้องหรือไม่ ขึ้นอยู่กับลักษณะของใบรับรองที่คุณต้องการ นอกจากนี้ คุณยังอาจต้องส่งเอกสารบางอย่างแบบออฟไลน์ (แฟกซ์ ไปรษณีย์ ฯลฯ) เพื่อพิสูจน์ว่าข้อมูลนั้นถูกต้องหรือไม่

การจัดทำใบรับรองโดยหน่วยงานออกใบรับรอง

เมื่อคุณส่งไฟล์ CSR ที่คุณสร้างขึ้นไปยังผู้ออกใบรับรองที่ถูกต้อง ผู้ออกใบรับรองจะลงนามในไฟล์และส่งใบรับรองไปยังสถาบันหรือบุคคลที่ร้องขอ ในการดำเนินการดังกล่าว ผู้ออกใบรับรอง (หรือที่เรียกว่า CA) จะสร้างไฟล์ PEM จากไฟล์ CSR และ RSA ด้วย ไฟล์ PEM เป็นไฟล์สุดท้ายที่จำเป็นสำหรับใบรับรองที่ลงนามด้วยตนเอง ขั้นตอนเหล่านี้ทำให้มั่นใจได้ว่า ใบรับรอง SSL ยังคงเป็นระเบียบ เชื่อถือได้ และปลอดภัย .

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

วิธีดูเมนบอร์ดที่ฉันมี windows 10

สำหรับตอนนี้ ลองนึกภาพไฟล์ PEM ที่ชื่อว่า myPemKey.pem มาจากผู้ออกใบรับรองอย่างเป็นทางการ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อสร้างไฟล์ PEM ด้วยตัวคุณเอง:

 openssl x509 -req -sha256 -days 365 -in myCertRequest.csr -signkey myPrivateKey.key -out myPemKey.pem 

หากคุณมีไฟล์ดังกล่าว คำสั่งที่คุณควรใช้สำหรับใบรับรองที่ลงนามด้วยตนเองคือ:

 openssl.exe x509 -req -days 365 -in myCertRequest.csr -signkey myPemKey.pem -out mySelfSignedCert.cer 

คำสั่งนี้หมายความว่าไฟล์ CSR ได้รับการเซ็นชื่อด้วยคีย์ส่วนตัวชื่อ myPemKey.pem มีอายุ 365 วัน ด้วยเหตุนี้ คุณจึงสร้างไฟล์ใบรับรองชื่อ mySelfSignedCert.cer .

  รูปภาพที่มีใบรับรองที่ลงนามด้วยตนเองอยู่ในโฟลเดอร์

ข้อมูลใบรับรองที่ลงนามด้วยตนเอง

คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบข้อมูลในใบรับรองที่ลงนามเองที่คุณสร้างขึ้น:

 openssl.exe x509 -noout -text -in mySelfSignedCert.cer 

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

จะเกิดอะไรขึ้นหากใบรับรองที่ลงนามด้วยตนเองไม่ได้ลงนามโดยผู้ออกใบรับรอง

สิ่งสำคัญคือต้องตรวจสอบใบรับรองที่ลงนามเองที่คุณสร้างและยืนยันว่าใบรับรองเหล่านี้ปลอดภัย ผู้ให้บริการใบรับรองบุคคลที่สาม (เช่น CA) มักจะทำเช่นนี้ หากคุณไม่มีใบรับรองที่ลงนามและอนุมัติโดยผู้ออกใบรับรองบุคคลที่สาม และคุณใช้ใบรับรองที่ไม่ผ่านการอนุมัตินี้ คุณจะประสบปัญหาด้านความปลอดภัยบางประการ

แฮ็กเกอร์สามารถใช้ใบรับรองที่ลงนามเองเพื่อสร้างเว็บไซต์ปลอม เป็นต้น ทำให้ผู้โจมตีสามารถขโมยข้อมูลของผู้ใช้ได้ นอกจากนี้ยังสามารถยึดชื่อผู้ใช้ รหัสผ่าน หรือข้อมูลที่ละเอียดอ่อนอื่นๆ ของผู้ใช้ได้

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

การสร้างใบรับรองที่ลงนามด้วยตนเองบน Windows

อย่างที่คุณเห็น การสร้างใบรับรองที่ลงนามเองบน Windows ด้วย OpenSSL นั้นค่อนข้างง่าย แต่โปรดจำไว้ว่าคุณจะต้องได้รับการอนุมัติจากหน่วยงานออกใบรับรองด้วย

อย่างไรก็ตาม การสร้างใบรับรองดังกล่าวแสดงว่าคุณให้ความสำคัญกับความปลอดภัยของผู้ใช้ ซึ่งหมายความว่าพวกเขาจะไว้วางใจคุณ ไซต์ของคุณ และแบรนด์โดยรวมของคุณมากขึ้น