在 openssl 文档中,它指出(在http://www.openssl.org/docs/apps/x509.html#INPUT_OUTPUT_AND_GENERAL_PURPOS)“-in”选项
如果未指定此选项,则指定要从中读取证书的输入文件名或标准输入。
我正在尝试弄清楚如何使用发送 CSRstdin来签署 CSR(使用私有 CA)。以下行会生成错误
openssl x509 -req -CA CA.pem -passin pass:abcdefg -set_serial 40 "-----BEGIN CERTIFICATE REQUEST-----###########-----END CERTIFICATE REQUEST-----"
Run Code Online (Sandbox Code Playgroud)
(其中######代表CSR数据)
错误是:
unknown option -----BEGIN CERTIFICATE REQUEST-----###########-----END CERTIFICATE REQUEST-----
Run Code Online (Sandbox Code Playgroud)
它将输入作为一个选项。
正在做
openssl x509 -req -CA CA.pem -passin pass:abcdefg -set_serial 40 -in request.pem
Run Code Online (Sandbox Code Playgroud)
"其中 request.pem 包含第一行中两者之间完全相同的数据是成功的。
我究竟做错了什么?
呃,您没有在标准输入上提供 CSR,而是将其指定为参数。要从标准输入提供它,您需要从文件重定向它,或者从另一个命令通过管道传输它。例如:
echo "-----BEGIN CERTIFICATE REQUEST-----###########-----END CERTIFICATE REQUEST-----" | openssl x509 -req -CA CA.pem -passin pass:abcdefg -set_serial 40
Run Code Online (Sandbox Code Playgroud)
或者,如果 CSR 存储在 csr.pem 中:
openssl x509 -req -CA CA.pem -passin pass:abcdefg -set_serial 40 < csr.pem
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8154 次 |
| 最近记录: |