การรับใบรับรอง SSL จากหน่วยงานออกใบรับรอง (CA) รายใหญ่ๆ สามารถทำได้ตั้งแต่ $100 ขึ้นไป เพิ่มข่าวผสมซึ่งดูเหมือนจะระบุว่า CA ที่จัดตั้งขึ้นทั้งหมดไม่สามารถเชื่อถือได้ 100% ของเวลาทั้งหมด และคุณอาจตัดสินใจที่จะหลีกเลี่ยงความไม่แน่นอนและลบค่าใช้จ่ายด้วยการเป็นผู้ออกใบรับรองของคุณเอง
ขั้นตอน
ส่วนที่ 1 จาก 4: การสร้างใบรับรอง CA ของคุณ
ขั้นตอนที่ 1 สร้างคีย์ส่วนตัวของ CA โดยออกคำสั่งต่อไปนี้
-
openssl genrsa -des3 -out server. CA.key 2048
-
ตัวเลือกอธิบาย
- openssl - ชื่อของซอฟต์แวร์
- genrsa - สร้างคีย์ส่วนตัวใหม่
- -des3 - เข้ารหัสคีย์โดยใช้การเข้ารหัส DES
- -out server. CA.key - ชื่อของคีย์ใหม่ของคุณ
- 2048 - ความยาวของคีย์ส่วนตัว (โปรดดูคำเตือน)
- เก็บใบรับรองนี้และรหัสผ่านไว้ในที่ปลอดภัย
ขั้นตอนที่ 2 สร้างคำขอลงนามใบรับรอง
-
openssl req -verbose -new -key server. CA.key -out server. CA.csr -sha256
-
ตัวเลือกอธิบาย:
- req - สร้างคำขอลงนาม
- -verbose - แสดงรายละเอียดเกี่ยวกับคำขอขณะที่กำลังสร้าง (ตัวเลือก)
- -ใหม่ - สร้างคำขอใหม่
- -key server. CA.key - คีย์ส่วนตัวที่คุณเพิ่งสร้างขึ้นด้านบน
- -out server. CA.csr - ชื่อไฟล์ของคำขอลงนามที่คุณกำลังสร้าง
- sha256 - อัลกอริธึมการเข้ารหัสที่ใช้สำหรับคำขอลงนาม (หากคุณไม่รู้ว่าสิ่งนี้คืออะไร อย่าเปลี่ยนสิ่งนี้ คุณควรเปลี่ยนสิ่งนี้ก็ต่อเมื่อคุณรู้ว่าคุณกำลังทำอะไรอยู่)
ขั้นตอนที่ 3 กรอกข้อมูลให้มากที่สุด
-
ชื่อประเทศ (รหัส 2 ตัวอักษร) [AU]:
เรา
-
ชื่อรัฐหรือจังหวัด (ชื่อเต็ม) [บางรัฐ]:
CA
-
ชื่อท้องที่ (เช่น เมือง) :
หุบเขาซิลิคอน
-
ชื่อองค์กร (เช่น บริษัท) [Internet Widgits Pty Ltd]:
วิกิฮาว อิงค์
- ชื่อหน่วยขององค์กร (เช่น ส่วน) :
-
ชื่อสามัญ (เช่น เซิร์ฟเวอร์ FQDN หรือชื่อของคุณ) :
-
ที่อยู่อีเมล :
ขั้นตอนที่ 4 ลงนามในใบรับรองด้วยตนเอง:
-
openssl ca -extensions v3_ca -out server. CA-signed.crt -keyfile server. CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server. CA.csr
-
ตัวเลือกอธิบาย:
- ca - โหลดโมดูลผู้ออกใบรับรอง
- -extension v3_ca - โหลดส่วนขยาย v3_ca ซึ่งต้องมีสำหรับใช้กับเบราว์เซอร์รุ่นใหม่
- -out server. CA-signed.crt - ชื่อของคีย์ที่ลงนามใหม่ของคุณ
- -keyfile server. CA.key - คีย์ส่วนตัวที่คุณสร้างในขั้นตอนที่1
- -verbose - แสดงรายละเอียดเกี่ยวกับคำขอขณะที่กำลังสร้าง (ตัวเลือก)
- -selfsign - บอก openssl ว่าคุณกำลังใช้รหัสเดียวกันเพื่อลงนามในคำขอ
- -md sha256 - อัลกอริธึมการเข้ารหัสที่ใช้สำหรับข้อความ (ถ้าไม่รู้ว่านี่คืออะไร อย่าเปลี่ยน คุณควรเปลี่ยนเฉพาะเมื่อคุณรู้ว่ากำลังทำอะไรอยู่)
- -enddate 330630235959Z - วันที่สิ้นสุดของใบรับรอง สัญกรณ์คือ YYMMDDHHMMSSZ โดยที่ Z อยู่ใน GMT หรือบางครั้งเรียกว่า "Zulu"
- -infiles server. CA.csr - ไฟล์คำขอลงนามที่คุณสร้างขั้นตอนข้างต้น
ขั้นตอนที่ 5. ตรวจสอบใบรับรอง CA ของคุณ
- openssl x509 -noout -text -in server. CA.crt
-
ตัวเลือกอธิบาย:
- x509 - โหลดโมดูล x509 เพื่อตรวจสอบใบรับรองที่ลงนาม
- -noout - ห้ามส่งออกข้อความที่เข้ารหัส
- -text - ส่งออกข้อมูลบนหน้าจอ
- -in server. CA.crt - โหลดใบรับรองที่ลงนาม
- ไฟล์ server. CA.crt สามารถแจกจ่ายให้กับทุกคนที่จะใช้เว็บไซต์ของคุณหรือใช้ใบรับรองที่คุณวางแผนจะลงนาม
ส่วนที่ 2 จาก 4: การสร้างใบรับรอง SSL สำหรับบริการ เช่น Apache
ขั้นตอนที่ 1 สร้างคีย์ส่วนตัว
-
openssl genrsa -des3 -out server.apache.key 2048
-
ตัวเลือกอธิบาย:
- openssl - ชื่อของซอฟต์แวร์
- genrsa - สร้างคีย์ส่วนตัวใหม่
- -des3 - เข้ารหัสคีย์โดยใช้การเข้ารหัส DES
- -out server.apache.key - ชื่อของคีย์ใหม่ของคุณ
- 2048 - ความยาวของคีย์ส่วนตัว (โปรดดูคำเตือน)
- เก็บใบรับรองนี้และรหัสผ่านไว้ในที่ปลอดภัย
ขั้นตอนที่ 2 สร้างคำขอลงนามใบรับรอง
-
openssl req -verbose -new -key server.apache.key -out server.apache.csr -sha256
-
ตัวเลือกอธิบาย:
- req - สร้างคำขอลงนาม
- -verbose - แสดงรายละเอียดเกี่ยวกับคำขอขณะที่กำลังสร้าง (ตัวเลือก)
- -ใหม่ - สร้างคำขอใหม่
- -key server.apache.key - คีย์ส่วนตัวที่คุณเพิ่งสร้างขึ้นด้านบน
- -out server.apache.csr - ชื่อไฟล์ของคำขอลงนามที่คุณกำลังสร้าง
- sha256 - อัลกอริธึมการเข้ารหัสที่ใช้สำหรับคำขอลงนาม (หากคุณไม่รู้ว่าสิ่งนี้คืออะไร อย่าเปลี่ยนสิ่งนี้ คุณควรเปลี่ยนสิ่งนี้ก็ต่อเมื่อคุณรู้ว่าคุณกำลังทำอะไรอยู่)
ขั้นตอนที่ 3 ใช้ใบรับรอง CA ของคุณเพื่อลงนามคีย์ใหม่
-
openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr
-
ตัวเลือกอธิบาย:
- ca - โหลดโมดูลผู้ออกใบรับรอง
- -out server.apache.pem - ชื่อไฟล์ใบรับรองที่ลงนาม
- -keyfile server. CA.key - ชื่อไฟล์ของใบรับรอง CA ที่จะลงนามในคำขอ
- -infiles server.apache.csr - ชื่อไฟล์ของคำขอลงนามใบรับรอง
ขั้นตอนที่ 4 กรอกข้อมูลให้มากที่สุด:
-
ชื่อประเทศ (รหัส 2 ตัวอักษร) [AU]:
เรา
-
ชื่อรัฐหรือจังหวัด (ชื่อเต็ม) [บางรัฐ]:
CA
-
ชื่อท้องที่ (เช่น เมือง) :
หุบเขาซิลิคอน
-
ชื่อองค์กร (เช่น บริษัท) [Internet Widgits Pty Ltd]:
วิกิฮาว อิงค์
- ชื่อหน่วยขององค์กร (เช่น ส่วน) :
-
ชื่อสามัญ (เช่น เซิร์ฟเวอร์ FQDN หรือชื่อของคุณ) :
-
ที่อยู่อีเมล :
ขั้นตอนที่ 5. บันทึกสำเนาของคีย์ส่วนตัวของคุณในตำแหน่งอื่น
สร้างคีย์ส่วนตัวโดยไม่มีรหัสผ่านเพื่อป้องกันไม่ให้ Apache ถามรหัสผ่าน:
-
openssl rsa -in server.apache.key -out server.apache.unsecured.key
-
ตัวเลือกอธิบาย:
- rsa - เรียกใช้โปรแกรมเข้ารหัส RSA
- -in server.apache.key - ชื่อคีย์ที่คุณต้องการแปลง
- -out server.apache.unsecured.key - ชื่อไฟล์ของคีย์ใหม่ที่ไม่ปลอดภัย
ขั้นตอนที่ 6 ใช้ไฟล์ server.apache.pem ที่เป็นผลลัพธ์พร้อมกับคีย์ส่วนตัวที่คุณสร้างขึ้นในขั้นตอนที่ 1 เพื่อกำหนดค่าไฟล์ apache2.conf ของคุณ
ส่วนที่ 3 จาก 4: การสร้างใบรับรองผู้ใช้สำหรับการตรวจสอบสิทธิ์
ขั้นตอนที่ 1 ทำตามขั้นตอนทั้งหมดใน _การสร้างใบรับรอง SSL สำหรับ Apache_
ขั้นตอนที่ 2 แปลงใบรับรองที่ลงนามของคุณเป็น PKCS12
openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12
ส่วนที่ 4 จาก 4: การสร้างใบรับรองอีเมล S/MIME
ขั้นตอนที่ 1 สร้างคีย์ส่วนตัว
openssl genrsa -des3 -out private_email.key 2048
ขั้นตอนที่ 2 สร้างคำขอลงนามใบรับรอง
openssl req -new -key private_email.key -out private_email.csr
ขั้นตอนที่ 3 ใช้ใบรับรอง CA ของคุณเพื่อลงนามคีย์ใหม่
openssl ca -out private_email.pem -keyfile server. CA.key -infiles private_email.csr
ขั้นตอนที่ 4 แปลงใบรับรองเป็น PKCS12
openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12
ขั้นตอนที่ 5 สร้างใบรับรองคีย์สาธารณะสำหรับการแจกจ่าย
openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "คีย์สาธารณะของ WikiHow"
เคล็ดลับ
คุณสามารถเปลี่ยนเนื้อหาของคีย์ PEM ได้โดยออกคำสั่งต่อไปนี้: openssl x509 -noout -text -in certificate.pem
คำเตือน
- คีย์ 1024 บิตถือว่าล้าสมัย คีย์ 2048 บิตถือว่าปลอดภัยสำหรับใบรับรองผู้ใช้จนถึงปี 2030 แต่ถือว่าไม่เพียงพอสำหรับใบรับรองหลัก พิจารณาช่องโหว่เหล่านี้เมื่อคุณสร้างใบรับรองของคุณ
- ตามค่าเริ่มต้น เบราว์เซอร์รุ่นใหม่ๆ ส่วนใหญ่จะแสดงคำเตือน "ใบรับรองที่ไม่น่าเชื่อถือ" เมื่อมีผู้เยี่ยมชมไซต์ของคุณ มีการถกเถียงกันมากเกี่ยวกับถ้อยคำของคำเตือนเหล่านี้ เนื่องจากผู้ใช้ที่ไม่ใช่ด้านเทคนิคอาจถูกจับผิดได้ เป็นการดีที่สุดที่จะใช้อำนาจหลักเพื่อไม่ให้ผู้ใช้ได้รับคำเตือน