将 DER 格式的证书和密钥合并到一个文件中

Combine DER formated certificate and key into one file

使用简单的 PEM cat 工作正常:

cat key.pem cert.pem >cert+key.pem

提取工作正常

openssl pkey -text -noout -in cert+key.pem  # OK
openssl x509 -text -noout -in cert+key.pem  # OK

但是对于 DER 这不起作用。

cat cert.der key.der >cert+key.der
openssl x509 -text -noout -in cert+key.der -inform der  # OK
openssl pkey -text -noout -in cert+key.der -inform der  # ERROR
Can't open RBBR11912AZ000035.der for reading, No such file or directory
4612937152:error:02001002:system library:fopen:No such file or directory:crypto/bio/bss_file.c:69:fopen('RBBR11912AZ000035.der','rb')
4612937152:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:76:
unable to load key

这个顺序是有道理的。 OpenSSL 只能解析第一个密钥或证书。

如何正确连接 DER 格式的证书 + 密钥?

DER 是单个证书的编码。就像 BMP 文件是一种用于单个位图图像的格式。所以它不支持一个文件中的多个证书。

您可以将 PEM 文件视为一种“容器”格式。它包含一个或多个 base64 DER 格式的证书(以及私钥等其他内容)。

另一种证书容器格式是 PKCS12 (.pfx),可以将其视为 PEM 格式的二进制版本。