本文介紹如何在GlassFish服務器配置SSL證書,具體包括下載和上傳證書文件,在GlassFish上配置證書文件、證書鏈和證書密鑰等參數,以及安裝證書后結果的驗證。成功配置SSL證書后,您將能夠通過HTTPS加密通道安全訪問GlassFish服務器,確保數據傳輸的安全性。
本文以Linux操作系統(tǒng)、glassfish-4.1.2-web中默認domain1容器為例介紹。不同的操作系統(tǒng)或GlassFish服務器,部署操作可能有所差異,如有問題,請聯(lián)系產品技術專家進行咨詢,詳情請參見專家一對一服務。
前提條件
SSL證書綁定的域名已完成DNS解析,即您的域名與主機IP地址相互映射。您可以通過DNS驗證證書工具,檢測域名DNS解析是否生效。具體操作,請參見DNS生效驗證。
已在Web服務器開放443端口(HTTPS通信的標準端口)。
如果您使用的是阿里云ECS服務器,請確保已經在安全組規(guī)則入方向添加TCP 443端口。具體操作,請參見添加安全組規(guī)則。
步驟一:下載SSL證書
登錄數字證書管理服務控制臺。
在左側導航欄,選擇。
在SSL證書管理頁面,定位到目標證書,在操作列,單擊更多,然后選擇下載頁簽。
在服務器類型為其他的操作列,單擊下載。
解壓縮已下載的SSL證書壓縮包。
根據您在提交證書申請時選擇的CSR生成方式,解壓縮獲得的文件不同,具體如下表所示。
CSR生成方式
證書壓縮包包含的文件
系統(tǒng)生成或選擇已有的CSR
證書文件(PEM格式):默認以證書ID_證書綁定域名命名。PEM格式的證書文件是采用Base64編碼的文本文件。
私鑰文件(KEY格式):默認以證書綁定域名命名。
手動填寫
如果您填寫的是通過數字證書管理服務控制臺創(chuàng)建的CSR,下載后包含的證書文件與系統(tǒng)生成的一致。
如果您填寫的不是通過數字證書管理服務控制臺創(chuàng)建的CSR,下載后只包括證書文件(PEM格式),不包含證書密碼或私鑰文件。您可以通過證書工具,將證書文件和您持有的證書密碼或私鑰文件轉換成所需格式。轉換證書格式的具體操作,請參見證書格式轉換。
步驟二:在GlassFish服務器安裝證書
在GlassFish安裝目錄下創(chuàng)建一個用于存放證書的目錄。
進入glassfish安裝目錄。
本示例glassfish4安裝在home路徑下,請您根據實際情況調整。
cd /home/glassfish4
創(chuàng)建證書目錄,命名為cert。
mkdir cert
將證書文件和私鑰文件上傳到cert目錄。
說明您可以使用遠程登錄工具附帶的本地文件上傳功能,上傳文件。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里云云服務器 ECS,上傳文件具體操作,請參見上傳或下載文件(Windows)或上傳文件到Linux云服務器。
在cert目錄下,執(zhí)行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目錄下,執(zhí)行keytool命令,將mycert.p12轉換為JKS格式,命名為keystore.jks,別名為s1as。
keytool -importkeystore -destkeystore keystore.jks -srckeystore mycert.p12 -srcstoretype PKCS12 -alias s1as
執(zhí)行keytool命令后,會提示設置keystore.jks密碼和輸入原mycert.p12密碼,均為changeit。
在cert目錄下,執(zhí)行keytool命令,將下載的PEM格式的證書轉換為JKS格式,命名為cacerts.jks,別名為s1as。
domain_name.pem替換為實際的證書文件。
keytool -importcert -trustcacerts -destkeystore cacerts.jks -file domain_name.pem -alias s1as
執(zhí)行keytool命令后,會提示設置cacerts.jks密碼,您需設置為changeit。
在cert目錄下,執(zhí)行以下命令,替換/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目錄,執(zhí)行如下命令,重啟服務器。
./asadmin restart-domain domain1
步驟三:驗證SSL證書是否安裝成功
證書安裝完成后,您可通過訪問證書的綁定域名驗證該證書是否安裝成功。
https://yourdomain #需要將yourdomain替換成證書綁定的域名。
如果網頁地址欄出現(xiàn)小鎖標志,表示證書已經安裝成功。