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

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

手把手教你生成SSL自签名证书从原理到实战的完整指南

2026-03-22SSL证书613

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

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

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


在当今高度互联且日益注重隐私安全的数字时代,HTTPS 已不再是“加分项”,而是网站与服务的标配协议,支撑 HTTPS 安全通信的核心组件——SSL/TLS 证书,已成为每一位开发者、运维工程师乃至独立项目构建者必须掌握的基础技能。

商业证书(如 DigiCert、GeoTrust 等)价格不菲,对于本地开发、内部系统或原型验证等非生产场景而言,既无必要也显浪费。“自签名 SSL 证书”便成为最具性价比、最灵活可控的理想选择。

本文将从原理到实践,层层递进,为你系统讲解自签名证书的本质、适用场景、生成流程、部署方法、常见问题及安全建议,助你轻松掌握这项必备技能,为每一次数据传输筑牢安全防线。


什么是 SSL 自签名证书?

SSL(Secure Sockets Layer)协议虽已逐步被其继任者 TLS(Transport Layer Security)取代,但“SSL证书”这一称谓仍被广泛沿用,它本质上是用于在客户端与服务器之间建立加密通道,保障数据传输的机密性、完整性与身份认证

所谓“自签名证书”,是指由用户自己使用私钥对公钥进行签名签发的证书,而非通过受信任的第三方证书颁发机构(CA,如 Let’s Encrypt、Sectigo、DigiCert 等)验证并签发,主流浏览器和操作系统默认不会信任此类证书,访问时通常会显示“连接不安全”或“证书不受信任”的警告——但这并不影响其加密能力本身,仅涉及身份可信度层面。

简言之:自签名 = 自己给自己盖章,能加密,但没人认账。


为什么你需要生成自签名证书?

✅ 1. 本地开发与测试环境

在搭建本地 Web 服务、RESTful API、前后端联调或微服务架构时,启用 HTTPS 可提前暴露潜在兼容性问题,模拟真实生产环境行为,避免上线后因协议差异导致故障。

✅ 2. 内部系统与企业内网应用

如后台管理系统、监控平台、CI/CD 工具链、数据库管理界面等无需公网访问的服务,采用自签名证书既能满足加密需求,又能规避高昂采购成本。

✅ 3. 教学实验与协议研究

学习 TLS 握手过程、研究证书链结构、调试 Nginx/Apache 配置、理解 PKI 体系时,自签名证书是最直观、最便捷的实践工具。

✅ 4. 快速原型与 MVP 验证

产品初期需快速上线 HTTPS 功能以验证用户体验或集成第三方 SDK(如支付、地图、OAuth),自签名证书可跳过 CA 审核流程,实现“分钟级”部署。


手把手教你生成自签名证书(基于 OpenSSL)

OpenSSL 是当前最主流、功能最强大的开源密码学工具包,支持 Linux、macOS、Windows 等多平台,我们以此为例,分步详解证书生成全过程。


步骤 1️⃣:安装 OpenSSL

大多数现代 Linux 发行版已预装 OpenSSL,若未安装,请根据系统执行如下命令:

# Ubuntu / Debian
sudo apt update && sudo apt install openssl
# CentOS / RHEL / Rocky Linux
sudo yum install openssl
# 或使用 dnf(较新版本)
sudo dnf install openssl
# macOS(推荐使用 Homebrew)
brew install openssl

💡 提示:Windows 用户可通过 Git BashWSL 使用 OpenSSL 命令行工具。


步骤 2️⃣:生成 RSA 私钥

私钥是整个证书体系的核心,务必妥善保管,推荐使用 2048 位或更高强度:

# 生成 2048 位 RSA 私钥
openssl genrsa -out server.key 2048
# 若追求更高安全性,可选用 4096 位(性能略有损耗)
openssl genrsa -out server.key 4096

🔐 安全建议:生成后立即设置权限,防止他人读取:

chmod 600 server.key

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

虽然自签名无需提交给 CA,但 CSR 文件有助于规范填写证书元信息,便于后续管理和识别:

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

执行后,系统将提示你输入一系列字段:

  • Country Name (C):国家代码(如 CN、US)
  • State or Province Name (ST):省份或州名
  • Locality Name (L):城市名称
  • Organization Name (O):组织/公司名称
  • Organizational Unit Name (OU):部门名称(可选)
  • Common Name (CN) ⭐最重要!必须与你访问服务所用的域名或 IP 地址完全一致,否则浏览器会报错。
  • Email Address:联系邮箱(可选)

🎯 示例:若你在本地访问 https://localhost,则 CN 应填 localhost;若使用 IP,则填对应 IP 如 168.1.100


步骤 4️⃣:签发自签名证书

