Trợ giúp

Tạo chứng chỉ SSL tự ký cho localhost và địa chỉ IP

Công cụ này biến tên trang web cục bộ của bạn thành chứng chỉ và khóa riêng dùng được ngay cho máy chủ phát triển. Mọi thứ diễn ra trong trình duyệt: không có gì được tải lên hay lưu lại. Cuối cùng, bạn tải server.crt và server.key trong một tệp ZIP.


Tạo chứng chỉ SSL tự ký cho localhost, tên miền và địa chỉ IP

Mỗi tên bạn nhập sẽ vào danh sách Subject Alternative Name (SAN), danh sách mà các trình duyệt hiện đại kiểm tra. Bạn không phải cấu hình hay dán thêm gì.

Cặp khóa được tạo bằng WebCrypto của trình duyệt, còn chứng chỉ được dựng và ký ngay trên trang.

Các bước tạo chứng chỉ

  1. Kiểm tra ô Tên miền và địa chỉ IP. Ô này bắt đầu bằng localhost, 127.0.0.1; hãy thay hoặc bổ sung bằng các tên bạn dùng, ví dụ localhost, 127.0.0.1, 192.168.1.5.
  2. Nếu muốn, mở Cài đặt để đổi Có hiệu lực trong (ngày) hoặc Kích thước khóa RSA.
  3. Nhấn Tạo chứng chỉ. Sau bước ngắn Đang tạo chứng chỉ của bạn…, dòng Chứng chỉ của bạn đã sẵn sàng xuất hiện.
  4. Nhấn Tải ZIP. Tệp local-ssl-certificate.zip gồm server.crt (chứng chỉ) và server.key (khóa riêng).
  5. Thêm server.crt vào kho tin cậy của máy tính bằng Tin cậy trên máy tính của bạn, rồi thiết lập máy chủ với hai tệp này.
  6. Để đổi tên hoặc cài đặt, nhấn Đổi tên hoặc cài đặt và tạo lại.

Nhập gì vào ô tên miền và địa chỉ IP

Ngăn cách các mục bằng dấu phẩy, dấu cách hoặc xuống dòng. Mỗi mục được tự phân loại thành tên DNS hoặc địa chỉ IP:

Một chứng chỉ có thể bao gồm tối đa 50 tên. Chỉ nhập tên máy chủ hoặc địa chỉ: mục có https:// hoặc số cổng sẽ bị từ chối, và thông báo lỗi nêu đúng mục nào không hợp lệ. Tên bạn gõ trên thanh địa chỉ phải là một trong các tên của chứng chỉ, nếu không trình duyệt vẫn cảnh báo.

Cài đặt: thời hạn và kích thước khóa

Có hiệu lực trong nhận từ 1 đến 397 ngày và bắt đầu ở 365. Số nằm ngoài khoảng này được đổi về giới hạn gần nhất. Chứng chỉ có hiệu lực từ lúc bạn tạo, và Có hiệu lực đến hiển thị ngày hết hạn trong kết quả. Khi hết hạn, hãy tạo cái mới.

Kích thước khóa RSA mặc định là 2048 bit, nhanh và được chấp nhận ở mọi nơi. Chọn 4096 bit nếu muốn khóa lớn hơn; việc tạo có thể mất vài giây.

Kết quả hiển thị Áp dụng cho (mọi tên), Có hiệu lực đến, Khóa và Dấu vân tay SHA-256. Chứng chỉ là X.509 phiên bản 3 tự ký, được ký bằng chính khóa của nó với SHA-256 và RSA. Common name là mục đầu tiên bạn gõ, nhưng trình duyệt đọc danh sách SAN. Số sê-ri là ngẫu nhiên.

Tin cậy chứng chỉ trên Windows, macOS và Linux

Trình duyệt cảnh báo về chứng chỉ tự ký cho đến khi nó nằm trong kho tin cậy. Giải nén ZIP, mở terminal trong thư mục đó và chạy lệnh cho hệ điều hành của bạn. Mỗi lệnh cũng được hiển thị sẵn để sao chép dưới Tin cậy trên máy tính của bạn.

