как преобразовать открытый ключ в кодировке base 64 (.pem) в bytearray?

как преобразовать открытый ключ в кодировке base 64 (.pem) в bytearray?

Мне нужно преобразовать файл открытого ключа в кодировке Base 64 в формате .pem в массив байтов с помощью openssl.

Необходимо преобразовать открытый ключ из следующего формата:

----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с пользовательским форматом для печати байтов как десятичных чисел, разделенных запятыми и пробелами. Наконец, echoиспользуется для того, чтобы убедиться, что вывод заканчивается новой строкой ( \n).

Выход:

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

Связанный контент