2011-11-07 271 views
2

我在十進制格式的RSA密鑰是這樣的:轉換RSA密鑰爲PEM格式

N: 131380300130444423689465024460852313971098730922811994958210650530501686748132880102503190365296216968351535889369502651601697016994057094307459860310817213533755054007252477133258682280599098830508996183566745393684789271087614478241425320061726198137426426490142200235611844869472546908487777450913733956847 
E: 65537 
D: 80297204963989065579466889768824319637950465647088430322583084471355799970954766200860052948440422519604509972209521777162610037317804551817832746460011635684494412969232268215156141089492528372187753214602862715747188949826914338588271329247689858629892142371556575928454002581316958535707202236560574870513 
P: 1224584489781086541356110467036625215751324632060784958572680296867401248241071907258999049522896850209985495153134079568147009917335592949603533318035603 
Q: 10728561502026755927334064184961854822182870744919733441933716834397978727498603128211162084788541605856166966893670172798846339557261092973389679407794073 

儘管OpenSSL的(對於PHP)要求,關鍵應該是PEM格式。我如何轉換它們?公鑰&「保持不變」是非常重要的(因爲我的意思是我不能只是創建一個新的密鑰對)。

編輯: 或者是更容易使一個PEM cartificate和提取所有這些值的十進制格式?如果是這樣,怎麼樣?

+1

你意識到你剛剛發佈了公鑰和私鑰。這意味着你在問題中發佈的密鑰對可以和***應該立即丟棄!希望你的問題中的這些數字只是例子。 –

+0

是的,他們是! – Fredefl

+0

好。那麼,你看過這個問題嗎? http://stackoverflow.com/questions/3865819/rsa-hex-keys-to-pem-format –

回答

2

短做自己(寫一個小utitlity程序轉換的關鍵PEM格式),你可以在這個URL使用Java工具:http://www.platanus.cz/blog/converting-rsa-xml-key-to-pem

它要求輸入是在一個XML文件,但該對你來說應該是微不足道的。

+0

Hhhmmmmmm,Java?還有其他選擇嗎? (我的意思是語言)(像C#或..?) – Fredefl

+0

或者,我該如何運行/使用它? – Fredefl

+0

有一個鏈接到頁面上的小工具的源代碼。 http://www.platanus.cz/uploads/production/document/3/XMLSec2PEM.java.txt如果需要,只需將其轉換爲C#。對於這樣一個小程序,Java很容易轉換爲C#。 –

0

嘗試monkeyspehere項目中的ssh2openpgp。

更新:也試試this。它解釋瞭如何從兩個步驟開始,OpenSSH→OpenSSL→GnuPG。

相關問題