我想预先回答csr问题,有人可以告诉我该怎么做吗?

时间:2014-09-28 22:19:41

标签: openssl headless

我正在尝试制作一个简单的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

1 个答案:

答案 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

我从superuser.com

抓起了答案

这是我运行此行的输出结果。我当然不会向任何人建议他们实际使用此证书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