openssl req和x509命令及配置文件

1. req 命令及配置

openssl req -utf8 -new -config client/req.cnf -key client/client-key.pem -sha1 -out client/client-req.csr 


client/req.cnf文件内容: 

[req]
prompt = no
distinguished_name = dn
input_password = 123456

[dn]
O = 企业名称
1.OU = 部门名称1
2.OU = 部门名称2
emailAddress = 邮箱地址
CN = 用户名称


2. x509命令及配置

openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -extfile client/x509.cnf -sha1 -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 365 


client/x509.cnf文件内容: 

extensions = ext

[ext]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
#subjectAltName = otherName:1.3.6.1.4.1.311.20.2.3;UTF8:名称
#subjectAltName = DNS:www.feistyduck.com,DNS:feistyduck.com
subjectAltName = @alt_names

[alt_names]
#DNS.1   = www.foo.com
#DNS.2   = www.bar.org
#IP.1    = 192.168.1.1
#IP.2    = 192.168.69.144
#email = test@test.com
otherName = 1.3.6.1.4.1.311.20.2.3;UTF8:名称


3.  证书生成完整命令

/ /================================================================================
// 生成ca证书  

// 生成密钥
openssl genrsa -out ca/ca-key.pem 2048 

openssl dsaparam -out ca/dsa.pem 2048
openssl gendsa -out ca/ca-key.pem ca/dsa.pem

// 生成请求
openssl req -utf8 -new -config ca/ca.cnf -key ca/ca-key.pem -sha1 -out ca/ca-req.csr 

// 查看请求(可选)
openssl req -text -in ca/ca-req.csr -noout

// 自签署证书
openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -sha1 -days 365 

// 检查证书(可选)
openssl x509 -text -in ca/ca-cert.pem -noout

// 导出证书
openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12 

openssl genrsa -out ca/ca-key.pem 2048 
openssl req -utf8 -new -config ca/ca.cnf -key ca/ca-key.pem -sha1 -out ca/ca-req.csr 
openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -sha1 -days 365 
openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12 



//====================================================================================
// 生成client证书

// 生成密钥
openssl genrsa -out client/client-key.pem 2048 

// 生成请求
openssl req -utf8 -new -config client/req.cnf -key client/client-key.pem -sha1 -out client/client-req.csr 

// 查看请求(可选)
openssl req -text -in client/client-req.csr -noout

// 自签署证书
openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -extfile client/x509.cnf -sha1 -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 365 

// 检查证书(可选)
openssl x509 -text -in client/client-cert.pem -noout

// 导出证书
openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12 

openssl genrsa -out client/client-key.pem 2048 
openssl req -utf8 -new -config client/req.cnf -key client/client-key.pem -sha1 -out client/client-req.csr 
openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -extfile client/x509.cnf -sha1 -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 365
openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 CentOS 8 上制作自签证书和配置 HTTPS 需要以下步骤: 1. 安装 OpenSSL 在终端中输入以下命令进行安装: ``` sudo dnf install openssl ``` 2. 生成私钥 在终端中输入以下命令生成私钥: ``` openssl genrsa -out server.key 2048 ``` 这将生成一个 2048 位的 RSA 私钥,并将其保存到名为 server.key 的文件中。 3. 生成证书签名请求 (CSR) 在终端中输入以下命令生成证书签名请求: ``` openssl req -new -key server.key -out server.csr ``` 在生成 CSR 时,你需要提供一些信息,如国家/地区、州/省、城市、组织名称、组织单位、通用名称等。这些信息将被用于生成 SSL 证书。 4. 生成自签名 SSL 证书 在终端中输入以下命令生成自签名 SSL 证书: ``` openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt ``` 这将生成一个有效期为 365 天的自签名 SSL 证书,并将其保存到名为 server.crt 的文件中。 5. 配置 HTTPS 在 Apache 或 Nginx 中启用 HTTPS 需要编辑相应的配置文件并重启服务。 以 Nginx 为例,编辑 /etc/nginx/nginx.conf 文件,在 server 块中添加以下内容: ``` listen 443 ssl; ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/server.key; ``` 然后重启 Nginx 服务: ``` sudo systemctl restart nginx ``` 现在你可以通过 https://yourdomain.com 访问网站,并且浏览器中将出现 SSL 证书的锁图标,表示已启用 HTTPS。 注意:在生成 SSL 证书时,一定要确保通用名称 (CN) 与你要使用 SSL 证书的域名相同,否则 SSL 连接将被浏览器拒绝。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值