CA作业
0 使用openssl或者gmssl,提交markdown格式文档和转化后的pdf
1 创建一个根 CA,包括生成私钥和根证书。分析证书和0015,0034标准的符合情况
生成根CA的私钥
生成根证书 (有效期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
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 -days 365 -sha256
根CA使用自己的私钥来签署服务器的CSR。 -CAcreateserial 选项会创建一个序列号文件,如果是第一次签名需要此选项。
index.txt 和 serial 文件创建
创建 demoCA 目录和必要的文件
如果index.txt 文件不存在,需要手动创建它。根据配置文件中的路径,执行以下命令:
mkdir -p ./demoCA/newcerts
touch ./demoCA/index.txt
echo ‘1000’ > ./demoCA/serial
创建一个初始化序列文件
这里 1000 是下一个签发证书的初始序列号,你可以使用任何正整数值。
- 创建 crlnumber 文件
根据 openssl.cnf 配置文件中指定的路径,执行以下命令:
echo ‘1000’ > ./demoCA/crlnumber
4 吊销该服务器的证书。
创建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文件存在并且可写。