创建和管理一个 CA 及证书的生命周期
步骤 1: 创建一个根 CA
-
生成根 CA 的私钥:
openssl genrsa -out root.key 2048
-
生成自签名的根证书请求 (CSR):
openssl req -new -key root.key -out root.csr
-
使用自签名的根证书请求生成自签名的根证书:
openssl x509 -req -in root.csr -signkey root.key -out root.crt
- 分析生成的根证书
root.crt
以确保其符合所需的标准。
步骤 2: 为一台服务器生成私钥和 CSR
-
生成服务器的私钥:
openssl genrsa -out server.key 2048
-
生成服务器的证书签署请求 (CSR):
openssl req -new -key server.key -out server.csr
步骤 3: 使用根 CA 对服务器的 CSR 进行签名
- 使用根 CA 的私钥和证书对服务器的 CSR 进行签名,生成服务器证书:
openssl x509 -req -in server.csr -CA root.crt -CAkey root.key -CAcreateserial -out server.crt -days 365
步骤 4: 吊销服务器的证书
- 创建 demoCA 目录和必要的文件:
mkdir -p ./demoCA/newcerts touch ./demoCA/index.txt echo '1000' > ./demoCA/serial
-
创建 crlnumber 文件:
echo '1000' > ./demoCA/crlnumber
-
生成吊销请求 (CRL):
openssl ca -config openssl.cnf -revoke server.crt -keyfile root.key -cert root.crt -out crl.pem
- 更新证书吊销列表 (CRL):
openssl ca -config openssl.cnf -gencrl -keyfile root.key -cert root.crt -out crl.pem