Openssl 我想预先回答csr问题,有人能告诉我怎么做吗?

Openssl 我想预先回答csr问题,有人能告诉我怎么做吗?,openssl,headless,Openssl,Headless,我正在尝试制作一个简单的烘焙ssl证书生成脚本。问题是我不知道如何创建类似于创建CSR的答案表 rndpass=$(修订版)&&openssl genrsa-passout pass:$rndpass-aes256 4096>server.key&&echo$rndpass>server.key.pass&&openssl req-sha256-pass:$rndpass-new-key/root/server.key-out server.csr经过更多的挖掘,我设法找到了实现这一点的方法 R

我正在尝试制作一个简单的烘焙ssl证书生成脚本。问题是我不知道如何创建类似于创建CSR的答案表


rndpass=$(修订版)&&openssl genrsa-passout pass:$rndpass-aes256 4096>server.key&&echo$rndpass>server.key.pass&&openssl req-sha256-pass:$rndpass-new-key/root/server.key-out server.csr经过更多的挖掘,我设法找到了实现这一点的方法

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
我从他那里得到了答案

这是我运行这一行的输出结果。我当然不是建议任何人使用这个证书或密码

root@21944aa49917:~#cat server.csr | gist paste-p root@21944aa49917:~#猫 server.key | gist粘贴-p root@21944aa49917:~#cat server.key.pass | gist paste-p

把它分解一下

首先,我们需要生成一个随机密码,并将其存储在变量$RNDPASS中。为了安全起见,我不会透露创建字符串的方法,但它会输出一个32个字符的字符串

RNDPASS=$()&&

然后,我们需要生成密钥,并使用“openssl genrsa”中的“passout ARG”部分生成密码,您可以阅读更多内容

openssl genrsa-passout pass:$RNDPASS-aes256 4096>server.key&&

现在我们已经生成了一个密钥,并且事情没有失败,让我们将输出存储在server.key.pass中。你真的可以在任何地方用管道把它传输到标准输出,在这个例子中,我选择用

echo$rndpass>server.key.pass&&

最后,我们需要生成csr(证书签名请求)。如果您需要,应该使用环境变量填充该csr。您可以将其与docker和环境变量一起使用,以这种方式自动生成ssl证书

openssl req-sha256-passin pass:$RNDPASS-subc>“/C=US/ST=Denial/L=Springfield/O=Dis/CN=example.com”-新建-key server.key-out server.csr


CN=www.example.com
-您应该使用Chrome浏览器访问您的网站。它肯定会失败。请勿在CN中放置DNS名称。IETF和CA/B论坛都反对它。将DNS名称放在SAN中。@jww您碰巧知道每个关键细节的简短版本吗?我希望我能早点看到,但遗憾的是我不知道。如果你真的弄明白了,请随时发布。我相信将来登陆这个网站的人会很想知道的。