zoukankan      html  css  js  c++  java
  • PKCS10生成证书csr

    public static String genCSR(String subject, String alg,String provider)
                throws InvalidKeyException, NoSuchAlgorithmException,
                NoSuchProviderException, SignatureException, OperatorCreationException {
            String signalg="";
            int alglength=0;
            String keyAlg="";
            if(alg.toUpperCase().equals("RSA1024")){
                signalg="SHA1WithRSA";
                alglength=1024;
                keyAlg="RSA";
            }else if(alg.toUpperCase().equals("RSA2048")){
                signalg="SHA1WithRSA";
                alglength=2048;
                keyAlg="RSA";
            }else if(alg.toUpperCase().equals("SM2")){
                signalg="SM3withSM2";
                alglength=256;
                keyAlg="SM2";
            }
            KeyPairGenerator keyGen = KeyPairGenerator.getInstance(keyAlg);
            keyGen.initialize(alglength);
            KeyPair kp = keyGen.generateKeyPair();
            PKCS10CertificationRequestBuilder builder = new PKCS10CertificationRequestBuilder(new X500Name(subject),SubjectPublicKeyInfo.getInstance(kp.getPublic().getEncoded()));
            JcaContentSignerBuilder jcaContentSignerBuilder = new JcaContentSignerBuilder(signalg);
            jcaContentSignerBuilder.setProvider(provider);
            ContentSigner contentSigner = jcaContentSignerBuilder.build(kp.getPrivate());
            builder.build(contentSigner);
            return builder.toString();
        }

      一.用到的包

      1. bouncycastle:bcmail-jdk15:1.46,org.bouncycastle.pkcs public class PKCS10Certi

    如果有使用请标明来源:http://www.cnblogs.com/duwenlei/
  • 相关阅读:
    【leetcode】 61. 旋转链表
    【leetcode】 55 跳跃游戏
    【leetcode 53】 最大子序和
    【leetcode】不同路径
    【leetcode】692. 前K个高频单词
    vue a标签使用@click
    函数式接口的使用
    【转】MyBatis中的collection两种使用方法
    xaf--homepage
    Windows10--设置鼠标自带光圈效果
  • 原文地址:https://www.cnblogs.com/duwenlei/p/3898929.html
Copyright © 2011-2022 走看看