public static void main(String[] args) {
String subjectDN = "CN=duwenlei";
String algorithm = "";
try {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(2048);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
algorithm = keyPair.getPrivate().getAlgorithm();
PKCS10CertificationRequestBuilder builder = new PKCS10CertificationRequestBuilder(new X500Name(subjectDN)
,SubjectPublicKeyInfo.getInstance(keyPair.getPublic().getEncoded())); JcaContentSignerBuilder jcaBuilder = new JcaContentSignerBuilder("sha1withrsa");
// jcaBuilder.setProvider(provider); 这里可以添加提供者
ContentSigner contentSigner = jcaBuilder.build(keyPair.getPrivate());
builder.build(contentSigner);
System.out.println(builder.toString());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (OperatorCreationException e) {
e.printStackTrace();
} }

需要用到的包:bcmail-jdk15-1.46.jar,bcprov-jdk15-1.46.jar,用不到:bctsp-jdk15-1.46.jar

05-11 23:04