【问题标题】:Is there a way to do JNLP without certificates?有没有办法在没有证书的情况下进行 JNLP?
【发布时间】:2013-08-12 14:33:40
【问题描述】:

我有一个内部唯一的应用程序,我以前是自签名的。在最新版本的 Java 中,不推荐使用 JNLP 的自签名。我在使用 Java 7U25 从自签名应用程序打开套接字时也遇到了奇怪的问题(但从命令行作为普通 jar 运行时工作正常)。

有没有办法在不签名的情况下进行 JNLP?鉴于它是一个仅限内部的应用程序,因此不需要签名(对我而言)。我真的不想在非真正需要的时候花钱买证书。

【问题讨论】:

    标签: java certificate jnlp


    【解决方案1】:

    coming Java 7u40 似乎意识到了解决方案的必要性并提供了新功能:

    在提供通用执行环境并管理员工访问的应用程序的企业中,部署规则集功能使企业能够建立已知应用程序的白名单和黑名单。

    【讨论】:

      【解决方案2】:

      我刚刚在 Java 7u45 中使用自签名证书制作了“具有受信任权威认证的 Java 应用程序”。

      在清单中,我将权限设置为“所有权限”,并删除了 jnlp 中有关安全性的标签。然后我导出了我自己的自签名证书并导入到我桌面的 Java 控制面板中

      这样就没有关于未来版本阻止应用程序的警告。

      我希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        是的,可能(但不推荐)。

        如果您仅在内部(本地)使用它,您可以将您的 java 安全设置从高到中降低,然后您就可以再次执行您的应用程序。但是我可能会停用您的网络浏览器插件...

        【讨论】:

        • 但这仅适用于具有多级安全设置的 Java 版本。在未来的版本中,根据某些 oracle 语句,只会有“最高”级别
        • 对我来说将安全设置为“中间”并没有帮助。
        【解决方案4】:

        不,对不起。 :)

        每个 JNLP 组件都必须进行签名,并且它们都必须使用相同的证书进行签名,应用程序才能运行。您还必须签署要包含在您的应用程序中的外部库(罐子等)。

        我没有任何信息,自签名 jnlp 组件可能会被弃用? 您可以使用 keytool 创建密钥库和证书。

        在此处查找有关 JNLP 的 Oracle 文档: http://www.oracle.com/technetwork/java/javase/index-142562.html

        希望这对您有所帮助?

        问候 克里斯托弗

        【讨论】:

        • 我所说的自签名 JNLP 启动自 Java 7U21 起已弃用。 :(
        • 感觉Oracle真的要放弃JNLP了。只是似乎再也得不到爱了。 Java 中是否有我可以迁移到的新技术?或者也许是第 3 方?我讨厌通过编写自己的启动器来重新发明轮子......
        • @BrianKnoblauch 自签名证书的一件事是您会收到警告 - 但我不认为它已被弃用
        • Netbeans“Web Start”配置面板指出:“警告:从 JDK7u21 开始,不推荐使用未签名和自签名的 WebStart 应用程序和小程序。为确保未来功能正确,请使用受信任的证书。” [原文]
        • “每个 JNLP 组件都必须签名,并且它们都必须使用相同的证书签名才能运行应用程序。您还必须签署外国库(jar 等)您想包含在您的应用中。” 与此问题不完全相关,但这是一种误导。任何 one JNLP 文件中的所有 Java 文件都应使用相同的证书进行签名,但每个扩展/组件 JNLP 可以(并且通常会)由第三方使用不同的证书。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-12-27
        • 1970-01-01
        • 1970-01-01
        • 2016-03-01
        • 1970-01-01
        • 2016-01-10
        • 2016-01-19
        相关资源
        最近更新 更多