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, ...

関連情報