如何使用 openssl 将 .csr 转换为 .crt?

How to convert a .csr to .crt using openssl?

好吧,我已经尝试了下面的方法

openssl x509 -req -in <cert_name>.csr -signkey <key_name>.key -out output.crt    

但似乎会引发错误

140735226307408:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: CERTIFICATE REQUEST    

有什么解决办法吗?

问题的根源在于您的 CSR 格式:在使用 X509 时,您的数据可以使用 2 种格式存储:DER 和 PEM。

默认情况下,openssl 假定您使用的是 PEM。

对于您的情况,您应该首先将 CSR 转换为 PEM 格式: openssl req -inform DER -in .csr -out .pem 接着 openssl x509 -req -in .pem -signkey .key -out output.crt