Hướng dẫn tạo và cài đặt SSL Certificate HTTPS (chứng chỉ bảo mật) cho Java servlet Localhost trên Tomcat Server

HTTPS là gì?

HTTPS (Hypertext Transfer Protocol Secure) là giao thức truyền tải siêu văn bản an toàn. Hiểu một cách đơn giản nó là phiên bản nâng cấp của giao thức HTTP tích hợp thêm chứng chỉ bảo mật SSL nhằm mã hóa các thông tin truyền tải tăng tính bảo mật.

Các bước cài đặt

Dưới đây mình sử dụng hệ điều hành Window, eclipse ide để hướng dẫn.

Bước 1: Cài đặt Openssl

Bạn truy cập tại đây đễ xem hướng dẫn cài đặt: Hướng dẫn cài đặt OpenSSL trên Window

Bước 2: Tạo Root Certi

Tạo thư mục để chứa các file key, certi, ... và mở cmd trên thư mục đó và nhập như dưới đây

 openssl req -x509 -nodes -new -sha256 -days 1024 -newkey rsa:2048 -keyout RootCA.key -out RootCA.pem -subj "/C=US/CN=Example-Root-CA"


openssl x509 -outform pem -in RootCA.pem -out RootCA.crt


Sau khi thực hiện đầy đủ các bước trên bạn có một thư mục chứa các file như sau:


Bước 3: Tạo domain certificate:

Tiếp đến bạn tạo một file có tên là: domains.ext ngay trên thư mục đó với nội dung như sau:

authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = localhost



Tiếp theo bạn tiếp tục mở cmd trên thư mục đó để nhập các câu lệnh sau:

openssl req -new -nodes -newkey rsa:2048 -keyout localhost.key -out localhost.csr -subj "/C=US/ST=YourState/L=YourCity/O=Example-Certificates/CN=localhost.local"

openssl x509 -req -sha256 -days 1024 -in localhost.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -extfile domains.ext -out localhost.crt


Sau khi hoàn tất ta có file trong thư mục như sau:


Bước 4: Install Certificate

Các bạn làm theo các bước sau để cài Certi trên Win

 Chuột phải vào RootCA.crt chọn Install



Chọn Trusted Root Certification Authorities


Bước 5: Config Server Tomcat

 Truy cập vào thư mục chứa Tomcat và sửa file sau: <folder-tomcat>/conf/server.xml


Chèn đoạn mã dưới đây. Lưu ý: sửa đúng đường dẫn thư mục bạn chứa các file certi

<Connector

      protocol="org.apache.coyote.http11.Http11AprProtocol"

      port="8443"

      maxThreads="200"

      scheme="https"

      secure="true"

      SSLEnabled="true"

      SSLCertificateFile="C:\SSL\test\localhost.crt"

      SSLCertificateKeyFile="C:\SSL\test\localhost.key"

      SSLVerifyClient="optional"

      SSLProtocol="TLSv1.2"/>




Xóa Server cũ (xóa config cũ) rồi chạy lại Server



Bước 6: Check kết quả



Một số lưu ý khi cài đặt và config:

Đảm bảo rằng tất cả các thư viện css, js bạn sử dụng bên ngoài phải sử dụng https://

Đảm bảo rằng trong thư mục /bin của Tomcat chứa thư viện tcnative-1.dll (Apache Tomcat Native library). Nếu không có hoặc đã quá cũ bạn có thể tải về tại đây và cop vào thư mục của bạn: Apache Tomcat Native library 1.2.25




Share this

Related Posts

Previous
Next Post »