HTTPS、TLS和SSL之间的关系可以总结如下:

  1. HTTPS 是超文本传输协议(HTTP)的安全版本,它在HTTP的基础上通过SSL/TLS协议提供了数据加密、完整性校验和身份认证的功能。
  2. TLS(传输层安全性协议)是SSL(安全套接层)的后续版本,它建立在SSL 3.0协议规范之上。TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。
  3. SSL 是由Netscape公司开发的,用于确保数据在网络之上传输过程不会被截取。SSL的当前版本为3.0,而TLS是SSL的标准化版本,由IETF制定。
  4. TLS和SSL的关系:TLS是SSL的升级和标准化版本,它们在很多情况下可以互换使用,但在技术上存在差异,比如支持的加密算法不同。
  5. HTTPS的工作原理:HTTPS实际上是HTTP协议上加了一个SSL/TLS协议层,用于在客户端和服务器之间建立一个加密的通信通道。这个加密过程包括公钥交换、对称会话密钥生成、公钥加密、会话密钥解密和加密会话等步骤。
  6. TLS协议结构:TLS协议包括两个协议组——TLS记录协议和TLS握手协议。TLS记录协议用于保证报文的完整性和防重放攻击,而TLS握手协议用于在进行安全传输之前必要的身份鉴别和安全参数协商。
  7. 证书的作用:在HTTPS中,服务器会发送证书链给客户端,客户端通过内置的CA根证书验证服务器证书的签名,从而建立起信任链。

综上所述,HTTPS、TLS和SSL是紧密相关的技术,它们共同工作以确保网络通信的安全性。HTTPS依赖于TLS或SSL来提供加密和安全保障。

  1. 一次性计费:这种计费模式仅适用于SSL证书,根据选择的证书类型、证书品牌、域名类型、域名数量和购买时长进行一次性预付费。
  2. 按需计费:这是一种后付费模式,即先使用再付费,适用于购买私有证书以及证书部署服务。按照实际使用时长计费,秒级计费,按小时结算,证书部署服务按使用次数结算。
  3. 包年/包月:这是一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。购买周期越长,享受的折扣越大。

  1. 准备证书文件

    • 你需要域名证书文件(通常是.crt文件)和中间证书文件(也称为CA Bundle,可能是一个或多个.crt文件)。
  2. 合并证书

    • 使用文本编辑器(如Notepad++或VS Code)打开域名证书文件。
    • 将中间证书文件的内容复制并粘贴到域名证书文件的末尾。确保中间没有空格或其他任意符号,并且保持证书的顺序正确。
  3. 保存合并后的文件

    • 保存合并后的文件,通常保存为.pem.crt格式。
  4. 使用OpenSSL工具合并和转换证书

    • 如果你需要将证书转换为其他格式(如PFX或JKS),可以使用OpenSSL工具进行转换。例如,将.crt.key转换为.pfx格式的命令是:

      openssl pkcs12 -export -out domain.pfx -inkey domain.key -in domain.crt -certfile ca_bundle.crt

      其中domain.key是私钥文件,domain.crt是合并后的证书文件,ca_bundle.crt是中间证书文件。

  5. 配置服务器

    • 将合并后的证书文件和私钥文件(.key)配置到你的服务器上,如Nginx或Apache。
  6. 验证合并

    • 完成合并后,登录网站验证域名过期时间是否更新,确保证书合并成功并且网站能够通过HTTPS正常访问。

Apache服务器配置SSL证书:

  1. 安装SSL模块
    确保Apache服务器已经安装了SSL模块。如果没有安装,可以通过包管理器安装,例如在Ubuntu上使用:

    sudo apt-get install apache2-ssl
  2. 准备证书文件
    你需要准备以下文件:

    • 证书文件(.crt
    • 私钥文件(.key
    • 可选:CA证书链文件(.ca-bundle.pem
  3. 配置虚拟主机
    编辑Apache的配置文件,通常位于/etc/apache2/sites-available/目录下。你可以创建一个新的配置文件或编辑现有的配置文件,添加以下内容:

    <VirtualHost *:443>
        ServerName www.yourdomain.com
    
        SSLEngine on
        SSLCertificateFile /path/to/yourdomain.crt
        SSLCertificateKeyFile /path/to/yourdomain.key
        SSLCertificateChainFile /path/to/ca-bundle.crt
    
        # 其他配置...
    </VirtualHost>
  4. 启用SSL和虚拟主机
    启用SSL模块和新配置的虚拟主机:

    sudo a2enmod ssl
    sudo a2ensite your-config-file.conf
  5. 重启Apache服务

    sudo systemctl restart apache2

Nginx服务器配置SSL证书:

  1. 安装Nginx和SSL模块
    确保Nginx已经安装了SSL模块。
  2. 准备证书文件
    同Apache,你需要证书文件、私钥文件和CA证书链文件。
  3. 配置虚拟主机
    编辑Nginx的配置文件,通常位于/etc/nginx/sites-available/目录下。你可以创建一个新的配置文件或编辑现有的配置文件,添加以下内容:

    server {
        listen 443 ssl;
        server_name www.yourdomain.com;
    
        ssl_certificate /path/to/yourdomain.crt;
        ssl_certificate_key /path/to/yourdomain.key;
        ssl_trusted_certificate /path/to/ca-bundle.crt;
    
        # 其他配置...
    }
  4. 启用新配置的虚拟主机
    创建一个链接到sites-enabled目录:

    sudo ln -s /etc/nginx/sites-available/your-config-file /etc/nginx/sites-enabled/
  5. 检查配置并重启Nginx服务

    sudo nginx -t
    sudo systemctl restart nginx

  1. 选择证书类型

    • 确定你需要的证书类型,如域名验证(DV)证书、组织验证(OV)证书或扩展验证(EV)证书。不同类型的证书验证级别和价格不同。
  2. 选择证书颁发机构(CA)

    • 选择一个受信任的证书颁发机构,如DigiCert、GlobalSign、FOXSSL等。
  3. 生成私钥和CSR(证书签名请求)

    • 在你的服务器上生成一个私钥。
    • 使用私钥生成一个CSR。CSR包含了你的公钥以及你的组织和域名信息。
  4. 提交CSR到CA

    • 将CSR提交给CA。CA会验证你的域名所有权和组织信息(对于OV和EV证书)。
  5. 域名验证

    • CA会要求你验证域名所有权,这通常通过以下几种方式之一:

      • 通过电子邮件验证:CA会向你的域名注册邮箱发送一封验证邮件。
      • 文件验证:CA会要求你在网站的根目录下上传一个特定的文件。
      • DNS验证:CA会要求你在DNS记录中添加一个特定的TXT记录。
  6. 组织验证(对于OV和EV证书)

    • 对于OV和EV证书,CA还会验证你的组织合法性,这可能包括验证组织的法律状态、物理地址等信息。
  7. 证书颁发

    • 一旦验证通过,CA会颁发SSL证书。你将收到一个.crt或.pem文件,这就是你的SSL证书。