关键字广告 | 网址申请 | 网站代管 | 资安服务 | SSL 数码凭证
WIS 汇智 SSL 数码凭证服务
        中国  |  如何付款  |  联系我们  |  WIS 汇智
 Geotrust SSL
  技术支持服务: 欢迎来到 WIS 汇智 SSL 数码凭证客户服务中心。  
     产品价格一览表
     产品购买指南
     申请流程

Tomcat - SSL操作大全

简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.20(截止到2009-10-22)。

Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件发展商的认可,成为目前比较流行的Web 应用服务器。

另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

当Tomcat作为独立的Web Servcer运行的时候,可以独立处理SSL请求,这个时候,我们就需要在Tomcat上安装SSL凭证,如果Tomcat和Apache联合工作,事实上是作为Apache的一个独立进程来负责JSP页面和Servlet,这个时候,我们就需要将SSL凭证安装在Apache上,这点需要先确认好。

Tomcat还有一个特殊的模块:APR(Apache Portable Runtime)是为了提高Tomcat处理静态内容性能,提供的元件,其实就是以Apache2.0为核心的一个http服务。在HTTPS方面,APR和Apache一样采用Openssl,在凭证安装部分,会简要说明一下。

Tomcat支持Jave Keystore档格式作为SSL凭证存储用途。Java Keystore文件的常见副档名有.jks和.key。要制作JKS档,有2种主要方式:

  1. 用JRE自带的Keytool工具。先产生一个新的jks档,并到处一个csr档,然后将csr发给CA签名,并将签名后的文件导入jks文件。
  2. 用openssl工具,制作key和csr文件,将csr发给CA签名得到cer档,然后将key和cer合并成一个jks档。


制作CSR申请文件

1、制作Tomcat用CSR请求档,最简单的办法就直接使用我们的 OpenSSL CSR在线生成器: http://www.myssl.com.tw/openssl/createcsr.asp
(注意:您必须同时保存server.key和server.csr文件)

2、常见的JKS档制作,要采用Keytool工具,这个工具是JRE自带的。通过命令行的方式输入CSR信息,而且可以支持中文资料。
首先,生成一个新的jks档,命令如下:
keytool -genkey -alias tomcat -keyalg RSA -keystore c:\server.jks

 输入密钥库口令:changeit
您的姓名是什么?
  [未知]:  www.myssl.tw
您的组织单位名称是什么?
  [未知]:  WIS Internet Inc.
您的组织名称是什么?
  [未知]:  It Dept.
您的市/县/区或地点名称是什么?
  [未知]:  Taiwan
您的省/直辖市名称是什么?
  [未知]:  Taipei
此单位的两字母国家或地区代码是什么?
  [未知]:  TW
CN=www.myssl.tw, OU="WIS Internet Inc.", 
O=It Dept., L=Taiwan, ST=Taipei, C=CN 正确吗?
(输入“yes”或“no”)
  [否]:  Y
 
为 <tomcat> 输入密钥口令
        (如果与密钥库口令相同则返回):

说明: 输入keystore口令: 请输入保护凭证密钥的口令。
 
您的名字与姓氏是什么?请输入功能变量名称,例如:www.myssl.cn
 
您的组织单位名称是什么?请输入单位名称,如: WIS Internet Inc.
 
您的组织名称是什么?请输入部门名称,如: IT Dept
 
您所在的城市或区域名称是什么?输入城市名称,如:Taipei
 
您所在的州或省份名称是什么?输入省份名称,如:Taiwan
 
该单位的两字母国家代码是什么?台湾请输入CN
 
CN=www.myssl.tw, OU= WIS Internet Inc., O=IT Dept, L=Taipei, ST= Taipei, C=TW 正确吗?输入 Y
 
输入的主口令(如果和 keystore 口令相同,按回车):按回车
 

根据这个jks档产生一个csr档,输入命令:
keytool -certreq -alias tomcat -keystore server.jks -file server.csr


安装凭证文件

1、将凭证内容存为一个档:

您会收到一封来自凭证中心的邮件,凭证内容附在邮件中。如果凭证是以附件的形式(Cert.cer)夹带在邮件中,您就可以直接应用它。如果您的凭证中以文本的方式存在邮件中,您就需要将邮件中的凭证部分的内容用Vi或Notepad存成一个纯文字档案。不要将其存成Microsoft Word 或其它文字处理软件格式,并确定凭证内容中不含有空行和空格,档案名可以为server.cer。如下所示:


