若要在WebLogic伺服器上設定SSL,您需要驗證的SSL憑證。 您可以使用Java鍵工具執行下列工作來建立憑證:
然後,設定WebLogic,使其使用您建立的自訂身分密鑰庫和自訂信任密鑰庫。 此外,由於用於建立密鑰庫檔案的唯一判別名不包括托管WebLogic的電腦的名稱,因此禁用「WebLogic主機名驗證」功能。
keytool命令通常位於Java jre/bin目錄中,且必須包含數個選項和選項值,這些選項和選項值列在下表中。
Keytool選項 |
說明 |
選項值 |
---|---|---|
-alias |
密鑰庫的別名。 |
|
-keyalg |
用於生成密鑰對的算法。 |
RSA 您可以根據公司的政策,使用不同的演算法。 |
-keystore |
密鑰庫檔案的位置和名稱。 該位置可以包含檔案的絕對路徑。 或者,它可以相對於輸入keytool命令的命令提示符的當前目錄。 |
|
-file |
證書檔案的位置和名稱。 |
ads-ca.cer |
-validity |
認為證書有效的天數。 |
三六五零年 您可以使用不同的值,視您公司的政策而定。 |
-storepass |
保護密鑰庫內容的口令。 |
|
-keypass |
保護密鑰對的私鑰的口令。 |
請使用與 |
-dname |
標識擁有密鑰庫的人員的可辨識名稱。 |
|
如需使用keytool命令的詳細資訊,請參閱JDK檔案中的keytool.html檔案。
在命令提示符下,導覽至[appserverdomain]/adobe/[伺服器名稱]。
輸入以下命令:
[JAVA_HOME]/bin/keytool -genkey -v -alias ads-credentials -keyalg RSA -keystore "ads-credentials.jks" -validity 3650 -storepass store_password -keypass key_password -dname "CN=Hostname, OU=Group Name, O=Company Name, L=City Name, S=State,C=Country Code
將[JAVA_HOME]
替換為安裝JDK的目錄,並將斜體文本替換為與您的環境相對應的值。
例如:
C:\Program Files\Java\jrockit-jdk1.6.0_24-R28\bin\keytool" -genkey -v -alias ads-credentials -keyalg RSA -keystore "ads-credentials.jks" -validity 3650 -storepass P@ssw0rd -keypass P@ssw0rd -dname "CN=wasnode01, OU=LC, O=Adobe, L=Noida, S=UP,C=91
名為"ads-credentials.jks"的自訂身分密鑰庫檔案會建立在[appserverdomain]/adobe/[伺服器名稱]目錄中。
輸入以下命令,從ads-credentials密鑰庫中提取證書:
[JAVA_HOME]/bin/keytool -export -v -alias ads-credentials
-file "ads-ca.cer" -keystore "ads-credentials.jks"
-storepass
*store*
*_password
將[JAVA_HOME]
取代為安裝JDK的目錄,並將store
_ password
取代為自訂身分密鑰庫的密碼。
例如:
C:\Program Files\Java\jrockit-jdk1.6.0_24-R28\bin\keytool" -export -v -alias ads-credentials -file "ads-ca.cer" -keystore "ads-credentials.jks" -storepass P@ssw0rd
名為"ads-ca.cer"的憑證檔案會建立在[appserverdomain]/adobe/[伺服器名稱]目錄中。
將ads-ca.cer檔案複製至需要與應用程式伺服器進行安全通訊的任何主機。
輸入以下命令,將證書插入新的密鑰庫檔案(自定義信任密鑰庫):
[JAVA_HOME] /bin/keytool -import -v -noprompt -alias bedrock -file "ads-ca.cer" -keystore "ads-ca.jks" -storepass store_password -keypass key_password
將[JAVA_HOME]
替換為安裝JDK的目錄,並將store
_ password
和key
_ password
替換為您自己的密碼。
例如:
C:\Program Files\Java\jrockit-jdk1.6.0_24-R28\bin\keytool" -import -v -noprompt -alias bedrock -file "ads-ca.cer" -keystore "ads-ca.jks" -storepass Password1 -keypass Password1
名為"ads-ca.jks"的自訂信任密鑰庫檔案建立於[appserverdomain]/adobe/[server]目錄中。
設定WebLogic,使其使用您建立的自訂身分密鑰庫和自訂信任密鑰庫。 此外,由於用於建立密鑰庫檔案的唯一判別名不包括托管WebLogic伺服器的電腦名,因此禁用WebLogic主機名驗證功能。
在Web瀏覽器的URL行中鍵入https://
[主機名]:7001/console
,以啟動WebLogic伺服器管理控制台。
在「環境」下的「域配置」中,選擇「伺服器> [伺服器] >配置>常規」。
在「General(常規)」下,在「Configuration(配置)」中,確保選擇了Listen Port Enabled(啟用監聽埠)和SSL Listen Port Enabled(啟用SSL監聽埠)。 如果未啟用,請執行下列動作:
如果此伺服器是受控伺服器,請將「監聽埠」更改為未使用的埠值(如8001),將「SSL監聽埠」更改為未使用的埠值(如8002)。 在獨立伺服器上,預設的SSL埠為7002。
按一下Release Configuration。
在「環境」下的「域配置」中,按一下「伺服器」>「受管理伺服器」>「配置」>「常規」。[]**
在「常規」下,在「配置」中,選擇Keystores。
在「變更中心」下,按一下「鎖定並編輯」以修改選取範圍和值。
按一下「變更」,以將密鑰庫清單取為下拉式清單,並選取「自訂身分與自訂信任」。
在「身分」下,指定下列值:
自訂身分密鑰庫: [appserverdomain]/adobe/[server name]/ads-credentials.jks,其中*[appserverdomain] *是實際路徑, [伺服器] 名稱是應用程式伺服器的名稱。
自訂身份密鑰庫類型:JKS
自訂身分密鑰庫密碼: mypassword (自訂身分密鑰庫密碼)
在「信任」下,指定下列值:
自定義信任密鑰庫檔案名: *[appserverdomain]*/adobe/*[server]*/ads-ca.jks
,其中 *[appserverdomain]*
是實際路徑
自定義信任密鑰庫類型:JKS
自訂信任金鑰庫密碼片語: mypassword (自訂信任金鑰密碼)
在「常規」下的「配置」中,選擇SSL。
預設情況下,為「身份和信任位置」選擇「密鑰庫」。 否則,請將其更改為密鑰庫。
在「身分」下,指定下列值:
私密金鑰別名:ads-credentials
密碼短語: mypassword
按一下Release Configuration。
在「設定」標籤上,按一下「SSL」。
在「高級」下,從「主機名驗證」清單中選擇「無」。
如果未禁用主機名驗證,則公共名稱(CN)必須包含伺服器主機名。
在「更改中心」(Change Center)下,按一下「鎖定和編輯」(Lock & Edit)以修改選擇和值。
重新啟動應用程式伺服器。