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 sed
werden die leeren Zeilen und die Zeilen mit den Markierungen BEGIN und END für den öffentlichen Schlüssel entfernt, dann wird base64 -d
dieser zur Dekodierung weitergeleitet und dann mit einem benutzerdefinierten Format weitergeleitet, hexdump
um die Bytes als durch Komma und Leerzeichen getrennte Dezimalzahlen zu drucken. Schließlich echo
wird 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, ...