Openssl
從 PEM 創建 DER 證書+密鑰
我不確定這是否可能。此外,OpenSSL 是一個醜陋的實用程序的母愛:/
至少根據他們的技術支持,我需要將頂級證書+私鑰作為 DER 上傳到 ESET 安全管理中心 (ESMC)。
我將 XCA 用於這個小型部署,並且沒有選項可以將 public+private 導出為 DER,只有 PEM(或其他一些格式)。那麼問題來了:如何將 PEM private+public 轉換為 DER?
PEM 和 DER 之間的區別僅在於它的儲存方式。DER 是二進制形式,PEM 是 base64 編碼文件(帶有“標題”)。由於 DER 或多或少是原始形式,因此您只能在文件中儲存一個對象。
如果您需要更多對象(例如密鑰和證書),則需要 PEM 編碼形式,其中基於“標題”可以區分對象(在文件中對象彼此跟隨)或某些特定容器格式,如 PKCS12(也支持通過openssl)。
對於 openssl,您可以使用選項
inform
並outform
指定您是否對 PEM 感興趣(如果您不請求 DER,則預設使用)或 DER。對於密鑰(假設 rsa) - 由於 PEM 是預設的,因此以下命令是相等的:
openssl rsa -in <file_with_key> -out <new_der_key_file> -outform DER openssl rsa -in <file_with_key> -inform PEM -out <new_der_key_file> -outform DER
對於證書 - 也是兩種相等的形式:
openssl x509 -in <cert_file> -out <new_der_cert> -outform DER openssl x509 -in <cert_file> -inform PEM -out <new_der_cert> -outform DER
如果是 pkcs12 容器(如果支持,如果需要,將在導入期間完成轉換):
openssl pkcs12 -export -in <cert_file> -inkey <key_file> -out <pkcs12_file>.p12