เครื่องมือสร้างใบรับรอง 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 ถูกสร้างในเครื่องด้วยไลบรารีเข้ารหัส JavaScript ใบรับรองถูกลงนามบนอุปกรณ์ของคุณ และทั้งคีย์ส่วนตัวและใบรับรองไม่เคยถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา ถึงกระนั้นก็ตาม จงถือว่าคีย์ส่วนตัวเป็นความลับ ใครก็ตามที่ถือมันไว้ก็สามารถปลอมเป็นใบรับรองนั้นได้
ลงนามด้วยตนเองหมายความว่าอย่างไร
คุณเป็นทั้งผู้ออกและ 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)
เครื่องมือที่เกี่ยวข้อง
ตัวสร้าง HMAC
สร้างลายเซ็น HMAC (SHA-256, SHA-384, SHA-512, SHA-1 และ MD5) จากข้อความและกุญแจลับ เพื่อใช้ในการยืนยันตัวตนผ่าน API และ Webhook
ตัวเข้ารหัสไฟล์ Base64
เข้ารหัสไฟล์ใดก็ได้ (PDF, ZIP, รูปภาพ, ไฟล์ปฏิบัติการ) เป็นข้อความ Base64 เพื่อฝังใน JSON, อีเมล, YAML หรือ data URI ทำงานในเครื่องของคุณ ไม่มีการอัปโหลด
ตัวระบุการเข้ารหัส
วางไซเฟอร์เท็กซ์หรือแฮช แล้วตัวระบุจะแนะนำอัลกอริทึมหรือการเข้ารหัสที่น่าจะเป็น: MD5, SHA, bcrypt, AES, RSA, Base64 และอื่น ๆ
เครื่องแปลง Gwei เป็น Ether
แปลงจำนวนในหน่วย Gwei เป็น Ether (ETH) ด้วยทศนิยมสูงสุด 18 ตำแหน่ง มีประโยชน์สำหรับการประมาณค่าธรรมเนียม Gas และการอ่านข้อมูลธุรกรรม
ตัวสร้าง JWT
สร้าง JWT ที่มีการลงนาม โดยกำหนดหัวข้อ (header) แบบกำหนดเอง สิทธิ์ของพารามิเตอร์ในเนื้อหา (payload claims) การลงนามด้วย HMAC หรือ RSA รวมถึงกำหนดระยะเวลาหมดอายุและกลุ่มผู้ใช้งานที่อนุญาต เพื่อใช้ในการทดสอบ
ตัวสร้างแฮช (Hash Generator)
สร้างค่าแฮช MD5, SHA-1, SHA-256, SHA-384, SHA-512 และ CRC32 จากข้อความ พร้อมค่าไดเจสต์พร้อมคัดลอกสำหรับเช็คซัมและการเปรียบเทียบ
เครื่องมือนี้มีให้บริการในภาษาอื่น
- SSL証明書ジェネレーター [JA]
- SSL-certifikatgenerator [SV]
- SSL-certificaatgenerator [NL]
- SSL 인증서 생성기 [KO]
- Generator Sertifikat SSL [ID]
- SSL-Zertifikat-Generator [DE]
- مولّد شهادات SSL [AR]
- Gerador de certificado SSL [PT]
- Generador de certificados SSL [ES]
- Generator certyfikatów SSL [PL]
- Trình tạo chứng chỉ SSL [VI]
- Générateur de certificat SSL [FR]
- SSL Certificate Generator [EN]
- Generatore di certificati SSL [IT]
- Генератор SSL-сертификатов [RU]
- SSL Sertifikası Oluşturucu [TR]
- SSL 证书生成器 [ZH]