欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用openssl签发证书、签发服务器证书、多域名证书

程序员文章站 2022-07-12 21:55:22
...

使用openssl签发证书、签发服务器证书、多域名证书

1、openssn.cnf的配置

openssn.cnf位置在

/usr/local/ssl/openssl.cnf

修改【CA_default】标签下的 dir为固定目录、

dir= /home/nieqq/openssl/ca

创建以下文件目录结构
使用openssl签发证书、签发服务器证书、多域名证书
执行以下命令为***赋初值

echo "01" >>/home/nieqq/openssl/ca/serial

2、生成CA**,根证书

执行以下命令生成CA**

```bash
openssl genrsa -des3 -out /home/nieqq/openssl/ca/private/cakey.pem 2048 -config /usr/local/ssl/openssl.cnf 

执行以下命令生成CA证书请求

openssl req -new -key /home/nieqq/openssl/ca/private/cakey.pem -out /home/nieqq/openssl/ca/cacert.pem 

执行以下命令自签跟证书

openssl x509 -req -days 365 -in /home/nieqq/openssl/ca/cacert.pem -signkey /home/nieqq/openssl/ca/private/cakey.pem -out /home/nieqq/openssl/ca/cacert.crt 

3、签发服务器证书

执行以下命令生成服务器**

openssl genrsa -des3 -passout pass:server1 -out /home/nieqq/openssl/ca/server.local.net.key.pem 2048

执行以下命令生成服务器证书请求

openssl req -new -days 365 -key /home/nieqq/openssl/ca/server.local.net.key.pem -out /home/nieqq/openssl/ca/server.local.net.req.pem

执行以下命签发服务器证书

openssl ca -in /home/nieqq/openssl/ca/server.local.net.req.pem -out /home/nieqq/openssl/ca/server.local.net.cer -config /usr/local/ssl/openssl.cnf 

4、签发SAN域名证书

SAN证书支持多个域名共用同一个证书可以查看这里的介绍
生成**与(3、签发服务器证书)相同,可以执行以下命令生成

openssl genrsa -des3 -passout pass:server1 -out /home/nieqq/openssl/ca/util.local.net.key 2048

执行以下命令生成SAN证书请求

openssl req -new \
    -sha256 \
    -key /home/nieqq/openssl/ca/util.local.net.key \
    -subj "/C=CN/ST=GUANGDONG/L=GUANGZHOU/O=ORG1/OU=ORG2/CN=*.local.net" \
    -reqexts SAN \
    -config <(cat  /usr/local/ssl/openssl.cnf \
        <(printf "[SAN]\nsubjectAltName=DNS:*.local.net,DNS:ubs.local.net,DNS:cnt.local.net,DNS:win10.local.net,DNS:win7.local.net,DNS:www.ubs.local.net,DNS:www.cnt.local.net,DNS:www.win10.local.net,DNS:www.win7.local.net")) \
    -out /home/nieqq/openssl/ca/util.local.net.req

执行以下命签发SAN证书

openssl ca -in /home/nieqq/openssl/ca/util.local.net.req \
        -md sha256 \
    -extensions SAN \
    -config <(cat /usr/local/ssl/openssl.cnf \
        <(printf "[SAN]\nsubjectAltName=DNS:*.local.net,DNS:ubs.local.net,DNS:cnt.local.net,DNS:win10.local.net,DNS:win7.local.net,DNS:www.ubs.local.net,DNS:www.cnt.local.net,DNS:www.win10.local.net,DNS:www.win7.local.net")) \
    -out /home/nieqq/openssl/ca/util.local.net.crt 
相关标签: #