WebLogic Server 10.3.2.0 SSL 配置及 SSL 协议传输的 WebSevice 调用
作 者: 風 絮
2010-7-24
Version : 1.0
博客地址:http://xiejin2008.iteye.com/
目录
1.1 文档介绍 ....................................................................................................................... 2
1.1.1 文档目的 ........................................................................................................... 2
1.1.2 文档范围 ........................................................................................................... 2
1.2 环境说明 ....................................................................................................................... 3
1.3 通过keytool 工具生成建立密钥对(标识密钥库) ................................................ 3
1.4 生成证书签发请求*.pem 文件(私有密钥) ............................................................ 3
1.5 拷贝密匙库和私密文件到域目录 ............................................................................... 3
1.6 启动weblogic,进入管理控制台 ............................................................................... 4
1.7 配置密匙库信息 ........................................................................................................... 4
1.8 配置SSL 信息 ............................................................................................................... 5
1.9 启用SSL 监听 ............................................................................................................... 6
1.10 SSL 协议测试 ................................................................................................................ 7
1.11 客户调用WebService 程序 ...................................................................................... 7
1.12 导出服务段的证书文件 ........................................................................................... 8
1.13 给服务端证书,创建客户端密匙库 ..................................................................... 12
1.14 可能发生的警告 ..................................................................................................... 13
1.1 文档介绍
1.1.1 文档目的
介绍WebLogic Server 10.3.2.0 的SSL 配置,单向配置,即客户端验证服务端。
以及WebService 在SSL 安全协议的传输下,客户端是怎样调用的。
1.1.2 文档范围
相关技术:
keytool 工具的使用,Weblogic 常见配置与管理,WebService 通过Xfire 框架技术进行调用,
SSL 协议通信传输流程,非对称信加密,数字签名等概念。
读者对象:
想掌握WeblogicServer SSL 配置的人员。本文默认读者已经了解以上相关技术。
1.2 环境说明
本文测试的环境:
Weblogic Server 版本: WebLogic Server 10.3.2.0
操作系统 :WindowXP SP2
JDK 版本:1.6.
客户端IE 版本: IE8.0
1.3 通过keytool 工具生成密钥对(标识密钥库)
Dos command :
keytool -genkey -v -alias weblogictest -keyalg RSA -keysize 512 -keypass xiejin -dname
"CN=127.0.0.1,OU=潇洒倜傥,O=风絮国际,L=完美City,ST=北京,C=CN" -validity 365 -keystore
D:/SSL/weblogic/weblogic_identity.jks -storepass xiejin
在命令提示符界面输入上面命令,存放路径自选(我选择的是D:/SSL/weblogic/),jks 文件名
称、alias 名称、keypass、storepass、validity time 自选。 即在D:/SSL/weblogic/ 中生成
weblogic_identity.jks 文件
1.4 生成证书签发请求*.pem 文件(私有密钥)
Dos command:
keytool -certreq -v -alias weblogictest -file D:/SSL/weblogic/cert_request.pem -keypass xiejin
-storepass xiejin -keystore D:/SSL/weblogic/weblogic_identity.jks
在D:/SSL/weblogic/目录中生成 了cert_request.pem 文件.(证书中的密钥对的私有密钥文件)
1.5 拷贝密匙库和私密文件到域目录
将生成的 weblogic_identity.jks 和 cert_request.pem 文件拷贝到weblogic domain 文件夹下
(我的是:C:\Oracle\Middleware\user_projects\domains\lcjptdomain)。
1.6 启动weblogic,进入管理控制台
1.7 配置密匙库信息
选择一个需要使用的server,点击进入,选择 密匙库(keystores) ,填写相应的信息。
密匙库: 选择 定制标识和定制信任
定制标识密匙库: weblogic_identity.jks
定制标识密钥库类型: jks
定制标识密钥库密码短语: xiejin
确认定制标识密钥库密码短语: xiejin
定制信任密钥库: weblogic_identity.jks
定制信任密钥库类型: jks
定制信任密钥库密码短语: xiejin
确认定制信任密钥库密码短语: xiejin
密匙库选项卡.
图一:
1.8 配置SSL 信息
选择SSL 选项卡,输入相应的信息。
SSL 选项卡
图二:
标识和信任位置: 选择 密匙库
私有密钥别名: weblogictest 第二个步骤中生成*.pem 文件中的别名alias
私有密钥密码短语: xiejin 第二个步骤中的keypass
1.9 启用SSL 监听
Select "General" tab,Enable SSL port and set a port value.
点击”一般信息”选项卡, 勾选 已启用 SSL 监听端口,并且设置访问端口号
一般信息选项卡:
图三:
1.10 SSL 协议测试
然后在浏览器中输入 https://127.0.0.1:7002/console ,进行测试。
1.11 客户调用WebService 程序
客户端浏览器版本:IE8
访问服务器WebService 的WSDL 文件. (本文默认已经部署好了一个WebService 到Weblogic)
https://127.0.0.1:7002/Xfire_1.1/services/HelloWorldSimple?wsdl
1.12 导出服务段的证书文件
单击浏览器输入框右边的小锁图标:
点击查看证书
选择选项卡:详细信息
点击按钮 复制到文件
点击 下一步:
选择 Base64 编码,其他格式也可以.
点击下一步保存文件:
保存文件:
下一步,完成 ,确定。
测试就在D:\SSL\weblogic 文件夹下面生成了myclient.cer 文件 (服务端的证书文件)
1.13 给服务端证书,创建客户端密匙库
Dos command:
keytool -import -noprompt -trustcacerts -alias myclient -file D:/SSL/weblogic/myclient.cer
-keystore D:/SSL/weblogic/myclient.jks -storepass 123456
生成的密匙库文件保存在: D:/SSL/weblogic/myclient.jks
Xfire 客户端调用Https 传输的WebService 代码片段:
public static void ssl_weblogic () { String url = "https://127.0.0.1:7002/Xfire_1.1/services/HelloWorldSimple"; System.setProperty ( "javax.net.ssl.trustStore", "D:/SSL/weblogic/myclient.jks" ); //关键代码 System.setProperty ( "javax.net.ssl.trustStorePassword", "123456" ); //关键代码 Service serviceModel = new ObjectServiceFactory ().create ( IHelloWorld.class ); try { IHelloWorld service = (IHelloWorld) new XFireProxyFactory ().create ( serviceModel, url ); String result = service.hello ( "恭喜发财" ); System.out.println ( "result = " + result ); System.out.println ( "========================================" ); Float returnValue = service.add ( new Float ( 3.2 ), new Float ( 2.8 ) ); System.out.println ( "returnValue = " + returnValue ); } catch (MalformedURLException e) { e.printStackTrace (); } }
1.14 可能发生的警告
当Weblogic 配置好SSL 后,在浏览器中输入https://127.0.0.1:7002/console
此时浏览器输入框右边,可能没有显示的一把小锁,而是一个“证书错误”红色警告。
警告说:证书不受信任,没有像CA 机构提供申请。
我是这样做的:
点击查看证书,点击安装证书按钮,接下来就按照它的提示操作进行。
这步骤完了之后,我发现还是会有那个警告信息,但是经过我客户端程序测试,并不影响程
序的调用。
接着,我重启一下Weblogic 服务,但是那个警告信息还是出现了,依然没有出现小锁的图
标,但有意思的是:过了几分钟后,再重新去访问https://127.0.0.1:7002/console 到时候,
那个小锁不知道什么时候出现了,红色警告也没了。对此不是很理解,希望看到本文的人,
如果知道原因,可以帮我解惑,我猜可能有个延迟的问题。
另一个需要注意的地方是:在第一个命令中:
keytool -genkey -v -alias weblogictest -keyalg RSA -keysize 512 -keypass xiejin -dname
"CN=127.0.0.1,OU=潇洒倜傥,O=风絮国际,L=完美City,ST=北京,C=CN" -validity 365 -keystore
D:/SSL/weblogic/weblogic_identity.jks -storepass xiejin
其中因为配置的CN 为127.0.0.0
所以在浏览器中访问的时候必须为:https://127.0.0.1:7002/console/
否则同样会出现 那个红色警告,说证书错误。
如果你有域名也可以换成域名如:www.xxx.com
则需配置CN=www.xxx.com
全文完!
下面附上PDF和DOC格式文档附件。