Как преобразовать номера ключей RSA в OpenSSL-совместимые ключи?

Я хочу иметь возможность генерировать частные / публичные ключи RSA только с помощью javascript ...

Пока что я нашел http://www.hanewin.net/encrypt/rsa/rsa .htm , он включает единственный найденный мной генератор ключей Javascript RSA. Я создал обертки (изменив код со страницы демонстрации (см. Ссылку)), вот для ключей:

function genKeys() {
 rsaKeys(1024);
 var p=rsa_p;
 var q=rsa_q;
 var d=rsa_d;
 var u=rsa_u;
 var e=rsa_e;
 var pq=rsa_pq;

 return {"e": e, "p": p, "q": q, "pq": pq, "d": d, "u": u};
}

Проблема в том, что выходные данные представлены в виде фактических чисел (экспонента, модуль и т. Д.), но мне нужен ключ в формате OpenSSL (вещь, закодированная в base64). Может кто-нибудь сказать мне, каков формат данных ключа OpenSSL, или даже лучше - как мне преобразовать ключ, сгенерированный с помощью кода с этого сайта, в ключ OpenSSL?

Я хочу использовать результат с pidcrypt (a js крипто библиотека) и ruby ​​/ openssl ...

Большое спасибо за любые предложения ...

1
задан neubert 2 June 2014 в 13:26
поделиться

1 ответ

Формат открытого ключа OpenSSL определяется PKCS#1. Версия с кодировкой Base64 представляет собой файл формата PEM, который представляет собой формат ASN.1 BER с кодировкой Base64.

ASN.1 не очень удобный формат, но при достаточном упорстве это возможно...

1
ответ дан 2 September 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: