说明:
主要方法参见至 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 请大家参阅,许多细节做了一些调整