Base 64でエンコードされた公開鍵(.pem)をbytearrayに変換するには?

Base 64でエンコードされた公開鍵(.pem)をbytearrayに変換するには?

opensslを使用して、.pem形式のBase 64でエンコードされた公開鍵ファイルをバイト配列に変換する必要があります。

公開鍵は次の形式に変換する必要があります。

----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxl4aRnRMBB9GZrNgy6sy
seyIA3Ek3a1xg0b8gKrCSgnSjH+lqtBGwtzKqM020piE1q0YrzGpfQxNJ8HPRc0F
OlII7VKuCFGqEuLH2+kFJPUUdRqBr0iN/D8ADp9rLEL2Q4F7qM1t0z0IW6zD

-----END PUBLIC KEY----- 

この形式で:

48, -127, -97, 48, 13, 6, 9, 42, -122, 72, -122, -9, 13,...

答え1

sed -e '/----.*PUBLIC KEY----\|^[[:space:]]*$/d' praj.pem | 
    base64 -d | 
    hexdump -v -e '/1 "%02d, "' ; echo

sedこれは、公開鍵のBEGINおよびENDマーカーを含む空白行と行を削除し、それをパイプでデコードし、カスタムbase64 -d形式hexdumpを使用してパイプを介してカンマとスペースで区切られた10進数でバイトを印刷するために使用されます。最後の文字は、echo出力が改行文字(\n)で終わるようにするために使用されます。

出力:

48, -126, 01, 34, 48, 13, 06, 09, 42, -122, 72, -122, -9, 13, 01, 01, 01, 05, ...

関連情報