你好Stackoverflow社区,
在尝试编译使用bouncycastle安全提供程序的maven项目时,我得到了以下错误:java.lang.SecurityException:JCE无法对提供程序BC进行身份验证
我知道必须对jar进行签名,因此我将此添加到pom.xml中以防止编译错误:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>
package
</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
基于此(bouncycastle provider找不到算法所需的类),我添加了以下内容:Security.SetProperty(“java.policy”,“unlimited”);
,并且在公共静态void main中添加了具有以下内容的提供程序:Security.AddProvider(new BouncyCastleProvider());
。
不幸的是,这没有奏效。对于如何实现上面链接的文章中所显示的东西,而不必为每个JRE单独实现它,您有什么建议吗?事先谢谢你的帮助。
我从以下问题中找到了一个可执行打包器maven插件(https://github.com/nthuemmel/executable-packer-maven-plugin)的解决方案:如何使用maven将所有必需的JAR文件放在最终JAR文件的库文件夹中?它
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>de.ntcomputer</groupId>
<artifactId>executable-packer-maven-plugin</artifactId>
<version>1.0.1</version>
<configuration>
<mainClass>mh.cryptomail.CryptoMail</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>pack-executable-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>mh.cryptomail.CryptoMail</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
它将所有jar不加修改地复制到结果jar,但在启动时需要更长的时间(大约15秒),因为它必须注册一个自定义的类加载器,但它可以工作。
在Java8中,我通过执行以下步骤全局注册了Bouncy Castle安全提供程序: null
我有一个使用bouncycastle库的Java applet。当我在Eclipse上运行应用程序时,一切正常,但当我在带有标记的浏览器上使用applet时,当我添加安全BouncyCastleProvider时,它会引发异常。 我的stackTrace是: 我正在使用bcpkix-jdk15on-1.48.jar和bcprov-jdk15on-1.48.jar版本的BouncyCastle。为什
但是,我在Github文档的任何地方都找不到关于要填充的endpoint和数据的适当概述。 以下字段为必填字段: 发行人->? 我到处都找不到Jwks uri。如有任何帮助,我们将不胜感激。
JCA提供者提出的解决方案是将JAR放在jre/lib/ext文件夹中,但不是从那里加载的。据我所知,这是由于OSGi(Eclipse equinox)类加载器策略将bootstrap类加载器作为每个bundle类加载器的父类,从而排除了从jre/lib/ext文件夹加载的扩展类加载器。即。在jre/lib/ext文件夹中没有一个bundle可以看到任何东西。 是否有一种方法可以让Eclipse
我正在尝试做一件本来应该是微不足道的事情,但我却面临着一个问题。 在将JavaFx应用程序从Java8迁移到Java11(也尝试了Java12,结果相同)之后,bouncy castle安全提供程序不会加载。这是一个Maven项目,我对其进行了更新,以使用符合Java11的插件。它编译得很好,但运行时,我在终端窗口中得到了以下信息: jar.launcher java.lang.reflect.I
问题内容: 我正在尝试使用bouncycastle使用公共密钥来加密文件。我已经通过编程方式注册了提供程序: 我成功创建了公共密钥对象。 当我使用PGPEncryptedDataGenerator和密钥加密文件时,出现ClassNotFound异常。 似乎提供程序在运行时找不到此类,尽管我确定我有它的jar … 我在Tomcat上运行我的应用程序。使用Maven处理依赖关系- 我放入的充气城堡ja