SSL部署文档

服务器证书安装配置指南(Resin)

一、  生成证书请求

1.  生成keystore文件

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

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

以上命令中,server为私钥别名(-alias),生成的keystore.jks文件默认放在D盘根目录下。

2.  生成证书请求文件(CSR)

keytool -certreq -alias server -sigalg SHA256withRSA -file D:\certreq.csr -keystore D:\keystore.jks -keypass password -storepass password

请备份密钥库文件keystore.jks,并稍后提交证书请求文件certreq.csr,等待证书签发。密钥库文件keystore.jks丢失将导致证书不可用。

注:如SSL证书已签发,不需要再次生成CSR,开始参考第二步安装证书即可。



 二、  导入服务器证书


1.  获取服务器证书 

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

2.  获取CA证书

将证书签发邮件中的“以下是您的中级CA证书”部分里的第一段CA证书的内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中,保存并修改文件扩展名为ca.cer文件。

3.  查看keystore文件内容

进入JDK安装目录下的bin目录,运行keytool命令查询keystore文件信息。

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

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

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

4.  导入证书

导入中级CA证书(必须优先导入中级证书,否则会触发证书链不完整错误)

keytool -import -alias ca -keystore D:\keystore.jks -trustcacerts -storepass password -file D:\ca.cer -noprompt


导入服务器证书

keytool -import -alias server -keystore D:\keystore.jks -trustcacerts -storepass password -keypass password -file D:\server.cer

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


三、 安装服务器证书

1.    SSL证书的配置 

复制已正确导入认证回复的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 >

        -- >

修改为
          < 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的方式来访问您的站点。 


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

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

1. 服务器证书的备份 

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

2. 服务器证书的恢复 

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