como converter a chave pública codificada na base 64 (.pem) em bytearray?

como converter a chave pública codificada na base 64 (.pem) em bytearray?

Preciso converter um arquivo de chave pública codificado em Base 64 no formato .pem em uma matriz de bytes usando openssl.

Precisa converter a chave pública do formato abaixo:

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

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

para este formato:

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

Responder1

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

Isso é usado sedpara remover as linhas em branco e as linhas que contêm os marcadores BEGIN e END da chave pública, depois canaliza-as base64 -dpara decodificá-la e, em seguida, canaliza-as hexdumpcom um formato personalizado para imprimir os bytes como números decimais separados por vírgula e espaço . Finalmente echoé usado para garantir que a saída termine com uma nova linha ( \n).

Saída:

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

informação relacionada