gpt4 book ai didi

java - 使用 $$context 签署 JNLP 在 java 7.45 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 15:24:00 24 4
gpt4 key购买 nike

我有一个包含 codebase="$$context"的 JNLP

在签署 JAR 之前,我会将 JNLP 作为 JNLP-INF/APPLICATION.JNLP 放入 JAR 中,从而对 JNLP 进行签名。

启动应用程序时,我收到“字段代码库在签名的启动文件中具有无效值:$$context”。

在浏览器中启动的主 JNLP 中的 $$ 上下文可以正常替换并且有效。签名的 JAR 文件中的 jnlp 显然不会被替换,因此无效。我该如何协调这个问题?

谢谢

最佳答案

APPLICATION.JNLP 不应包含 codebase="$$context"。它必须包含确切的代码库。 (参见jnlp specification)

但是,在某些情况下代码库是动态的。在这种情况下,您应该使用 APPLICATION_TEMPLATE.JNLP 并在代码库属性中添加“*”。

$$context 由 JNLPDownloadServlet 使用,该 JNLPDownloadServlet 在运行时生成 jnlp,但对于签名的 JNLP 来说,这是相当有问题的,因为生成的 jnlp 必须完全与签名中的 jnlp 相同。 jar(除了“*”)。

对此的解决方案是使用一个 servlet 从签名的 jar 中提取 APPLICATION_TEMPLATE.JNLP,用正确的代码库替换“*”,然后将其返回到浏览器。

关于java - 使用 $$context 签署 JNLP 在 java 7.45 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20056838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com