今天在迁移一个项目,结果成功启动,但是在登录的时候,提示如下错误!翻译发现是因为签名不匹配。百度说是因为jar包冲突了。
java.lang.SecurityException: class “org.bouncycastle.crypto.digests.GeneralDigest”'s signer information does not match signer information of other classes in the same package
-
原来这个resources下面的libs中我手动导入了这个
bcprov-jdk16-145.jar
。
-
删除16版本后,再次build,启动项目发现还是不行。在外部库中查找,果然有冲突的。
-
用gradle下help的dependencies来分析一下。结果在
tencentyun:tls-sig-api
包中依赖了
bcpkix-jdk15on
,在
org.xhtmlrenderer:flying-saucer-pdf
中依赖了
bouncycastle:bcprov-jdk14
。那么我们排除
org.xhtmlrenderer:flying-saucer-pdf
中的
bouncycastle:bcprov-jdk14
。
+--- com.github.tencentyun:tls-sig-api:1.2
| +--- org.bouncycastle:bcpkix-jdk15on:1.59
| | \--- org.bouncycastle:bcprov-jdk15on:1.59
| +--- org.bouncycastle:bcprov-jdk15on:1.59
| \--- org.json:json:20180130
+--- org.xhtmlrenderer:flying-saucer-pdf:9.0.3
| +--- com.lowagie:itext:2.1.7
| | +--- bouncycastle:bcmail-jdk14:138
| | +--- bouncycastle:bcprov-jdk14:138
| | \--- bouncycastle:bctsp-jdk14:138
| | \--- org.bouncycastle:bctsp-jdk14:1.38
| | \--- org.bouncycastle:bcmail-jdk14:1.38
| \--- org.xhtmlrenderer:flying-saucer-core:9.0.3
- 修改build.gradle
compile('org.xhtmlrenderer:flying-saucer-pdf:9.0.3'){
exclude group: 'bouncycastle', module: 'bcprov-jdk14'
exclude group: 'org.bouncycastle', module: 'bcprov-jdk14'
前言:今天在迁移一个项目,结果成功启动,但是在登录的时候,提示如下错误!翻译发现是因为签名不匹配。百度说是因为jar包冲突了。错误提示java.lang.SecurityException: class “org.bouncycastle.crypto.digests.GeneralDigest”'s signer information does not match signer information of other classes in the same package排查原来这个res
对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。
JDK1.5新特性:
1.自动装箱与拆箱:
自动装箱的过程:每当需要一种类型的对象时,这种基本类
因为自己本身是做互联网金融业务,平时会对接比较多的银行,最近对接的一家给的加解密包,版本比较低导致在现有项目中不能使用,bcprov-jdk16-1.46.jar (12年的包),直接在现有项目中引入的话,直接报错。
Exception in thread "main" java.lang.IllegalAccessError: tried to access method
org.bouncycastle.math.ec.ECPoint$Fp.<init>(Lorg/bouncyc
bcprov-jdk15on 简介、中文文档、中英对照文档 下载;bcprov-jdk15on、org.bouncycastle、中文文档、中英对照文档、下载、包含jar包、原API文档、源代码、Maven依赖信息文件、翻译后的API文档、jdk15on、bouncycastle、bcprov、jar包、java、中英对照文档;bcprov-jdk15on-1.68.jar、bcprov-jdk15on-1.60.jar、bcprov-jdk15on-1.59.jar、bcprov-jdk15on-1.58
赠送
jar包:
bcprov-
jdk15on-1.59.
jar;
赠送原API文档:
bcprov-
jdk15on-1.59-
javadoc.
jar;
赠送源代码:
bcprov-
jdk15on-1.59-sources.
jar;
赠送Maven依赖信息文件:
bcprov-
jdk15on-1.59.pom;
包含翻译后的API文档:
bcprov-
jdk15on-1.59-
javadoc-API文档-中文(简体)版.zip;
Maven坐标:org.bouncycastle:
bcprov-
jdk15on:1.59;
标签:bouncycastle、
bcprov、
jdk15on、中文文档、
jar包、
java;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
注:下文中的 *** 代表文件名中的版本号。
# 【
bcprov-
jdk15on-***.
jar中文文档.zip】 中包含:
中文文档:【
bcprov-
jdk15on-***-
javadoc-API文档-中文(简体)版.zip】
jar包下载地址:【
bcprov-
jdk15on-***.
jar下载地址(官方地址+国内镜像地址).txt】
Maven依赖:【
bcprov-
jdk15on-***.
jar Maven依赖信息(可用于项目pom.xml).txt】
Gradle依赖:【
bcprov-
jdk15on-***.
jar Gradle依赖信息(可用于项目build.
gradle).txt】
源代码下载地址:【
bcprov-
jdk15on-***-sources.
jar下载地址(官方地址+国内镜像地址).txt】
# 本文件关键字:
bcprov-
jdk15on-***.
jar中文文档.zip,
java,
bcprov-
jdk15on-***.
jar,org.bouncycastle,
bcprov-
jdk15on,***,
jar包,Maven,第三方
jar包,组件,开源组件,第三方组件,
Gradle,bouncycastle,
bcprov,
jdk15on,中文API文档,手册,开发手册,使用手册,参考手册
# 使用方法:
解压 【
bcprov-
jdk15on-***.
jar中文文档.zip】,再解压其中的 【
bcprov-
jdk15on-***-
javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。
# 特殊说明:
·本文档为人性化翻译,精心制作,请放心使用。
·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等;
·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。
# 温馨提示:
(1)为了防止解压后路径太长
导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地);
(2)有时,一套
Java组件会有多个
jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# Maven依赖:
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>
bcprov-
jdk15on</artifactId>
<v
ersion>***</v
ersion>
</dependency>
#
Gradle依赖:
Gradle:
implementation group: 'org.bouncycastle', name: '
bcprov-
jdk15on', v
ersion: '***'
Gradle (Short):
implementation 'org.bouncycastle:
bcprov-
jdk15on:***'
Gradle (Kotlin):
implementation("org.bouncycastle:
bcprov-
jdk15on:***")
# 含有的
Java package(包)(此处仅列举3个):
org.bouncycastle
org.bouncycastle.asn1
org.bouncycastle.asn1.anssi
......
# 含有的
Java class(类)(此处仅列举3个):
org.bouncycastle.LICENSE
org.bouncycastle.asn1.ASN1ApplicationSpecific
org.bouncycastle.asn1.ASN1ApplicationSpecificPars
er
......
注:下文中的 *** 代表文件名中的版本号。
# 【
bcprov-
jdk15on-***.
jar中文文档.zip】 中包含:
中文文档:【
bcprov-
jdk15on-***-
javadoc-API文档-中文(简体)版.zip】
jar包下载地址:【
bcprov-
jdk15on-***.
jar下载地址(官方地址+国内镜像地址).txt】
Maven依赖:【
bcprov-
jdk15on-***.
jar Maven依赖信息(可用于项目pom.xml).txt】
Gradle依赖:【
bcprov-
jdk15on-***.
jar Gradle依赖信息(可用于项目build.
gradle).txt】
源代码下载地址:【
bcprov-
jdk15on-***-sources.
jar下载地址(官方地址+国内镜像地址).txt】
# 本文件关键字:
bcprov-
jdk15on-***.
jar中文文档.zip,
java,
bcprov-
jdk15on-***.
jar,org.bouncycastle,
bcprov-
jdk15on,***,
jar包,Maven,第三方
jar包,组件,开源组件,第三方组件,
Gradle,bouncycastle,
bcprov,
jdk15on,中文API文档,手册,开发手册,使用手册,参考手册
# 使用方法:
解压 【
bcprov-
jdk15on-***.
jar中文文档.zip】,再解压其中的 【
bcprov-
jdk15on-***-
javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。
# 特殊说明:
·本文档为人性化翻译,精心制作,请放心使用。
·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等;
·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。
# 温馨提示:
(1)为了防止解压后路径太长
导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地);
(2)有时,一套
Java组件会有多个
jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# Maven依赖:
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>
bcprov-
jdk15on</artifactId>
<v
ersion>***</v
ersion>
</dependency>
#
Gradle依赖:
Gradle:
implementation group: 'org.bouncycastle', name: '
bcprov-
jdk15on', v
ersion: '***'
Gradle (Short):
implementation 'org.bouncycastle:
bcprov-
jdk15on:***'
Gradle (Kotlin):
implementation("org.bouncycastle:
bcprov-
jdk15on:***")
# 含有的
Java package(包)(此处仅列举3个):
org.bouncycastle
org.bouncycastle.asn1
org.bouncycastle.asn1.anssi
......
# 含有的
Java class(类)(此处仅列举3个):
org.bouncycastle.LICENSE
org.bouncycastle.asn1.ASN1ApplicationSpecific
org.bouncycastle.asn1.ASN1ApplicationSpecificPars
er
......
注:下文中的 *** 代表文件名中的版本号。
# 【
bcprov-
jdk15on-***.
jar中文文档.zip】 中包含:
中文文档:【
bcprov-
jdk15on-***-
javadoc-API文档-中文(简体)版.zip】
jar包下载地址:【
bcprov-
jdk15on-***.
jar下载地址(官方地址+国内镜像地址).txt】
Maven依赖:【
bcprov-
jdk15on-***.
jar Maven依赖信息(可用于项目pom.xml).txt】
Gradle依赖:【
bcprov-
jdk15on-***.
jar Gradle依赖信息(可用于项目build.
gradle).txt】
源代码下载地址:【
bcprov-
jdk15on-***-sources.
jar下载地址(官方地址+国内镜像地址).txt】
# 本文件关键字:
bcprov-
jdk15on-***.
jar中文文档.zip,
java,
bcprov-
jdk15on-***.
jar,org.bouncycastle,
bcprov-
jdk15on,***,
jar包,Maven,第三方
jar包,组件,开源组件,第三方组件,
Gradle,bouncycastle,
bcprov,
jdk15on,中文API文档,手册,开发手册,使用手册,参考手册
# 使用方法:
解压 【
bcprov-
jdk15on-***.
jar中文文档.zip】,再解压其中的 【
bcprov-
jdk15on-***-
javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。
# 特殊说明:
·本文档为人性化翻译,精心制作,请放心使用。
·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等;
·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。
# 温馨提示:
(1)为了防止解压后路径太长
导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地);
(2)有时,一套
Java组件会有多个
jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# Maven依赖:
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>
bcprov-
jdk15on</artifactId>
<v
ersion>***</v
ersion>
</dependency>
#
Gradle依赖:
Gradle:
implementation group: 'org.bouncycastle', name: '
bcprov-
jdk15on', v
ersion: '***'
Gradle (Short):
implementation 'org.bouncycastle:
bcprov-
jdk15on:***'
Gradle (Kotlin):
implementation("org.bouncycastle:
bcprov-
jdk15on:***")
# 含有的
Java package(包)(此处仅列举3个):
org.bouncycastle
org.bouncycastle.asn1
org.bouncycastle.asn1.anssi
......
# 含有的
Java class(类)(此处仅列举3个):
org.bouncycastle.LICENSE
org.bouncycastle.asn1.ASN1ApplicationSpecific
org.bouncycastle.asn1.ASN1ApplicationSpecificPars
er
......
关于java的国密算法原理以及sm2、sm3、sm4的演示demo,很多博主都写过。但是如果说自身项目中用到的bcprov这个依赖jar包的版本,和别人博客里演示的不一样,或者说引用了多个版本bcprov的jar包,这种情况怎么办呢?一般有两个方案,第一个是直接全部白嫖别人的版本,这种方案不是本文所讲内容。另一种方案就是弄明白每个版本依赖包的区别,这样我们的项目就可以只保留一个版本的依赖包了,而且想要留哪一个版本也不在话下。重要说明:
在看代码前我做一些说明,bcprov这个包在高版本中增加了一些国密相关的
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web
赠送
jar包:
bcprov-
jdk15on-1.58.
jar;
赠送原API文档:
bcprov-
jdk15on-1.58-
javadoc.
jar;
赠送源代码:
bcprov-
jdk15on-1.58-sources.
jar;
赠送Maven依赖信息文件:
bcprov-
jdk15on-1.58.pom;
包含翻译后的API文档:
bcprov-
jdk15on-1.58-
javadoc-API文档-中文(简体)版.zip;
Maven坐标:org.bouncycastle:
bcprov-
jdk15on:1.58;
标签:bouncycastle、
bcprov、
jdk15on、中文文档、
jar包、
java;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
bcprov-jdk15on是一个开源的加密库,主要用于在Java平台上实现各种加密和安全算法。它提供了丰富的加密和安全服务,如密码学的加解密算法、数字签名和验证、安全哈希函数、密钥管理和生成等服务。bcprov-jdk15on是Bouncy Castle加密库的一部分,它是一个在Java平台上提供各种密码服务的开源项目。bcprov-jdk15on可以被广泛应用于网络安全、电子商务、金融行业等领域。该库采用轻量级设计,具有高度扩展性和可移植性,提供了Java组件的API调用,可以轻松地集成到Java应用程序中。bcprov-jdk15on的代码在线上可以被访问和修改,可以随时满足用户的需求。总之,bcprov-jdk15on是一个强大的加密库,为Java平台上的安全通信和数据保护提供了坚实的基础。
@Test
public void testQueryTask() {
ProcessEngine processEngine = configuration.buildProcessEngine();
TaskService taskService = processEngine.getTaskService();
List<Task> list = taskService.createTaskQuery()
// 指定查询流程编号
.processDefinitionKey("holidayRequest")
// 指定任务处理人
.taskAssignee("whx").list();
list.forEach(task -> {
System.out.println("task.getProcessDefinitionId() = " + task.getProcessDefinitionId());
System.out.println("task.getName() = " + task.getName());
System.out.println("task.getAssignee() = " + task.getAssignee());
System.out.println("task.getDescription() = " + task.getDescription());
System.out.println("task.getId() = " + task.getId());
分布式文件存储Minio学习入门
Huathy-雨落江南,浮生若梦:
分布式文件存储Minio学习入门
额JS稀饭:
分布式文件存储Minio学习入门
Huathy-雨落江南,浮生若梦: