本文介紹如何在GlassFish伺服器配置SSL認證,具體包括下載和上傳認證檔案,在GlassFish上配置認證檔案、憑證鏈結和認證密鑰等參數,以及安裝認證後結果的驗證。成功配置SSL認證後,您將能夠通過HTTPS加密通道安全訪問GlassFish伺服器,確保資料轉送的安全性。
本文以Linux作業系統、glassfish-4.1.2-web中預設domain1容器為例介紹。不同的作業系統或GlassFish伺服器,部署操作可能有所差異,如有問題,請聯絡商務經理進行諮詢。
前提條件
步驟一:下載SSL認證
登入數位憑證管理服務控制台。
在左側導覽列,選擇。
在SSL證書管理頁面,定位到目標認證,在操作列,單擊下載。
在伺服器類型為其他的操作列,單擊下載。
解壓縮已下載的SSL認證壓縮包。
根據您在提交認證申請時選擇的CSR產生方式,解壓縮獲得的檔案不同,具體如下表所示。
CSR產生方式
認證壓縮包包含的檔案
系統產生
認證檔案(PEM格式):預設以認證ID_認證綁定網域名稱命名。PEM格式的認證檔案是採用Base64編碼的文字檔。
私密金鑰檔案(KEY格式):預設以認證綁定網域名稱命名。
手動填寫
如果您填寫的是通過數位憑證管理服務控制台建立的CSR,下載後包含的認證檔案與系統產生的一致。
如果您填寫的不是通過數位憑證管理服務控制台建立的CSR,下載後只包括認證檔案(PEM格式),不包含認證密碼或私密金鑰檔案。您可以通過認證工具,將認證檔案和您持有的認證密碼或私密金鑰檔案轉換成所需格式。轉換認證格式的具體操作,請參見認證格式轉換。
步驟二:在GlassFish伺服器安裝認證
在GlassFish安裝目錄下建立一個用於存放認證的目錄。
進入glassfish安裝目錄。
本樣本glassfish4安裝在home路徑下,請您根據實際情況調整。
cd /home/glassfish4
建立認證目錄,命名為cert。
mkdir cert
將認證檔案和私密金鑰檔案上傳到cert目錄。
說明您可以使用遠程登入工具附帶的本地檔案上傳功能,上傳檔案。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里雲Elastic Compute Service,上傳檔案具體操作,請參見上傳或下載檔案(Windows)或上傳檔案到Linux雲端服務器。
在cert目錄下,執行openssl命令,將下載的PEM格式的認證轉換為PKCS12格式,並修改密碼為changeit,命名為mycert.p12,別名為s1as。
說明domain_name.pem與domain_name.key需分別替換為實際的認證檔案和認證私密金鑰檔案。
changeit是GlassFish伺服器中內建的認證的預設密碼,如果您修改過,請使用實際的認證密碼。
openssl pkcs12 -export -in domain_name.pem -inkey domain_name.key -out mycert.p12 -passout pass:changeit -name s1as
在cert目錄下,執行keytool命令,將mycert.p12轉換為JKS格式,命名為keystore.jks,別名為s1as。
keytool -importkeystore -destkeystore keystore.jks -srckeystore mycert.p12 -srcstoretype PKCS12 -alias s1as
執行keytool命令後,會提示設定keystore.jks密碼和輸入原mycert.p12密碼,均為changeit。
在cert目錄下,執行keytool命令,將下載的PEM格式的認證轉換為JKS格式,命名為cacerts.jks,別名為s1as。
domain_name.pem替換為實際的認證檔案。
keytool -importcert -trustcacerts -destkeystore cacerts.jks -file domain_name.pem -alias s1as
執行keytool命令後,會提示設定cacerts.jks密碼,您需設定為changeit。
在cert目錄下,執行以下命令,替換/home/glassfish4/glassfish/domains/domain1/config目錄下的cacerts.jks和keystore.jks檔案。
替換cacerts.jks
cp ./cacerts.jks /home/glassfish4/glassfish/domains/domain1/config
替換keystore.jks
cp ./keystore.jks /home/glassfish4/glassfish/domains/domain1/config
編輯/home/glassfish4/glassfish/domains/domain1/config/domain.xml設定檔,修改連接埠號碼。
定位到如下圖所示network-listeners位置,並按照下述樣本修改連接埠號碼,修改時請注意80、443的佔用情況。
<network-listeners> <network-listener protocol="http-listener-1" port="80" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp"></network-listener> <network-listener protocol="http-listener-2" port="443" name="http-listener-2" thread-pool="http-thread-pool" transport="tcp"></network-listener> <network-listener protocol="admin-listener" port="4848" name="admin-listener" thread-pool="admin-thread-pool" transport="tcp"></network-listener> </network-listeners>
進入/home/glassfish4/glassfish/bin目錄,執行如下命令,重啟伺服器。
./asadmin restart-domain domain1
步驟三:驗證SSL認證是否安裝成功
認證安裝完成後,您可通過訪問認證的綁定網域名稱驗證該認證是否安裝成功。
https://yourdomain #需要將yourdomain替換成認證綁定的網域名稱。
如果網頁地址欄出現小鎖標誌,表示認證已經安裝成功。