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

最新文章

  1. 使用Fiddler关于“由于目标计算机积极拒绝,无法连接。”的解决方案
  2. Andriod学习笔记3:Mac 平台下搭建 CLion 集成开发环境
  3. iOS应用中的相关正则及验证
  4. 环信SDK报错处理方法obtain an updated library from the vendor, or disable bitcode for this target. for archit
  5. Android SDK代理服务器解决国内Android SDK不能更新下载问题
  6. AXIS最佳实践
  7. 第四章ContentProvider
  8. npm下载包时代理配置
  9. Linux下编译安装python3
  10. JavaScript内的类型转换
  11. Asp.Net MVC 3【Filters(过滤器)】
  12. OC5_构造方法与self指针
  13. PHP 11:函数
  14. 你需要知道的Android拍照适配方案
  15. java枚举使用 总结
  16. apache中 sed 指定文件中某字符串增加行
  17. 安装anaconda和python3.7环境
  18. python运算符和数据类型的可变性
  19. 【SQL实践】其他常用SQL汇总
  20. Java大数统计-hdu1316

热门文章

  1. C++之路进阶——bzoj3524(Couriers)
  2. CCF真题之图像旋转
  3. c++中的传参问题
  4. oracle的冷备份
  5. 夺命雷公狗---DEDECMS----7dedecms目录结构
  6. PAT乙级 1019. 数字黑洞 (20)
  7. 手机端js事件支持(event)
  8. 帮初学者改代码——playerc之“练习:求完数问题”(上)
  9. 【转】C#访问权限修饰符
  10. YeoMan 与Angularjs