任务详情
0 使用openssl或者gmssl,提交markdown格式文档和转化后的pdf
1 创建一个根 CA,包括生成私钥和根证书。分析证书和0015,0034标准的符合情况
2 为一台服务器生成一个私钥和证书签署请求(CSR)。
3 使用根 CA 对服务器的 CSR 进行签名,生成服务器证书。
4 吊销该服务器的证书。
5 提交生成的 CA 证书、服务器证书、CSR、吊销列表(CRL)和其他相关文件。
1. 创建根CA(包括生成私钥和根证书)
生成根CA的私钥
openssl genpkey -algorithm RSA -out rootCA.key -aes256
生成根证书 (有效期10年)
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem
- 生成的 rootCA.key 是加密的私钥, rootCA.pem 是根CA的证书。
2. 为服务器生成一个私钥和证书签署请求 (CSR)
生成服务器的私钥
openssl genpkey -algorithm RSA -out server.key
生成CSR
openssl req -new -key server.key -out server.csr
- 在创建CSR时,同样你需要提供服务器的相关信息(如组织名、常用名(CN)等)。
3. 使用根CA对服务器的CSR进行签名,生成服务器证书
使用根CA签名CSR并生成服务器证书
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days365 -sha256
- 根CA使用自己的私钥来签署服务器的CSR。 -CAcreateserial 选项会创建一个序列号文件,如果是第一次签名需要此选项。
4. index.txt 和 serial 文件创建
1. 创建 demoCA 目录和必要的文件
如果index.txt 文件不存在,需要手动创建它。根据配置文件中的路径,执行以下命令:
mkdir -p ./demoCA/newcerts
touch ./demoCA/index.txt
echo ‘1000’ > ./demoCA/serial
创建一个初始化序列文件
这里 1000 是下一个签发证书的初始序列号,你可以使用任何正整数值。
2. 创建 crlnumber 文件
根据 openssl.cnf 配置文件中指定的路径,执行以下命令:
echo ‘1000’ > ./demoCA/crlnumber
5. 吊销服务器的证书
创建CA的吊销列表 (CRL)
openssl ca -config /etc/ssl/openssl.cnf -revoke server.crt -keyfile rootCA.key -cert rootCA.pem
openssl ca -gencrl -config /etc/ssl/openssl.cnf -keyfile rootCA.key -cert rootCA.pem -out crl.pem
- 在执行上面的命令之前,需要根据实际环境修改 openssl.cnf 配置文件,并确保 index.txt 和 serial文件存在并且可写。