Tấn Phát Digital

SSL Certificate Generator

Tạo self-signed SSL certificates cho development

Certificate Configuration
Generated Files

Configure và click Generate Certificate

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Chứng chỉ SSL tự ký cho môi trường phát triển: định dạng tệp và lệnh tạo thật

Trang này minh họa cấu trúc một bộ chứng chỉ tự ký gồm khóa riêng và chứng chỉ ở định dạng PEM, cùng bốn thông tin bạn cần khai báo khi tạo. Cần nói rõ ngay: hai khối nội dung hiển thị trên trang là mẫu minh họa cố định, không phải khóa và chứng chỉ được sinh thật từ dữ liệu bạn nhập, nên không dùng được cho máy chủ.

Tính năng nổi bật

  • Bốn ô khai báo thông tin chứng chỉ: tên miền, tên tổ chức, mã quốc gia hai chữ cái và số ngày hiệu lực
  • Hiển thị cấu trúc khối khóa riêng ở định dạng PEM với dòng mở và dòng đóng đúng chuẩn
  • Hiển thị cấu trúc khối chứng chỉ ở định dạng PEM để bạn nhận dạng đúng loại tệp
  • Bảng tóm tắt lại bốn thông tin bạn vừa khai báo để đối chiếu trước khi chạy lệnh thật
  • Nút sao chép cho từng khối và nút tải xuống tệp đặt tên theo tên miền bạn nhập
  • Tệp tải về có phần mở rộng đúng quy ước: đuôi key cho khóa riêng và đuôi crt cho chứng chỉ
  • Toàn bộ thao tác chạy trong trình duyệt, thông tin bạn gõ không được gửi lên máy chủ nào
  • Hai khối nội dung là mẫu minh họa cố định, không phải khóa mật mã sinh từ dữ liệu của bạn

Vì sao cần chứng chỉ tự ký, và vì sao phải tạo nó bằng công cụ trên máy

Nhiều tính năng của trình duyệt chỉ hoạt động trong ngữ cảnh an toàn: nhân viên phục vụ ngoại tuyến, truy cập máy quay và micro, đọc vị trí, sao chép vào clipboard bằng lệnh mới. Khi bạn phát triển trên một tên miền nội bộ hoặc một máy trong mạng công ty, cách duy nhất để thử những tính năng đó là dựng kết nối mã hóa, và không tổ chức cấp chứng chỉ công cộng nào cấp chứng chỉ cho tên miền không tồn tại trên internet. Chứng chỉ tự ký sinh ra để lấp đúng chỗ đó. Nhưng có một ràng buộc kỹ thuật không thể vượt qua: khóa riêng phải được sinh ngay trên máy sẽ dùng nó và không bao giờ được đi qua mạng. Một trang web sinh khóa hộ bạn rồi hiển thị lên màn hình là mô hình sai về nguyên tắc, vì khóa đó đã rời khỏi vùng kiểm soát của bạn. Vì vậy nội dung dưới đây tập trung vào việc bạn cần khai báo những gì và chạy lệnh nào trên chính máy của mình.

Lợi ích khi sử dụng

  • Chốt trước bốn thông tin cần khai báo nên không phải chạy lại lệnh vì thiếu trường
  • Nhận dạng đúng định dạng PEM, tránh nhầm lẫn giữa tệp khóa riêng và tệp chứng chỉ
  • Biết rõ ranh giới giữa chứng chỉ dùng cho phát triển và chứng chỉ dùng cho môi trường chính thức
  • Có sẵn cách đặt tên tệp theo quy ước để cấu hình máy chủ không bị lẫn
  • Không có thông tin nào bạn gõ vào bị gửi ra ngoài trình duyệt

Cách chuẩn bị và tạo một bộ chứng chỉ tự ký

  1. 1Điền bốn ô trên trang để chốt lại thông tin sẽ dùng: tên miền chính xác, tên tổ chức, mã quốc gia hai chữ cái và số ngày hiệu lực.
  2. 2Xem hai khối mẫu để nhận biết đúng định dạng PEM, phân biệt khối khóa riêng và khối chứng chỉ trước khi làm việc với tệp thật.
  3. 3Mở cửa sổ dòng lệnh trên chính máy sẽ chạy máy chủ, rồi dùng công cụ OpenSSL để sinh cặp khóa và chứng chỉ với đúng bốn thông tin đó.
  4. 4Bắt buộc khai báo phần tên thay thế của chủ thể liệt kê tên miền và địa chỉ IP, vì trình duyệt hiện đại bỏ qua trường tên chung.
  5. 5Cài chứng chỉ 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, và giữ tệp khóa riêng ở chế độ chỉ chủ sở hữu đọc được.