Firefox có danh sách riêng, Chrome trên Linux cũng vậy. Hãy nhập server.crt vào đó tại Cài đặt, Chứng chỉ, Tổ chức phát hành. Một số công cụ lập trình cũng có danh sách riêng: hãy đưa server.crt vào phần cài đặt của chúng. Khởi động lại trình duyệt sau khi đã tin cậy chứng chỉ.

Dùng chứng chỉ trong máy chủ và giữ khóa riêng

Trỏ mục cài đặt chứng chỉ của máy chủ web tới server.crt và mục khóa riêng tới server.key, rồi khởi động lại máy chủ. Trong nginx, hai mục này là ssl_certificate và ssl_certificate_key; trong Apache là SSLCertificateFile và SSLCertificateKeyFile. Sau đó mở trang web bằng một trong các tên của chứng chỉ, có https:// ở đầu.

Hãy giữ kín server.key: ai có tệp này đều có thể giả làm trang cục bộ của bạn. Đừng đưa nó lên kho mã công khai. Công cụ này chỉ dành cho phát triển cục bộ; đừng bao giờ đặt chứng chỉ tự ký lên website công khai.


Câu hỏi thường gặp

Làm sao để tạo chứng chỉ cho localhost?

Giữ nguyên localhost, 127.0.0.1 trong ô "Tên miền và địa chỉ IP", nhấn "Tạo chứng chỉ", rồi nhấn "Tải ZIP". Bạn nhận được server.crt và server.key. Trỏ máy chủ web cục bộ tới hai tệp đó và thêm server.crt vào kho tin cậy của máy tính để trình duyệt ngừng cảnh báo.

Có tạo được chứng chỉ cho địa chỉ IP không?

Có. Nhập địa chỉ vào ô "Tên miền và địa chỉ IP", ví dụ 192.168.1.5. Cả IPv4 và IPv6 đều dùng được, kể cả dạng có ngoặc vuông [::1]. Mỗi IP được ghi vào chứng chỉ dưới dạng mục địa chỉ IP, điều trình duyệt kiểm tra khi bạn mở https://192.168.1.5. Chỉ nhập địa chỉ, không kèm https:// hay cổng.

Có tạo được chứng chỉ wildcard không?

Có. Nhập ký tự đại diện như *.example.test và nó được thêm làm tên DNS. Ký tự đại diện chỉ bao phủ một cấp: *.example.test dùng được cho app.example.test, nhưng không dùng được cho chính example.test hay a.b.example.test. Nếu cần, hãy thêm example.test riêng.

Có cần tạo chứng chỉ SSL tự ký bằng OpenSSL không?

Không. Cặp khóa do WebCrypto tích hợp của trình duyệt tạo ra, còn chứng chỉ được dựng và ký ngay trên trang, nên bạn không phải chạy lệnh nào hay cài thêm gì. OpenSSL chỉ cần nếu sau đó bạn muốn chuyển các tệp sang định dạng khác.

Làm sao tin cậy chứng chỉ trên Windows?

Mở PowerShell với quyền quản trị, vào thư mục đã giải nén và chạy Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root. Lệnh này chép chứng chỉ vào kho các tổ chức gốc đáng tin cậy mà Chrome và Edge đọc.

Làm sao tin cậy chứng chỉ trên Mac, Ubuntu hoặc Firefox?

Trên Mac, chạy trong thư mục có server.crt: sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt. Trên Debian và Ubuntu, chép tệp vào /usr/local/share/ca-certificates/ rồi chạy sudo update-ca-certificates. Firefox không dùng kho của hệ thống: hãy nhập server.crt trong phần cài đặt của nó, mục Chứng chỉ và Tổ chức phát hành.

Tôi có thể nhận tệp PFX, CSR hay chứng chỉ Let's Encrypt không?

Không. Công cụ này tạo một chứng chỉ tự ký định dạng PEM: server.crt và server.key. Nó không tạo yêu cầu ký chứng chỉ (CSR), chứng chỉ do CA ký hay chứng chỉ công khai, cũng không tạo CA gốc riêng. Nếu cần PFX, lệnh pkcs12 của OpenSSL có thể dựng nó từ hai tệp này.