Hướng dẫn chuyển đổi từ X509 (Apache) sang Java Keystore (Tomcat/JBoss)

Các Web Server hỗ trợ Java thường quản lý chứng thư số SSL bằng Java Keystore. Trong trường hợp bạn muốn chuyển bộ chứng thư số từ Apache sang dùng Tomcat/JBoss,… thì bạn cần phải chuyển sang Java Keystore. Bài hướng dẫn này sẽ hướng dẫn chuyển từ file backup của Apache (dạng X.509) sang Java Keystore.

Bạn phải cần dùng 2 công cụ OpenSSL và keytool của JDK (lưu ý: phiên bản từ 1.6 trở lên) để thực hiện việc chuyển đổi.

  1. Chuyển từ X.509 sang PKCS12:

Bạn cần chuyển đến thư mục chứa bộ cert, đảm bảo có 3 file sau đây: private key, certificate, cabundle. Chuyển đến thư mục OpenSSL\bin (Windows) hoặc chạy từ Shell (Linux):

openssl pkcs12 -export -in certificate.crt -inkey private.key -certfile cabundle.crt -out certificate.pfx

Sau khi convert thành công, bạn có thể check lại PFX bằng lệnh sau:

openssl pkcs12 -info -in certificate.pfx

  1. Chuyển từ PKCS12 sang PKCS7:

Chuyển vào thư mục Java\bin và thực hiện như sau:

keytool -importkeystore -srckeystore C:\certificate.pfx -srcstoretype pkcs12 -destkeystore C:\keystore.jks -deststoretype JKS

Bạn cần phải nhập vào password cho Keystore, và password của file PFX.

Keytool sẽ tự động tạo ra một Alias ngẫu nhiên cho Keystore. Bạn có thể sử dụng Alias này, hoặc đổi tên cho Alias theo cách sau:

2.1. Xem alias mà keytool đã tạo ra:

keytool -list -keystore C:\Keystore.jks

2.2. Đổi tên alias:

keytool -changealias -alias “le-c04cd72e-e a3e-4012-9926-a8f8faf7fdf4” -destalias “tomcat” -keystore C:\keystore.jks

Bạn có thể dùng lệnh sau để kiểm tra thông tin trong Keystore (alias, private key, certificate và Intermediate CA):

keytool -list -keystore C:\Keystore.jks -v

File Java Keystore này đã sẵn sàng để bạn cấu hình SSL cho Tomcat, JBoss,…