特网科技为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。

当前位置:首页 > 行业资讯 > SSL证书 > 正文内容

手把手教你使用 OpenSSL 创建 SSL 证书从零开始构建安全通信基石

2026-01-29SSL证书123

海外云服务器 40个地区可选            亚太云服务器 香港 日本 韩国

云虚拟主机 个人和企业网站的理想选择            俄罗斯电商外贸虚拟主机 赠送SSL证书

美国云虚拟主机 助力出海企业低成本上云             拨号云主机


在当今互联网高速演进的时代,数据安全早已不再是“锦上添花”,而是企业和个人用户赖以生存的“生命线”,无论是对外提供服务的网站、API 接口、邮件服务器,还是企业内部的微服务架构与容器化平台,SSL/TLS 加密通信已成为保障数据传输机密性、完整性与身份认证的标配防线。

而实现这一切的第一步——便是创建一份合法、有效、配置得当的 SSL 证书。

作为开源世界中最权威、最广泛使用的加密工具包,OpenSSL 不仅支持主流加密协议(如 TLS 1.2/1.3),还提供了强大的命令行接口,使我们能够从零开始生成密钥对、创建证书签名请求(CSR)、签发自签名证书,甚至搭建完整的私有 CA(Certificate Authority)体系。

本文将带你系统掌握 如何使用 OpenSSL 创建 SSL 证书,涵盖基础概念解析、详细操作步骤、常见陷阱规避及生产环境最佳实践,助你轻松构建属于自己的加密通信体系。


什么是 OpenSSL?

OpenSSL 是一套功能强大的开源软件库和命令行工具集,专为实现安全套接层(SSL)与传输层安全(TLS)协议而设计,它不仅支持 RSA、ECC、AES、SHA 等主流加密算法,还能处理数字签名、证书管理、密钥交换等核心安全功能。

在绝大多数 Linux/Unix 系统中,OpenSSL 或已默认安装,或可通过包管理器一键部署,通过它,你可以:

  • 生成高强度私钥
  • 创建符合 X.509 标准的 CSR 文件
  • 自签名证书用于测试或内网
  • 构建私有 CA 并批量签发子证书
  • 验证证书链完整性与扩展字段有效性

可以说,OpenSSL 是每一位运维工程师、开发人员和安全从业者的“瑞士军刀”。


SSL 证书的核心组成要素

在动手之前,请先理解一个标准 SSL 证书背后的关键组件:

  1. 私钥(Private Key)
    —— 用于解密客户端发送的加密信息,是整个加密体系的“命脉”。必须严格保密,禁止外泄或上传至 Git 等公开平台。

  2. 公钥(Public Key)
    —— 嵌入在证书中,供客户端加密通信时使用,安全性依赖于私钥不被泄露。

  3. 证书签名请求(CSR, Certificate Signing Request)
    —— 包含公钥 + 组织身份信息(如国家、公司名、域名等),提交给 CA 进行审核与签名。

  4. 数字证书(Certificate)
    —— 由 CA 使用其私钥签名后颁发的文件,包含:

    • 公钥
    • 有效期
    • 颁发者(Issuer)
    • 主题(Subject)
    • 扩展字段(如 SAN、Key Usage)

✅ 小贴士:现代浏览器要求证书必须包含 Subject Alternative Name(SAN)扩展以支持多域名或多 IP,否则即使 CN 正确也可能报错。


准备工作:安装 OpenSSL

多数现代操作系统均已内置 OpenSSL,若未安装,可按如下方式快速部署:

Ubuntu / Debian

sudo apt update && sudo apt install openssl -y

CentOS / RHEL / Rocky Linux

sudo yum install openssl -y
# 或对于较新版本:
sudo dnf install openssl -y

macOS(推荐使用 Homebrew)

brew install openssl

注意:macOS 自带的 OpenSSL 版本可能较旧,建议通过 Homebrew 安装最新稳定版,并设置 PATH。

Windows 用户

验证安装是否成功:

openssl version
# 输出示例:OpenSSL 3.0.2 15 Mar 2022

实战步骤:手把手创建 SSL 证书

步骤 1️⃣:生成私钥

我们需要生成一个非对称加密私钥,推荐使用 RSA 2048 位以上,兼顾性能与安全性;若追求极致安全,可选用 4096 位或切换为 ECC 曲线(如 prime256v1)。

生成无密码保护的 RSA 私钥(适用于自动化部署)

openssl genrsa -out server.key 2048

生成带 AES-256 密码保护的私钥(推荐生产环境)

openssl genrsa -aes256 -out server.key 2048

📌 输入密码后,每次使用该私钥都需手动输入口令,适合高敏感场景。

生成 ECC 私钥(更高效,未来趋势)

openssl ecparam -genkey -name prime256v1 -out server-ecc.key

步骤 2️⃣:创建证书签名请求(CSR)

