1

我已經確定,經過一番研究,在爲了產生和在Java編程簽署證書,我需要BouncyCastle的庫。生成數字證書使用BouncyCastle的

不幸的是,看來庫經歷了一個大修了一段相當最近。現在已經棄用了大量的類,我發現的所有教程和代碼示例都足夠簡單易懂,並且與它們一起被棄用。

我對密碼學頗爲陌生。我只掌握了基本的知識和對實際要完成的事情的模糊概念,但我已經摸索了過時的教程和假想的Bouncycastle文檔,並且這是一次艱苦的經歷。

有沒有什麼簡單的理解,最新的Bouncycastle教程,或我應該看看的替代庫?或者我應該咬緊牙關,忽略棄用警告並希望最好?

+0

,否則,你可以看看EJBCA,無論是在源代碼,或者你可以使用它作爲一個服務。你確定你需要從代碼生成證書嗎?有很多其他選項可以在那裏創建硅化物。 – 2012-08-16 18:55:00

+0

我正在設計一個服務器,它向客戶端提供身份驗證,以便他們可以在p2p環境中彼此驗證,而不需要所述服務器始終可用。不同的選擇將是受歡迎的。我會看看EJBCA並在稍後再評論。 – Numeron 2012-08-17 01:58:45

回答

1

這是有點難找,但bouncycastle wiki有一些簡短但甜蜜的文件。特別是第一個例子this page標題爲一個簡單的操作員例子應該讓你開始。

另一個非常好的選擇是隻使用庫的版本1.46,最後一個版本使用舊的API。

+0

對不起,接受了一段時間。在維基和在線教程的幫助下,我最終使用了1.46,一旦我掌握了將代碼遷移到其他代碼的過程。 – Numeron 2012-08-31 06:05:13

0

你真的需要直接使用Bouncycastle還是不能將它用作加密服務提供程序?所以你不需要使用BCs API。請參閱JCA Reference Guide。我使用一段加密這些行:

static { 
    Security.addProvider(new BouncyCastleProvider()); 
} 

public void someMethod() { 
    KeyFactory fact = KeyFactory.getInstance("RSA", "BC"); 
    Key key = fact.generatePublic(PUB_KEY_SPEC); 
    // do stuff 
} 

您可能需要在CertificateFactory仔細看看。

+0

「該類定義了證書工廠的功能,該工廠用於從其編碼生成證書,證書路徑(CertPath)和證書撤銷列表(CRL)對象**。**」強調我的。 Furhtermore,他沒有問如何從編碼中創建密鑰。 – 2012-08-16 21:13:52