HTTPS là gì?
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"
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
[.1 = localhost
]
DNS
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