更新时间:2024-09-14 GMT+08:00
分享

在Resin服务器上安装SSL证书

本章节介绍将国际标准证书安装到Resin服务器,您在安装国际标准证书时可以进行参考。证书安装好后,您的Web服务器才能支持SSL通信,实现通信安全。

由于服务器系统版本或服务器环境配置不同,在安装SSL证书过程中使用的命令或修改的配置文件信息可能会略有不同,云证书管理服务提供的安装证书示例,仅供参考,请以您的实际情况为准。

如参考文档安装证书后,HTTPS仍然不生效或遇到其他问题,请单击一对一咨询购买SSL证书配置优化服务,联系专业工程师为您排查具体问题。

前提条件

  • 证书已签发且“证书状态”“已签发”

约束条件

  • 证书安装前,务必在安装SSL证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用HTTPS。
  • 如果一个域名有多个服务器,则每一个服务器上都要部署。
  • 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即购买的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
  • 待安装证书为国际标准证书。

操作步骤

在Resin服务器上安装SSL证书的流程如下所示:

①获取文件②配置Resin③效果验证

步骤一:获取文件

安装证书前,需要获取证书文件和密码文件,请根据申请证书时选择的“证书请求文件”生成方式来选择操作步骤:

  • 如果申请证书时,“证书请求文件”选择“系统生成CSR”,具体操作请参见:系统生成CSR
  • 如果申请证书时,“证书请求文件”选择“自己生成CSR”,具体操作请参见:自己生成CSR

具体操作如下:

  • 系统生成CSR
    1. 在本地解压已下载的证书文件。
      下载的文件包含了“Apache”“IIS”“Nginx”“Tomcat”4个文件夹和1个“domain.csr”文件,如图1所示。
      图1 本地解压SSL证书
    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官网并根据您的系统下载不同的应用程序包。

      本步骤以下载Windows版本的Resin-4.0.38版本为例进行说明。

    2. 解压下载的Resin包。
    3. 进入Resin-4.0.38根目录并找到resin.exe文件。
    4. 运行resin.exe文件,运行期间将出现如图2所示的命令提示符窗口。
      图2 提示窗口
    5. 运行完成后,启动浏览器,在Web地址栏中输入Resin默认地址“http://127.0.0.1:8080”,并按“Enter”

      当界面显示如图3所示时,则表示安装成功。

      图3 登录Resin
  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”

如果浏览器地址栏显示安全锁标识,则说明证书安装成功。

相关文档