Nói thẳng: hai khối nội dung trên trang là mẫu minh họa

Khi bạn bấm nút tạo, trang hiển thị hai khối văn bản có dòng mở và dòng đóng đúng chuẩn PEM, nhưng phần nội dung ở giữa là chuỗi mẫu cố định, giống nhau ở mọi lần bấm và không hề phụ thuộc vào tên miền, tên tổ chức hay số ngày bạn vừa nhập. Chúng cũng bị cắt ngắn nên không phải một khóa hay một chứng chỉ hoàn chỉnh. Nếu bạn tải hai tệp đó về và trỏ cấu hình máy chủ vào chúng, máy chủ sẽ báo lỗi định dạng và từ chối khởi động, đó là hành vi đúng. Trang này vì vậy nên được dùng như một bản tham chiếu về định dạng và về danh sách thông tin cần khai báo, chứ không phải nguồn cấp chứng chỉ. Nói rộng hơn, bất kỳ trang web nào tuyên bố sinh khóa riêng cho bạn rồi hiển thị lên màn hình đều đáng ngờ về mặt an toàn, kể cả khi nó thật sự sinh khóa, vì bạn không có cách nào kiểm chứng khóa đó có được gửi đi nơi khác hay không. Khóa riêng chỉ nên ra đời trên chính máy sẽ dùng nó.

Lệnh tạo thật bằng OpenSSL và ý nghĩa từng tham số

Trên máy đã cài OpenSSL, một lệnh duy nhất tạo được cả khóa riêng lẫn chứng chỉ tự ký: openssl req -x509 -newkey rsa:2048 -nodes -keyout ten-mien.key -out ten-mien.crt -days 365 -subj và phần chuỗi chủ thể, kèm tham số -addext để khai báo tên thay thế. Ý nghĩa từng phần như sau. Tham số x509 nói rằng bạn muốn một chứng chỉ hoàn chỉnh chứ không phải yêu cầu ký. Tham số newkey với rsa 2048 sinh luôn một cặp khóa RSA độ dài 2048 bit, đây là mức tối thiểu còn được chấp nhận rộng rãi, dùng 4096 bit nếu bạn muốn chặt hơn. Tham số nodes nghĩa là không đặt mật khẩu cho khóa riêng, cần thiết để máy chủ khởi động được mà không hỏi mật khẩu. Hai tham số keyout và out chỉ định tên hai tệp xuất ra. Tham số days đặt số ngày hiệu lực, và với chứng chỉ dùng nội bộ bạn có thể đặt dài hơn giới hạn của chứng chỉ công cộng. Chuỗi chủ thể chứa mã quốc gia, tên tổ chức và tên chung, tương ứng đúng ba ô đầu trên trang này.

Vì sao bắt buộc phải khai báo tên thay thế của chủ thể

Đây là lỗi khiến nhiều người tạo xong chứng chỉ mà trình duyệt vẫn báo tên miền không khớp. Trong định dạng chứng chỉ có hai chỗ ghi tên miền: trường tên chung nằm trong chuỗi chủ thể, và phần mở rộng tên thay thế của chủ thể. Các trình duyệt hiện đại đã bỏ hoàn toàn việc đọc trường tên chung từ nhiều năm nay và chỉ đối chiếu với phần mở rộng, nên một chứng chỉ chỉ có tên chung sẽ bị coi là không hợp lệ cho mọi tên miền. Khi tạo chứng chỉ cho máy phát triển, hãy liệt kê đầy đủ mọi cách bạn sẽ truy cập vào máy đó trong phần mở rộng này: tên máy nội bộ, các tên miền phụ, và cả địa chỉ IP nếu bạn hay gõ trực tiếp IP. Địa chỉ IP phải khai báo bằng từ khóa dành riêng cho IP chứ không phải từ khóa dành cho tên miền, viết nhầm thì trình duyệt vẫn báo không khớp. Nếu cần nhiều tên miền phụ, bạn có thể dùng dạng dấu sao nhưng lưu ý dấu sao chỉ khớp đúng một cấp.

Cài vào kho tin cậy và một lối tắt tên là mkcert

