使用BouncyCastle优先使用OpenJDK运行环境,OpenJDK不会对加密库进行签名验证。
Oracle JDK 环境下
- SpringBoot应用使用默认spring-boot-maven-plugin打包
- 普通应用使用maven-jar-plugin打包,依赖包在lib目录下
- 普通应用如果要打成一个jar,需要使用jar in jar解决方案,不能使用解压bc包
部分环境下如Android,需要remove低版本BC:
if(Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) {
Security.addProvider(new BouncyCastleProvider());
} else {
Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
Security.addProvider(new BouncyCastleProvider());
}
本文介绍了如何在OpenJDK和OracleJDK环境下正确使用BouncyCastle加密库,并提供了针对SpringBoot应用的打包建议及Android环境下的特殊处理方法。

3万+

被折叠的 条评论
为什么被折叠?



