Вы должны быть в состоянии использовать OpenSSL (библиотека).
BIGNUM описан здесь . Есть много функций для создания BIGNUM из вашего ввода (в зависимости от формата). BN_bin2bn
, вероятно, самый простой, но также поддерживается шестнадцатеричный или десятичный ввод.
RSA - это структура, которая содержит BIGNUM. Это описано здесь . Вы можете инициализировать его самостоятельно (напрямую).
Затем вы можете написать структуру RSA, используя одну из функций PEM (описано здесь ). Например, PEM_write_RSAPrivateKey
записывает PEM-файл, содержащий закрытый ключ (вы также можете зашифровать его, если хотите).
Я не знаю ни одного инструмента, который бы делал все вышеперечисленное. Кроме того, ASN.1 не так уж плох (открытый / закрытый ключ в значительной степени является ПОСЛЕДОВАТЕЛЬНОСТЬЮ ИНТЕГРОВ).