Chứng chỉ tự ký luôn bị trình duyệt cảnh báo vì không có chuỗi tin cậy dẫn về một tổ chức cấp chứng chỉ mà hệ điều hành đã biết. Có hai cách xử lý. Cách thứ nhất là thêm chính tệp chứng chỉ đó vào kho chứng chỉ gốc tin cậy của hệ điều hành, sau đó khởi động lại trình duyệt; cách này phải làm lại mỗi lần bạn tạo chứng chỉ mới cho một tên miền mới. Cách thứ hai gọn hơn nhiều: dùng công cụ mkcert, một tiện ích dòng lệnh mã nguồn mở tạo sẵn một tổ chức cấp chứng chỉ cục bộ trên máy bạn, cài nó vào kho tin cậy đúng một lần, rồi từ đó bạn sinh bao nhiêu chứng chỉ cho bao nhiêu tên miền cũng được mà không gặp cảnh báo nào. Với máy phát triển cá nhân thì đây là lựa chọn tiết kiệm thời gian nhất. Một lưu ý an toàn: đừng bao giờ cài chứng chỉ gốc do người khác gửi cho bạn vào kho tin cậy, vì làm vậy tương đương trao cho họ khả năng giả mạo mọi website đối với máy của bạn.

Khi nào tuyệt đối không được dùng chứng chỉ tự ký

Chứng chỉ tự ký chỉ dùng cho máy phát triển, máy thử nghiệm nội bộ và các dịch vụ nội bộ mà bạn kiểm soát cả hai đầu. Với website công khai, người dùng sẽ gặp một trang cảnh báo đỏ toàn màn hình, và tác hại lớn nhất không phải là mất khách mà là dạy người dùng thói quen bấm bỏ qua cảnh báo bảo mật. Với môi trường chính thức, hãy dùng chứng chỉ do tổ chức cấp chứng chỉ công cộng cấp; hiện có lựa chọn miễn phí với chu kỳ gia hạn tự động ba tháng một lần, gần như không tốn công sau khi cài đặt lần đầu. Cần nhớ giới hạn thời hạn của chứng chỉ công cộng đã bị siết xuống còn tối đa khoảng mười ba tháng, nên đừng kỳ vọng mua chứng chỉ ba năm dùng một lần. Cuối cùng, một mẹo thực tế hay bị bỏ qua: trình duyệt coi địa chỉ localhost là ngữ cảnh an toàn ngay cả khi không mã hóa, nên nếu bạn chỉ cần thử nhân viên phục vụ hay quyền truy cập máy quay ngay trên máy mình thì có thể không cần chứng chỉ nào cả.

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

Hai khối nội dung hiển thị có phải khóa và chứng chỉ thật của tôi không?

Không. Đó là hai chuỗi mẫu cố định dùng để minh họa định dạng PEM, giống nhau ở mọi lần bấm và không phụ thuộc vào thông tin bạn nhập. Chúng cũng bị cắt ngắn nên không hoàn chỉnh. Nếu trỏ cấu hình máy chủ vào hai tệp tải về, máy chủ sẽ báo lỗi định dạng và không khởi động được.

Vậy tôi tạo chứng chỉ tự ký thật bằng cách nào?

Dùng OpenSSL trên chính máy sẽ chạy máy chủ, với lệnh req kèm tham số x509 để tạo chứng chỉ, newkey để sinh cặp khóa RSA 2048 bit, nodes để không đặt mật khẩu cho khóa, days để đặt thời hạn, cùng chuỗi chủ thể và phần mở rộng tên thay thế. Hoặc dùng công cụ mkcert nếu muốn nhanh và không gặp cảnh báo.

Vì sao khóa riêng không nên do một trang web sinh ra?

Vì bạn không có cách nào kiểm chứng khóa đó có được gửi đi nơi khác hay không, và bản thân việc khóa xuất hiện trên màn hình đã tăng nguy cơ lộ qua ảnh chụp, lịch sử clipboard hay tiện ích mở rộng. Nguyên tắc là khóa riêng phải được sinh trên chính máy sẽ dùng nó và không bao giờ rời khỏi máy đó.

Đã tạo chứng chỉ mà trình duyệt vẫn báo tên miền không khớp, vì sao?

