https-weblogic

在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文件拷入�TALINA_HOME%/conf目录下;

修改文件�TALINA_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页面,做如下配置:

属性Keystore Configuration-> Identity中:

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

Type值为:jks;

输入两次Keystore密码;

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

        属性SSL Configuration->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 Requested And 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服务,就必须用证书才能登陆。

猜你喜欢

转载自cameory.iteye.com/blog/1954680