运行 迁移到 Java 8 后的一个 jnlp 文件
Run a jnlp file after migrating to Java 8
我正在做一个项目,客户现在从Java 6 移动到Java 8。我们在我们的项目中下载一个jnlp 文件到运行 a java 申请。在 Java 6 中,我们没有遇到任何问题,但现在迁移到 Java 8 后,我们面临安全问题,因为我们不能再使用自签名 jar。客户给我们提供了证书。
我的问题是如何 运行 Java 8 中的那个 jnlp 文件?
我已经尝试签署我们在 jnlp 文件中使用的 jar。我使用了 Java 提供的 cacerts 密钥库。我 运行 以下命令将证书添加到 Java 密钥库:
keytool -import -keystore cacerts -alias myalias -file "mycertificate"
jarsigner -keystore cacerts myjar myalias
现在,我在执行此操作时遇到以下错误
jarsigner:找不到证书链:myalias
因为我什至无法对我们使用的 jar 进行签名,所以我应该怎么做才能在机器中制作 jnlp 运行? jnlp 模板是这样的:
<information>
<title>${appTitle}</title>
<vendor>Vendor</vendor>
<homepage href="${codeBase}" />
<description>Java App</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" />
<jar href="${jarPath}" />
<#if jarDependenciesPath??>
<#list jarDependenciesPath as jarDependencyPath>
<jar href="${jarDependencyPath}" />
</#list>
</#if>
</resources>
<application-desc
name="${appTitle}"
main-class="${mainClass}"
width="300"
height="300">
<#list args as arg>
<argument>${arg}</argument>
</#list>
</application-desc>
看来你的证书不好。使用好的证书。
或者,您可以在 JAVA 控制台中添加例外以绕过安全性。
我正在做一个项目,客户现在从Java 6 移动到Java 8。我们在我们的项目中下载一个jnlp 文件到运行 a java 申请。在 Java 6 中,我们没有遇到任何问题,但现在迁移到 Java 8 后,我们面临安全问题,因为我们不能再使用自签名 jar。客户给我们提供了证书。 我的问题是如何 运行 Java 8 中的那个 jnlp 文件? 我已经尝试签署我们在 jnlp 文件中使用的 jar。我使用了 Java 提供的 cacerts 密钥库。我 运行 以下命令将证书添加到 Java 密钥库:
keytool -import -keystore cacerts -alias myalias -file "mycertificate"
jarsigner -keystore cacerts myjar myalias
现在,我在执行此操作时遇到以下错误 jarsigner:找不到证书链:myalias
因为我什至无法对我们使用的 jar 进行签名,所以我应该怎么做才能在机器中制作 jnlp 运行? jnlp 模板是这样的:
<information>
<title>${appTitle}</title>
<vendor>Vendor</vendor>
<homepage href="${codeBase}" />
<description>Java App</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" />
<jar href="${jarPath}" />
<#if jarDependenciesPath??>
<#list jarDependenciesPath as jarDependencyPath>
<jar href="${jarDependencyPath}" />
</#list>
</#if>
</resources>
<application-desc
name="${appTitle}"
main-class="${mainClass}"
width="300"
height="300">
<#list args as arg>
<argument>${arg}</argument>
</#list>
</application-desc>
看来你的证书不好。使用好的证书。
或者,您可以在 JAVA 控制台中添加例外以绕过安全性。