我已经找到了一组SSL命令(使用openssl工具)来创建私钥,CSR以及最终的证书。
根密钥和证书:
envsubst < /path/to/Dockerfile | docker build -t myDockerImage . -f -
客户端SSL密钥和证书:
openssl genrsa -aes256 -out private/ca.key.pem 4096
openssl req -config openssl.cnf -key private/ca.key.pem -new -x509 -days 7300 -sha256 -extensions v3_ca -out certs/ca.cert.pem
但是,在客户端SSL证书创建的第三步,该工具会询问以下几个(交互式)问题:
openssl genrsa -aes256 -out private/client.key.pem 2048
openssl req -config openssl.cnf -key private/client.key.pem -new -sha256 -out csr/client.csr.pem
openssl ca -config openssl.cnf -extensions usr_cert -days 375 -notext -md sha256 -in csr/client.csr.pem -out certs/client.cert.pem
只有在命令行中添加'-batch'选项后,上述两个提示才会消失。但是,我没有在'man openssl'页面上找到任何提及或帮助。
我使用的是openssl 1.0.2k版。此选项是否已弃用或已隐藏?它仍然有效,并使上述命令非交互式。