您访问的是老版本网站,请点击 这里 浏览新版网站。
          |  臺灣  |  English  |  如何付款  |  联系我们
 
  技术支持服务: 欢迎来到客户服务中心。  
     购买证书
     解决方案
     代理商

Resin - SSL操作大全

简介

Resin 是一个小巧,快速的jsp/servlets运行平台,而且是全免费的,常见的Resin的版本有2.x ,3.x,最新版本是4.0.1。

Resin 支持Openssl和JSSE。所以我们可以使用Java Keystore文件即.jks文件,也可以使用Openssl的key+cer文件。以下部分,我们都将分Openssl和JSSE两种情况来介绍。


制作CSR申请文件

Openssl模式。

制作Openssl模式下的Resin用CSR请求文件,最简单的办法就直接使用我们的 OpenSSL CSR在线生成器: https://www.myssl.cn/openssl/createcsr.asp
(注意:您必须同时保存server.key和server.csr文件)

如果要在本地制作CSR和KEY文件,可以采用Openssl命令行工具来生成CSR文件,OpenSSL工具是免费的,可以从www.openssl.org下载到最新的源码,但需要自己编译,你也可以下载使用已经编译好的OpenSSL 0.9.8.a for win32,下载地址是: http://www.myssl.cn/download/OpenSSL_0.9.8.a_Win32.zip

1、Openssl是一个命令行工具,首先将下载包解压到C:\openssl下。

2、打开DOS命令行窗口,进入C:\openssl,输入命令:
openssl req -new -nodes -keyout server.key -out server.csr

Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
...........................++++++
....................................++++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be 
incorporated into your certificate request.
What you are about to enter is what is called a
Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Shanghai
Locality Name (eg, city) []:Shanghai
Organization Name (eg, company) [Internet Widgits Ltd]:
Shanghai Fastcom Technology Co.,Ltd.
Organizational Unit Name (eg, section) []:IT Dept.
Common Name (eg, YOUR name) []:www.myssl.cn
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

3、在完成了如上的交互信息输入后,当前目录下将产生两个文件:server.key 和 server.csr。请妥善保存这两个文件,请不要泄露server.key私钥文件。

4、在这一命令执行的过程中,系统会要求您填写如下信息:
 
Country Name (2 letter code) 使用国际标准组织(ISO)国码格式,填写2个字母的国家代号。中国请填写CN。
State or Province Name (full name) 省份,比如填写Shanghai
Locality Name (eg, city) 城市,比如填写Shanghai
Organization Name (eg, company) 组织单位,比如填写公司名称的拼音
Organizational Unit Name (eg, section) 比如填写IT Dept
Common Name (eg, your websites domain name): 行使 SSL 加密的网站地址。请注意这里并不是单指您的域名,而是直接使用 SSL 的网站名称 例如:pay.abc.com。 一个网站这里定义是:
abc.com 是一个网站;
www.abc.com 是另外一个网站;
pay.abc.com 又是另外一个网站。
Email Address 邮件地址,可以不填
A challenge password 可以不填
An optional company name 可以不填

5、如何产生2048位的密钥对?

在上面的命令行交互中,我们看到“Generating a 1024 bit RSA private key”,即系统缺省采用1024位的RSA密钥长度,一般来说1024位是足够的,但是在申请EV证书的时候,我们必须采用2048位的密钥长度,要生成2048位的密钥,可以修改上面的命令行:(斜体部分为增加的参数)
openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr

6、如何制作中文的CSR文件?

中文CSR文件,主要指企业名称、部门,城市,省份等信息采用中文,通用名和国家代码仍然必须是英文的,GeoTrust目前已经全面支持中文的CSR,要制作中文的CSR,最简单的办法仍然是采用我们的在线CSR生成器: https://www.myssl.cn/openssl/createcsr.asp

如果希望自己通过Openssl工具来制作中文CSR就需要多费一些工夫了,下面详细介绍一下采用Openssl命令行制作中文CSR的方法。
Openssl本身是可以支持UTF-8编码来支持中文的,但是如果通过DOS命令行是无法输入UTF-8的中文字符的,所以我们必须采用Opnessl.cnf配置文件的缺省值来实现中文字的输入。采用一个文本编辑器,最好是支持utf-8字符的,我采用UltraEdit,打开Openssl.cnf文件,首先修改:

string_mask = utf8only
这句话将强制字符的输入采用UTF-8的编码格式,然后修改缺省DN信息,录入我们需要合中文字符,如下
commonName_default		= www.myssl.cn
0.organizationName_default	= 上海迅通科技有限公司
organizationalUnitName_default	= IT 部门
stateOrProvinceName_default	= 上海
localityName_default		= 上海
countryName_default		= CN
然后将文件按utf-8,no bom的编码格式保存,在Ultraedit下,请选择“另存为”,格式为“UTF-8 - NO-BOM”。如果没有可以支持UTF-8的编辑工具,也可以下载一个ICONV来做编码转换工作。

准备好openss.cnf文件后,输入命令行:
openssl req -utf8 -config config.cnf -new -nodes -batch -keyout server.key -out server.csr
系统将自动生成CSR文件,保存在server.csr中。

CSR已经做好,最后强调,必须同时保存好server.csr和server.key2个文件,尤其是server.key一定丢失,将无法再使用这个证书。

JSSE模式。

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

 输入密钥库密码:changeit
您的姓名是什么?
  [未知]:  www.myssl.cn
您的组织单位名称是什么?
  [未知]:  Shanghai Fastcom Technology Co.,Ltd
