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

Ngày đăng: 2015-07-31 15:47:48 | Cập nhật: 2015-07-31 15:52:22

Để có thể trích xuất private key và certificate từ file Java Keystore, bạn cần phải cài đặt các phần mềm JDK và Openssl lên máy tính.

1. Chuyển đổi từ PKCS7 sang PKCS12:

Sau khi cài đặt xong JDK, bạn mở một Command prompt và chuyển đến thư mục JDK\bin. Chạy lệnh sau:

​keytool -importkeystore -srckeystore C:\keystore.jks -destkeystore C:\backup.pfx -deststoretype PKCS12

Lưu ý: bạn cần phải nhập mật khẩu của Keystore và file PFX.

2. Trích xuất private key và certificate từ file PFX:

Để có thể trích xuất private key và certificate từ file PFX (PKCS12), bạn cần dùng phần mềm OpenSSL. Các máy chủ chạy Linux đã có sẵn OpenSSL (bạn có thể tải file PFX lên máy Linux để thực hiện), ngược lại nếu chạy Windows, bạn cần cài bộ OpenSSL for Windows lên máy tính. Bạn có thể nhấp vào đây để tải OpenSSL.

Sau khi cài đặt Openssl, bạn mở Command Prompt, di chuyển đến thư mục C:\Openssl\bin và chạy lệnh sau:

openssl pkcs12 -in C:\backup.pfx -nocerts -out C:\key.pem

Lưu ý: Bạn cần phải nhập mật khẩu của file backup.pfx và nhập mật khẩu cho file private key.

Sau đó, bạn cần xóa bỏ mật khẩu của private key (nếu bạn không xóa mật khẩu thì mỗi lần bạn restart Apache bạn sẽ phải nhập mật khẩu, rất bất tiện) bằng lệnh sau:

openssl rsa -in C:\key.pem -out C:\private.key

Lưu ý: Bạn cần phải nhập mật khẩu của private key 

Để trích xuất certificate, bạn chạy lệnh sau:

openssl pkcs12 -in C:\backup.pfx -clcerts -nokeys -out C:\certificate.crt

Để trích xuất Intermediate CAs, bạn chạy lệnh sau:

openssl pkcs12 -in C:\backup.pfx -out C:\cabundle.crt -nodes -nokeys -cacerts

 

Bạn đã có thể dùng các file private.key, certificate.crt và cabundle.crt này để cấu hình SSL cho Apache.