一、     生成证书请求


1.  安装JDK

安装Resin需要JDK支持。如果您还没有JDK的安装,则可以参考

Java SE Development Kit (JDK) 下载。下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.  生成keystore文件

生成密钥库文件keystore.jks需要使用JDK的keytool工具。命令行进入JDK或JRE下的bin目录,运行keytool命令(示例中粗体部分为可自定义部分,请根据实际配置情况作相应调整)。

keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore C:\keystore.jks -storepasspassword -keypass password


以上命令中,server为私钥别名(-alias),生成的keystore.jks文件默认放在命令行当前路径下。

3.  生成证书请求文件(CSR)
keytool -certreq -alias server -sigalg SHA1withRSA -file certreq.csr -keystore C:\keystore.jks -keypasspassword -storepass password

备份密钥库文件keystore.jks,并稍后提交证书请求文件certreq.csr,等待证书签发。


二、  导入服务器证书


1.  获取服务器证书中级CA证书

为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。

从邮件中获取中级CA证书:

将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)分别粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为intermediate1.cer和intermediate2.cer文件。 2.  获取服务器证书

将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为server.cer文件


3.  查看Keystore文件内容

进入JDK安装目录下的bin目录,运行keytool命令。

keytool -list -keystore C:\keystore.jks -storepass  password


查询到PrivateKeyEntry属性的私钥别名(alias)为server。记住该别名,在稍后导入服务器证书时需要用到(示例中粗体部分为可自定义部分,请根据实际配置情况作相应调整)。

注意,导入证书时,一定要使用生成证书请求文件时生成的keystore.jks文件。keystore.jks文件丢失或生成新的keystore.jks文件,都将无法正确导入您的服务器证书。


4.  导入证书(如果只有一张中级证书,则只需要导入一张中级证书)

导入第一张中级CA证书
keytool -import -alias intermediate1 -keystore C:\keystore.jks -trustcacerts -storepasspassword -file C:\intermediate1.cer
导入第二张中级CA证书
keytool -import -alias intermediate2 -keystore C:\keystore.jks -trustcacerts -storepasspassword -file C:\intermediate2.cer
导入服务器证书
keytool -import -alias server -keystore C:\keystore.jks -trustcacerts -storepasspassword -file C:\server.cer


导入服务器证书时,服务器证书的别名必须和私钥别名一致。请留意导入中级CA证书和导入服务器证书时的提示信息,如果您在导入服务器证书时使用的别名与私钥别名不一致,将提示“认证已添加至keystore中”而不是应有的“认证回复已安装在keystore中”。

证书导入完成,运行keystool命令,再次查看keystore文件内容

keytool -list -keystore C:\keystore.jks -storepass password

 

 

三、  安装服务器证书

1.    单向认证的配置
复制已正确导入认证回复的keystore.jks文件到Resin安装目录下的conf目录。打开conf目录下的resin.xml文件,找到并修改以下内容
    

<!-- 
          - SSL port configuration: 
          - 
          - <http address="*" port="8443"> 
          -   <openssl> 
          -     <certificate-file>keys/gryffindor.crt</certificate-file> 
          -     <certificate-key-file>keys/gryffindor.key</certificate-key-file> 
          -     <password>test123</password> 
          -   </openssl> 
          - </http> 
 SSL访问端口 
         --> 
 修改为 
          <http address="*" port="443"> 
            <jsse-ssl> 
              <key-store-type>jks</key-store-type> 
              <key-store-file>conf/keystore.jks</key-store-file > 
              <password>password</password> 
            </jsse-ssl> 
          </http>


默认的SSL访问端口号为443,如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的站点。

2.    双向认证的配置
配置双向认证时,您需要首先将客户端认证的根证书以及中级CA证书导入到密钥库keystore.jks文件中。修改resin.xml文件为:
  

<http address="*" port="443"> 
            <jsse-ssl> 
              <key-store-type>jks</key-store-type> 
              <key-store-file>conf/keystore.jks</key-store-file > 
              <password>password</password> 
              <verify-client>require</verify-client> 
            </jsse-ssl> 
          </http>



3.    访问测试
重启Resin,访问https://youdomain:port,测试证书的安装。

四、  服务器证书的备份及恢复

在您成功的安装和配置了服务器证书之后,请务必依据下面的操作流程,备份好您的服务器证书,以防证书丢失给您带来不便。

1.    服务器证书的备份
备份服务器证书密钥库文件keystore.jks文件即可完成服务器证书的备份操作。

2.    服务器证书的恢复
请参照服务器证书安装部分,将服务器证书密钥库keystore.jks文件恢复到您的服务器上,并修改配置文件,恢复服务器证书的应用。

personal orward from http://verisign.itrus.com.cn/html/fuwuyuzhichi/fuwuqizhengshuanzhuangpeizhizhinan/428.html