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

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

Linux系统中bash脚本的编写与应用

2026-01-16SSL证书181

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

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

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


当然可以!以下是我对您原文的全面优化版本——修正错别字、润色语句、补充技术细节、增强逻辑结构,并确保内容原创性与专业深度,整体风格保持技术文档的严谨,同时兼顾可读性与实战指导价值。


掌握OpenSSL命令行工具,亲手打造属于你的加密通信基石

在当今高度互联的世界中,数据安全已不再是“锦上添花”,而是“生存底线”,无论是个人开发者搭建测试环境,还是企业运维部署生产服务,SSL/TLS证书都是实现HTTPS加密通信、建立用户信任不可或缺的核心组件。

虽然如今有Let’s Encrypt等自动化CA平台简化了证书申请流程,但在本地开发、内网系统、教学实验或私有化部署场景下,手动生成SSL证书仍是必备技能,而这一切,都离不开一个强大的开源工具:OpenSSL

本文将带你从零开始,深入浅出地掌握SSL证书的手动创建全过程——涵盖基础概念、核心命令、高级配置(如SAN支持、ECC密钥)、格式转换、脚本自动化及常见问题排障,无论你是前端工程师、后端开发者、DevOps工程师还是系统管理员,都能从中获得实用价值。


🔍 一、什么是SSL证书?为何要手动“生成”?

✅ SSL证书的本质

SSL证书是一种数字身份凭证,用于在客户端(如浏览器)与服务器之间建立加密通道,防止中间人攻击、数据窃听和篡改,它包含:

  • 公钥(Public Key)
  • 持有者信息(Subject)
  • 签发机构签名(Issuer Signature)
  • 有效期(Validity Period)
  • 扩展字段(如SAN)

⚠️ 为什么不用CA直接签发?

尽管权威CA(如Let’s Encrypt、DigiCert、Sectigo)提供免费/付费证书,但在以下场景仍需手动生成自签名证书

  1. 本地开发调试 —— 快速启用HTTPS功能,无需等待公网验证;
  2. 内部测试平台 —— 仅限局域网访问,无须对外可信;
  3. 构建私有CA体系 —— 企业内多服务互信认证;
  4. 学习TLS协议原理 —— 理解握手过程、密钥交换机制;
  5. 原型快速验证 —— 跳过繁琐审批流程,加速产品迭代。

💡 自签名证书 ≠ 不安全,只是缺乏第三方背书,在可控环境中完全可用!


🛠️ 二、核心工具:OpenSSL入门与安装

🧰 OpenSSL是什么?

OpenSSL 是一套开源密码学工具包,支持SSL/TLS协议栈,广泛应用于证书管理、密钥生成、加解密操作等,其命令行接口灵活强大,是Linux/Unix系统的标配工具。

✅ 查看当前版本

openssl version

输出示例:

OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

🖥️ 安装方式(不同平台)

平台 安装命令
Ubuntu sudo apt update && sudo apt install openssl
CentOS/RHEL sudo yum install opensslsudo dnf install openssl
macOS 已预装;可通过Homebrew更新:brew install openssl
Windows 推荐使用 Git Bash 或 WSL

🧩 三、基础概念:私钥、CSR、证书的关系图谱

在动手之前,请务必理解这三个关键元素及其作用:

名称 描述 是否公开 文件扩展名示例
私钥 (Private Key) 保密文件,用于解密数据和数字签名 .key, .pem
CSR (Certificate Signing Request) 向CA提交的申请文件,含公钥+主体信息 .csr
证书 (Certificate) CA签署后的正式凭证,含公钥、域名、有效期等 .crt, .pem

📌 关系链
私钥 → 生成CSR → 提交CA → 获取证书 → 配置服务端


🧪 四、常用SSL证书生成命令详解(实战篇)

🚀 场景1:一键生成自签名证书(适合本地测试)

最简单粗暴的方式,一条命令搞定私钥+证书:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout server.key -out server.crt

🔍 参数详解:

参数 说明
req 使用证书请求子模块
-x509 直接输出自签名证书而非CSR
-nodes 不加密私钥(避免启动时输密码)
-days 365 设置有效期为一年
-newkey rsa:2048 生成2048位RSA新私钥
-keyout 指定私钥保存路径
-out 指定证书保存路径

🎯 跳过交互式输入(推荐用于脚本)

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout server.key -out server.crt \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/CN=localhost"

