Weblogic 安裝和配置SSL(Linux)
阿新 • • 發佈:2019-01-29
說明:
主要方法參見至 http://dead-knight.iteye.com/blog/1941716
以下過程在ubuntu16下測試通過,使用的JDK是 java version "1.8.0_121" Java HotSpot(TM) 64-Bit Server VM
一、準備工作
1.1、JDK的安裝,自行安裝,不做討論,只列出環境變數配置片段
#JAVA_EVN
export JAVA_HOME=/usr/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
1.2、weblogic安裝,不在該討論範疇,下面列出一個簡單的測試環境安裝過程(參見http://blog.csdn.net/chx_stone/article/details/52916113)
(1)解壓下載檔案、賦權、移動至軟體安裝目錄
sudo unzip -d weblogic1213 wls1213_dev.zip
sudo chmod 777 -R weblogic1213
sudo mv weblogic1213 /usr/
(2)配置weblogic環境變數
sudo vi /etc/profile
export MW_HOME=/usr/weblogic1213/ca
:wq!
source /ect/profile
cd $MW_HOME
(3)檢查當前環境是否符合weblogic安裝要求
. $MW_HOME/configure.sh
(4)配置weblogic初始化要求
. $MW_HOME/wlserver/server/bin/setWLSEnv.sh
(5)配置weblogic域(domain)
. $MW_HOME/wlserver/common/bin/config.sh
(6) 啟動服務
. $MW_HOME/user_projects/domains/base_domain/startWebLogic.sh
(7)存放日誌路徑
$MW_HOME/user_projects/domains/ssl_domain/servers/AdminServer/logs/ssl_domain.log
cd $MW_HOME
mkdir ca
cd $MW_HOME/ca
二、根證書生成
2.1 生成根私匙
openssl genrsa -out cakey.pem 1024
2.2 生成根證書
openssl req -new -out careq.csr -key cakey.pem -subj "/C=CN/ST=bj/L=bj/O=test/OU=test/CN=192.168.1.127"
openssl x509 -req -in careq.csr -out cacert.pem -signkey cakey.pem -days 3650
三、生成金鑰庫
keytool -genkey -alias app_server -validity 3650 -keyalg RSA -keysize 1024 -keypass boncme -storepass boncme -keystore app_server.jks -dname "C=CN, ST=bj, L=bj, O=bonc, OU=bonc, CN=192.168.1.127"
四、伺服器證書生成
keytool -certreq -alias app_server -sigalg MD5withRSA -file app_server.csr -keypass boncme -storepass boncme -keystore app_server.jks 注意:MD5withRSA也可以使用SHA1withRSA
openssl x509 -req -in app_server.csr -out servercert.pem -CA cacert.pem -CAkey cakey.pem -days 3650 -set_serial 0001
五、匯入金鑰庫
keytool -import -v -trustcacerts -keypass boncme -storepass boncme -alias ca_root -file cacert.pem -keystore app_server.jks
keytool -import -v -trustcacerts -storepass boncme -alias app_server -file servercert.pem -keystore app_server.jks
keytool -import -alias app-ca -trustcacerts -keypass boncme -storepass boncme -file cacert.pem -keystore app_trust.jks
六、檢視金鑰庫的方法
keytool -list -storepass boncme -keystore app_server.jks
七、將生成的金鑰庫檔案複製到weblogic工作域根目錄下,我的工作域路徑是/$MW_HOME/user_projects/domains/ssl_domain
cp *.jks /$MW_HOME/user_projects/domains/ssl_domain
八、在weblogic控制檯配置金鑰庫及ssl配置
8.1 配置金鑰庫【keystores】
先進入金鑰庫頁籤(怎麼進入自己找找)
修改為以下值(根據自己生成的檔名進行配置哦):
金鑰庫【keystores】:定製標識和定製信任【Custom Identity and Custom Trust】
定製標識金鑰庫【Custom Identity Keystore】:app_server.jks
定製標識金鑰庫型別【Custom Identity Keystore Type】:jks #不填寫預設是jks
定製標識金鑰庫密碼短語【Custom Identity Keystore Passphrase】:boncme
確認定製標識金鑰庫密碼短語【Confirm Custom Identity Keystore Passphrase】:boncme
定製信任金鑰庫【Custom Trust Keystore】: app_trust.jks
定製信任金鑰庫型別【Custom Trust Keystore Type】:jks
定製信任金鑰庫密碼短語【Custom Trust Keystore Passphrase】:boncme
確認定製信任金鑰庫密碼短語【Confirm Custom Trust Keystore Passphrase】:boncme
點選 儲存
8.2 配置SSL【SSL】
修改為以下值:
標識和信任位置【Identity and Trust Locations】:金鑰庫【keystores】
私有金鑰別名【Private Key Alias】:app_server
私有金鑰密碼短語【Private Key Passphrase】:boncme
確認私有金鑰密碼短語【Confirm Private Key Passphrase】:boncme
勾選 使用JSSE SSL【Use JSSE SSL】 #這裡要重點予以說明,預設情況下weblogic使用的是WebLogic JRockit JDK SSL語言機制,而我們一般都會配置Sun JDK,並用它來生成金鑰庫檔案
點選 儲存
重啟服務 . $MW_HOME/user_projects/domains/base_domain/startWebLogic.sh
8.3 配置一般資訊【General】
勾選 啟用 SSL 監聽埠【SSL Listen Port Enabled】
點選 儲存
重啟服務 . $MW_HOME/user_projects/domains/base_domain/startWebLogic.sh
8.4 錯誤情況及解決方案
錯誤1:<Error> <Socket> <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please ensure that libmuxer library is in #說明:weblogic官網都沒有提供64位的下載,反正我是沒找到,因此使用JDK64位的,需要做這樣一個動作解決這個問題
解決方案:cp $MW_HOME/wlserver/server/native/win/x64/wlntio.dll /usr/jdk1.8.0_121/bin/
錯誤2:Inconsistent security configuration, java.lang.RuntimeException: Cannot convert identity certificate
解決方案:勾選SSL也籤的 “使用 JSSE SSL”
至此,單向SSL配置完畢
九、雙向SSL配置
9.1 在weblogic的配置方面,只需要修改以下內容
在SSL頁籤--》進入高階(最下面)--》雙向客戶機證書行為 選擇 請求客戶機證書並強制使用
該部分忽略,本人未做驗證,以上過程主要參考至 http://dead-knight.iteye.com/blog/1941716 請大家參閱,許多細節做了一些調整
主要方法參見至 http://dead-knight.iteye.com/blog/1941716
以下過程在ubuntu16下測試通過,使用的JDK是 java version "1.8.0_121" Java HotSpot(TM) 64-Bit Server VM
一、準備工作
1.1、JDK的安裝,自行安裝,不做討論,只列出環境變數配置片段
#JAVA_EVN
export JAVA_HOME=/usr/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
1.2、weblogic安裝,不在該討論範疇,下面列出一個簡單的測試環境安裝過程(參見http://blog.csdn.net/chx_stone/article/details/52916113)
(1)解壓下載檔案、賦權、移動至軟體安裝目錄
sudo unzip -d weblogic1213 wls1213_dev.zip
sudo chmod 777 -R weblogic1213
sudo mv weblogic1213 /usr/
(2)配置weblogic環境變數
sudo vi /etc/profile
export MW_HOME=/usr/weblogic1213/ca
:wq!
source /ect/profile
cd $MW_HOME
(3)檢查當前環境是否符合weblogic安裝要求
. $MW_HOME/configure.sh
(4)配置weblogic初始化要求
. $MW_HOME/wlserver/server/bin/setWLSEnv.sh
(5)配置weblogic域(domain)
. $MW_HOME/wlserver/common/bin/config.sh
(6) 啟動服務
. $MW_HOME/user_projects/domains/base_domain/startWebLogic.sh
(7)存放日誌路徑
$MW_HOME/user_projects/domains/ssl_domain/servers/AdminServer/logs/ssl_domain.log
cd $MW_HOME
mkdir ca
cd $MW_HOME/ca
二、根證書生成
2.1 生成根私匙
openssl genrsa -out cakey.pem 1024
2.2 生成根證書
openssl req -new -out careq.csr -key cakey.pem -subj "/C=CN/ST=bj/L=bj/O=test/OU=test/CN=192.168.1.127"
openssl x509 -req -in careq.csr -out cacert.pem -signkey cakey.pem -days 3650
三、生成金鑰庫
keytool -genkey -alias app_server -validity 3650 -keyalg RSA -keysize 1024 -keypass boncme -storepass boncme -keystore app_server.jks -dname "C=CN, ST=bj, L=bj, O=bonc, OU=bonc, CN=192.168.1.127"
四、伺服器證書生成
keytool -certreq -alias app_server -sigalg MD5withRSA -file app_server.csr -keypass boncme -storepass boncme -keystore app_server.jks 注意:MD5withRSA也可以使用SHA1withRSA
openssl x509 -req -in app_server.csr -out servercert.pem -CA cacert.pem -CAkey cakey.pem -days 3650 -set_serial 0001
五、匯入金鑰庫
keytool -import -v -trustcacerts -keypass boncme -storepass boncme -alias ca_root -file cacert.pem -keystore app_server.jks
keytool -import -v -trustcacerts -storepass boncme -alias app_server -file servercert.pem -keystore app_server.jks
keytool -import -alias app-ca -trustcacerts -keypass boncme -storepass boncme -file cacert.pem -keystore app_trust.jks
六、檢視金鑰庫的方法
keytool -list -storepass boncme -keystore app_server.jks
七、將生成的金鑰庫檔案複製到weblogic工作域根目錄下,我的工作域路徑是/$MW_HOME/user_projects/domains/ssl_domain
cp *.jks /$MW_HOME/user_projects/domains/ssl_domain
八、在weblogic控制檯配置金鑰庫及ssl配置
8.1 配置金鑰庫【keystores】
先進入金鑰庫頁籤(怎麼進入自己找找)
修改為以下值(根據自己生成的檔名進行配置哦):
金鑰庫【keystores】:定製標識和定製信任【Custom Identity and Custom Trust】
定製標識金鑰庫【Custom Identity Keystore】:app_server.jks
定製標識金鑰庫型別【Custom Identity Keystore Type】:jks #不填寫預設是jks
定製標識金鑰庫密碼短語【Custom Identity Keystore Passphrase】:boncme
確認定製標識金鑰庫密碼短語【Confirm Custom Identity Keystore Passphrase】:boncme
定製信任金鑰庫【Custom Trust Keystore】: app_trust.jks
定製信任金鑰庫型別【Custom Trust Keystore Type】:jks
定製信任金鑰庫密碼短語【Custom Trust Keystore Passphrase】:boncme
確認定製信任金鑰庫密碼短語【Confirm Custom Trust Keystore Passphrase】:boncme
點選 儲存
8.2 配置SSL【SSL】
修改為以下值:
標識和信任位置【Identity and Trust Locations】:金鑰庫【keystores】
私有金鑰別名【Private Key Alias】:app_server
私有金鑰密碼短語【Private Key Passphrase】:boncme
確認私有金鑰密碼短語【Confirm Private Key Passphrase】:boncme
勾選 使用JSSE SSL【Use JSSE SSL】 #這裡要重點予以說明,預設情況下weblogic使用的是WebLogic JRockit JDK SSL語言機制,而我們一般都會配置Sun JDK,並用它來生成金鑰庫檔案
點選 儲存
重啟服務 . $MW_HOME/user_projects/domains/base_domain/startWebLogic.sh
8.3 配置一般資訊【General】
勾選 啟用 SSL 監聽埠【SSL Listen Port Enabled】
點選 儲存
重啟服務 . $MW_HOME/user_projects/domains/base_domain/startWebLogic.sh
8.4 錯誤情況及解決方案
錯誤1:<Error> <Socket> <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please ensure that libmuxer library is in #說明:weblogic官網都沒有提供64位的下載,反正我是沒找到,因此使用JDK64位的,需要做這樣一個動作解決這個問題
解決方案:cp $MW_HOME/wlserver/server/native/win/x64/wlntio.dll /usr/jdk1.8.0_121/bin/
錯誤2:Inconsistent security configuration, java.lang.RuntimeException: Cannot convert identity certificate
解決方案:勾選SSL也籤的 “使用 JSSE SSL”
至此,單向SSL配置完畢
九、雙向SSL配置
9.1 在weblogic的配置方面,只需要修改以下內容
在SSL頁籤--》進入高階(最下面)--》雙向客戶機證書行為 選擇 請求客戶機證書並強制使用
該部分忽略,本人未做驗證,以上過程主要參考至 http://dead-knight.iteye.com/blog/1941716 請大家參閱,許多細節做了一些調整