Hướng dẫn cài đặt chứng chỉ SSL trên server Tomcat

Bài viết sẽ hướng dẫn cách tạo mã CSR trên Tomcat cũng như cách cài đặt chứng chỉ SSL trên server Tomcat.

 

Để tạo mã CSR trên Tomcat, bạn có thể sử dụng các lệnh keytool.

Trước tiên, bạn cần phải tạo một kho khóa sẽ chứa khóa riêng.

Mở giao diện dòng lệnh và chạy lệnh sau:

keytool  genkey  keysize 2048 – keyalg RSA -alias tomcat – keystore example.jks

Bạn được tự do sử dụng bất kỳ bí danh tùy chỉnh nào và tên kho khóa.

Bạn sẽ được yêu cầu nhập mật khẩu cho kho khóa. Nhớ mật khẩu này để sử dụng sau này. Giá trị mặc định là *changeit*.

Sau đó bạn sẽ được hỏi những câu hỏi sau:

Tên và họ của bạn là gì?  nhập * tên miền đủ điều kiện * bạn muốn bảo mật bằng chứng chỉ SSL (ví dụ: domain.com hoặc sub.domain.com).

Tên đơn vị tổ chức của bạn là gì? – cung cấp tên của một bộ phận hoặc bộ phận trong tổ chức. Đối với chứng chỉ Xác thực miền, bạn có thể nhập ‘ NA’. 

Tên tổ chức của bạn là gì? – cung cấp tên đăng ký chính thức cho doanh nghiệp của bạn.

Tên thành phố hoặc địa phương của bạn là gì? – cung cấp tên đầy đủ của thành phố hoặc địa phương của bạn. Vui lòng không sử dụng chữ viết tắt.

Tên Tiểu bang hoặc Tỉnh của bạn là gì? – cung cấp tên đầy đủ của tiểu bang hoặc khu vực của bạn.

Mã quốc gia gồm hai chữ cái cho đơn vị này là gì? – nhập mã gồm hai chữ cái của quốc gia của bạn (chữ hoa).

Sau đó, bạn sẽ được hỏi xem thông tin bạn đã gửi có chính xác không:
CN = example.com, OU = Đơn vị tổ chức của bạn, O = Tổ chức của bạn, L = Thành phố của bạn, ST = Tiểu bang của bạn, C = Quốc gia của bạn có đúng không?

Vui lòng nhập ‘y’ hoặc ‘yes’ để xác nhận mọi thứ đều chính xác.

Sau khi kho khóa với khóa riêng được tạo, bạn có thể sử dụng lệnh sau để tạo mã CSR:

keytool -certreq -keyalg RSA -alias tomcat -file example.csr -keystore example.jks

Bạn sẽ được nhắc nhập mật khẩu kho khóa.

Bây giờ bạn có một tệp có tên example.csr với yêu cầu ký chứng chỉ. Bạn có thể mở nó bằng bất kỳ trình soạn thảo văn bản nào, sao chép nội dung bao gồm —– BEGIN CERTIFICATE REQUEST —– và —– END CERTIFICATE REQUEST —– và gửi nó để kích hoạt chứng chỉ đã mua.

Sau khi chứng chỉ được cấp, bạn có thể tiến hành cài đặt trên máy chủ Tomcat.

Tùy thuộc vào định dạng chứng chỉ mà bạn đã nhận chứng chỉ từ Tổ chức phát hành chứng chỉ, có nhiều cách khác nhau để nhập tệp vào kho khóa.

PKCS # 7

Nếu chứng chỉ bạn nhận được có định dạng PKCS # 7 (phần mở rộng của tệp chứng chỉ sẽ là .p7b hoặc .cer), nó đã bao gồm chứng chỉ gốc và trung gian cần thiết. Ngoài ra, có thể tải xuống chứng chỉ có phần mở rộng .p7b trong tài khoản người dùng. Chạy lệnh sau để nhập nó vào kho khóa:

keytool -import -trustcacerts -alias tomcat -keystore example.jks -file example.p7b

Nếu chứng chỉ được nhập thành công, bạn sẽ thấy thông báo ‘Certificate reply was installed in keystore‘. Bạn có thể kiểm tra các chi tiết của chứng chỉ đã được nhập vào kho khóa bằng một lệnh:

keytool -list –keystore example.jks –v

PEM

Nếu bạn nhận được chứng chỉ ở định dạng PEM (các tệp sẽ có đuôi .crt), bạn sẽ cần phải nhập chứng chỉ gốc, chứng chỉ trung gian và chứng chỉ được cấp cho tên miền của bạn vào kho khóa riêng bắt đầu từ chứng chỉ gốc và kết thúc với chứng chỉ cho tên miền của bạn.

Để nhập chứng chỉ gốc, hãy chạy lệnh sau:

keytool -import -alias root -keystore example.jks -trustcacerts -file root.crt

Để nhập chứng chỉ trung gian:

keytool -import -alias intermediate -keystore example.jks -trustcacerts -file intermediate.crt

Lưu ý: Một số chứng chỉ có nhiều chứng chỉ trung gian và tất cả các chứng chỉ này phải được nhập vào kho khóa theo đúng thứ tự, bắt đầu từ chứng chỉ được ký bởi gốc và hoàn tất bằng chứng chỉ trung gian ký chứng chỉ thực thể kết thúc cho miền. Bạn cần sử dụng các bí danh khác nhau cho các chứng chỉ trung gian khác nhau. Ví dụ, đối với chứng chỉ COMODO PositiveSSL, trước tiên bạn cần nhập chứng chỉ gốc AddTrustExternalCARoot.crt, sau đó chứng chỉ trung gian COMODORSAAddTrustCA.crtvà cuối cùng, COMODORSADomainValidationSecureServerCA.crt

Vì vậy, sau khi nhập chứng chỉ gốc và trung gian, hãy nhập chứng chỉ được cấp cho tên miền bằng lệnh sau:

keytool -import -alias tomcat -keystore example.jks -file example.crt

Bí danh phải trùng với bí danh bạn đã chỉ định khi tạo kho khóa.

Sau khi nhập thành công, bạn cần chỉnh sửa tệp cấu hình Tomcat. Như một quy tắc, nó được gọi là server.xml và thường có thể được tìm thấy trong thư mục Home_Directory / conf .

Theo mặc định, nó sẽ trông giống như sau:

<Connector port=”443″ protocol=”HTTP/1.1″
SSLEnabled=”true”
scheme=”https” secure=”true” clientAuth=”false”
sslProtocol=”TLS” keystoreFile=”/your_path/yourkeystore.jks”
keystorePass=”password_for_your_key_store” />

Bạn cần phải sửa đổi keystoreFile chỉ thị với đường dẫn đến vị trí của tệp kho khóa của bạn và keystorePass với mật khẩu của kho khóa.

Nếu đây là lần đầu tiên bạn cấu hình chứng chỉ SSL trên Tomcat, trước tiên bạn sẽ cần bỏ ghi chú cấu hình SSL Connector configuration bằng cách loại bỏ <! – và -> xung quanh phần bạn muốn bỏ ghi chú. Ngoài ra, các dòng keystoreFile và keystorePass có thể bị thiếu – bạn sẽ cần phải nhập thủ công các chỉ thị này.

Nếu kho khóa của bạn chứa nhiều hơn một bí danh khóa riêng, bạn cần thêm chỉ thị ‘ keyAlias ‘ với tham chiếu đến bí danh cần thiết.

keyAlias ​​= “tomcat”

Lưu các thay đổi và khởi động lại dịch vụ web Tomcat.

bình luận

Leave a Comment