Я хочу иметь возможность генерировать частные / публичные ключи 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 ...
Большое спасибо за любые предложения ...
Формат открытого ключа OpenSSL определяется PKCS#1. Версия с кодировкой Base64 представляет собой файл формата PEM, который представляет собой формат ASN.1 BER с кодировкой Base64.
ASN.1 не очень удобный формат, но при достаточном упорстве это возможно...