OpenSSL 生成CA证书及终端用户证书,必看的100道MySQL数据库经典面试题解析

$ vim ca.conf

内容如下:

[ req ]

default_bits = 4096

distinguished_name = req_distinguished_name

[ req_distinguished_name ]

countryName = Country Name (2 letter code)

countryName_default = CN

stateOrProvinceName = State or Province Name (full name)

stateOrProvinceName_default = JiangSu

localityName = Locality Name (eg, city)

localityName_default = NanJing

organizationName = Organization Name (eg, company)

organizationName_default = Sheld

commonName = Common Name (e.g. server FQDN or YOUR name)

commonName_max = 64

commonName_default = Ted CA Test

2、生成ca秘钥,得到ca.key

$ openssl genrsa -out ca.key 4096

3、生成ca证书签发请求,得到ca.csr

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

$ openssl req -new -sha256 -out ca.csr -key ca.key -config ca.conf

配置文件中已经有默认值了,shell交互时一路回车就行。

4、生成ca根证书,得到ca.crt

$ openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt

三、生成服务端证书


1、配置文件

准备配置文件,得到server.conf,内容如下:

[ req ]

default_bits = 2048

distinguished_name = req_distinguished_name

req_extensions = req_ext

[ req_distinguished_name ]

countryName = Country Name (2 letter code)

countryName_default = CN

stateOrProvinceName = State or Province Name (full name)

stateOrProvinceName_default = JiangSu

localityName = Locality Name (eg, city)

localityName_default = NanJing

organizationName = Organization Name (eg, company)

organizationName_default = Sheld

commonName = Common Name (e.g. server FQDN or YOUR name)

commonName_max = 64

commonName_default = www.ted2018.com

[ req_ext ]

subjectAltName = @alt_names

[alt_names]

DNS.1 = www.ted-go.com

DNS.2 = www.ted2018.com

IP = 192.168.93.145

Chrome 58以后不再使用CN校验地址(就是就是浏览器地址栏URL中的那个地址host)了,而是使用SAN,注意配置里写对,IE 11还是使用CN

2、服务端密钥

生成秘钥,得到server.key,命令如下:

$ openssl genrsa -out server.key 2048

3、服务端CSR

$ openssl req -new -sha256 -out server.csr -key server.key -config server.conf

配置文件中已经有默认值了,shell交互时一路回车就行。

4、服务端证书

用CA证书生成终端用户证书,得到server.crt

$ openssl x509 -req -days 3650 -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt -extensions req_ext -extfile server.conf

四、验证


1、配置web服务器

Web服务器选用nginx,关键配置如下:

server {

listen 443 ssl;

server_name localhost;

root D:\websocketd-0.3.0-windows_amd64;

ssl_certificate server.crt;

ssl_certificate_key server.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;

location / {

index index.html index.htm;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值