配置方法一:
1. 准备工作
确保weblogic已经安装,并已经创建了domains,推荐在domain中做一些前置设置,虽然这些并不是必要的,首先运行domain下的setEnv.sh命令设置环境变量,然后运行WLS_HOME/commom/bin/commEnv.sh。
2. 使用keytool工具
2.1 成对的生成私钥(private key)和公钥(public certificate)
keytool工具在JDK’s/bin目录下,加上标记-genkey用于成对生成private key/public certificate,事例如下:
keytool –genkey –alias testkey –keyalg RSA –keysize 512 –dname “CN=200.31.23.71, OU=Support, O=SGE, L=shanghai, S=SH, C=CN” –keypass 888888 –keystore ./testkey.jks –storepass 888888
说明:alias是别名;keyalg指算法,keytool允许2种算法DSA和RSA,但这里WLS需要RSA;keysize的范围可以是512到1024,WLS licenses的可导出长度是512;dname指可区别的名字用于标识,必须按照一定的格式和顺序,其中(CN,域名或IP,不能有空格,OU:组织中部门的名字,O:组织名,L:城市名,S:省名,C:国家简写);keypass私钥的密码;keystore创建的文件的名字,以及地址(./放在当前目录);storepass是 keystore的密码
2.2 证书请求的生成,它用于到CA机构获得证书
使用keytool中的标记-certreq,命令如下:
keytool –certreq –alias support –sigalg “MD5withRSA” –file ./certreq.pem –keypass 888888 –keystore ./support.jks –storepass 888888
说明:sigalg是签名算法,对于RSA类型的私钥,需要的默认签名算法是MD5withRSA;file是提供CRS文件的位置和名字;keypass是私钥的密码;keystore是指定keystore文件;storepass是keystore的密码
3. 证书的请求和应答,在CA机构申请试用
这里我尝试了从www.verisign.com(weblogic推荐及本人推荐,呵呵)和www.cnca.net(国内,基本已经无效,客服说此项已不对外服务)两个网站上获得,由于国外网站的配置比较烦琐,最终使用国内的证书配置成功。首先进入网站,点击服务器证书试用。按照提示先下载证书链ServerRoot.p7b,然后根据申请提示提交第二步中生成的certreq.pem中的内容,该机构即据此生成了证书server.cer.
拿到2个文件后,将证书链ServerRoot.p7b导出(直接双击即可)成根rootca.cer和子rootcaserver.cer,并用文本打开server.cer将内容另存为testkeyreq.pem
4. 导入证书到keystore
有了以上3个文件后,就可以开始导入了,将根rootca.cer和子rootcaserver.cer导入到custom trust keystore,使用keytool的标记import,命令如下:
keytool –import –alias rootca –trustcacerts –file ./rootca.cer –keystore ./testkeytrust.jks –storepass 888888
遇到是否信任该证书提示时,输入yes
keytool–import –alias rootcaserver –trustcacerts –file ./rootcaserver.cer –keystore ./testkeytrust.jks –storepass 888888
最后将从CA机构获得签名证书testkeyreq.pem导入到custom identity keystore,命令如下:
keytool –import -trustcacerts –alias testkeyreq –file ./testkeyreq.pem –keypass 888888 –keystore ./testkey.jks –storepass 888888
遇到是否信任该证书提示时,输入yes
5. 配置SSL
此时可以看到,我们一共获得了下列文件:certreq.pem, rootca.cer, rootcaserver.cer, testkeyreq.pem, testkey.jks, testkeytrust.jks,将这六个文件copy到domain下,然后进入console,登陆后,选择domain>servers>myserver 下的General 面板,选中SSL选项并保存(查看ssl的端口默认是7002),然后选择keystores & SSL面板,点击change按钮,选择custom identity and custom trust并点继续,在这里输入各个变量的值,如下:
custom identity key store file name: 目录/support.jks
custom identity key store type: JKS
keystore pass : 888888
custom trust key stoer file name : 目录/supporttrust.jks
custom trust key stoer type : JKS
keystore pss: 888888
点继续:
private key alias :support 输入私钥别名
pass :私钥密码888888
即配置完成
6. 重新启动weblogic,并通过https访问测试
https://200.31.23.71:7002/console
配置方法二:http://se.csai.cn/media/200810091009111582.htmWebLogic Server实现双向SSL
两种方式都比较复杂,相对来说可能第2种成功率会高一些,本人试的第一种,目前为止还没成功,可能跟应用程序也有关系,再试试看
还可参考:http://blog.csdn.net/maxgong2005/archive/2005/12/20/557063.aspx(图文解说)
证书申请注册,导入部分相对容易出问题一些
有个错误:keytool错误: java.lang.Exception: 回复中的公用密钥与 keystore 不符
没解决是什么原因造成的,这个估计是导致一直没成功的原因