Gần như chắc chắn do thiếu phần mở rộng tên thay thế của chủ thể. Trình duyệt hiện đại không còn đọc trường tên chung, chỉ đối chiếu với phần mở rộng này. Hãy tạo lại và liệt kê đầy đủ mọi tên miền cùng địa chỉ IP bạn sẽ dùng, nhớ khai báo IP bằng từ khóa dành riêng cho IP.

Có cách nào hết cảnh báo bảo mật khi dùng chứng chỉ tự ký không?

Có hai cách. Một là thêm chính tệp chứng chỉ vào kho chứng chỉ gốc tin cậy của hệ điều hành rồi khởi động lại trình duyệt, phải làm lại cho mỗi chứng chỉ mới. Hai là dùng mkcert để tạo một tổ chức cấp chứng chỉ cục bộ và cài nó một lần, sau đó mọi chứng chỉ sinh ra đều được tin cậy.

Nên chọn độ dài khóa RSA bao nhiêu?

Mức 2048 bit là tối thiểu còn được chấp nhận rộng rãi và đủ cho môi trường phát triển. Mức 4096 bit an toàn hơn nhưng chậm hơn khi bắt tay kết nối. Nếu muốn nhanh và hiện đại hơn, có thể dùng khóa đường cong elliptic với đường cong tiêu chuẩn, kích thước tệp nhỏ hơn nhiều mà độ an toàn tương đương.

Số ngày hiệu lực nên đặt bao nhiêu?

Với chứng chỉ nội bộ, đặt 365 tới 825 ngày đều được vì giới hạn của trình duyệt chỉ áp cho chứng chỉ do tổ chức cấp công cộng phát hành. Với chứng chỉ công cộng thì thời hạn tối đa hiện nay khoảng mười ba tháng, và loại miễn phí phổ biến chỉ có hiệu lực ba tháng kèm cơ chế gia hạn tự động.

Dùng chứng chỉ tự ký cho website công khai được không?

Không nên trong mọi trường hợp. Người dùng sẽ gặp trang cảnh báo toàn màn hình, và tác hại nặng nhất là tập cho họ thói quen bấm bỏ qua cảnh báo bảo mật. Với website công khai hãy dùng chứng chỉ do tổ chức cấp chứng chỉ công cộng phát hành, đã có lựa chọn miễn phí kèm gia hạn tự động.

Tôi có thật sự cần chứng chỉ để thử tính năng cần ngữ cảnh an toàn không?

Nếu bạn chỉ chạy trên chính máy mình qua địa chỉ localhost thì thường là không, vì trình duyệt coi localhost là ngữ cảnh an toàn ngay cả khi không mã hóa, nên nhân viên phục vụ và quyền truy cập máy quay vẫn hoạt động. Bạn chỉ cần chứng chỉ khi truy cập qua địa chỉ IP hoặc tên miền nội bộ từ máy khác.

Tệp đuôi key, crt, pem, cer khác nhau ra sao?

Đuôi key theo quy ước chứa khóa riêng, đuôi crt và cer chứa chứng chỉ, còn pem là tên gọi của định dạng mã hóa base64 có dòng mở và dòng đóng, nên một tệp pem có thể chứa khóa, chứng chỉ hoặc cả hai. Phần mở rộng chỉ là quy ước đặt tên, thứ quyết định là dòng mở đầu bên trong tệp.

CSR là gì và khi nào cần?

CSR là yêu cầu ký chứng chỉ, chứa khóa công khai cùng thông tin chủ thể, dùng khi bạn muốn một tổ chức cấp chứng chỉ ký cho mình. Với chứng chỉ tự ký thì bạn tự ký nên không cần bước này, và lệnh OpenSSL với tham số x509 đã gộp cả hai bước thành một.

Bảo quản tệp khóa riêng thế nào cho đúng?

Đặt quyền truy cập chỉ chủ sở hữu đọc được, không đưa vào kho mã nguồn dù là kho riêng tư, không gửi qua tin nhắn hay thư điện tử, và tạo bộ khóa riêng cho từng môi trường thay vì dùng chung. Nếu nghi ngờ khóa bị lộ, hãy tạo bộ mới và thay ngay, vì khóa lộ đồng nghĩa với việc kết nối mã hóa mất tác dụng.