拥有私钥后,即可创建 CSR 文件,用于向 CA 提交申请或用于自签名。

openssl req -new -key server.key -out server.csr

执行后,终端将引导你填写一系列组织信息:

  • Country Name (C):国家代码(如 CN、US)
  • State or Province (ST):省份(如 Beijing、California)
  • Locality Name (L):城市(如 Shanghai、San Francisco)
  • Organization Name (O):组织全称(如 MyCompany Inc.)
  • Organizational Unit (OU):部门(如 IT Department)
  • Common Name (CN):最关键字段!必须与实际访问域名完全一致(如 example.com 或 *.example.com 泛域名)
  • Email Address:联系邮箱(可选)

⚠️ 警告:若 CN 与实际访问域名不符,浏览器会直接提示“证书不安全”,影响用户体验与信任度。

跳过交互式输入(脚本友好型)

openssl req -new -key server.key -out server.csr \
-subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/OU=DevOps/CN=example.com/emailAddress=admin@example.com"

步骤 3️⃣:生成自签名证书(测试 & 内网专用)

如果你只是用于本地开发、CI/CD 测试或封闭内网环境,可以直接用 OpenSSL 自己签发证书:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

📌 参数说明:

  • -req:表示输入的是 CSR 文件
  • -days 365:证书有效期一年
  • -signkey:使用当前私钥进行自签名
  • -out:输出证书文件名

✅ 自签名证书虽方便,但不可用于公网生产环境,因缺乏第三方 CA 信任链,浏览器会强制拦截。


进阶玩法:搭建私有 CA 体系

对于中大型企业、Kubernetes 集群或微服务架构而言,建立统一的私有 CA 是最佳选择,不仅能集中管理所有服务证书,还可避免频繁购买商业证书的成本。

生成 CA 根私钥

openssl genrsa -out ca.key 4096

生成 CA 根证书(有效期十年)

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
-subj "/C=CN/ST=Beijing/L=Beijing/O=MyInternalCA/OU=RootCA/CN=My Internal Root CA"

创建扩展配置文件 v3.ext

为了让签发的子证书支持多域名/IP,需创建扩展配置文件:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = example.com
DNS.2 = www.example.com
DNS.3 = api.example.com
IP.1 = 192.168.1.100
IP.2 = 10.0.0.5

保存为 `v3.ext

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/mation/94527.html

分享给朋友:

“手把手教你使用 OpenSSL 创建 SSL 证书从零开始构建安全通信基石” 的相关文章

如何正确填写服务器地址

服务器地址通常是通过IP地址或域名来指定的。如果你在使用某个云服务提供商的服务,可能需要填写你的账号ID或API密钥来进行身份验证;而如果你想连接到本地的服务器,通常会使用本地主机名或者IP地址进行访问。在现代网络生活中,服务器地址的填写对于网络操作至关重要,服务器地址通常指的是互联网协议(IP)地...

国外服务器网站列表

1. [DigitalOcean](https://www.digitalocean.com/),2. [AWS](https://aws.amazon.com/ec2/),3. [Heroku](https://www.heroku.com/),4. [Google Cloud Platform]...

我的私人数据中心

我的私人数据中心位于山脚下,周围环境宁静而美丽。数据中心配备了最新的硬件和软件,能够高效地存储、处理和分析大量的数据。我也致力于保护用户的隐私和安全,确保数据中心的安全运行。在当今数字化时代,随着互联网技术的飞速发展,越来越多的人开始将个人和企业的数据存储在云端,对于一些敏感的数据或需要高可靠性的应...

游戏服务器年收入估算

游戏服务器的年费用取决于多个因素,包括服务器类型、使用时长和地理位置。大型游戏服务器的价格可能在数千到数万元之间,具体价格需要参考具体的服务器提供商和使用需求。在当今数字化时代,游戏服务器已经成为许多玩家和开发者实现虚拟世界互动的重要工具,对于玩家来说,如何购买和维护这些服务器却是一件相对复杂的任务...

经济数据大幅下降

好的,请提供您需要分析的内容。随着科技的发展,移动应用(App)已经成为人们日常生活的一部分,为了确保用户能够享受流畅的使用体验,许多公司投资了大量的资源来构建和维护高效的App服务器,以下是一些不同规模和类型的App服务器的价格范围,从低到高进行分析。企业级App服务器对于需要高性能、高可靠性且长...

游戏服务器租用费用计算方法

游戏服务器租赁费用因地区、服务类型和租赁时长而异。通常情况下,每月租金在几十到几百元之间不等。建议您咨询具体的游戏平台或租赁公司以获取更准确的价格信息。在当前互联网时代,随着科技的发展和游戏行业的繁荣,游戏服务器租赁市场变得越来越受欢迎,游戏服务器是一种用于运行游戏的计算资源,它提供了一个虚拟的游戏...