tomcat 6 配置 双向https 访问

    工作中使用了银行接口,需要部署单独的web服务器,接收https的请求,研究了一下tomcat 6进行双向https的配置,参考了网上的文章以及不断的摸索,总算小有心得,这里简单的整理和记录一下。

 

    同样使用的是jdk自带的keytool,废话不多说,直接上图,首先进入java_home\bin目录,执行如下命令:

keytool -genkey -v -alias tomcat -keyalg RSA -keystore e:\keystore\tomcat.keystore -validity 36500

    命令的作用是为服务器生成证书,别名为tomcat,有效期为100年,存放在E:\keystore目录,确认后,还需要填写一些信息,生成keystore文件,如图所示:

技术分享

    需要注意的是:这里的名字或姓氏,最好是填写ip地址或域名,本地也可以填写localhosy,填写其他的,则需要修改windows的hosts配置。接下来的客户端证书生成也一样。

 

    同样的,执行下面的命令生成客户端的证书,为了导出IE或FireFoX,证书格式设置为PKCS12:

keytool -genkey -v -alias realfighter -key alg RSA -storetype PKCS12 -keystore e:\keystore\realfighter.p12

    与服务端证书生成一样,也需要填写一些信息,生成p12文件,如下图所示:

技术分享

    接下来,通过下面的命令,将p12转换成cer文件,如下所示,红色部分为你设置的客户端证书密码:

C:\Program Files\Java\jdk1.6.0_45\bin>keytool -export -alias realfighter -keysto re e:\keystore\realfighter.p12 

-storetype PKCS12 -storepass urpwd -rfc -file e:\keystore\realfighter.cer

技术分享

    之后,需要将生成的客户端证书,导入到服务端的证书库,如下所示:

C:\Program Files\Java\jdk1.6.0_45\bin>keytool -import -v -file e:\keystore\realf ighter.cer

-keystore e:\keystore\tomcat.keystore

技术分享

接下来,需要进行tomcat的配置,使其支持https访问, 默认使用443端口,修改tomcat_home\conf\server.xml文件,去除两个Connector,注释掉,主要是禁止通过http:8080访问,如下:

    <!--

    <Connector executor="tomcatThreadPool"

               port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

    -->          

<!--  <Connector port="8009" protocol="AJP/1.3" redirectPort="443" /> -->

    去除84行左右Connector的注释,修改如下:

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"

        maxThreads="150" scheme="https" secure="true"

        clientAuth="true" sslProtocol="TLS"

        keystoreFile="e:/keystore/tomcat.keystore" keystorePass="urpwd"

        truststoreFile="e:/keystore/tomcat.keystore" truststorePass="urpwd"

 />

上面的keystoreFile和truststoreFile对应证书库和可信任证书库文件, 这里使用的是同一个,密码分别对应服务端密码和客户端密码。 

 

接下来,启动tomcat,通过https://127.0.0.1/访问,默认访问的就是443端口,会出现访问错误的页面,如下:

技术分享

我们需要将客户端证书p12文件导入,以Google Chrome为例,在设置-->显示高级设置-->管理证书-->个人-->导入,如下:

技术分享

直接下一步,选择p12文件,一路点下一步,中间需要填写一下证书的密码,完成后会在个人部分显示安装的证书,如图所示:

技术分享

技术分享

 刷新之前的链接,会显示选择证书,如下图,点击确定:

技术分享

会显示链接不安全,直接忽视,点继续访问:

技术分享

这样就访问成功了:

技术分享

 其它链接:http://www.xx566.com/detail/211.html

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。