設定 Essbase 的 Weblogic TLS 連線

依預設, WebLogic 會以未加密模式設定。以下是將 WebLogic TLS 連線新增至現有不安全網域的步驟。

設定 Essbase 21.2 或 21.3+ 的 TLS 連線

附註:

更新 JAgent 和 WebLogic 憑證的先決條件和注意事項。

  • 設定 Oracle 本位目錄環境變數 - 指向 Essbase 安裝。必須定義 JAVA_HOME 和 ORACLE_HOME 環境變數才能執行組態。
  • 指令檔的參數為回應檔位置 (此檔案以 GUI 模式產生,且用於無訊息模式) 或 DOMAIN_HOME 位置。
  1. 停止 Essbase

    Linux:

    ${DOMAIN_HOME}/esstools/bin/stop.sh

    Windows:

    %DOMAIN_HOME%\esstools\bin\stop.cmd
  2. 若要更新所有 TLS 憑證 (在 Essbase 21.2 或 21.3+ 中設定) 和公事包,請執行下列動作:

    附註:

    命令檔參數中不能同時使用 RESPONSE_FILE 和 DOMAIN_HOME。只使用其中一種。

    Linux 上的 21.2 或 21.3+:

    java -cp $ORACLE_HOME/essbase/lib/essbaseconfig.jar com.oracle.wizard.operation.helper.ssl.SslConfigHelper [RESPONSE_FILE=<response file> | DOMAIN_HOME=<${DOMAIN_HOME}>]

    附註:

    對於 Linux 上的 21.3+,您也可以使用下列命令 (這不需要匯出 JAVA_HOME 和 ORACLE_HOME):

    ${ORACLE_HOME}/essbase/bin/ssl_config.sh [RESPONSE_FILE=<response file> | DOMAIN_HOME=<${DOMAIN_HOME}>]

    若為 Windows 上的 21.3+:

    java -cp %ORACLE_HOME%\essbase\lib\essbaseconfig.jar com.oracle.wizard.operation.helper.ssl.SslConfigHelper [RESPONSE_FILE=<response file> | DOMAIN_HOME=<%DOMAIN_HOME%>]

    附註:

    您也可以使用下列命令:

    %ORACLE_HOME%\essbase\bin\ssl_config.cmd [RESPONSE_FILE=<response file> | DOMAIN_HOME=<%DOMAIN_HOME%>]
  3. 由於未變更公事包和金鑰存放區的密碼,因此只要執行 WebLogic 即可啟動 Essbase 。啟動 Essbase 。請參閱停止、啟動及檢查伺服器

    Linux:

    ${DOMAIN_HOME}/esstools/bin/start.sh

    Windows:

    %DOMAIN_HOME%\esstools\bin\start.cmd

設定 Essbase 21.2 或 21.3+ 的啟用 SSL 模式

如果 Essbase 是以加密模式設定為 21.1 版本,則在修補至 Essbase 21.2 或 21.3+ 之後,您必須使用下列步驟來設定啟用 SSL 模式。

  1. 呼叫 wlst。

    Linux:

    ${ORACLE_HOME}/oracle_common/common//bin/wlst.sh
    ${ORACLE_HOME}/essbase/modules/oracle.essbase.sysman/scripts/ssl_settings.py
    ${DOMAIN_HOME} ${DOMAIN_HOME}/security/keystore.jks
    ${DOMAIN_HOME}/config/fmwconfig/ovd/default/keystores/adapters.jks
    ${DOMAIN_HOME}/config/fmwconfig/essconfig/essbase/walletssl/certwallet.pem <FQDN> <ssl Admin
    Port> <<EOF
    Password1
    Password1
    EOF
    • 若為 21.2,請改用「完整網域名稱 <FQDN>」,而不要使用:
      https://<FQDN>:<Essbase Server SSL Port>/essbase/agent
    • 若為 21.3+,則應為純 FQDN 主機。

    Windows:

    %ORACLE_HOME%\oracle_common\common\bin\wlst.cmd
    %ORACLE_HOME%\essbase\modules\oracle.essbase.sysman\scripts\ssl_settings.py
    %ORACLE_HOME%\security\keystore.jks
    %ORACLE_HOME%\config\fmwconfig\ovd\default\keystores\adapters.jks
    %ORACLE_HOME%\config\fmwconfig\essconfig\essbase\walletssl\certwallet.pem <FQDN> <ssl Admin
    Port>

    上述命令會提示您輸入密碼。

  2. 變更下列各項:

    若為 Linux:編輯 ${DOMAIN_HOME}/bin/setStartupEnv.sh。尋找子字串 -Djavax.net.ssl.trustStore ,然後將此行上移到這一行的結尾 (展開 ${DOMAIN_HOME})

    -Djavax.net.ssl.trustStore=${DOMAIN_HOME}/config/fmwconfig/essconfig/essbase/walletssl/cacerts -Dweblogic.security.SSL.ignoreHostnameVerification=true

    若為 Windows:編輯 %ORACLE_HOME%\bin\setStartupEnv.cmd。尋找子字串 -Djavax.net.ssl.trustStore ,然後將此行上移到這一行的結尾 (展開 %DOMAIN_HOME%)

    -Djavax.net.ssl.trustStore=%ORACLE_HOME%\config\fmwconfig\essconfig\essbase\walletssl\cacerts -Dweblogic.security.SSL.ignoreHostnameVerification=true
  3. 變更下列各項:

    若為 Linux:請依下列方式編輯 ${DOMAIN_HOME}/bin/setWlstEnv.sh:(展開 ${DOMAIN_HOME})

    export WLST_PROPERTIES="-Dweblogic.ssl.JSSEEnabled=true 
    -Dweblogic.security.SSL.enableJSSE=true 
    -Dweblogic.security.SSL.ignoreHostnameVerification=true 
    -Dweblogic.security.CustomTrustKeyStoreType=JKS 
    -Dweblogic.security.TrustKeyStore=CustomTrust 
    -Dweblogic.security.CustomTrustKeyStoreFileName=${DOMAIN_HOME}/config/fmwconfig/ovd/default/keystores/adapters.jks 
    -Djavax.net.ssl.trustAnchors=${DOMAIN_HOME}/config/fmwconfig/ovd/default/keystores/adapters.jks"
    export API_CAINFO=${DOMAIN_HOME}/config/fmwconfig/essconfig/essbase/walletssl/certwallet.pem

    對於 Windows:類似地編輯 %ORACLE_HOME%\bin\setWlstEnv.cmd

    export WLST_PROPERTIES="-Dweblogic.ssl.JSSEEnabled=true 
    -Dweblogic.security.SSL.enableJSSE=true 
    -Dweblogic.security.SSL.ignoreHostnameVerification=true 
    -Dweblogic.security.CustomTrustKeyStoreType=JKS 
    -Dweblogic.security.TrustKeyStore=CustomTrust 
    -Dweblogic.security.CustomTrustKeyStoreFileName=%DOMAIN_HOME%\config\fmwconfig\ovd\default\keystores\adapters.jks 
    -Djavax.net.ssl.trustAnchors=%DOMAIN_HOME%\config\fmwconfig\ovd\default\keystores\adapters.jks"
    export API_CAINFO=%DOMAIN_HOME%\config\fmwconfig\essconfig\essbase\walletssl\certwallet.pem
  4. 新增代碼列,如下所示:

    若為 Linux:請將下列程式碼行新增至 ${DOMAIN_HOME}/nodemanager/nodemanager.properties (展開 ${DOMAIN_HOME})。

    KeyStores=CustomIdentityAndCustomTrust
    CustomIdentityKeystoreType=jks
    CustomIdentityKeyStoreFileName=${DOMAIN_HOME}/security/keystore.jks
    CustomIdentityKeyStorePassPhrase=Password1
    CustomIdentityPrivateKeyPassPhrase=Password1
    CustomIdentityAlias=ssl
    CustomTrustKeystoreType=jks
    CustomTrustKeyStoreFileName=${DOMAIN_HOME}/config/fmwconfig/ovd/default/keystores/adapters.jks
    CustomTrustKeyStorePassPhrase=Password1

    若為 Windows:請將下列程式碼行新增至 %DOMAIN_HOME%\nodemanager\nodemanager.properties (展開 %DOMAIN_HOME%)。

    KeyStores=CustomIdentityAndCustomTrust
    CustomIdentityKeystoreType=jks
    CustomIdentityKeyStoreFileName=%DOMAIN_HOME%\security\keystore.jks
    CustomIdentityKeyStorePassPhrase=Password1
    CustomIdentityPrivateKeyPassPhrase=Password1
    CustomIdentityAlias=ssl
    CustomTrustKeystoreType=jks
    CustomTrustKeyStoreFileName=%DOMAIN_HOME%\config\fmwconfig\ovd\default\keystores\adapters.jks
    CustomTrustKeyStorePassPhrase=Password1
  5. 更新如下:

    對於 Linux:使用下列值更新 ${DOMAIN_HOME}/config/fmwconfig/essconfig/essbase/essbase.cfg

    Windows:使用下列值更新 %DOMAIN_HOME%\config\fmwconfig\essconfig\essbase\essbase.cfg

    AgentSecurePort 6423
    
    EnableSecureMode true
    EnableClearMode false
    ClientPreferredMode SECURE
  6. 更新證明資料和 OPSS 金鑰存放區。

    若為 Linux:請將 .wlst 命令檔中的 ${DOMAIN_HOME} 取代為實際路徑。

    source ${DOMAIN_HOME}/bin/setWlstEnv.sh
     
    ${ORACLE_HOME}/oracle_common/common/bin/wlst.sh <<EOF
    wlAddress='t3s://<fqdn>:<AdminServer SSL port>'
    wlUser='<user name>'
    wlPassword='<password>'
    keystorePath='${DOMAIN_HOME}/config/fmwconfig/essconfig/essbase/walletssl/keystore.jks'
    connect(wlUser, wlPassword, wlAddress)
    svc = getOpssService(name='KeyStoreService')
    svc.importKeyStore(appStripe='essbase', name='internalidentity', password='Password1', aliases='orakey', keypasswords='Password1', type='JKS', permission=true, filepath=keystorePath)
    svc.importKeyStore(appStripe='essbase', name='internaltrust', password='Password1', aliases='orakey', keypasswords='Password1', type='JKS', permission=true, filepath=keystorePath)
    updateCred(map='oracle.essbase', key='ssl.passphrase', user='ssl.passphrase', password='Password1') exit()EOF

    若為 Windows:請將 .wlst 命令檔中的 %DOMAIN_HOME% 取代為實際路徑。

    call %DOMAIN_HOME%\bin\setWlstEnv.cmd
    call %DOMAIN_HOME%\oracle_common\common\bin\wlst.cmd 

    以上的命令會將您進入 WLST 模式。然後執行下列動作:

    wls:\offline>wlAddress='t3s:\\<fqdn>:<AdminServer SSL port>'
    wls:\offline>wlUser='<user name>'wls:\offline>wlPassword='<password>'
    wls:\offline>keystorePath='%DOMAIN_HOME%\\config\\fmwconfig\\essconfig\\essbase\\walletssl\\keystore.jks'
    wls:\offline>connect(wlUser, wlPassword, wlAddress)wls:\offline>svc = getOpssService(name='KeyStoreService')
    wls:\offline>svc.importKeyStore(appStripe='essbase', name='internalidentity', password='Password1', aliases='orakey',
    keypasswords='Password1', type='JKS', permission=true, filepath=keystorePath)
    wls:\offline>svc.importKeyStore(appStripe='essbase', name='internaltrust', password='Password1', aliases='orakey',
    keypasswords='Password1', type='JKS', permission=true, filepath=keystorePath)
    wls:\offline>updateCred(map='oracle.essbase', key='ssl.passphrase', user='ssl.passphrase', password='Password1')
    wls:\offline>exit()