小编sap*_*pan的帖子

无法使用PEM文件格式的org.bouncycastle.asn1.pkcs.CertificationRequest编写CSR

我使用BouncyCastle API和bcprov-jdk15on-147罐子生成CSR.

CertificationRequestInfo certInfo = new CertificationRequestInfo(subject, subKeyInfo, new DERSet(attribute));
org.bouncycastle.operator.ContentSigner sigGen = null;
sigGen = new JcaContentSignerBuilder("SHA1withRSA").setProvider("BC").build(privateKey);
org.bouncycastle.asn1.pkcs.CertificationRequest ctest = new org.bouncycastle.asn1.pkcs.CertificationRequest(certInfo,sigAlgName,new DERBitString(sigGen.getSignature()));
Run Code Online (Sandbox Code Playgroud)

我将这个obejct传递给我的调用函数:

GenerateCSR gcsr = GenerateCSR.getInstance();
System.out.println("Public Key:\n"+gcsr.getPublicKey().toString());

System.out.println("Private Key:\n"+gcsr.getPrivateKey().toString());
org.bouncycastle.asn1.pkcs.CertificationRequest  csr = gcsr.getCSR("IMO");
System.out.println("CSR Request Generated!!");
FileWriter fcsr = new FileWriter("C:\\test.txt");
PEMWriter w1 = new PEMWriter(fcsr);
w1.writeObject(csr);
Run Code Online (Sandbox Code Playgroud)

但我得到以下例外:

Exception in thread "main" org.bouncycastle.util.io.pem.PemGenerationException: unknown object passed - can't encode.
    at org.bouncycastle.openssl.MiscPEMGenerator.createPemObject(Unknown Source)"
Run Code Online (Sandbox Code Playgroud)

java bouncycastle x509certificate

5
推荐指数
2
解决办法
3167
查看次数

标签 统计

bouncycastle ×1

java ×1

x509certificate ×1