Weblogic91下SSL的配置
前段时间公司因业务需要,需在WLS91 下使用CA认证,经过查询大量资料后,终于将其配置成功了,现将详细配置步骤贴出来,
希望对有此需求的同仁有所帮助.
步骤如下:
1. 成对的生成私钥(private key)和公钥(public certificate)<o:p></o:p>
在cmd 下进入jdk/bin目录下执行:<o:p></o:p>
keytool –genkey –alias mykey–keyalg RSA –keysize 1024 –dname “CN=<st1:chsdate isrocdate="False" w:st="on" year="1899" day="30" islunardate="False" month="12">10.8.2</st1:chsdate>.236, OU=soft, O=whty, L=<st1:place w:st="on"><st1:state w:st="on">hubei</st1:state></st1:place>, S=E, C=CN” –keypass 111111 –keystore ./mykey.jks –storepass 111111
此时产生的密钥对有效期为180天,如果要更改其有效期,可在上述命令中加入:
“-validity <st1:chmetcnv w:st="on" tcsc="0" unitname="”" sourcevalue="365" negative="False" numbertype="1" hasspace="False">365”</st1:chmetcnv>(一年)
<o:p> </o:p>
说明: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的密码
<o:p> </o:p>
2. 证书请求的生成,它用于到CA机构获得证书<o:p></o:p>
keytool –certreq –alias mykey –sigalg “MD5withRSA” –file ./certreq.pem –keypass 111111 –keystore ./mykey.jks –storepass 111111
<o:p> </o:p>
说明:sigalg是签名算法,对于RSA类型的私钥,需要的默认签名算法是MD5withRSA;file是提供CRS文件的位置和名字;keypass是私钥的密码;keystore是指定keystore文件;storepass是keystore的密码
<o:p> </o:p>
3. 登陆CA服务器,申请CA
将第二步生成的”certreq.pem”用记事本打开,用里面的内容到CA服务器上申请CA,申请成功后,将获得两个文件,“server.cer”,certnew.p7b。
4. 写CA 到token.(注:token为usb key).
5将“server.cer”,用记事本打开,另存为”serv.er.pem”,双击“certnew.p7b”,如下图:<o:p></o:p>
<v:shape id="_x0000_i1036" style="WIDTH: 415.5pt; HEIGHT: 193.5pt" type="#_x0000_t75"><v:imagedata o:title="get ca step5" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image017.jpg"></v:imagedata></v:shape>
两次双击右面区域文件夹,右键“IFCP Root CA”->所有任务->导出,保存为“rootca.cer”,
右键“IFCP Web Logon CA” ->所有任务->导出,保存为“subrootca.cer”
将所生成的“mykey.pem,rootca.cer,subrootca.cer”copy 到jdk/bin/下
6.导入到custom trust keystore,使用keytool的标记import,命令如下:<o:p></o:p>
keytool -import -alias rootca -trustcacerts -file ./rootca.cer -keystore ./mykeytrust.jks -storepass 111111<o:p></o:p>
遇到是否信任该证书提示时,输入y
keytool -import -alias subrootca -trustcacerts -file ./subrootca.cer -keystore ./ mykeytrust.jks -storepass 111111<o:p></o:p>
最后将从CA机构获得签名证书mykey.pem导入到custom identity keystore,命令如下:
keytool -import -alias server -file ./server.pem -keypass 111111 -keystore ./mykey.jks -storepass 111111<o:p></o:p>
此时共生成6个文件,它们分别是“mykey.jks, mykeytrust.jks, certreq.pem,mykey.pem,rootca.cer,subrootca.cer”,将它们copy 到weblogic安装目录下<o:p></o:p>
如: bea\weblogic91\samples\domains\wl_server<o:p></o:p>
7.配置weblogic ssl,将weblogic默认http端口7001禁用,启用SSL端口7002(将SSL Listen Port Enabled,勾选)<o:p></o:p>
8.进入keystores选项,如下图:<o:p></o:p>
<o:p> </o:p>
<v:shape id="_x0000_i1037" style="WIDTH: 414.75pt; HEIGHT: 259.5pt" type="#_x0000_t75"><v:imagedata o:title="get ca step6" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image019.jpg"></v:imagedata></v:shape><o:p></o:p>
将Keystores:选择为:
Custom Identity and Command Line Trust
Custom Identity and Custom Trust
Custom Identity and Java Standard Trust
Demo Identity and Demo Trust
,
在Identity区域<o:p></o:p>
Custom Identity Keystore:输入bea/weblogic91/samples/domains/wl_server/mykey.jks<o:p></o:p>
Custom Identity Keystore Type:输入JKS<o:p></o:p>
Custom Identity Keystore Passphrase:输入密码前几步所设为111111<o:p></o:p>
在Trust区域<o:p></o:p>
Custom Trust Keystore: 输入bea/weblogic91/samples/domains/wl_server/ mykeytrust.jks<o:p></o:p>
Custom Trust Keystore Type:输入JKS<o:p></o:p>
Custom Trust Keystore Passphrase:输入密码前几步所设为111111<o:p></o:p>
然后点击“save”按钮,<o:p></o:p>
9.切换到“SSL”选项, 如下图:<o:p></o:p>
<v:shape id="_x0000_i1038" style="WIDTH: 414.75pt; HEIGHT: 259.5pt" type="#_x0000_t75"><v:imagedata o:title="get ca step7" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image021.jpg"></v:imagedata></v:shape><o:p></o:p>
在Identity and Trust Locations:选择
Keystores
Files or Keystore Providers (Deprecated)
,
Private Key Alias:输入mykey<o:p></o:p>
Private Key Passphrase: 输入密码前几步所设为111111<o:p></o:p>
然后点击“Advanced”,进入下一页面,如下图:<o:p></o:p>
<v:shape id="_x0000_i1039" style="WIDTH: 414.75pt; HEIGHT: 259.5pt" type="#_x0000_t75"><v:imagedata o:title="get ca step8" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image023.jpg"></v:imagedata></v:shape><o:p></o:p>
Two Way Client Cert Behavior:选择为
Client Certs Not Requested
Client Certs Requested But Not Enforced
Client Certs Requested and Enforced
,
然后点击“save”,至此webloigc sever keystores&SSL已经配置完毕,重启服务器
10.测试<o:p></o:p>
https://10.8.2.236:7002/csc/login_csc.jsp, 如果已经插入token,会提示选择CA ,而后会提示输入PIN,如果pin码正确,会进入login_csc.jsp
注:1.此配置在IE6 ,IE7上测试成功
(此后访问系统是要用https协议, 登录地址:https://10.8.2.236:7002/csc/login_csc.jsp)
2.如果改成token直接登录,不用进入login_csc.jsp,而是直接进入业务页面,可作如下更改
在登录的时候,直接读取token中的用户名,无需密码
在登记模块中,添加如下代码:
try{
<o:p> </o:p>
String certKey="javax.servlet.request.X509Certificate";
Object o = request.getAttribute(certKey);
java.security.cert.X509Certificate[] cert =null;
if( o instanceof java.security.cert.X509Certificate[] ){
cert = ( java.security.cert.X509Certificate[] )o;
}
Principal p1= cert[0].getSubjectDN();
String userId = p1.getName();//登录用户名<o:p></o:p>
}
注:因CA服务器不同,第4步有所变化.
E-mail:michael152630@gmail.com
分享到:
相关推荐
- **位置**:BEA的插件模块位于WebLogic 9.X的安装目录中,例如`weblogic91\server\plugin`。 - **复制插件**:根据操作系统的类型和所需的功能(如SSL加密级别),选择相应的插件文件(如`mod_wl_20.so`或`mod_wl...
76.6. 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 87 76.7. 如何查看在weblogic中已经发布的EJB? 87 76.8. 说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 87...
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...
2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 62 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证...
91 4、请写出用于校验HTML文本框中输入的内容全部为数字的javascript代码 92 5、说说你用过那些ajax技术和框架,说说它们的区别 92 四. Java web部分 93 1、Tomcat的优化经验 93 2、HTTP请求的GET与POST方式的区别 ...
但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理, EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 24、...
实例145 安装配置WebLogic 529 实例146 整合Tomcat与IIS 531 实例147 整合Tomcat与Apache 532 实例148 整合JBuilder与WebLocig 533 实例149 安装、编译和执行一个MIDlet 535 实例150 构造Jsp/javabean开发和发布环境...
525 实例143 安装配置Tomcat 526 实例144 安装配置Apache 528 实例145 安装配置WebLogic 529 实例146 整合Tomcat与IIS 531 实例147 整合Tomcat与Apache 532 实例148 整合JBuilder与WebLocig 533...