openssl 自签证书(带ip或者域名)

1、查看证书内容

openssl x509 -text -noout -in mydomain.crt

2、创建自签根证书

openssl genrsa -out myCA.key
openssl req -new -x509 -days 3650 -key myCA.key -out myCA.crt

3、创建自签证书请求

请求时候没带x509v3

openssl genrsa -out mykey.key
openssl req -new -key mykey.key -out mycert.csr

4、根证书签发下级证书:

4.1、普通什么都没有,不带x509v3

openssl x509 -req -CA myCA.crt -CAkey myCA.key -CAcreateserial -days 3560 -in mycert.csr -out mycert.crt

4.2、绑定域名或者ip,带x509v3

x509v3信息 

用myca签发下级时候才带x509v3

vim v3.ext

[default]

# Extensions to add to a certificate request

#basicConstraints = CA:TRUE
#keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName=@alt_names

[alt_names]
#DNS.1 = flymote.com
#DNS.2 = *.flymote.com
#DNS.3 = www.flymot.com
#DNS.4 = *.flymot.com
IP.1 = 1.2.3.4
IP.2 = 5.6.7.8

通过自签根证书签发带域名或者ip的证书

openssl x509 -req -CA myCA.crt -CAkey myCA.key -CAcreateserial -days 3560 -in mycert.csr -out mycert-domain.crt -extfile v3.ext

5、转换为pkcs12(.p12)

摘自tomcat ssl配置文档:https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Configuration

openssl pkcs12 -export -in mycert.crt -inkey mykey.key\
                        -out mycert.p12 -name tomcat -CAfile myCA.crt\
                        -caname root -chain

别人家一:

https://www.it610.com/article/1288242166862229504.htm

请求文件添加x509信息:

1、拷贝openssl.cnf ,添加 san 信息,openssl req 时候 -config openssl.cnf

2、根证书签发时候再带上 -config openssl.cnf -extensions v3_req。或者里面创建根证书时候带san

总觉得第二部特多余,所以我继续找。

 

别人家二:

https://vircloud.net/operations/sign-ip-crt.html

1、创建根证书后还要添加本地信任

2、创建key时候添加2048

3、创建请求时候没有san

4、配置文件用在根证书签发下级证书,带了证书功能。用-extfile 引入自己写的san配置文件,或者用默认位置openssl.cnf,通过-extensions 指定配置文件中的x509信息块

本地信任我觉得没用,2048多余,特抗拒修改默认配置文件,为什么和第一个参考不同,san配置文件用在下级签发,不是请求?

 

别人家三:

https://blog.csdn.net/qq_24601199/article/details/105535345

不吐2048,serial不知道有什么用,没说到x509 san的事

 

别人家四:

https://www.icode9.com/content-4-681600.html

1、事拷贝openssl.cnf

2、事没说到 basicConstraints = CA:FALSE -> TURE

3、请求和签发都用 -config -extensions 

 

 

看了好多好多。后来我打开 openssl.cnf

前几行就说到,在openssl x509 命令时候用 -extfile 添加 x509v3扩展信息

# To use this configuration file with the "-extfile" option of the
# "openssl x509" utility, name here the section containing the
# X.509v3 extensions to use:
# extensions        =
# (Alternatively, use a configuration file that has only
# X.509v3 extensions in its main [= default] section.)

但是这里 [= default] section 什么意思呢?反正我什么都不加,或者[default]都成功了。basicConstraints = CA:TRUE 都不用

 

 

把自签证书和自签根证书添加到Array后,激活ssl连接,提示证书链不完整?
警告:   cert chain is incomplete for sslv-203, please add interca or rootca

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值