Công cụ tạo chứng chỉ tự ký và CSR
Tạo chứng chỉ TLS X.509 tự ký, chứng chỉ CA hoặc CSR có SAN, khóa RSA 2048–4096 và thời hạn tùy chọn. Xuất PEM; khóa riêng không bao giờ rời khỏi máy bạn.
Thường là tên máy chủ, ví dụ localhost hoặc www.example.com.
Các tên DNS và địa chỉ IP bổ sung, phân cách bằng dấu phẩy hoặc xuống dòng. Trình duyệt kiểm tra các tên này chứ không phải CN.
Khóa RSA được tạo bằng Web Crypto ngay trong trình duyệt và không bao giờ rời khỏi thiết bị của bạn.
Tạo chứng chỉ SSL là gì?
Tạo các file cần cho TLS mà không cần dòng lệnh OpenSSL: chứng chỉ TLS tự ký cho phát triển cục bộ hoặc dịch vụ nội bộ, chứng chỉ CA tự ký để ký các chứng chỉ của riêng bạn, hoặc yêu cầu ký chứng chỉ (CSR) để gửi tới tổ chức cấp chứng chỉ. Bạn nhận được chứng chỉ hoặc CSR và khóa riêng RSA ở định dạng PEM, kèm dấu vân tay SHA-256.
Cách sử dụng Tạo chứng chỉ SSL
- Chọn Loại cần tạo.
- Nhập Tên chung (CN) và Tên thay thế của chủ thể (SAN) (tên DNS và IP), cùng các trường tổ chức và địa điểm tùy chọn.
- Chọn Độ dài khóa và, với chứng chỉ, Thời hạn (ngày).
- Bấm Tạo và tải xuống chứng chỉ (
.crt) hoặc CSR (.csr) cùng khóa riêng (.key).
Ví dụ
Self-signed TLS certificate, CN localhost, SANs 127.0.0.1 and ::1, RSA 2048, 365 days
-----BEGIN CERTIFICATE----- … -----END CERTIFICATE----- Subject: CN=localhost SAN: DNS:localhost, IP:127.0.0.1, IP:::1
Khi nào nên dùng Tạo chứng chỉ SSL
Dùng chứng chỉ tự ký cho localhost, container phát triển, dịch vụ intranet, nguyên mẫu IoT và kiểm thử cấu hình TLS. Trình duyệt sẽ hiển thị cảnh báo cho đến khi bạn tin cậy chứng chỉ (hoặc CA của bạn). Với website công khai, hãy dùng một CA như Let's Encrypt: tạo CSR ở đây hoặc để máy chủ hay ACME client tự tạo.
Tạo chứng chỉ SSL hoạt động như thế nào
Cặp khóa RSA được tạo bằng Web Crypto API của trình duyệt (RSASSA-PKCS1-v1_5, số mũ công khai 65537) và nhập vào node-forge. Với chứng chỉ, forge dựng một chứng chỉ X.509 v3 với số sê-ri dương ngẫu nhiên 128-bit, hiệu lực từ một phút trước trong số ngày đã chọn, subject và issuer giống nhau (tự ký), cùng các extension: basicConstraints (CA true/false, critical), keyUsage (digitalSignature + keyEncipherment cho máy chủ, keyCertSign + cRLSign cho CA), extendedKeyUsage serverAuth/clientAuth, subjectKeyIdentifier và subjectAltName. CN được tự động thêm vào SAN khi nó là tên máy hoặc IP. Chứng chỉ được ký bằng SHA-256. CSR là yêu cầu PKCS#10 mang các SAN trong thuộc tính extensionRequest. Khóa được xuất dạng PKCS#8 PEM.
Các Trường Hợp Sử Dụng Phổ Biến
- Bật HTTPS trên localhost hoặc máy chủ phát triển
- Tạo CA riêng cho mạng nội bộ hoặc phòng lab
- Tạo CSR để mua chứng chỉ thương mại
- Kiểm thử cấu hình TLS trên Nginx, Apache hoặc bộ cân bằng tải
Lưu Ý Bảo Mật
Bất kỳ ai có khóa riêng đều có thể mạo danh máy chủ của bạn. Hãy giữ file .key bí mật, không commit lên Git và không dùng lại khóa phát triển cho production.
Câu Hỏi Thường Gặp
Vì sao trình duyệt báo chứng chỉ không đáng tin cậy?
Chứng chỉ tự ký không được cấp bởi CA mà hệ thống của bạn tin cậy. Hãy nhập nó (hoặc CA đã ký nó) vào kho tin cậy của hệ điều hành hoặc trình duyệt để hết cảnh báo trên máy của bạn.
Vì sao bắt buộc phải có Subject Alternative Names?
Trình duyệt hiện đại bỏ qua Common Name và chỉ đối chiếu tên máy với danh sách SAN, nên mọi tên máy và IP bạn dùng đều phải có trong đó.
Khóa riêng có an toàn không?
Nó được tạo trong trình duyệt và không bao giờ gửi đi đâu. Hãy tải về, lưu với quyền truy cập hạn chế và không bao giờ chia sẻ.
Nên chọn độ dài khóa nào?
RSA 2048 là mức tối thiểu phổ biến và tương thích rộng; 3072 hoặc 4096 cho biên an toàn lớn hơn nhưng bắt tay chậm hơn.