PEM形式の公開鍵をDERに変換 [重複]

PEM形式の公開鍵をDERに変換 [重複]

以下のASN.1 DER形式の公開鍵があります。

    0:d=0  hl=3 l= 181 cons: SEQUENCE          
    3:d=1  hl=3 l= 144 cons: SEQUENCE          
    6:d=2  hl=2 l=   0 prim: PRINTABLESTRING   :
    8:d=2  hl=3 l= 139 prim: OCTETSTRING      [HEXDUMP]: <Some Data>
  150:d=1  hl=2 l=  32 prim: OCTET STRING     [HEX DUMP]:<some data>

PEM形式の公開鍵があります。上記のキー形式にどのように変更しますか?

答え1

PEMファイルは、単にBase64でエンコードされたDERファイルです。あるものから別のものに変換するには、opensslパラメータを使用できます。それぞれは、または(無視できる古いNetscape形式)のいずれかです。-inform-outformPEMDERNET

次のコマンドを使用して、キーをある形式から別の形式に変更することができますopenssl rsa(もちろんRSAキーであると仮定)。

$ openssl rsa -pubin -inform PEM -in <filename of key in PEM format> -outform DER -out <filename of key in DER format>
writing RSA key

その後、次のコマンドを使用してファイルのASN.1エンコーディングを表示できます。

$ openssl asn1parse -inform DER -in <filename of DER file>
    0:d=0  hl=3 l= 159 cons: SEQUENCE          
    3:d=1  hl=2 l=  13 cons: SEQUENCE          
    5:d=2  hl=2 l=   9 prim: OBJECT            :rsaEncryption
   16:d=2  hl=2 l=   0 prim: NULL              
   18:d=1  hl=3 l= 141 prim: BIT STRING

もちろん、キーがRSAキーではない場合は便利ではありませんが、あなたの質問にキータイプが指定されていないので推測します:-)

関連情報