Self-Signed Certificate – Tạo và sử dụng cho môi trường dev, website hoặc dịch vụ nội bộ cho mạng nhỏ

SSL Certificates ngày càng trở nên quan trọng trong việc triển khai các phần mềm và các hệ thống, trong bài này chúng ta sẽ tiến hành tạo một Self-Signed Certificate để sử dụng cho môi trường dev hoặc cho một số dịch vụ trong mạng nội bộ.

Để có được SSL Certificates, thông thường chúng ta cần phải đăng ký và mua ở các đại lý, nhà cung câp dịch vụ. Quy trình mua thông thường thì bạn phải có một domain name, sau đó, đăng ký mua Certificate với domain name mà bạn đang có. Sau khi làm các thủ tục thanh toán xong, các nhà cung cấp dịch vụ sẽ xác thực domain name và cung cấp cho bạn Certificates ứng với domain name của bạn. Domain name có thể mua được SSL Certificate phải là domain name được cung cấp bởi một nhà cung cấp dịch vụ internet (ISP)

Trong một số trường hợp, bạn không thể thực hiện quy trình mua và muốn có một Certificates để phục vụ công việc của mình, bạn có thể tiến hành tự tạo Certificates. Loại Certificates tự tạo này người ta gọi là Self-Signed Certificate. Để có thể tạo Self-Signed Certificate, chúng ta tiến hành cách bước sau:

Bước 1: Trên máy cấn khởi tạo, bạn chạy lệnh sau trên PowerShell (Run as Administrator):

New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "*.hoanghiepktv.com" -FriendlyName "hoanghiepktv.com" -NotAfter (Get-Date).AddYears(10)

Các thông tin quan trọng trong lệnh này:

  • -DnsName: Ở đây bạn có thể điền như sau:
    • Nếu chỉ dùng cho domain, bạn cần điền vào tên domain.
    • Nếu dùng cho một dùng cho một máy cụ thể, có hostname cụ thể, thì sẽ là [hostname].tên_domain (VD: server01.hoanghiepktv.com).
    • Nếu bạn muốn export  Self-Signed Certificate này để dùng cho nhiều máy khác nhau, bạn có thể điền *.tên_domain. Trong ví dụ của bài này: *.hoanghiepktv.com
  • -FriendlyName: Là tên để bạn nhận biết Self-Signed Certificate trong hệ thống hoặc phân biệt Self-Signed Certificate cung cấp cho dịch vụ nào hoặc server nào.
  • -CertStoreLocation: Nơi lưu trữ Self-Signed Certificate khi được tạo ra. Ở đây là Cert:\LocalMachine\My, lưu trữ trong mục Persional của Local Computer.
  • -NotAfter: Thời gian hiệu lực của Certificate. Trong ví dụ này có AddYears(10), có nghĩa là nó có giá trị 10 năm kể từ thời điểm được khởi tạo thành công.

Bước 2: Truy cập vào Certificates -Local Computer bằng cách vào Run chạy lệnh certlm.msc

Trong cửa sổ Certificates -Local Computer, tiến hành copy Self-Signed Certificate vừa được tạo.

Paste Self-Signed Certificate vừa copy vào thư mục Cetrtificate của Trust Root Certificatetion

 

Sau khi copy Self-Signed Certificate vào thưc mục Certificates của Trusted Root Certification xong, bạn sẽ thấy Self-Signed Certificate trong thư mục như hình.

Bước 3: Sử dụng Self-Signed Certificate cho website nội bộ.

Bạn đảm bảo rằng trang web đã được phân giải đúng tên của domain mà bạn dùng để tạo Self-Signed Certificate. Có thể phân giải trong trên DNS server hoặc là trên file hosts của máy cần truy cập website.

Tiếp theo, bạn vào IIS và thực hiện áp dụng Self-Signed Certificate cho trang web.

Sau khi áp dụng xong Self-Signed Certificate cho website, bạn có thể tiến hành truy cập vào trang web bằng https, trang web không báo lỗi là Not Secure là bạn đã làm đúng. Trong thông tin về certificate trên trình duyệt bạn sẽ thấy thông tin Self-Signed Certificate mà mình đã tạo ra.

Phương pháp này có thể không áp dụng được cho các máy chạy Windows Server 2012 trở về trước hoặc các Windows client tương đương.

Hãy chia sẻ nếu thích bài viết

Bài có liên quan