2010-08-27 93 views
1

我希望能夠使用javascript生成私有/公共RSA密鑰...如何將RSA密鑰號碼轉換爲與OpenSSL兼容的密鑰?

到目前爲止,我發現了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(一個js加密庫)和紅寶石/ OpenSSL的結果...

非常感謝您的任何建議...

回答

1

OpenSSL的公共密鑰格式是由PKCS#1定義。 Base64編碼版本是一個PEM格式文件,它是Base64編碼的ASN.1 BER格式。

ASN.1不應對一個特別漂亮的格式,但它應該可以有足夠的苦勞......

相關問題