2013-12-12 50 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。 –

相关问题