(SSL)如何将 .der 文件转换为 .cer 文件?

A. *_*zak 2 certificate ssl openssl

我遵循How To: DER vs CRT vs CER vs PEM Certificates and How to Convert Them,想了解如何设置 SSL,但我找不到很好的参考。

在我的服务器上,我支付了证书,而不是自签名证书,我想在我的 apache2 服务器中启用 SSL;内000-default.conf,我需要插入.cer文件路径:

SSLCertificateFile     /ets/ssl/example.pl.crt
SSLCertificateKeyFile  /etc/ssl/example.key
Run Code Online (Sandbox Code Playgroud)

据我了解,.der是一个加密.cer文件;我应该将 a 转换.der.cer,还是我的想法错了?

use*_*686 11

未来访问者:请注意,虽然所有 X.509 证书都是 DER,但并非所有 DER 文件都是X.509——许多其他非证书的东西也使用 DER。该线程严格涉及 X.509 证书,而不涉及任何其他数据类型。


X.509 证书始终采用 DER 格式,但通常以两种方式存储:

  1. 原始二进制 DER(通常的扩展名:.der, .cer
  2. 文本、Base64 编码的 DER,有时称为“PEM”(通常的扩展名:.crt, .pem

请注意,扩展并不是一成不变的——.cer可能是文本的,.crt也可能是二进制的,等等。你必须真正向内看。

(不涉及加密;证书是公共信息。)

要将一个证书从二进制格式转换为文本格式,您可以使用:

openssl x509 -in mycert.der -inform DER -out mycert.pem

# both -inform and -outform default to "PEM" if not specified otherwise
Run Code Online (Sandbox Code Playgroud)

或者因为它只是 Base64,

(echo "-----BEGIN CERTIFICATE-----";
 base64 < mycert.der;
 echo "-----END CERTIFICATE-----") > mycert.pem
Run Code Online (Sandbox Code Playgroud)

但是,无论您使用哪种方式,都不要忘记将证书链(从您的 CA 获得的“颁发者”或“中间”证书)添加到同一个 PEM 文件中。大多数软件都希望在一个文件中完成所有操作,尽管 Apache 曾经在 v2.2.x 中使用单独的 SSLCertificateChainFile 选项。