我是靠谱客的博主 文静钢笔,最近开发中收集的这篇文章主要介绍使用openssl创建自签名证书1.创建根CA(完成一次)2.创建证书(为每个服务器完成),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用openssl创建自签名证书

  • 1.创建根CA(完成一次)
    • 1.1创建根密钥
    • 1.2创建并自签名根证书
  • 2.创建证书(为每个服务器完成)
    • 2.1创建证书密钥
    • 2.2创建签名(csr)
    • 2.3使用签名xxx.com.csr和证书密钥xxx.com.key以及CA密钥rootCA.key和CA签名rootCA.crt生成证书
    • 参考

1.创建根CA(完成一次)

1.1创建根密钥

注意:这是用于签署证书请求的密钥,持有此证书的任何人都可以代表您签署证书。因此,请将其保存在安全的地方!

openssl genrsa -des3 -out rootCA.key 4096

如果要使用不受密码保护的密钥,只需删除该-des3选项

1.2创建并自签名根证书

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 365 -out rootCA.crt

执行以上命令后会让输入以下信息,没有的直接按回车跳过
Country Name CN
State or Province Name HeBei
Locality Name (eg, city) ShiJiaZhuang
Organization Name jjj
Organizational Unit Name jjj
#如果没域名输入ip xx.xx.xx.xx
Common Name (eg, your name or your server’s hostname) xxx.com
Email Address xxx@qq.com
之后的可直接跳过

在这里,我们使用根密钥 rootCA.key创建了根证书rootCA.crt,该证书需要在所有必须信任我们的计算机中分发。
根证书rootCA.crt放在公网上让用户下载和安装到电脑或手机中,windows电脑中双击安装,android手机中在设置->安全->更多安全设置->加密和凭证->从存储设备安装中点击下载的根证书rootCA.crt文件安装
谷歌浏览器证书应安装到受信任的根证书颁发机构,ios系统安装证书后还要开启证书

2.创建证书(为每个服务器完成)

对于需要来自我们CA的受信任证书的每个服务器/设备,都需要遵循此过程

2.1创建证书密钥

openssl genrsa -out xxx.com.key 4096

2.2创建签名(csr)

openssl req -new -key xxx.com.key -config certificate.conf -out xxx.com.csr

certificate.conf配置文件内容

[req]
default_bits = 4096
prompt = no
req_extensions = req_ext
distinguished_name = dn
[dn]
C = CN
ST = HeBei
L = ShiJiaZhuang
O = jjj
OU =jjj
emailAddress = xxx@qq.com
CN = xxx.com
[req_ext]
extendedKeyUsage = serverAuth
#subjectAltName配置是必须要有的,如果没有谷歌、ie等浏览器和android手机安装上证书后同样会被拦截
subjectAltName = @alt_names
[alt_names]
#如果是局域网没有域名写DNS.1 = localhost
DNS.1 = xxx.com
IP.1 = xx.xx.xx.xx
IP.2 = 127.0.0.1

上面的配置可能不需要default_md = sha256

2.3使用签名xxx.com.csr和证书密钥xxx.com.key以及CA密钥rootCA.key和CA签名rootCA.crt生成证书

openssl x509 -req -in xxx.com.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out xxx.com.crt -days 365 -sha256 -extfile certificate.conf -extensions req_ext

生成的xxx.com.key和xxx.com.crt使用服务器部署https需要用到的证书秘钥和证书

参考

证书生成方法:
https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309 评论很有用
apple产品中受信任证书的要求:
https://support.apple.com/en-us/HT210176
apple产品生成ssl证书还可参考此方法:
https://jaanus.com/ios-13-certificates/#:~:text=If%20I%20understand%20things%20correctly,certificate%20as%20trusted%20in%20iOS.

最后

以上就是文静钢笔为你收集整理的使用openssl创建自签名证书1.创建根CA(完成一次)2.创建证书(为每个服务器完成)的全部内容,希望文章能够帮你解决使用openssl创建自签名证书1.创建根CA(完成一次)2.创建证书(为每个服务器完成)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部