java环境中配置SSL双向认证

 转载:http://blog.sina.com.cn/s/blog_74a86d52010177v7.html


在Java环境中配置SSL双向认证

   

在Java环境中配置Https双向认证,需要使用JDK自带的keytool工具,在命令行方式下,生成服务器证书申请文CSR,然后到CA签发服务器证书。

以下为在Tomcat和Weblogic中配置Https双向认证的步骤,环境为JDK1.5。

Tomcat下keystore密码与服务器密钥密码必须一致。

1.在Tomcat中配置HTTPS双向认证

在Tomcat5.0中配置Https双向认证的步骤如下:

1. 产生keystore文件:

keytool -genkey -alias tomcat -keyalg RSA -keystore keystore


java环境中配置SSL双向认证

 

此时可在当前目录下看到keystore文件。

申请服务器证书时,CN需要和网站的域名或者IP相同,否则IE7会认为该证书是为别的网站颁发的。

 

2. 生成服务器证书申请文件CSR:

keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore keystore


java环境中配置SSL双向认证

 

 

此时可在当前目录下看到文件certreq.csr。

把certreq.csr文件内容和DN提交到CA管理员,即可申请到服务器证书。

DN为:CN=192.168.1.25, OU=research, O=cwca, L=YC, ST=NX,C=CN。

从CA获得的服务器证书为user.p7b,可从其中分别导出base64格式的根证和服务器证书

NXCA.cer和client.cer。

3. 将根证书导入到keystore文件中:

keytool -import -trustcacerts -alias root -file NXCA.cer -keystore keystore


java环境中配置SSL双向认证

 

4. 将服务器证书导入到keystore文件中:

keytool -import -alias tomcat -file client.cer -keystore keystore


 

 java环境中配置SSL双向认证

5.  进行Tomcat的配置:

   把keystore文件拷入%CATALINA_HOME%/conf目录下;

修改文件%CATALINA_HOME%/conf/server.xml,知道 <Connector port="8443"这一行,默认是注释掉的;去掉注释,然后增加两行:

   keystoreFile="/conf/keystore" keystorePass="12345678"

       truststoreFile="/conf/keystore"truststorePass="12345678"

       修改结果如下图:

java环境中配置SSL双向认证

 

   如果clientAuth="false",则服务器不需要客户端证书;

   如果clientAuth="true",则客户端必须提供证书才能进行访问。

   Tomcat6以后还需增加SSLEnabled="true"

 

6. 启动Tomcat,输入https://192.168.1.25:8443/,即可访问应用;

Https默认端口为443,如果把监听端口改为443,则访问时就不需要加端口号了。

Tomcat5.0和Tomcat6.0的配置过程相同。

 

2.在Weblogic中配置HTTPS双向认证

 在Weblogic8.1中配置Https双向认证的步骤如下:

1. 产生keystore文件:

      

keytool -genkey -alias weblogic -keyalg RSA -keystore weblogic.jks

java环境中配置SSL双向认证

 此时可在当前目录下看到weblogic.jks文件。

 2.  生成服务器证书申请文件CSR:

keytool -certreq -keyalg RSA -alias weblogic -file certreq.csr -keystore weblogic.jks


此时可在当前目录下看到文件certreq.csr。

java环境中配置SSL双向认证

把certreq.csr文件内容和DN提交到CA管理员,即可申请到服务器证书。

DN为:CN=192.168.1.25, OU=research, O=cwca, L=YC, ST=NX,C=CN。

从CA获得的服务器证书为user.p7b,可从其中分别导出base64格式的根证和服务器证书

NXCA.cer和TESTSERVER.cer。

 

3.      导入根证书NXCA.cer到weblogic.jks中

keytool -import -alias testroot -trustcacerts -file NXCA.cer -keystore weblogic.jks    

java环境中配置SSL双向认证

 

4.      导入服务器证书TESTSERVER.cer到weblogic.jks中

keytool -import -trustcacerts -alias weblogic -file TESTSERVER.cer -keystore weblogic.jks 


java环境中配置SSL双向认证

5.  进入Weblogic管理页面进行配置:

   A.进入Weblogic控制台:http://localhost:7001/console

B.选择:mydomain->Servers->myserver->General页面,找到属性:SSL Listen Port Enabled,

  将其选中,如图:   

java环境中配置SSL双向认证

 

     在此可以修改SSL监听端口为443。

   C.进入D:\bea\weblogic81目录,新建文件夹jks,把weblogic.jks拷入其中。

   D.进入myserver->Keystores &SSL页面,做如下配置:

属性KeystoreConfiguration-> Identity中:

Custom Identity Keystore的值为:D:\bea\weblogic81\jks\weblogic.jks;

Type值为:jks;

输入两次Keystore密码;

属性KeystoreConfiguration-> Trust的属性值和Identity相同;

       属性SSLConfiguration->Identity中:

       Private Key Alias的值为Keystore的别名weblogic;

输入两次Keystore密码;

配置如下图:

java环境中配置SSL双向认证

java环境中配置SSL双向认证    java环境中配置SSL双向认证

        配置完成,点击页面右下角的Apply即可。

        E.以上为SSL单项认证,如果要配置SSL双向认证,在Keystores &SSL  页面中:

           点击属性Advanced Options的show,如图:

         java环境中配置SSL双向认证

           找到属性Two Way Client Cert Behavior,

           将其值改为:Client Certs RequestedAnd Enforced,

           如图:

         java环境中配置SSL双向认证

           点击页面右下角的Apply即可。

      F.重启Weblogic服务,在IE地址栏中输入:https://192.168.1.25/ROOT/index.jsp

        即可访问应用。

      Weblogic8.1以上版本与此配置方法相同。

3.在Websphere6.1中配置HTTPS双向认证

1.      产生keystore文件:

       

keytool -genkey -alias server -keyalg RSA -keystore keystore

       java环境中配置SSL双向认证

 

2.      生成服务器证书申请文件CSR:

   

keytool -certreq -keyalg RSA -alias server -file certreq.csr -keystore keystore

   java环境中配置SSL双向认证

 

3.      将根证书导入到keystore文件中:

keytool -import  -trustcacerts -alias root -file NXCA.cer -keystore keystore

java环境中配置SSL双向认证

 

4.      将服务器证书导入到keystore文件中:

keytool -import -alias tomcat -file client.cer -keystore keystore


java环境中配置SSL双向认证

 

5.      Webphere6.1双向认证设置,打开Webphere6.1控制台,点击左侧窗口安全性,

   点开后里边有ssl证书和密钥管理选项点击它。

   java环境中配置SSL双向认证

然后点击管理端点安全配置,点击java环境中配置SSL双向认证

java环境中配置SSL双向认证

java环境中配置SSL双向认证

点击密钥库和证书,然后点击新建

java环境中配置SSL双向认证

新建密钥库和证书,

java环境中配置SSL双向认证

填入名称,keystore文件的路径,keystore文件的密码,类型选为jks

java环境中配置SSL双向认证

   然后点ssl配置

   java环境中配置SSL双向认证

   新建一个ssl配置列表如下图所示:

      java环境中配置SSL双向认证

      选择你信任库密钥库名为设置的名称。本例为server,然后点获取证书别名,如下图所示:

      java环境中配置SSL双向认证

      然后确定,然后点击保护质量设置,将客户机认证选为必须,协议选为ssl,如下图所示:

      java环境中配置SSL双向认证

      然后保存为主配置。

      然后设置入站点ssl配置,如下图所示:

      java环境中配置SSL双向认证

      设为我们新建的ssl主配置,本例为oa,然后点击更新证书别名列表,双向配置完成,

      我们重新启动websphere服务,就必须用证书才能登陆。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值