2012-06-27 95 views

回答

7

BouncyCastleCrypto,因爲它是一個瘋狂的名字,我非常確定擁有所有這些功能。幾乎所有的RFC標準都已實施。當我幾年前使用它時,它的記錄很差,但單元測試非常徹底,以至於您可以搜索某些關鍵詞(如「509」)並查找運行框架部分的單元測試你需要。

我真的發現我必須詳細閱讀一些RFC標準才能理解如何使用該框架。他們確實沒有付出任何努力,像「cert.Sign(key)」那樣簡單。相反,它非常細化,你必須創建6個對象,並確切知道如何將它們放在一起才能完成某件事情。然而,如果你知道如何使用這種力量,這會給你完全的靈活性和力量。我個人使用它來加載X.509證書,執行各種密鑰生成任務,數字簽名/驗證,自簽名等,但我早已忘記了所有這些,除了一個自信,沒有多少幫助可以做到。

+0

偉大的答案....但我會爭辯說,開發人員應始終明白他們正在使用(即RFC標準),以便正確實施它。此外,良好的文檔總是可以在以後完成,良好的代碼和良好的單元測試很難得到正確的結果,文檔可以在以後處理。 –

+0

@Ramhoud我同意,但我的觀點是,RFC標準不僅僅是理解如何正確應用這些技術,還包括諸如數據如何包裝到消息中以及所有各種ID和基礎設施等細節。其他API更簡單。 BouncyCastle作爲一種低級API,要求您熟悉大多數其他API抽象出來的許多事情。儘管如此,我並沒有敲開BouncyCastle,因爲我確信他們的目的是揭示所有這些低級細節,並且他們做得很好,這給了你更多的靈活性。 – AaronLS

3

我也會推薦Bouncy Castle圖書館用於生產目的。但是,如果您希望使用更輕鬆的學習曲線來減少某些內容,則可以使用Windows自己的證書創建工具makecert.exe。您可以使用Process.Start從C#運行它,提供正確的命令行參數。