将保存好的server.cer档和制作CSR时候生成的server.key一起复制到服务器上。

2、如果是使用在线工具制作的CSR档,请打开在线JKS合成工具,将制作CSR时候的server.key文件和刚刚收到的server.cer输入2个文本框,然后合成一个server.jks文件。

3、如果是用keytool做的CSR档,则需要按下面方式,将凭证导入原来的jks档。

3.1 请使用P7B在线转换工具将server.cer转换为P7B档:
请用Notepad打开server.cer档,将其中的全部内容(包含-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----),将全部内容复制到P7B在线转换工具中的文本框中,然后点击“合成P7B文件”。待合成成功后,下载档,保存为cert.txt。

3.2 然后运行命令,将CA签好的凭证文件cert.txt导入jks文件:
keytool -import -keystore server.jks -alias tomcat -file cert.txt

4、如果没有APR的Tomcat,按下面例子更新Server.xml档配置

<-- Define a SSL Coyote HTTP/1.1 Connector on port 443 -->
<!--Tomcat 5.5 
<Connector 
           port="8443" minProcessors="5" maxProcessors="75"
           enableLookups="true" disableUploadTimeout="true"
           acceptCount="100" debug="0" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="server.jks" keystorePass="changeit"/>
-->
注意:不同tomcat版本,修改server.xml的方式不同,请参考tomcat说明:
tomcat 6.0 http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
tomcat 5.5 http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html
tomcat 5.0 http://tomcat.apache.org/tomcat-5.0-doc/ssl-howto.html
tomcat 4.1 http://tomcat.apache.org/tomcat-4.1-doc/ssl-howto.html
 

5、配置了APR的Tomcat,需要使用server.key和server.cer档,并按mod_ssl的语法来更新Server.xml档配置

<-- Define a APR SSL Coyote HTTP/1.1 Connector on port 443 --&rt;
<!--
<Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
           port="443" minSpareThreads="5" maxSpareThreads="75"
           enableLookups="true" disableUploadTimeout="true" 
           acceptCount="100"  maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="server.cer" 
           SSLCertificateKeyFile="server.key"
           SSLVerifyClient="none"  sslProtocol="TLS"/>
-->

客户凭证认证

1、没有APR模块的Tomcat,如果需要采用客户凭证认证(双向SSL认证),需要在server.xml中增加以下配置:

           clientAuth="true"
           truststoreFile="ca.jks"
           truststorePass="changeit"	

说明:
clientAuth="true",表示必须有客户凭证才可以访问。
clientAuth="false",表示不验证是否有客户凭证。
clientAuth="want",表示会检查客户凭证,但如果没有也可以继续访问。

2、使用APR模块的Tomcat,需要用mod_ssl的语法来配置客户凭证认证,增加以下配置:

           SSLVerifyClient="require"
           SSLCACertificateFile="ca.cer"		

详细参数,可以参考Apache SSL文档说明。

凭证的备份(导出)

Tomcat的凭证备份,只需要将server.jks文件(或可查看server.xml中keystoreFile对应的那个jks档)复制到备份媒体上即可了。


凭证的恢复(导入)

要恢复Tomcat的凭证同样非常简单,将备份的jks档,复制到新的服务器上,然后参考上面服务器凭证安装说明,修改server.xml档即可。

 
技术文件资料

技术名词解释

CSR的产生

服务器凭证的安装
   Apache 2.2
   Mod SSL
   WebLogic 6.0
   WebLogic 8.1
   IBM Websphere 5.1
   IBM Websphere MQ
   IBM HTTP Server
   Lotus Domino
   Windows 2000 - IIS 5.0
   Windows 2003 - IIS 6.0
   Netscape Enterprise3
   Netscape iPlanet 4.x
   Netscape iPlanet 6.x
   Webstar 4.x
   OpenSSL和CSR在线产生器
   QuicksslPremium安全标章
   Red Hat Secure Web      Server
   Stronghold
   Tomcat
   True BusinessID安全标章
   Zeus
   安装中的防火墙问题

服务器凭证的备份

联系销售人员

常见问题与解答
SOSA 优良电子商店 SOSA 信息透明化电子商店 ISO cert.No.573698