2012-02-06 91 views
0

任何人都可以指向OpenSSH密鑰的文件格式嗎?示例代碼會很棒,但即使是指向相關RFC的指針也會很有幫助。OpenSSH私鑰的格式

作爲背景,我有一個C#程序,它需要在運行時生成一個ssh密鑰。該程序將在Windows,Linux和Mac上運行,因此我寧願使用C#生成公鑰/私鑰對,而不是調用特定於平臺的工具/庫。我可以使用System.Security.Cryptography.RSACryptoServiceProvider生成密鑰的組件,但懷疑我沒有正確寫出這些密鑰。

謝謝。

+0

作爲一般原則,你應該使用受信任庫生成密鑰。如果你自己實施加密功能,可能會出現以下情況:1)它們將成爲越野車; 2)沒有對源代碼進行徹底審查,任何人都不會或應該相信它們。 – 2012-02-06 17:23:51

+0

@AhmedMasud你能詳細說明你的疑慮嗎?我以爲我使用的是受信任的庫,通過使用由MS/mono提供的RSACryptoServiceProvider來生成密鑰。我的問題是如何以ssh客戶端(特別是SSH.NET庫)理解的格式對密鑰進行序列化。 – simonc 2012-02-06 23:00:52

回答

1

The Secure Shell (SSH) Public Key File Format RFC 這是你在找什麼?

也值得一看(由我未驗證)是,如果使用膩子官方庫或自己的實現 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 膩子是一個開源SSH客戶端如果我記得正確的,可以生成密鑰。也許你會在那裏找到更容易取出的代碼。
否則也許只是挖成的ssh - 凱基來源

我一直對這樣的代碼在過去,這是一個真正的頭痛;)

+0

謝謝,但它的私人密鑰格式我正在尋找,我認爲OpenSSH鍵也有些不同。 +1雖然建議檢查膩子來源 – simonc 2012-02-06 23:02:18