我正在尝试制作一个简单的bake ssl证书生成脚本。问题是我不知道如何创建类似于创建CSR的答案纸。
rndpass = $(已删除)&& openssl genrsa -passout pass:$ rndpass -aes256 4096> server.key&& echo $ rndpass> server.key.pass&& openssl req -sha256 -passin pass:$ rndpass -new -key /root/server.key -out server.csr
答案 0 :(得分:1)
经过更多挖掘后,我设法找到了实现这一目标的方法。
RNDPASS=$(REDACTED) && openssl genrsa -passout pass:$RNDPASS -aes256 4096 > server.key && echo $rndpass > server.key.pass && openssl req -sha256 -passin pass:$RNDPASS -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=example.com" -new -key server.key -out server.csr
抓起了答案
这是我运行此行的输出结果。我当然不会向任何人建议他们实际使用此证书csr或密码。
root @ 21944aa49917:〜#cat server.csr | gist-paste -p https://gist.github.com/2f90234c701ec2244365 root @ 21944aa49917:〜#cat server.key | gist-paste -p https://gist.github.com/bf508e9048e2e4a385d3 root @ 21944aa49917:〜#cat server.key.pass | gist-paste -p https://gist.github.com/2cd73181136895133621
打破这一点。
首先我们需要生成一个随机密码,我们将存储在变量$ RNDPASS中以保证我的安全性我不会透露我用来创建字符串的魔法,但它会输出一个32个字符的字符串。
RNDPASS = $(REDACTED)&&
然后我们需要生成密钥,在密码错误的情况下为其提供密码" -passout ARG" " openssl genrsa"你可以阅读更多here.
openssl genrsa -passout pass:$ RNDPASS -aes256 4096> server.key&&
现在我们已经生成了一个密钥而且事情没有失败,我们将输出存储在server.key.pass中。你可以真正把它管到任何地方,即使只是回到标准输出我选择将它粘贴到这个例子中的文件...
echo $ rndpass> server.key.pass&&
最后,我们需要生成csr(证书签名请求),如果您希望可以使用它与docker和环境变量一起使用环境变量来自动生成ssl证书。
openssl req -sha256 -passin pass:$ RNDPASS -subj> " /C=US/ST=Denial/L=Springfield/O=Dis/CN=example.com" -new -key server.key -out server.csr