Java环境中配置SSL双向认证

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

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

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

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

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

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

1. 产生keystore 文件:

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

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

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

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

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

此时可在当前目录下看到文件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

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

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

5. 进行Tomcat 的配置:

把keystore 文件拷入�TALINA_HOME/conf目录下;

修改文件�TALINA_HOME/conf/server.xml,知道

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

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

修改结果如下图:

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

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

Tomcat5.0和Tomcat6.0的配置过程相同。 如果clientAuth="false",则服务器不需要客户端证书; 如果clientAuth="true",则客户端必须提供证书才能进行访问。

,

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

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

1. 产生keystore 文件:

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

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

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

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

weblogic.jks

此时可在当前目录下看到文件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 和TESTSERVER.cer 。

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

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

,

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

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

weblogic.jks

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

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

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

在此可以修改SSL 监听端口为443。 C. 进入D:�aweblogic81目录,新建文件夹jks ,把weblogic.jks 拷入其中。 D. 进入myserver->Keystores & SSL页面,做如下配置:

属性Keystore Configuration-> Identity中:

Custom Identity Keystore的值为:D:�aweblogic81jksweblogic.jks;

Type 值为:jks ;

输入两次Keystore 密码;

属性Keystore Configuration-> Trust 的属性值和Identity 相同; 属性SSL Configuration->Identity中:

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

输入两次Keystore 密码;

配置如下图:

,

,

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

E. 以上为SSL 单项认证,如果要配置SSL 双向认证,在Keystores & SSL 页面中: 点击属性Advanced Options的show ,如图:

找到属性Two Way Client Cert Behavior,

将其值改为:Client Certs Requested And Enforced,

如图:

点击页面右下角的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

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

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

,

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

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

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

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

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

有ssl 证书和密钥管理选项点击它。

,

然后点击管理端点安全配置,点击

,

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

新建密钥库和证书,

,

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

标签: