1. 为什么需要HTTPS双向认证?
在开发调试环境中,我们经常需要模拟真实生产环境的安全通信场景。单向HTTPS认证只能确保客户端验证服务端身份,而双向认证(Mutual TLS)则更进一步——服务端也要验证客户端身份。这种机制在金融支付、内部微服务通信等对安全性要求较高的场景中尤为重要。
我去年参与过一个医疗系统的开发项目,系统要求所有内部服务间的调用都必须通过双向认证。当时用自签证书快速搭建了测试环境,节省了大量等待正式证书的时间。下面就把这套经过实战验证的方案分享给大家。
2. 自签CA证书生成全流程
2.1 准备OpenSSL环境
首先确保系统已安装OpenSSL。在Linux/macOS终端或Windows的Git Bash中运行:
openssl version
如果未安装,可以通过包管理器安装:
- Ubuntu/Debian:
sudo apt install openssl - CentOS:
sudo yum install openssl - Mac:
brew install openssl
2.2 创建根CA证书
这是整个信任链的基础,建议在安全目录下执行:
# 生成CA私钥(密码设置为123456)
openssl genrsa -aes256 -out ca.key 2048
# 生成自签名根证书(有效期10年)
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt \
-subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/OU=Dev/CN=MyRootCA"
这里有个坑要注意:如果不在-subj中指定主题信

1万+

被折叠的 条评论
为什么被折叠?



