
# 在Resin服务器上安装SSL证书
本章节介绍将国际标准证书安装到Resin服务器，您在安装国际标准证书时可以进行参考。证书安装好后，您的web服务器才能支持SSL通信，实现通信安全。
![](https://support.huaweicloud.com/usermanual-ccm/public_sys-resources/note_3.0-zh-cn.png)
由于服务器系统版本或服务器环境配置不同，在安装SSL证书过程中使用的命令或修改的配置文件信息可能会略有不同，云证书与管理服务提供的安装证书示例，仅供参考，请以您的实际情况为准。
如参考文档安装证书后，HTTPS仍然不生效或遇到其他问题，请单击[一对一咨询](https://marketplace.huaweicloud.com/contents/917d16b0-33c4-49d3-bfe9-dd9219ea084e#productid=00301-120142-0--0)购买SSL证书配置优化服务，联系专业工程师为您排查具体问题。
#### 前提条件
- 证书已签发且"证书状态"为"已签发"。

- 已下载SSL证书，具体操作请参见[下载证书](https://support.huaweicloud.com/usermanual-ccm/ccm_01_0027.html)。
- 若域名解析指向的服务器位于中国内地则需进行ICP[备案](https://support.huaweicloud.com/qs-domain/domain_qs_280000.html)，否则将导致网站无法访问。
 
#### 约束条件
- 证书安装前，务必在安装SSL证书的服务器上开启"443"端口，同时在安全组增加"443"端口，避免安装后仍然无法启用HTTPS。
- 如果一个域名有多个服务器，则每一个服务器上都要部署。
- 待安装证书的服务器上需要运行的域名，必须与证书的域名一一对应，即购买的是哪个域名的证书，则用于哪个域名。否则安装部署后，浏览器将提示不安全。如需增加或修改域名，请参见[如何增加、解绑、替换或修改SSL证书域名？](https://support.huaweicloud.com/usermanual-ccm/ccm_01_0115.html)
- 待安装证书为国际标准证书。
 
#### 操作步骤
在Resin服务器上安装SSL证书的流程如下所示：
[①获取文件] → [②配置Resin] → [③效果验证]
 #### 步骤一：获取文件
安装证书前，需要获取证书文件和密码文件，请根据申请证书时选择的"证书请求文件"生成方式来选择操作步骤：
- 如果申请证书时，"证书请求文件"选择"系统生成CSR"，具体操作请参见：[系统生成CSR]。
- 如果申请证书时，"证书请求文件"选择"自己生成CSR"，具体操作请参见：[自己生成CSR]。
具体操作如下：
- **系统生成CSR**
  1. 在本地解压已下载的证书文件。
     下载的文件包含了"Apache"、"IIS"、"Nginx"、"Tomcat"、"Pem"5个文件夹和1个"domain.csr"文件，如[图1]所示。
     图1本地解压SSL证书   
     ![](https://support.huaweicloud.com/usermanual-ccm/zh-cn_image_0000002553660835.png "点击放大") 
  
  2. 从"*证书ID* _*证书绑定的域名* _Tomcat"文件夹内获得证书文件"*证书ID* _*证书绑定的域名* _server.jks"和密码文件"*证书ID* _*证书绑定的域名*_keystorePass.txt"。
   
- **自己生成CSR**
  1. 解压已下载的证书压缩包，获得"*证书ID* _*证书绑定的域名* _server.pem"文件。
     "*证书ID* _*证书绑定的域名*_server.pem"文件包括两段证书代码"-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----"，分别为服务器证书和中级CA证书。
     
  
  2. 使用OpenSSL工具，将pem格式证书转换为PFX格式证书，得到"server.pfx"文件。
     1. "pem"文件和生成CSR时的私钥"server.key"放在OpenSSL工具安装目录的bin目录下。
     
     2. 在OpenSSL工具安装目录的bin目录下，执行以下命令将pem格式证书转换为PFX格式证书，按"Enter"。 **openssl pkcs12 -export -out server.pfx -inkey server.key -in** *证书ID* _*证书绑定的域名* _**server.pem**
        回显信息如下：
        ```
        Enter Export Password:
        ```
        
     
     3. 输入PFX证书密码，按"Enter"。
        此处输入的密码为用户自定义密码，请根据自己的需求进行设置并输入密码。
        回显信息如下：
        ```
        Verifying - Enter Export Password:
        ```
        **请牢记此处输入的PFX证书密码。**后续设置JKS密码需要与此处设置的PFX密码保持一致，否则可能会导致Resin启动失败。
        为提高用户密码安全性，建议按以下复杂度要求设置密码：
        - 密码长度为8～32个字符。
        
        - 至少需要包含大写字母、小写字母、数字、空格、特殊字符\~\`!@#$%\^\&\*()_+\|{}:"\<\>?-=\\\[\];',./中的3种类型字符。
         
     
     4. 再次输入PFX证书密码，按"Enter"。 当系统没有回显任何错误信息，表示已在OpenSSL工具安装目录下成功生成"server.pfx"文件。
        
      
  
  3. 使用Keytool工具，将PFX格式证书文件转换成JKS格式，得到"server.jks"文件。
     1. 将[2]中生成的"server.pfx"文件复制到"%JAVA_HOME%/jdk/bin"目录下。
     
     2. 在"%JAVA_HOME%/jdk/bin"目录下，执行以下命令，按"Enter"。 keytool -importkeystore -srckeystore server.pfx -destkeystore server.jks -srcstoretype PKCS12 -deststoretype JKS
        回显信息如下：
        ```
        输入目标密钥库口令：
        ```
        
     
     3. 输入JKS证书密码，按"Enter"。 **请将JKS密码设置为与PFX证书密码相同的密码，否则可能会导致Resin启动失败。**
        回显信息如下：
        ```
        再次输入新口令：
        ```
        
     
     4. 再次输入JKS证书密码，按"Enter"。 回显信息如下：
        ```
        输入源密钥库口令：
        ```
        
     
     5. 输入[2.c]中设置PFX证书密码，按"Enter"。
        回显类似如下信息时，则表示转换成功，已在OpenSSL工具安装目录下成功生成"server.jks"文件。
        ```
        已成功导入别名1的条目。
        已完成导入命令：1个条目成功导入，0个条目失败或取消
        ```
        
     
     6. 在"%JAVA_HOME%/jdk/bin"目录下新建一个"keystorePass.txt"文件，将JKS的密码保存在该文件中。
      
  
  4. 将转换后的证书文件"server.jks"和新建的密码文件"keystorePass.txt"放在同一目录下。
   
 
 #### 步骤二：配置Resin
**修改配置文件前，请将配置文件进行备份，并建议先在测试环境中进行部署，配置无误后，再在现网环境进行配置，避免出现配置错误导致服务不能正常启动等问题，影响您的业务。**
1. （可选）安装Resin。
   如果已安装，则请跳过该步骤。
   1. 登录[Resin官网](https://caucho.com/)并根据您的系统下载不同的应用程序包。
      本步骤以下载**Windows** 版本的**Resin-4.0.38**版本为例进行说明。
      
   
   2. 解压下载的Resin包。
   
   3. 进入Resin-4.0.38根目录并找到resin.exe文件。
   
   4. 运行resin.exe文件，运行期间将出现如[图2]所示的命令提示符窗口。
      图2提示窗口   
      ![](https://support.huaweicloud.com/usermanual-ccm/zh-cn_image_0000001932864697.png "点击放大") 
   
   5. 运行完成后，启动浏览器，在Web地址栏中输入Resin默认地址"http://127.0.0.1:8080"，并按"Enter"。 当界面显示如[图3]所示时，则表示安装成功。
      图3登录Resin   
      ![](https://support.huaweicloud.com/usermanual-ccm/zh-cn_image_0000001887704866.png "点击放大") 
     
2. 修改配置文件。
   1. 在Resin安装目录下的"Resin.properties"配置文件（由于Resin版本的不同，配置文件也可能为"resin.xml"文件）中，找到如下参数：
      ```
      # specifies the --server in the config file
      # home_server : app-0
      # Set HTTP and HTTPS bind address
      # http_address : *
      # Set HTTP and HTTPS ports.
      # Use overrides for individual server control, for example: app-0.http : 8081
      app.http          : 8080
      # app.https          : 8443
      web.http          : 8080
      # web.https          : 8443
      ```
      
   
   2. 将"app.https"和"web.https"前的注释符"#"去掉，并将"8443端"口修改为"443"。修改后，如下所示：
      "app.https"、"web.https"：指定服务器要使用的端口号，建议配置为"443"。
      ```
      # specifies the --server in the config file
      # home_server : app-0
      # Set HTTP and HTTPS bind address
      # http_address : *
      # Set HTTP and HTTPS ports.
      # Use overrides for individual server control, for example: app-0.http : 8081
      app.http          : 8080
      app.https          : 443
      web.http          : 8080
      web.https          : 443
      ```
      
   
   3. 找到如下参数，并将"jsse_keystore_tye"、"jsse_keystore_file"和"jsse_keystore_password"三行前的注释符"#"去掉。
      ```
      # JSSE certificate configuration
      # Keys are typically stored in the resin configuration directory.
      jsse_keystore_tye : jks
      jsse_keystore_file : cert/server.jks
      jsse_keystore_password : 证书密码
      ```
      
   
   4. 修改证书相关配置参数，具体配置请参见[表1]。
      ```
      # JSSE certificate configuration
      # Keys are typically stored in the resin configuration directory.
      jsse_keystore_tye : jks
      jsse_keystore_file : cert/server.jks
      jsse_keystore_password : 证书密码
      ```
       表1参数说明 
      | 参数                     | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
      |:---|:---|
      | jsse_keystore_tye      | 设定Keystore文件的类型，一般都设为**jks**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
      | jsse_keystore_file     | "server.jks"文件存放路径，绝对路径和相对路径均可。示例：cert/server.jks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
      | jsse_keystore_password | "server.jks"的密码。填写"keystorePass.txt"文件内的密码。 如果密码中包含**"\&"** ，请将其替换成**"\&amp;"**，以免配置不成功。示例： 如果keystorePass="Ix6**\&** APWgcHf72DMu"，则修改为keystorePass="Ix6**\&amp;**APWgcHf72DMu"。 |
         
      
   
   5. 修改完成后保存配置文件。
    
3. 重启Resin。
 
 #### 步骤三：效果验证
部署成功后，可在浏览器的地址栏中输入"https://域名"，按"Enter"。
如果浏览器地址栏显示安全锁标识，则说明证书安装成功。
![](https://support.huaweicloud.com/usermanual-ccm/zh-cn_image_0000002631202944.png)
- 如果网站仍然出现不安全提示，请参见[为什么部署了SSL证书后，网站仍然出现不安全提示？](https://support.huaweicloud.com/ccm_faq/ccm_01_0098.html)进行处理。
- 如果通过域名访问网站时，无法打开网站，请参见[为什么部署了SSL证书后，通过域名访问网站时，无法打开网站？](https://support.huaweicloud.com/ccm_faq/ccm_01_0099.html)进行处理。
- 如果仍未解决或出现其他问题，华为云商店提供SSL证书配置优化服务，专业工程师一对一服务，请直接单击[一对一咨询](https://marketplace.huaweicloud.com/contents/917d16b0-33c4-49d3-bfe9-dd9219ea084e#productid=00301-120142-0--0)进行购买，购买服务后，联系工程师进行处理。
 
#### 常见问题
[服务器IP地址变更后，原SSL证书是否仍可用？](https://support.huaweicloud.com/ccm_faq/ccm_01_0043.html)
[SSL证书支持在哪些地域部署？](https://support.huaweicloud.com/ccm_faq/ccm_01_0210.html)
[宝塔搭建的网站如何在后台添加SSL证书？](https://support.huaweicloud.com/ccm_faq/ccm_01_0211.html)
[SSL证书安装配置或使用中的相关问题，该如何解决？](https://support.huaweicloud.com/ccm_faq/ccm_01_0182.html)
[SSL证书的安装和配置提供咨询服务吗？](https://support.huaweicloud.com/ccm_faq/ccm_01_0068.html)