使用私钥 + CSR 文件生成最终证书,默认有效期 365 天:

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

如需延长有效期(例如三年):

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

步骤 5️⃣:验证证书内容

确认证书是否成功生成并查看详细信息:

openssl x509 -in server.crt -text -noout

输出中应包含有效期、主题信息、公钥算法、指纹等内容,确保无误后再部署。


如何在 Nginx 中部署自签名证书?

以最常用的 Web 服务器 Nginx 为例,展示部署流程:

将证书文件复制至配置目录

sudo mkdir -p /etc/nginx/ssl
sudo cp server.key server.crt /etc/nginx/ssl/

编辑站点配置文件(如 /etc/nginx/sites-available/default

server 块中添加 HTTPS 相关配置:

server {
    listen 443 ssl;
    server_name your-domain.local; # 或 localhost / IP
    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;
    # 推荐启用现代安全协议
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5:!RC4;
    # 其他常规配置...
    location / {
        root /var/www/html;
        index index.html;
    }
}

重启 Nginx 生效配置

sudo nginx -t        # 测试配置语法
sudo systemctl restart nginx

访问 https://your-domain.localhttps://localhost,浏览器将提示“不安全”,点击“高级 → 继续前往”即可临时绕过。


常见问题与解决方案

❓1. 浏览器始终提示“不安全”,如何消除?

这是正常现象,若希望彻底消除警告,可将 server.crt 导入操作系统的“受信任根证书颁发机构”:

  • Windows:双击 .crt 文件 → “安装证书” → 选择“本地计算机” → 存储到“受信任的根证书颁发机构”
  • macOS:钥匙串访问 → 文件 → 导入项目 → 拖入证书 → 双击证书 → 信任 → 始终信任
  • Chrome / Edge:设置 → 隐私与安全 → 安全 → 管理证书 → 导入到“受信任的根证书颁发机构”

⚠️ 注意:仅限测试或内网环境使用,切勿在公网生产环境导入自签名证书!


❓2. 证书过期了怎么办?

只需重新执行步骤 4,生成新证书替换旧文件,并重启服务即可:

openssl x509 -req -days 365 -in server

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

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

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

分享给朋友:

“手把手教你生成SSL自签名证书从原理到实战的完整指南” 的相关文章

揭示Scum人渣服务器租用网站的真相与危害

揭秘Scum人渣服务器租用网站:这些网站以低廉的价格提供非法服务器资源,严重侵犯了用户的隐私和财产安全。在当今互联网时代,网络租赁服务已经成为一种便捷且经济的选择,随着人们对网络安全的关注日益增加,一些不法分子利用这一市场机会,通过租用服务器进行非法活动,如黑客攻击、网络诈骗等,给用户带来了严重的安...

腾讯服务器价格多少钱一年

腾讯服务器价格 varies depending on the plan and specifications, but generally ranges from $29 to $49 per year.在数字化时代,云服务已成为企业管理和IT运维的重要工具,腾讯作为国内领先的云计算平台,以其强大...

服务器租用费用一年大概多少钱?

服务器租用费用通常按月计算。如果你使用的是阿里云等大型云计算平台,每月的费用可能会有所不同,具体取决于你的需求和选择的服务包。建议在购买前查看详细的报价表或联系客服获取准确的价格信息。随着科技的快速发展和互联网的普及,服务器租赁已成为许多企业获取计算资源的重要方式,关于服务器租用费用的一年价格,不同...

国外服务器配置和使用方法

国际互联网上的服务器通常用于各种应用程序和网站,为用户提供在线服务。选择适合您需求的服务器类型和提供商是至关重要的。以下是一些基本的步骤和建议,帮助您在国际服务器上成功运行您的应用程序:,,1. **确定需求**:明确您的应用所需的性能、安全性、存储空间以及处理能力。,,2. **研究市场**:了解...

外国服务器价格分析,每月节省150元?了解最新价格趋势,为您节省更多!

为了帮助您每月节省150元,我们需要了解外国服务器的价格趋势。随着技术的发展和市场竞争加剧,外国服务器的价格正在逐渐下降。如果您在寻找性价比高的服务器,建议关注国际知名云服务提供商的价格动态。还可以考虑使用优惠券、促销活动等方式来进一步节省成本。希望这些建议对您有所帮助。在互联网时代,服务器已成为企...

海外服务器租赁指南

租用海外服务器是一个相对简单的过程。你需要选择一个可靠的云服务提供商,比如AWS、Azure或Google Cloud等。你需要创建一个账户并完成身份验证。你可以通过网站上的接口或使用命令行工具来配置服务器的基本设置,如操作系统、内存大小和带宽。你就可以开始安装软件和服务了。随着互联网的飞速发展,越...