全部產品
Search
文件中心

Certificate Management Service:在GlassFish伺服器安裝SSL認證

更新時間:Aug 21, 2024

本文介紹如何在GlassFish伺服器配置SSL認證,具體包括下載和上傳認證檔案,在GlassFish上配置認證檔案、憑證鏈結和認證密鑰等參數,以及安裝認證後結果的驗證。成功配置SSL認證後,您將能夠通過HTTPS加密通道安全訪問GlassFish伺服器,確保資料轉送的安全性。

重要

本文以Linux作業系統、glassfish-4.1.2-web中預設domain1容器為例介紹。不同的作業系統或GlassFish伺服器,部署操作可能有所差異,如有問題,請聯絡商務經理進行諮詢

前提條件

  • 已通過數位憑證管理服務控制台簽發認證。具體操作,請參見購買SSL認證提交認證申請

  • SSL認證綁定的網域名稱已完成DNS解析,即您的網域名稱與主機IP地址相互映射。您可以通過DNS驗證認證工具,檢測網域名稱DNS解析是否生效。具體操作,請參見DNS生效驗證

  • 已在Web伺服器開放443連接埠(HTTPS通訊的標準連接埠)。

    如果您使用的是阿里雲ECS伺服器,請確保已經在安全性群組規則入方向添加TCP 443連接埠。具體操作,請參見添加安全性群組規則

步驟一:下載SSL認證

  1. 登入數位憑證管理服務控制台

  2. 在左側導覽列,選擇認證管理 > SSL認證管理

  3. SSL證書管理頁面,定位到目標認證,在操作列,單擊下載

  4. 伺服器類型其他操作列,單擊下載

  5. 解壓縮已下載的SSL認證壓縮包。

    根據您在提交認證申請時選擇的CSR產生方式,解壓縮獲得的檔案不同,具體如下表所示。in

    CSR產生方式

    認證壓縮包包含的檔案

    系統產生

    • 認證檔案(PEM格式):預設以認證ID_認證綁定網域名稱命名。PEM格式的認證檔案是採用Base64編碼的文字檔。

    • 私密金鑰檔案(KEY格式):預設以認證綁定網域名稱命名。

    手動填寫

    • 如果您填寫的是通過數位憑證管理服務控制台建立的CSR,下載後包含的認證檔案與系統產生的一致。

    • 如果您填寫的不是通過數位憑證管理服務控制台建立的CSR,下載後只包括認證檔案(PEM格式),不包含認證密碼或私密金鑰檔案。您可以通過認證工具,將認證檔案和您持有的認證密碼或私密金鑰檔案轉換成所需格式。轉換認證格式的具體操作,請參見認證格式轉換

步驟二:在GlassFish伺服器安裝認證

  1. 在GlassFish安裝目錄下建立一個用於存放認證的目錄。

    1. 進入glassfish安裝目錄。

      本樣本glassfish4安裝在home路徑下,請您根據實際情況調整。

      cd /home/glassfish4 
    2. 建立認證目錄,命名為cert。

      mkdir cert
  2. 將認證檔案和私密金鑰檔案上傳到cert目錄。

    說明

    您可以使用遠程登入工具附帶的本地檔案上傳功能,上傳檔案。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里雲Elastic Compute Service,上傳檔案具體操作,請參見上傳或下載檔案(Windows)上傳檔案到Linux雲端服務器

  3. 在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
  4. 在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。

  5. 在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。

  6. 在cert目錄下,執行以下命令,替換/home/glassfish4/glassfish/domains/domain1/config目錄下的cacerts.jkskeystore.jks檔案

    • 替換cacerts.jks

      cp ./cacerts.jks /home/glassfish4/glassfish/domains/domain1/config
    • 替換keystore.jks

      cp ./keystore.jks /home/glassfish4/glassfish/domains/domain1/config
  7. 編輯/home/glassfish4/glassfish/domains/domain1/config/domain.xml設定檔,修改連接埠號碼。

    定位到如下圖所示network-listeners位置,並按照下述樣本修改連接埠號碼,修改時請注意80、443的佔用情況。

    image.png

    <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>
  8. 進入/home/glassfish4/glassfish/bin目錄,執行如下命令,重啟伺服器。

    ./asadmin restart-domain domain1

步驟三:驗證SSL認證是否安裝成功

認證安裝完成後,您可通過訪問認證的綁定網域名稱驗證該認證是否安裝成功。

https://yourdomain   #需要將yourdomain替換成認證綁定的網域名稱。

如果網頁地址欄出現小鎖標誌,表示認證已經安裝成功。

image.png