1.创建根CA证书
生成 rootCA.key 以及 rootCA.crt. 用你的域名或者ip地址替换demo.mlopshub.com,比如192.168.10.11
openssl req -x509 \
-sha256 -days 356 \
-nodes \
-newkey rsa:2048 \
-subj "/CN=demo.mlopshub.com/C=CN/L=Beijing" \
-keyout rootCA.key -out rootCA.crt
或者
openssl req -x509 \
-sha256 -days 356 \
-nodes \
-newkey rsa:2048 \
-subj "/CN=192.168.10.11/C=CN/L=Beijing" \
-keyout rootCA.key -out rootCA.crt
如果上述命令提示Can’t load /home/username/.rnd into RNG,则需要你手动创建这个文件
2. 生成自签名证书
2.1生成server的私有key
openssl genrsa -out server.key 2048
2.2.创建证书签名请求配置
根据实际情况替换域名以及IP
cat > csr.conf <<EOF
[ req ]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
C = US
ST = Beijing
L = Beijing
O = MLopsHub
OU = MlopsHub Dev
CN =test.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = test.com
DNS.2 = test2.com
IP.1 = 192.168.10.11
IP.2 = 192.168.1.22
EOF
2.3.使用服务器私钥生成证书签名请求(CSR)
openssl req -new -key server.key -out server.csr -config csr.conf
2.4.创建一个外部文件
根据实际情况替换域名以及IP
cat > cert.conf <<EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = test.com
IP.1 = 192.168.10.62
EOF
2.5.使用自签名CA生成SSL证书
openssl x509 -req \
-in server.csr \
-CA rootCA.crt -CAkey rootCA.key \
-CAcreateserial -out server.crt \
-days 365 \
-sha256 -extfile cert.conf
将server.crt server.key放到服务器目录下
将rootCA.crt放到客户端进行验签