wie konvertiere ich einen Base64-codierten öffentlichen Schlüssel (.pem) in ein Bytearray?

wie konvertiere ich einen Base64-codierten öffentlichen Schlüssel (.pem) in ein Bytearray?

Ich muss eine Base64-codierte öffentliche Schlüsseldatei im .pem-Format mit OpenSSL in ein Byte-Array konvertieren.

Der öffentliche Schlüssel muss aus dem folgenden Format konvertiert werden:

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

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

in dieses Format:

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

Antwort1

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

Dadurch sedwerden die leeren Zeilen und die Zeilen mit den Markierungen BEGIN und END für den öffentlichen Schlüssel entfernt, dann wird base64 -ddieser zur Dekodierung weitergeleitet und dann mit einem benutzerdefinierten Format weitergeleitet, hexdumpum die Bytes als durch Komma und Leerzeichen getrennte Dezimalzahlen zu drucken. Schließlich echowird sichergestellt, dass die Ausgabe mit einem Zeilenumbruch ( \n) endet.

Ausgabe:

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

verwandte Informationen