最近在研究通过bc包生成CSR的功能,已知用bcprov-15jdk包是没问题的之前用的也一直是这种方法,但是最近有个项目需要同时用到电子签章和电子签名功能,bcprov-jdk15和bcprov-jdk15on两个jar包又不能兼容,于是就考虑将之前的电子签名创建CSR的功能用bcprov-jdk15on包来实现,具体实现如下所示:
* 创建证(CSR)
* @param paramInt 密钥对长度
* @param paramString1 密钥对算法
* @param paramString2 CSR算法
* @param paramString3 证书提供者(一般为BC)
* @return
* @throws Exception
public static String generationTest(int paramInt, String paramString1, String paramString2, String paramString3) throws Exception {
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
KeyPairGenerator localKeyPairGenerator = KeyPairGenerator.getInstance(paramString1, "BC");
localKeyPairGenerator.initialize(paramInt);
KeyPair localKeyPair = localKeyPairGenerator.genKeyPair();
X500NameBuilder localX500NameBuilder = new X500NameBuilder(BCStyle.INSTANCE);
localX500NameBuilder.addRDN(BCStyle.CN, "dpp");
localX500NameBuilder.addRDN(BCStyle.C, "AU");
localX500NameBuilder.addRDN(BCStyle.O, "The Legion of the Bouncy Castle");
localX500NameBuilder.addRDN(BCStyle.L, "Melbourne");
localX500NameBuilder.addRDN(BCStyle.ST, "Victoria");
localX500NameBuilder.addRDN(BCStyle.EmailAddress, "feedback-crypto@bouncycastle.org");
X500Name localX500Name = localX500NameBuilder.build();
JcaPKCS10CertificationRequestBuilder localJcaPKCS10CertificationRequestBuilder = new JcaPKCS10CertificationRequestBuilder(localX500Name, localKeyPair.getPublic());
PKCS10CertificationRequest localPKCS10CertificationRequest = localJcaPKCS10CertificationRequestBuilder.build(new JcaContentSignerBuilder(paramString2).setProvider(paramString3).build(localKeyPair.getPrivate()));
JcaPKCS10CertificationRequest localJcaPKCS10CertificationRequest = new JcaPKCS10CertificationRequest(localPKCS10CertificationRequest.getEncoded()).setProvider(paramString3);
if (!localJcaPKCS10CertificationRequest.isSignatureValid(new JcaContentVerifierProviderBuilder().setProvider(paramString3).build(localKeyPair.getPublic()))) {
System.out.println(paramString2 + ": Failed verify check.");
if (!Arrays.areEqual(localJcaPKCS10CertificationRequest.getPublicKey().getEncoded(), localPKCS10CertificationRequest.getSubjectPublicKeyInfo().getEncoded())) {
System.out.println(paramString1 + ": Failed public key check.");
return Base64.encodeBase64String(localJcaPKCS10CertificationRequest.getEncoded());
所需要的jar包为:
bcprov-jdk15on-1.60.jar
最近在研究通过bc包生成CSR的功能,已知用bcprov-15jdk包是没问题的之前用的也一直是这种方法,但是最近有个项目需要同时用到电子签章和电子签名功能,bcprov-jdk15和bcprov-jdk15on两个jar包又不能兼容,于是就考虑将之前的电子签名创建CSR的功能用bcprov-jdk15on包来实现,具体实现如下所示: /** * 创建证(CSR) * @param ...
赠送jar
包
:
bcp
rov
-
jdk
15on
-1.58.jar;
赠送原API文档:
bcp
rov
-
jdk
15on
-1.58-javadoc.jar;
赠送源代码:
bcp
rov
-
jdk
15on
-1.58-sources.jar;
赠送Maven依赖信息文件:
bcp
rov
-
jdk
15on
-1.58.pom;
包
含翻译后的API文档:
bcp
rov
-
jdk
15on
-1.58-javadoc-API文档-中文(简体)版.zip;
Maven坐标:org.bouncycastle:
bcp
rov
-
jdk
15on
:1.58;
标签:bouncycastle、
bcp
rov
、
jdk
15on
、中文文档、jar
包
、java;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
bcp
rov
-
jdk
15on
简介、中文文档、中英对照文档 下载;
bcp
rov
-
jdk
15on
、org.bouncycastle、中文文档、中英对照文档、下载、
包
含jar
包
、原API文档、源代码、Maven依赖信息文件、翻译后的API文档、
jdk
15on
、bouncycastle、
bcp
rov
、jar
包
、java、中英对照文档;
bcp
rov
-
jdk
15on
-1.68.jar、
bcp
rov
-
jdk
15on
-1.60.jar、
bcp
rov
-
jdk
15on
-1.59.jar、
bcp
rov
-
jdk
15on
-1.58
源地址:https://www.cnblogs.com/syj2016/p/13501454.html
bcp
kix
-
jdk
15on
-1.60.jar下载地址: https://maven.ityuan.com/maven2/org/bouncycastle/
bcp
kix
-
jdk
15on
/1.60
bcp
rov
-
jdk
15on
-1.60.jar下载地址: https://maven.ityuan.com/maven2/org/bouncycastle/...
一. 背景
最近需要将一项加解密功能从Web应用中剥离,制作成一个独立可执行的Jar
包
,供客户离线使用。加解密时使用到了
bcp
rov
轻量级加密API,这个Jar
包
在运行时会检索签名,比对自身
包
含的文件大小,若有任何一项出现异常,则运行时直接报错:
java.lang.SecurityException: JCE cannot authenticate the p
rov
ider...
在MyEclipse10.7中,把项目部署在tomcat7上,进而启动server时出现一系列问题,如下:
使用
bcp
rov
-
jdk
15on
-1.5.2.jar/1.6.0.jar版本引出的问题
严重: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component...
import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
import cn.hutool.crypto.symmetric.SM4;
import cn.hutool.crypto.symmetric.SymmetricCrypto;
* sm4加密算法工具类
bcp
rov
-
jdk
15和
bcp
rov
-
jdk
15on
引发的奇怪bug
// An highlighted block
Caused by: java.lang.NoSuchMethodError: org.bouncycastle.asn1.ASN1Object.fromByteArray([B)Lorg/bouncycastle/asn1/ASN1Object;
at org.bouncycastle.openssl.PEMReader.readKeyPair(Unknown Source)