У меня есть модуль & показатель открытого ключа RSA, встроенный в двоичный файл, и я пытаюсь извлечь весь блок и создать полезный. открытый ключ.как преобразовать необработанный модуль и показатель экспоненты в открытый ключ RSA (формат .pem)
В настоящее время я извлекаю полные 260 байтов (4 байта для показателя, 256 байт для модуля) и кодировку как base64. Я делаю это с помощью следующей команды оболочки:
tail -c $((filesize - start_of_key_data)) filename | head -c $size_of_key_data | base64 > outkey
Это дает мне следующую строку:
<<<<<< modulus & exponent extracted from binary file, base64-encoded >>>>>>
tZyrQA6cZFJfVm6FyXwtZaLQYg8EecuO+ObrHTwc8JO+XrgnpNAdmlhbAEPxSNnjwhNnbYGYGL4F
vzmnZXzZU71Key42HQPh1k2Zx1UDbrH5ciODKx1ZbuEx8K24SHnL1nY/H75hwhT/ZRRVGQDvYDT+
sgzw2vmV66+dflw1Zs8BLhqjLjczdHvjeVXsDRJ9Mvvd/dhFH8UlTf4JpLGya9nsNIfNBBIf1Lll
RWwCTiEIbaOMgWcLjLV/2tk/j5Dra/oQnVf/2hVsEF/hXEx41YjeEW/warweoDVG7zaxrHEc/k/r
ZCUCZKxf8nBKdqax/gRICvkG6e5xg2GQw0W/ZwABAAE=
Теперь, когда я беру key.pem ключей, что модуль & показатель первоначально были извлечены из и отображать открытую часть, как так
openssl rsa -in key.pem -pubout -out pubkey.pem
я получаю эту строку (я опустил нижние колонтитулы заголовка &:
<<<<<<<<< valid public key data extracted from keypair >>>>>>>>>
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtZyrQA6cZFJfVm6FyXwt
ZaLQYg8EecuO+ObrHTwc8JO+XrgnpNAdmlhbAEPxSNnjwhNnbYGYGL4FvzmnZXzZ
U71Key42HQPh1k2Zx1UDbrH5ciODKx1ZbuEx8K24SHnL1nY/H75hwhT/ZRRVGQDv
YDT+sgzw2vmV66+dflw1Zs8BLhqjLjczdHvjeVXsDRJ9Mvvd/dhFH8UlTf4JpLGy
a9nsNIfNBBIf1LllRWwCTiEIbaOMgWcLjLV/2tk/j5Dra/oQnVf/2hVsEF/hXEx4
1YjeEW/warweoDVG7zaxrHEc/k/rZCUCZKxf8nBKdqax/gRICvkG6e5xg2GQw0W/
ZwIDAQAB
Вы можете видеть, что основные данные, которые я извлек и кодировке base64 сам является на самом деле присутствует в данных действительных открытых ключей данных, извлеченных из key.pem с использованием OpenSSL. Однако есть 45 символов в начале, что мои собственные Извлеченные данные не -
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
и последние 8 символов также различаются.
ZwIDAQAB
Может ли кто-нибудь предложить советы о том, как преобразовать модуль и показатель в полезный открытый ключ?
(цель, чтобы сделать это в Баш скрипт, а не Python или C, как я видел, что многие предполагают.)
потрясающий ответ! –