2025-05-21 20:36:56
937

如何快速生成十年有效期的SSL自签证书?

摘要
本文详细讲解通过OpenSSL工具生成十年有效期自签SSL证书的全流程,包括创建CA根证书、签署服务器证书、部署验证等核心步骤,适用于测试环境与内网服务场景。...

一、准备工作与环境要求

生成十年有效期SSL自签证书需要安装OpenSSL工具(Windows/Linux/macOS通用),建议使用2048位或4096位密钥长度以保证安全性。创建独立的文件夹结构存放证书文件,例如:

/ca     # 存放根证书
/certs  # 存放服务器证书

通过命令行验证OpenSSL版本是否支持x509证书扩展功能,推荐使用1.1.1以上版本。

二、生成根证书密钥与CA证书

  1. 生成加密的CA私钥:
    openssl genrsa -des3 -out ca/myCA.key 2048
  2. 创建自签名的CA证书(有效期20年):
    openssl req -x509 -new -nodes -key ca/myCA.key -sha256 -days 7300 -out ca/myCA.crt

此步骤需填写证书颁发机构信息,其中Common Name建议设置为可识别的机构名称。

三、签署服务器SSL证书

  1. 生成服务器私钥:
    openssl genrsa -out certs/server.key 2048
  2. 创建证书签名请求:
    openssl req -new -key certs/server.key -out certs/server.csr
  3. 编写扩展配置文件(支持多域名与IP):
    cert.ext示例:
    authorityKeyIdentifier=keyid,issuer
    basicConstraints=CA:FALSE
    keyUsage=digitalSignature,keyEncipherment
    subjectAltName=@alt_names
    [alt_names]
    DNS.1=example.com
    IP.1=192.168.1.1
    
  4. 使用CA签署证书:
    openssl x509 -req -in certs/server.csr -out certs/server.crt -days 3650 -CA ca/myCA.crt -CAkey ca/myCA.key -CAcreateserial -extfile cert.ext

通过-days 3650参数设置十年有效期,证书将包含SAN扩展信息。

四、部署与验证证书

server.keyserver.crt部署到Web服务器(如Nginx/Apache/IIS),同时需要将myCA.crt导入客户端设备的受信任根证书颁发机构。验证方法包括:

  • 使用openssl x509 -in server.crt -noout -text检查有效期与扩展信息
  • 通过浏览器访问HTTPS服务确认证书链完整性

自签十年有效期SSL证书适用于测试环境、内网服务或少量固定用户场景,需配合HSTS策略提升安全性。注意定期检查私钥存储安全,不建议在生产环境对外服务中使用。

声明:文章不代表云主机测评网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
回顶部