【问题标题】:Jar signing common nameJar 签名通用名称
【发布时间】:2014-01-12 16:08:30
【问题描述】:

我希望签署一个 jar,该 jar 将通过 jnlp 从内部网络防火墙后面的不同服务器启动。 jar 文件需要使用受信任的证书进行签名,以避免出现安全警告。

我过去设置过密钥库和 SSL 证书,但仅用于 Web 应用程序。通常,设置密钥对时使用的通用名称应该是指向 Web 应用程序的域名(例如 mysite.example.com)。

当签署将通过 jnlp 从通常没有分配域名的不同服务器提供的 jar 时,这将如何改变。通用名在这里重要吗?我们是否可以使用具有一个通用名称的单个受信任证书来设置和签署 jar,以用于所有服务器?

谢谢!

【问题讨论】:

    标签: jar ssl-certificate signing


    【解决方案1】:

    通常我们用私钥签名,然后用公钥验证。然后它与信任 Web (SSL) 服务器有点不同。

    程序:

    1. 创建(获取)密钥对证书
    2. 在密钥库中导入
    3. 在罐子上签名

    http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html

    【讨论】:

    • 我们已经使用自签名证书对 jar 进行了签名。但是,当使用 Java 7 启动时,系统会提示我们发布者未知的警告。我们需要消除这个警告。
    • 视情况而定;你在公共网站上发布这个罐子吗?如果是,您不能假装任何用户自动接受不受信任和不确定的证书(这显然是不可能的)。如果仅用于调试目的,则必须信任“权威链”。
    • 显然您可以购买有效的证书... ;-)
    • 我们计划购买一个有效的证书,但回到最初的问题,上述场景中的 Common Name 在验证签名 jar 的真实性方面是否起任何作用,就像它在网络应用场景?
    • 不!在这种情况下没问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 2011-08-01
    • 1970-01-01
    • 2017-01-23
    • 2011-06-25
    • 2021-05-28
    • 2021-06-10
    相关资源
    最近更新 更多