【发布时间】:2022-12-05 18:01:49
【问题描述】:
我有一个现有的非常非常旧的 java applet,它使用:
<dependency>
<groupId>com.al6</groupId>
<artifactId>rxtx</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>java</groupId>
<artifactId>plugin</artifactId>
<version>1.6.12</version>
</dependency>
在项目的 lib 目录中有:
-
RXTXcomm.jar
-
RXTXcomm.jar.sig
-
rxtxParallel.dll
-
rxtxSerial.dll
org.apache.maven.插件 maven-jar-插件 符号 .keyticket 票 票 武士刀 ${project.build.directory}/signed/${project.build.finalName}.jar 错误的
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<keystore>.keyticket</keystore>
<alias>ticket</alias>
<storepass>ticket</storepass>
<keypass>katana</keypass>
<!--
signedjar>${project.build.directory}/signed/${project.build.finalName}.jar</signedjar
-->
<verify>false</verify>
</configuration>
</plugin>
项目在java 1.6环境下运行良好,由java 1.6服务器搭建。
但是,如果我在一个新的 java 1.8 服务器上构建它,并使用 java 1.8 运行,我会遇到很多 major.minor 错误,因为这个项目使用了一些旧的子库。
因此,为避免出现问题,我将其保留在 pom.xml 中:
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
该项目编译并运行,但我有一个:
访问被拒绝 java.lang.RuntimePermission setSecurityManager)
我想我的罐子没有签名。 我看到用于签名的现有“.keyticket”似乎没有使用 java 1.8 的有效签名级别。 所以我修改构建机器上的 java.security 以接受旧的签名过程。 罐子似乎已签名:
【问题讨论】:
标签: java applet signed-applet signer