bouncycastle创建csr

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

转载于:https://www.cnblogs.com/duwenlei/p/3913021.html

Bouncy Castle是一个Java加密库,它提供了许多加密算法、密钥生成、证书管理以及其他安全功能的实现。它是开源的,并且在许多项目中被广泛使用。 使用Bouncy Castle,首先需要将其添加到项目的依赖项中。可以通过在构建工具(如Maven或Gradle)中添加相应的依赖来实现。然后,可以在代码中引入Bouncy Castle的各种类和函数。 一些常用功能的使用示例如下: 1. 对称加密算法:可以使用Bouncy Castle实现常见的对称加密算法(如AES、DES)进行加解密操作。首先需要创建加密器或解密器对象,并为其提供密钥和其他必要的参数。然后可以调用相应的方法来对数据进行加密或解密。 2. 非对称加密算法:Bouncy Castle支持常见的非对称加密算法(如RSA、DSA、ECC)。可以使用Bouncy Castle生成密钥对,对数据进行签名和验证,以及进行密钥交换等操作。 3. 消息摘要算法:Bouncy Castle提供了各种安全哈希算法(如MD5、SHA-1、SHA-256)的实现。可以使用Bouncy Castle计算数据的哈希值,并进行数字签名和验证等操作。 4. 数字证书和密钥管理:Bouncy Castle提供了一套用于数字证书和密钥管理的API。可以使用Bouncy Castle创建、读取和验证数字证书,以及进行密钥的生成和管理。 总之,Bouncy Castle是一个功能强大的加密库,可以用于实现各种加密和安全相关的功能。它的使用方法多种多样,需要根据具体的需求选择合适的API和方法进行调用。在使用Bouncy Castle时,应注意遵循相关的安全最佳实践,以确保数据的机密性和完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值