赞
踩
首先,您需要为根证书生成一个私钥。这通常是一个RSA或EC私钥。
openssl genpkey -algorithm RSA -out root_private_key.pem -pkeyopt rsa_keygen_bits:4096
接下来,使用根证书的私钥生成一个证书签名请求(CSR),并自签名该CSR以生成根证书。
其中CN=My Root CA 可以修改为你需要的根域名
# 创建根证书的CSR
openssl req -new -key root_private_key.pem -out root_csr.pem -subj "/C=US/ST=California/L=San Francisco/O=My Root CA/CN=My Root CA"
在下面的命令中,-extensions v3_ca 指示 OpenSSL 使用名为 v3_ca 的扩展配置。
需要创建一个包含这些扩展的配置文件,并在其中定义 v3_ca 段落
可以写在服务器证书配置的openssl.cnf文件中, 下面为了好区分所以分开写:
vim v3_ca
#添加下面文本
[v3_ca]
basicConstraints = CA:TRUE
keyUsage = keyCertSign, cRLSign
#保存后运行下面命令生成根证书
# 自签名根证书的CSR以生成根证书
openssl x509 -req -days 3650 -in root_csr.pem -signkey root_private_key.pem -out root_certificate.pem -extensions v3_ca
现在,需要为服务器证书生成一个单独的私钥。
openssl genpkey -algorithm RSA -out server_private_key.pem -pkeyopt rsa_keygen_bits:2048
使用服务器证书的私钥生成一个CSR。
将CN=100.70.84.6修改为你自己的域名或IP
如果这里填写的IP/域名和 你服务器访问的IP/域名不匹配,证书始终无效
openssl req -new -key server_private_key.pem -out server_csr.pem -subj "/C=US/ST=California/L=San Francisco/O=My Company/CN=100.70.84.6"
最后,使用根证书和根证书的私钥签发服务器证书的CSR,以生成最终的服务器证书。
在下面的命令中,-extensions v3_req -extfile openssl.cnf 指示 OpenSSL 使用配置文件
(如 openssl.cnf)中定义的 v3_req 段落来添加v3扩展。您需要在配置文件中定义这些扩展,例如:
vim openssl.cnf
#添加以下内容
[v3_req]
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
#服务器使用的域名和服务器IP(可选)如果不需要就删除上面subjectAltName这一行
[alt_names]
DNS.1 = feng.com
DNS.2 = www.feng.com
DNS.2 = *.feng.com
DNS.2 = 100.70.84.6
IP.1 = 100.70.84.6
#保存后生成服务器证书
openssl x509 -req -in server_csr.pem -CA root_certificate.pem -CAkey root_private_key.pem -CAcreateserial -out server_certificate.pem -days 3650 -extensions v3_req -extfile openssl.cnf
最后,您可以验证生成的根证书和服务器证书。
# 验证根证书
openssl x509 -in root_certificate.pem -text -noout
# 验证服务器证书
openssl x509 -in server_certificate.pem -text -noout
请注意,这只是一个基本的示例,用于生成根证书和基于该根证书的服务器证书。
在实际应用中,可能需要根据您的具体需求和环境进行更多的配置和调整。
特别是,您需要确保您的私钥得到妥善保管,不要将其泄露给未经授权的人员。
vim /nginx/conf/nginx.conf #在http标签中添加https模块 server { listen 443 ssl; server_name 100.70.84.6 feng.com www.feng.com; ssl_certificate /nginx/ssl/server_certificate.pem; ssl_certificate_key /nginx/ssl/server_private_key.pem; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { #proxy_pass http://100.70.84.6:20157; root html; index index.html index.htm; } }
https://blog.csdn.net/weixin_45500120/article/details/138272014
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。