✅ 常见字段解释:

  • C: Country(国家代码)
  • ST: State or Province(省份)
  • L: Locality(城市)
  • O: Organization(组织名)
  • CN: Common Name(通用名称,建议填域名或IP)

🔄 场景2:分步生成(更灵活可控)

适用于需要复用私钥、提交CSR给CA、或做更多定制化处理的情况。

步骤①:生成私钥

openssl genrsa -out server.key 2048

步骤②:生成CSR(证书签名请求)

openssl req -new -key server.key -out server.csr \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/CN=example.local"

步骤③:用私钥自签名生成证书

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

📝 优势:便于后续更换证书而不影响私钥;CSR可提交至真实CA进行签发。


🌐 场景3:支持多域名/IP的SAN证书(现代浏览器强制要求)

早期仅靠Common Name即可,但自Chrome 58起,必须包含Subject Alternative Name(SAN)字段,否则会被标记为“不安全”。

✍️ 创建配置文件 ssl.conf

[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = v3_req
[dn]
C = CN
ST = Beijing
L = Beijing
O = My Organization
OU = IT Department
CN = localhost
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = www.example.local
IP.1 = 127.0.0.1
IP.2 = 192.168.1.100

🧮 执行生成命令

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout server.key -out server.crt \
  -config ssl.conf -extensions v3_req

✅ 支持多个DNS记录和IP地址,完美适配微服务架构、本地集群等复杂环境。


⚡ 场景4:生成ECC椭圆曲线证书(更高性能 & 更小体积)

相比传统RSA,ECC(Elliptic Curve Cryptography)在相同安全强度下密钥长度更短、计算效率更高,特别适合移动端和IoT设备。

🔄 生成ECC私钥 + 自签名证书

# 生成ECC私钥(使用prime256v1曲线)
openssl ecparam -genkey -name prime2

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

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

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

分享给朋友:

“Linux系统中bash脚本的编写与应用” 的相关文章

阿里云首推秒杀式服务器租赁价格

全球首款秒杀式阿里云服务器租用价格正式发布,用户只需支付几元即可获取服务器,为用户提供快速便捷的服务。随着互联网的发展,云计算已经成为一种重要的基础设施,而阿里云作为国内最大的云计算服务提供商,其在提供云计算服务的同时,也推出了许多优惠政策和创新产品,阿里云服务器租用价格的创新模式,吸引了众多用户的...

服务器租赁价格分析

服务器租赁价格因多种因素而异,包括地理位置、网络带宽、硬件规格等。每月租金在几十元到几万元之间不等。建议您参考相关网站和咨询专业IT服务商以获取更准确的价格信息。在当今数字化时代,企业对云计算和虚拟化技术的依赖日益增加,服务器租赁作为一种灵活且经济高效的解决方案,为各种组织提供了强大的计算资源支持,...

SSL证书价格一年多少钱?

SSL证书的价格通常每年在几十到几百元人民币之间。在当今数字化时代,SSL证书已经成为企业身份验证和数据传输安全的重要工具,对于许多中小企业来说,购买 SSL 证书的费用一直是一个痛点,一整年的 SSL 证书价格是多少?我们需要了解一些基本的_SSL证书类型及其价格,常见的 SSL 证书包括:1、通...

cheapest ssl certificate price

目前,一些免费的SSL证书可以满足基本的安全需求,但价格相对较高。通常情况下,最便宜的免费SSL证书价格在几十元到几百元不等,具体取决于所使用的服务提供商和证书类型。建议您选择性价比高的免费SSL证书来保护您的网站安全。在互联网时代,SSL证书(Secure Sockets Layer)的重要性不言...

小程序 SSL 证书费用

小程序的SSL证书费用包括域名证书、服务器证书和根证书。通常情况下,域名证书价格较低,服务器证书价格较高,根证书则是免费的。小程序的SSL证书需要定期更新,以保持安全性。在开发微信小程序时,SSL证书对于确保数据传输的安全性至关重要,选择合适的SSL证书价格也是一个需要考虑的问题,本文将探讨不同类型...

SSL费用,一年计算

一年SSL证书费用通常取决于多种因素,包括服务器类型、域名注册商、加密算法等。平均下来,一个标准的年SSL证书费用可能在200到800美元之间,具体价格会因这些因素而异。建议咨询专业的SSL服务提供商以获取更准确的价格信息。在数字化时代,数据安全已成为企业运营的重要保障,SSL证书作为保护网站和应用...