เครื่องมือสร้างใบรับรอง SSL
ข้อมูลระบุตัวตน
ใบรับรอง
กุญแจส่วนตัว (เก็บเป็นความลับ!)
ใบรับรองแบบ self-signed จะไม่ได้รับความเชื่อถือจากเบราว์เซอร์โดยค่าเริ่มต้น: ใช้เฉพาะสำหรับการพัฒนาในเครื่อง การทดสอบ หรือเครือข่ายส่วนตัว
สร้างใบรับรองที่ลงนามด้วยตนเองสำหรับการพัฒนาในเครื่องหรือการทดสอบภายใน ได้โดยตรงในเบราว์เซอร์ของคุณ คุณเลือกขนาดคีย์ RSA (2048, 3072 หรือ 4096 บิต), Common Name, Subject Alternative Names, ช่วงเวลาที่มีผล และรายละเอียดพื้นฐานขององค์กร ใบรับรองและคีย์ส่วนตัวจะถูกสร้างในเบราว์เซอร์ของคุณและไม่ถูกส่งไปยังเซิร์ฟเวอร์ของเราเลย และคุณดาวน์โหลดทั้งสองเป็นไฟล์ PEM ที่พร้อมใช้กับ Nginx หรือ Apache
การสร้างใบรับรองทำงานอย่างไร
-
1
เลือกขนาดคีย์ RSA
2048 บิตเพียงพอสำหรับการทดสอบส่วนใหญ่ ส่วน 3072 หรือ 4096 ให้คีย์ที่ใหญ่ขึ้นโดยแลกกับความเร็ว
-
2
ป้อน subject และ SAN
Common Name พร้อมกับทุกชื่อโฮสต์หรือ IP ที่ใบรับรองควรครอบคลุม (เบราว์เซอร์สมัยใหม่จะไม่สนใจ CN แต่ใช้ SAN แทน)
-
3
สร้างในเบราว์เซอร์
ใบรับรองที่ลงนามด้วยตนเองจะถูกสร้างและลงนามด้วยคีย์ส่วนตัวที่จับคู่กัน ทั้งหมดทำในเครื่องภายในเบราว์เซอร์ของคุณ
-
4
ดาวน์โหลดผลลัพธ์
ใบรับรองที่เข้ารหัสแบบ PEM (`cert.pem`) และคีย์ส่วนตัวแบบ PEM (`key.pem`) พร้อมติดตั้ง
ทุกอย่างเกิดขึ้นในเบราว์เซอร์ของคุณ
เครื่องมือนี้ทำงานทั้งหมดในเบราว์เซอร์ของคุณ คู่คีย์ RSA ถูกสร้างในเครื่องด้วย Web Crypto API ที่มีมาในตัวเบราว์เซอร์ ใบรับรองถูกลงนามบนอุปกรณ์ของคุณ และทั้งคีย์ส่วนตัวและใบรับรองไม่เคยถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา ถึงกระนั้นก็ตาม จงถือว่าคีย์ส่วนตัวเป็นความลับ ใครก็ตามที่ถือมันไว้ก็สามารถปลอมเป็นใบรับรองนั้นได้
ลงนามด้วยตนเองหมายความว่าอย่างไร
คุณเป็นทั้งผู้ออกและ subject ในเวลาเดียวกัน ใบรับรองถูกลงนามด้วยคีย์ส่วนตัวของมันเอง จึงไม่มีผู้ออกใบรับรอง (CA) สาธารณะรายใดรับรองให้ นั่นคือเหตุผลที่เบราว์เซอร์แสดงคำเตือน มันเหมาะกับการทดสอบ การพัฒนาในเครื่อง (localhost, dev.local) และเซิร์ฟเวอร์ภายในที่คุณสามารถแจกจ่ายใบรับรองให้ไคลเอนต์ที่ต้องไว้วางใจมัน
หากคุณต้องการใบรับรองที่อินเทอร์เน็ตสาธารณะไว้วางใจ เครื่องมือนี้ไม่ใช่ขั้นตอนที่ถูกต้อง คุณต้องมีใบรับรองที่ลงนามโดย CA (เช่นจาก Let’s Encrypt หรือ CA แบบเสียเงิน) ซึ่งต้องใช้คำขอลงนามใบรับรอง (CSR) และการยืนยันโดเมนที่เครื่องมือในเบราว์เซอร์นี้ไม่ได้ทำ
สิ่งที่อยู่ในใบรับรอง
| ฟิลด์ | หมายเหตุ |
|---|---|
| Subject (CN, O, C) | Common Name, องค์กร, ประเทศ |
| Subject Alternative Names | ทุกโดเมนหรือ IP ที่ครอบคลุม (สำคัญมาก!) |
| คีย์สาธารณะ | RSA ได้มาจากคีย์ส่วนตัวที่สร้างขึ้น |
| ผู้ออก | เหมือนกับ subject เพราะลงนามด้วยตนเอง |
| ช่วงที่มีผล | Not Before / Not After (จำนวนวันที่มีผลของคุณ) |
| Key Usage | digitalSignature, keyEncipherment |
| Extended Key Usage | serverAuth, clientAuth |
| Basic Constraints | CA:FALSE (ใบรับรองปลายทาง ไม่ใช่ CA) |
ไฟล์ผลลัพธ์
key.pemคีย์ส่วนตัว (ปกป้องไว้ โหมด 0600)cert.pemใบรับรองที่ลงนามด้วยตนเอง (สาธารณะ แจกจ่ายได้)
สำหรับ Nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
สำหรับ Apache 2.4+
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>
การทำให้เครื่องของคุณเองไว้วางใจใบรับรอง
หากต้องการปิดคำเตือนของเบราว์เซอร์บนเครื่องที่คุณควบคุม ให้นำเข้า cert.pem ไปยังที่เก็บความน่าเชื่อถือของระบบหรือเบราว์เซอร์นั้น ทำเช่นนี้เฉพาะกับใบรับรองที่คุณสร้างเองและบนอุปกรณ์ที่เป็นของคุณเท่านั้น เครื่องมืออย่าง mkcert ช่วยทำ CA ในเครื่องแบบอัตโนมัติสำหรับหลายบริการ ส่วนเครื่องมือนี้สร้างใบรับรองที่ลงนามด้วยตนเองครั้งละหนึ่งใบ
สิ่งที่ใบรับรองลงนามด้วยตนเองไม่เหมาะจะใช้
- เว็บไซต์สาธารณะ ผู้ใช้จะเห็นคำเตือน และหลายคนจะออกไป
- การเชื่อมต่อ API ของบุคคลที่สาม ไคลเอนต์ส่วนใหญ่จะปฏิเสธผู้ออกที่ไม่รู้จัก
- การใช้งานจริง (production) ไม่ได้เด็ดขาด ใช้ Let’s Encrypt (ฟรี) หรือ CA แบบเสียเงินสำหรับทุกสิ่งบนอินเทอร์เน็ตแบบเปิด
คำถามที่พบบ่อย
ไม่ คู่คีย์และใบรับรองถูกสร้างในเบราว์เซอร์ของคุณและอยู่บนอุปกรณ์ของคุณ ไม่มีอะไรถูกอัปโหลด ถึงอย่างนั้นก็ควรเก็บไฟล์ key.pem ที่ดาวน์โหลดไว้เป็นความลับ เพราะใครก็ตามที่ถือมันไว้ก็สามารถปลอมเป็นใบรับรองนั้นได้
ไม่ได้ หากจะมีบุคคลที่สามเชื่อมต่อเข้ามา เบราว์เซอร์จะแสดงคำเตือนที่ชัดเจน ใช้ใบรับรองที่ลงนามโดย CA แบบฟรี (Let’s Encrypt, ZeroSSL) หรือแบบเสียเงิน ส่วนแบบลงนามด้วยตนเองเหมาะกับการสื่อสารเครื่องต่อเครื่องภายในเครือข่ายภายในที่คุณควบคุมทั้งสองปลายทาง
ในอดีต CN เก็บโดเมนหลัก เบราว์เซอร์สมัยใหม่จะไม่สนใจ CN ในการยืนยันโฮสต์และใช้เฉพาะ SAN ให้ใส่ทุกชื่อโฮสต์ใน SAN เสมอ และตั้ง CN เป็นโดเมนหลักเพียงเพื่อการระบุที่อ่านง่ายเท่านั้น
ได้ ใส่ *.example.com ใน SAN มันครอบคลุมโดเมนย่อยหนึ่งระดับ สำหรับหลายระดับ ให้เพิ่มไวลด์การ์ดหลายรายการ (*.example.com และ *.dev.example.com)
เครื่องมือที่เกี่ยวข้อง
รหัสแปลงตัวเลขเป็นตัวอักษร
แปลงตัวเลขเป็นตัวอักษรและย้อนกลับด้วยรหัส A=1, B=2 (A1Z26) สำหรับปริศนา คำทาย และเบาะแสในห้องเอสเคปรูม
ตัวสร้างแฮช (Hash Generator)
สร้างค่าแฮช MD5, SHA-1, SHA-256, SHA-384, SHA-512 และ CRC32 จากข้อความ พร้อมค่าไดเจสต์พร้อมคัดลอกสำหรับเช็คซัมและการเปรียบเทียบ
เครื่องมือสร้างกุญแจ PGP
สร้างคู่กุญแจ OpenPGP แบบ ASCII armor พร้อมใบรับรองการเพิกถอนด้วย Curve25519, RSA 2048 หรือ RSA 4096
เครื่องมือเข้ารหัส Vigenère
เข้ารหัสและถอดรหัสข้อความด้วยรหัส Vigenère แบบคลาสสิกโดยใช้คำสำคัญ เลื่อนตัวอักษรละติน A-Z พร้อมคงตัวพิมพ์ใหญ่-เล็ก ช่องว่าง และเครื่องหมายวรรคตอน
เครื่องมือสร้างคีย์ SSH
สร้างคู่คีย์ SSH แบบ RSA (2048, 3072 หรือ 4096 บิต) ทั้งหมดในเบราว์เซอร์ของคุณ ทั้งคีย์ส่วนตัวและคีย์สาธารณะไม่ออกจากอุปกรณ์ของคุณ เพิ่มความคิดเห็นและดาวน์โหลดทั้งสองได้
ตัวสร้าง TOTP
สร้างรหัสผ่านแบบใช้ครั้งเดียวตามเวลา (RFC 6238) จากคีย์ลับ Base32 รองรับ SHA-1, SHA-256, SHA-512 จำนวน 6 ถึง 8 หลัก และช่วงเวลา 30 หรือ 60 วินาที
เครื่องมือนี้มีให้บริการในภาษาอื่น
- SSL証明書ジェネレーター [JA]
- Generator certyfikatów SSL [PL]
- Trình tạo chứng chỉ SSL [VI]
- SSL-Zertifikat-Generator [DE]
- SSL-certifikatgenerator [SV]
- Gerador de certificado SSL [PT]
- SSL 인증서 생성기 [KO]
- Generador de certificados SSL [ES]
- Générateur de certificat SSL [FR]
- Generator Sertifikat SSL [ID]
- SSL-certificaatgenerator [NL]
- مولّد شهادات SSL [AR]
- SSL 证书生成器 [ZH]
- SSL Certificate Generator [EN]
- Generatore di certificati SSL [IT]
- Генератор SSL-сертификатов [RU]
- SSL Sertifikası Oluşturucu [TR]