您的组织名称是什么?
  [未知]:  It Dept.
您的市/县/区或地点名称是什么?
  [未知]:  Shanghai
您的省/直辖市名称是什么?
  [未知]:  Shanghai
此单位的两字母国家或地区代码是什么?
  [未知]:  CN
CN=www.myssl.cn, OU="Shanghai Fastcom Technology Co.,Ltd", 
O=It Dept., L=Shanghai, ST=Shanghai, C=CN 正确吗?
(输入“yes”或“no”)
  [否]:  Y

为 <tomcat> 输入密钥密码
        (如果与密钥库密码相同则返回):

说明: 输入keystore密码: 请输入保护证书密钥的密码。
 
您的名字与姓氏是什么?请输入域名,例如:www.myssl.cn
 
您的组织单位名称是什么?请输入单位名称,如: Shanghai Fastcom Technology Co Ltd
 
您的组织名称是什么?请输入部门名称,如: IT Dept
 
您所在的城市或区域名称是什么?输入城市名称,如:Shanghai
 
您所在的州或省份名称是什么?输入省份名称,如:Shanghai
 
该单位的两字母国家代码是什么?中国请输入CN
 
CN=www.myssl.cn, OU=Shanghai Fastcom Technology Co Ltd, O=IT Dept, L=Shanghai, ST=Shanghai, C=CN 正确吗?输入 Y
 
输入的主密码(如果和 keystore 密码相同,按回车):按回车
 

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


安装证书文件

将证书内容存为一个文件:

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


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

Openssl模式

1、Resin4.0中采用resin.xml来配置SSL参数,如下:

<resin xmlns="http://caucho.com/ns/resin">
  <cluster id="http-tier">
  <server id="a" address="192.168.1.12">
    <http port="443">
      <openssl>
        <certificate-file>server.cer</certificate-file>
        <certificate-key-file>server.key</certificate-key-file>
        <password>my-password</password>
      </openssl>
   </http>
  </server>
  ...
</resin> 	

2、Resin3是在Resin.conf文件中配置SSL参数,如下:

	...
<http port="443">
  <openssl>
    <certificate-file>server.cer</certificate-file>
    <certificate-key-file>server.key</certificate-key-file>
    <password>my-password</password>
  </openssl>
</http>

3、Resin2是在Resin.conf文件中配置SSL参数,如下:

	...
<http port='443'>
  <ssl/>
  <certificate-file>server.cer</certificate-file>
  <certificate-key-file>server.key</certificate-key-file>
  <key-store-password>password</key-store-password>
</http>

JSSE模式

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

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

3. 如果是Resin4.0,修改resin.xml文件,如下

<resin xmlns="http://caucho.com/ns/resin">
  <cluster id="">
    <server-default>
    <http port="443">
     <jsse-ssl>
       <key-store-type>jks</key-store-type>
       <key-store-file>server.jks</key-store-file>
       <password>changeit</password>
     </jsse-ssl>
    </http>
    </server-default>
    ...
  </cluster>
</resin>

5、如果是Resin 3.x,修改resin.conf文件,如下

<resin xmlns="http://caucho.com/ns/resin">
  <server>
    <http port="443">
     <jsse-ssl>
       <key-store-type>jks</key-store-type>
       <key-store-file>server.jks</key-store-file>
       <password>changeit</password>
     </jsse-ssl>
    </http>
    ...
  </http-server>
</caucho.com>

6、如果是Resin 2.x,修改resin.conf文件,如下

<caucho.com>
  <http-server>
    <http port=8443>
     <ssl>true</ssl>
     <key-store-file>server.jks</key-store-file>
     <key-store-password>changeit</key-store-password>
    </http>
    ...
  </http-server>
</caucho.com>

客户证书认证

Openssl模式

和其他支持Openssl的服务器方式比较类似,只需要加入客户证书根证书文件指认就可以了,增加配置如下:

<ca-certificate-file>clientroot.cer</ca-certificate-file>
<verify-client>required</verify-client>

JSSE模式

如果采用JSSE模式的Resin,首先需要修改配置文件如下:

<verify-client>required</verify-client>
		

在配置中文件,我们是无法指定客户证书根证书信息的,那么Resin是如何来信任客户证书的呢?Resin其实是信任JRE缺省的JKS文件中的信任根证书,这个文件是jre/lib/security/cacerts,缺省的密码是changeit,找到这个文件,并将客户证书的根证书保存在clientroot.cer中,输入如下命令:

keytool -import -trustcacerts -keystore cacerts -alias root -file clientroot.cer

 
技术文档资料

技术名词解释

CSR的生成
   Apache 2.2
   cPanel
   Exchange 2007
   F5 BIG-IP
   IBM Websphere 5.1
   IBM Websphere 6.1
   IBM Websphere 7
   IBM Websphere 8.0
   IBM Websphere MQ
   IBM HTTP Server
   Lighttpd
   Lotus Domino
   Mod SSL
   Netscape iPlanet 4.x
   Netscape iPlanet 6.x
   Nginx
   Plesk Server
   Postfix
   Red Hat Secure Web      Server
   Resin
   SAN/UCC
   Stronghold
   Tomcat
   WebLogic 6.0
   WebLogic 8.1
   Webstar 4.x
   Windows 2000 - IIS 5.0
   Windows 2003 - IIS 6.0
   Windows 2008 - IIS 7.0
   Zeus

SSL证书申请流程

服务器证书的安装

服务器证书的备份

服务器证书的导入

联系销售人员

常见问题与解答