openssl3.2 - 官方demo学习 - test - certs
这个例子有不同的地方, 发证书时, 指定了CA.
看实验注释, 是主一级CA来发证书.
\file my_openssl_linux_log_doc_015.txt
\note openssl3.2/test/certs - 015 - Primary intermediate ca: ca-cert
// ----------------------------------------------------------------------
// 官方原始脚本
// ----------------------------------------------------------------------
// openssl3.2/test/certs - 015 - Primary intermediate ca: ca-cert
./mkcert.sh genca “CA” ca-key ca-cert root-key root-cert
// ----------------------------------------------------------------------
// openssl 命令行参数整理/分析
// ----------------------------------------------------------------------
// cmd1
openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -out ca-key.pem
// cmd2
// config file = config_cmd2.txt
string_mask=utf8only
[req]
prompt = no
distinguished_name = dn
[dn]
CN = CA
openssl req -new -sha256 -key ca-key.pem -config config_cmd2.txt -out ca-key-req.pem
// cmd3
// config file = extfile_cmd3.txt
basicConstraints = critical,CA:true
keyUsage = keyCertSign,cRLSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid
// root-cert.pem, root-key.pem 是001实验产生的
// 证书和私钥必须匹配, 否则执行报错
// 这张证书产生时, 不仅用到了证书申请文件, 而且指定了CA证书和私钥. 这种情况用于CA根据证书申请文件发布证书.
openssl x509 -req -sha256 -out ca-cert.pem -extfile extfile_cmd3.txt -CA root-cert.pem -CAkey root-key.pem -set_serial 2 -days 36525 -in ca-key-req.pem
// ----------------------------------------------------------------------
// openssl 原始日志
// ----------------------------------------------------------------------
// cmd1
openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -out ca-key.pem
// cmd2
openssl req -new -sha256 -key ca-key.pem -config /dev/fd/63
-config /dev/fd/63 => /home/lostspeed/openssl/openssl-3.2.0_debian/test/certs/my_openssl_linux_log.txt
string_mask=utf8only
[req]
prompt = no
distinguished_name = dn
[dn]
CN = CA
// cmd3
openssl x509 -req -sha256 -out ca-cert.pem -extfile /dev/fd/63 -CA root-cert.pem -CAkey root-key.pem -set_serial 2 -days 36525
-extfile /dev/fd/63 => /home/lostspeed/openssl/openssl-3.2.0_debian/test/certs/my_openssl_linux_log.txt
basicConstraints = critical,CA:true
keyUsage = keyCertSign,cRLSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid