如何利用OpenSSL生成自签名证书实现内部服务加密通信

夏杰姑娘_9099

夏杰姑娘_9099

2026-04-26

552人浏览

原创

直接用openssl生成自签名证书是开发测试中最轻量的加密通信方案,只需三步:生成私钥、创建csr、签发证书,并通过配置san支持多域名/ip,最后手动让客户端信任证书。

如何利用openssl生成自签名证书实现内部服务加密通信

直接用 OpenSSL 生成自签名证书来保护内部服务,是开发和测试中最常用、最轻量的加密通信方案。它不依赖外部 CA,几分钟就能跑通 HTTPS 或 TLS 加密连接,关键是把私钥保管好、证书配对正确、客户端信任到位。

准备基础环境

确保系统已安装 OpenSSL:

  • Linux(Debian/Ubuntu):sudo apt update && sudo apt install openssl -y
  • macOS(Homebrew):brew install openssl
  • Windows:下载官方编译版(如 OpenSSL-Win64),并把 bin 目录加入系统 PATH

验证安装:openssl version -a,看到版本号即表示就绪。

生成私钥与证书(标准三步法)

这是最简可行路径,适合快速验证:

  • 生成 2048 位 RSA 私钥(不加密,便于调试):
    openssl genrsa -out server.key 2048
  • 创建证书签名请求(CSR),带 -subj 自动填入信息(例如服务访问地址为 192.168.1.50 或 localhost):
    openssl req -new -key server.key -out server.csr -subj "/CN=localhost"
  • 签发自签名证书,有效期设为 10 年(3650 天)更省心:
    openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

完成后得到两个关键文件:server.key(私钥,严禁外泄)和 server.crt(证书,可分发给客户端)。

SSL
SSL

配置HTTPS,管理TLS证书,并调试安全连接问题。

下载

增强兼容性:支持多域名/IP(推荐内网用)

浏览器或某些客户端(如 Java、iOS)会校验证书中的访问地址是否匹配。若用 IP 或多个地址访问,必须在证书里声明 Subject Alternative Name(SAN)。

做法是先准备一个 openssl.cnf 配置文件:

  • 新建文本,写入 [alt_names] 段,例如:
    DNS.1 = internal.api<br>IP.1 = 192.168.1.50<br>IP.2 = 127.0.0.1
  • 生成 CSR 时指定该配置:
    openssl req -new -key server.key -out server.csr -config openssl.cnf
  • 签发证书时带上扩展参数:
    openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt -extensions v5_req -extfile openssl.cnf

客户端信任这一步不能跳

自签名证书不会被系统自动信任,所以客户端需手动导入 server.crt:

  • 浏览器:访问 https://192.168.1.50 → 点“高级”→“继续前往…” → 导入证书到“受信任的根证书颁发机构”
  • cURL / Python requests:加参数 --cacert server.crt 或设置 verify=server.crt
  • Java 应用:用 keytool -importcert 导入到 JRE 的 cacerts 或自定义 truststore
  • 移动端或嵌入式设备:将 server.crt 作为资源打包,初始化 TLS 客户端时显式加载

只要服务端正确加载 server.key 和 server.crt,客户端信任了该证书,整个链路就完成了端到端加密通信。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

ssl 加密通信

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

880

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2672

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

896

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

789

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2416

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4452

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

727

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 0.1万人学习