当前位置:首页 > 行业动态 > 正文

https怎么生成证书

使用OpenSSL生成私钥和证书签名请求(CSR),通过CA机构或自签名方式

HTTPS证书生成全流程详解

理解HTTPS证书的作用

HTTPS证书(SSL/TLS证书)用于在客户端与服务器之间建立加密连接,确保数据传输的安全性,浏览器通过验证证书的有效性来确认网站身份,防止中间人攻击和数据改动。

https怎么生成证书  第1张


证书生成核心步骤

生成密钥与证书签名请求(CSR)

  • 私钥生成:使用OpenSSL工具生成RSA或ECDSA算法的私钥。
    openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048
  • 创建CSR:基于私钥生成CSR文件,包含域名信息。
    openssl req -new -key private.key -out request.csr -subj "/CN=yourdomain.com"

选择证书类型并申请

证书类型 特点
DV SSL 域名验证,免费(如Let’s Encrypt),仅验证域名所有权。
OV SSL 企业验证,付费,需提交企业资质,验证组织真实性。
EV SSL 扩展验证,付费,严格审核,浏览器地址栏显示绿色企业名称。
  • 免费证书申请(以Let’s Encrypt为例)
    certbot certonly --standalone -d yourdomain.com --email admin@example.com
  • 付费证书申请:通过CA机构(如DigiCert、GlobalSign)提交CSR并完成验证。

获取证书并配置服务器

  • 下载证书文件:从CA或工具(如Certbot)获取.crt.ca-bundle文件。
  • 服务器配置示例
    • Nginx
      server {
          listen 443 ssl;
          ssl_certificate /path/to/fullchain.pem;
          ssl_certificate_key /path/to/private.key;
          # 其他配置...
      }
    • Apache
      <VirtualHost :443>
          SSLEngine on
          SSLCertificateFile /path/to/cert.pem
          SSLCertificateKeyFile /path/to/private.key
          SSLCertificateChainFile /path/to/chain.pem
          # 其他配置...
      </VirtualHost>

常见问题与解决方案

浏览器提示“证书无效”

  • 原因:证书未绑定正确域名、过期或中间证书缺失。
  • 解决:检查DNS解析、确认证书链完整(需包含中间证书)。

Let’s Encrypt证书自动续期

  • 命令
    certbot renew --dry-run # 测试续订
  • 自动化:将续订命令加入cron任务(Linux):
    0 0    /usr/bin/certbot renew --quiet

问题与解答栏目

问题1:HTTPS证书的有效期是多久?

  • 解答:免费证书(如Let’s Encrypt)通常有效期为90天,需定期更新;付费DV/OV证书一般为1-2年,EV证书最长可达3-5年。

问题2:自签名证书与CA签发的证书有什么区别?

  • 解答
    | 特性 | 自签名证书 | CA签发证书 |
    |———————|————————————-|——————————–|
    | 信任度 | 浏览器默认不信任,仅用于内部测试 | 受浏览器根证书计划信任 |
    | 适用场景 | 本地开发、内网服务 | 公共互联网网站 |
    | 验证方式 | 无第三方验证 | 需域名或企业资质验证 |

通过以上步骤,可安全生成并部署HTTPS

0