centos下创建证书
生成根 CA 的私钥
openssl genrsa -out rootCA.key 2048
使用私钥生成根 CA 的证书
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt
为 10.12.0.2 生成私钥和证书请求文件(CSR)
生成 10.12.0.2 的私钥
openssl genrsa -out 10.12.0.2.key 2048
使用私钥生成证书请求文件
openssl req -new -key 10.12.0.2.key -out 10.12.0.2.csr
创建证书扩展文件
为了确保为 10.12.0.2 签名的证书能够用作服务器身份验证,需要为它创建一个扩展文件。创建一个名为 v3.ext 的文件,并添加以下内容:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
这里 IP 替换成 DNS 就可以签名域名了
IP.1 = 10.12.0.2
使用根 CA 的证书为 10.12.0.2 签名证书
openssl x509 -req -in 10.12.0.2.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out 10.12.0.2.crt -days 500 -sha256 -extfile v3.ext
此时文件夹内应该有以下文件:
rootCA.key - 根 CA 的私钥。
rootCA.crt - 根 CA 的证书。
10.12.0.2.key - 10.12.0.2 的私钥。
10.12.0.2.csr - 10.12.0.2 的证书请求文件。
10.12.0.2.crt - 由根 CA 签名的 10.12.0.2 的证书。