Linxu自签ssl证书

摘要

生成证书

生成 CA 证书私钥

1
openssl genrsa -out ssl.key 4096

生成证书签名请求 CSR

1
openssl req -new -key ssl.key -out ssl.csr

Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN

State or Province Name (full name) [Some-State]:ShangHai ← 省的全名,拼音

Locality Name (eg, city) []:Shanghai ← 市的全名,拼音

Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名

Organizational Unit Name (eg, section) []: ← 可以不输入

Common Name (eg, YOUR name) []: ← 此时不输入

Email Address []:1624717079@qq.com ← 电子邮箱,可随意填

Please enter the following ‘extra’ attributes

to be sent with your certificate request

A challenge password []: ← 可以不输入

An optional company name []: ← 可以不输入

以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)

其中有个要求输入密码,我这里没有输入,这种东西碰到密码能不输入就不输入,万一后面给自己挖坑。

创建访问证书

1
openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt

这里365是证书有效期 推荐3650。这个大家随意。最后使用到的文件是key和crt文件。

生成证书

创建 CA 证书

  • 生成 CA 证书私钥
1
openssl genrsa -out ca.key 4096
  • 生成 CA 证书
1
2
3
4
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Shanghai/L=Shanghai/O=example/OU=Personal/CN=bwcxtech.com" \
-key ca.key \
-out ca.crt

创建IP证书

生成私钥

1
openssl genrsa -out test.key 4096

生成证书签名请求 CSR

1
2
3
4
5
6
openssl req \
-sha512 \
-new \
-subj "/C=CN/ST=Shanghai/L=Shanghai/O=example/OU=Personal/CN=192.168.10.2" \
-key test.key \
-out test.csr

生成 x509 v3 扩展

1
2
3
4
5
6
7
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:192.168.10.2
EOF

创建访问证书

1
2
3
4
5
6
7
8
openssl x509 \
-req \
-sha512 \
-days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in test.csr \
-out test.crt