2013-12-12 84 views
12

我對Java的安全性方面很陌生,偶然發現了這個名爲bouncycastle的庫。但他們提供的實例和互聯網上的了要求使用 -使用BouncyCastle API生成CSR

 return new PKCS10CertificationRequest("SHA256withRSA", new X500Principal(
    "CN=Requested Test Certificate"), pair.getPublic(), null, pair.getPrivate() 

但是當我使用PKCS10CertificationRequest,它看起來像它已被棄用。所以我開始考慮使用CertificationRequest類的另一種方法。但我真的很困惑,構造函數不採用相同的參數,而是採用CertificationRequestInfo類,我不知道如何填充。

CertificationRequest request = new CertificationRequest(...); 

這將是真棒,如果有人可以幫我找出如何使企業社會責任,這樣我可以將它發送到服務器爲獲得簽署。

感謝,

回答

18

隨着最新版本BouncyCastle的的建議使用org.bouncycastle.pkcs.PKCS10CertificationRequestBuilder類來創建CSR。

您可以使用此代碼snipppet:

KeyPair pair = generateKeyPair(); 
PKCS10CertificationRequestBuilder p10Builder = new JcaPKCS10CertificationRequestBuilder(
    new X500Principal("CN=Requested Test Certificate"), pair.getPublic()); 
JcaContentSignerBuilder csBuilder = new JcaContentSignerBuilder("SHA256withRSA"); 
ContentSigner signer = csBuilder.build(pair.getPrivate()); 
PKCS10CertificationRequest csr = p10Builder.build(signer); 
+0

謝謝..如何打印的企業社會責任? – Fox

+1

我知道了..在PEMWriter類的幫助下做到了..感謝您的幫助。 – Fox

+2

對於新的代碼,我建議使用JcaPEMWriter而不是PEMWriter。現在不推薦使用相同的界面,但PEMWriter。 –

相關問題