Если ваша шестнадцатеричная строка просто конвертируется из base64 в hex. Тогда вы можете полностью изменить это. Вот скрипт, который я сделал (на PHP), чтобы решить мой случай:
<?php
$list = array_slice($argv, 1);
foreach ($list as $file) {
$hex = str_replace("\n", "", file_get_contents($file));
$pem = str_replace(".hex", ".pem", $file);
$b64 = base64_encode(hex2bin($hex));
$fd = fopen($pem, 'w');
fprintf($fd, "-----BEGIN PUBLIC KEY-----\n%s\n-----END PUBLIC KEY----\n", implode("\n", str_split($b64, 64)));
fclose($fd);
}
Учитывая список файлов .hex, он конвертируется обратно в ".pem". Вы можете запустить его так:
php script.php *.hex