内容提要
本文介绍了如何使用OpenSSL手动构建适用于生产环境的家庭实验室PKI,简化了生成根CA、中间CA和服务器证书的步骤,确保服务通过TLS加密通信,并强调了SSL/TLS证书中主题备用名称(SAN)的重要性。
关键要点
-
本文介绍了如何使用OpenSSL手动构建适用于生产环境的家庭实验室PKI。
-
通过TLS加密通信,确保服务之间的安全通信。
-
简化了生成根CA、中间CA和服务器证书的步骤。
-
使用openssl命令生成自签名的根CA证书和私钥。
-
生成中间CA证书并使用根CA证书进行签名。
-
可以根据需要生成多个服务器证书。
-
在服务器证书中添加主题备用名称(SAN),以支持多个身份。
-
SAN允许在单个证书中关联多个域名、IP地址或电子邮件地址。
-
现代浏览器和应用程序依赖SAN进行域名验证,缺少SAN会导致证书被标记为无效。
延伸问答
如何使用OpenSSL构建家庭实验室的PKI?
可以通过OpenSSL手动生成根CA、中间CA和服务器证书,确保服务通过TLS加密通信。
生成根CA证书的命令是什么?
使用命令:openssl req -x509 -newkey rsa:4096 -keyout root_ca.key -out root_ca.crt -days 3650 -nodes。
什么是主题备用名称(SAN),它有什么重要性?
SAN是X.509证书中的扩展,允许多个身份(如域名、IP地址)与单个证书关联,现代浏览器依赖SAN进行域名验证。
如何生成中间CA证书?
使用命令:openssl req -newkey rsa:4096 -nodes -keyout intermediate_ca.key -x509 -days 3650 -CA root_ca.crt -CAkey root_ca.key -subj '/C=BE/ST=Belgium/L=Bruxelles/O=MyOrg/CN=IntermediateCA/emailAddress=info@home.lab' -out intermediate_ca.crt。
如何为服务器生成证书并添加SAN?
使用命令:openssl req -nodes -CA intermediate_ca.crt -CAkey intermediate_ca.key -keyout server.key -x509 -days 365 -subj '/C=BE/ST=Belgium/L=Bruxelles/O=MyOrg/CN=server.home.lab/emailAddress=info@home.lab' -addext 'subjectAltName = DNS:server, DNS:server.home.lab, IP:192.168.0.10' -out server.crt。
缺少SAN会导致什么后果?
缺少SAN会导致许多现代浏览器将证书标记为无效,影响域名验证。