Từ khóa liên quan

  • chứng chỉ ssl tự ký
  • self signed certificate
  • tạo chứng chỉ ssl cho localhost
  • https cho môi trường phát triển
  • openssl tạo chứng chỉ
  • mkcert
  • subject alternative name
  • lỗi chứng chỉ không hợp lệ
  • định dạng pem
  • khóa riêng và chứng chỉ
  • cài chứng chỉ vào kho tin cậy
  • let's encrypt
  • thời hạn chứng chỉ ssl
  • csr là gì
  • cấu hình https nginx
  • cấu hình https apache
  • ngữ cảnh an toàn trình duyệt
  • service worker cần https
  • chứng chỉ wildcard
  • bảo mật khóa riêng

Công cụ Security Tools liên quan

2FA Generator

Công cụ 2FA Generator online free tạo mã xác thực 2 bước cho Google Authenticator, Twitter, Facebook, Hotmail. Lấy mã 2FA live khi quên, bảo mật 100%, không cần đăng ký.

Lấy Mã 2FA Facebook

Công cụ lấy mã 2FA Facebook online miễn phí khi quên. Tạo mã 2FA live cho Facebook, Instagram, hỗ trợ Google Authenticator. Khôi phục tài khoản Facebook nhanh chóng, bảo mật 100%.

Lấy Mã 2FA Twitter/X

Công cụ lấy mã 2FA Twitter/X online miễn phí khi quên. Tạo mã 2FA live cho Twitter, hỗ trợ Google Authenticator. Khôi phục tài khoản Twitter/X nhanh chóng, bảo mật 100%.

Lấy Mã 2FA Hotmail/Outlook

Công cụ lấy mã 2FA Hotmail/Outlook online miễn phí khi quên. Tạo mã 2FA live cho Microsoft Account, Hotmail, Outlook, Office 365. Hỗ trợ Google Authenticator, khôi phục tài khoản nhanh chóng, bảo mật 100%.

File Hash Checker

Tính và so sánh SHA hash.

Password Leak Checker

Kiểm tra mật khẩu bị lộ.

Security Headers Generator

Tạo security headers.

SRI Generator

Tạo Subresource Integrity.

Password Generator - Tạo Mật Khẩu Mạnh An Toàn

Tạo mật khẩu ngẫu nhiên, an toàn và mạnh online miễn phí - Tùy chỉnh độ dài, chữ hoa/thường, số, ký tự đặc biệt. Đánh giá độ mạnh password, không lưu trữ.

Text Encryption - Mã Hóa Văn Bản

Mã hóa và giải mã văn bản online miễn phí - Hỗ trợ AES, Base64, ROT13, Caesar Cipher, XOR. Bảo vệ thông tin nhạy cảm, xử lý trên trình duyệt an toàn.

SSL Certificate Decoder - Kiểm Tra Chứng Chỉ SSL

Kiểm tra và giải mã chứng chỉ SSL của website miễn phí. Xem thời hạn, nhà phát hành, protocol TLS, key size, fingerprint. Cảnh báo SSL sắp hết hạn.

Security Headers Analyzer - Phân Tích Bảo Mật Website

Phân tích security headers của website miễn phí. Kiểm tra CSP, HSTS, X-Frame-Options, X-XSS-Protection, Referrer-Policy. Điểm bảo mật tổng thể, đề xuất cải thiện.

Dịch vụ của Tấn Phát Digital

Bảo mật không dừng ở việc kiểm tra bằng công cụ. Chúng tôi làm phần triển khai:

Gói giải pháp doanh nghiệp

Nền tảng custom cho ngân hàng, y tế và sàn B2B, chuẩn ISO 27001, GDPR, PCI-DSS, SLA 99.99%.

Từ 50.000.000đXem chi tiết →

Dịch vụ chăm sóc website định kỳ

Viết content SEO, tối ưu thứ hạng và A/B test chuyển đổi hàng tháng, cam kết KPI theo hợp đồng.

Từ 2.000.000đ/thángXem chi tiết →

Dịch vụ thiết kế website tại Hồ Chí Minh

Website doanh nghiệp, bán hàng và đặt lịch, chuẩn SEO ngay từ cấu trúc, tốc độ tải dưới 3 giây.

Từ 5.000.000đXem chi tiết →

Dịch vụ phát triển Blockchain & Web3

Smart contract, dApp và NFT marketplace đa chuỗi, audit bảo mật đầy đủ trước khi lên mainnet.

Từ 50.000.000đXem chi tiết →

Tư vấn và báo giá miễn phí trong 24 giờ. Xem toàn bộ dịch vụ

Zalo
Facebook
TAN PHAT DIGITAL
Zalo
Facebook