【问题标题】:Java Sign jars with server certificate带有服务器证书的 Java Sign jar
【发布时间】:2010-12-02 14:39:10
【问题描述】:

是否可以使用服务器证书来签署 java web start 应用程序?我想知道的是它是否会起作用。我的服务器有一个受信任的证书,我想重用相同的证书来签署应用程序。

现在,我有这个警告:

此 jar 包含其签名者证书的 ExtendedKeyUsage 的条目 扩展不允许代码签名。此 jar 包含其条目 签名者证书的 NetscapeCertType 扩展不允许代码 签名。

我能否在没有证书不受信任的警告的情况下启动我的应用程序?

【问题讨论】:

  • 对您的情况有效吗?我的意思是使用用于网站的 SSL 证书对 JAR 签名也很有用,您的经验将有很大帮助:)
  • @Amogh SSL 证书适用于通过 https 进行通信的网站/网络应用程序。对于独立应用程序,您需要不同的证书。

标签: java certificate code-signing


【解决方案1】:

如果您不使用代码签名证书,您会收到警告。对于大多数 CA,代码签名证书的成本高于服务器证书。在我看来,这只是一种营销方案,让您为另一个证书付费。两个证书之间没有技术差异。一些 CA 可能会为两者的使用提供组合交易。

【讨论】:

  • 我在签署罐子时已经收到警告。你的意思是我在运行应用程序时会收到警告?
  • 即使您使用了正确的证书,您也会在运行 JAR 时收到通知。但在您的情况下,您会收到警告。不幸的是,大多数用户没有看到区别:(
  • 您需要一个真正的代码签名证书。请参阅stackoverflow.com/questions/155241/…,了解在哪里以便宜的价格获得它们的好建议。
【解决方案2】:

我假设您已经使用 SSL 的 KEY 和 CRT 创建了 JKS 文件,因此您收到错误消息。

我这里有一个简单的解决方案:

如您所知,您可以使用以下命令创建 JKS

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

当您使用此 JKS 时,您会收到自签名证书消息,这绝对可以让应用程序在 Google Play 商店中运行。但是如果您负担得起的话,购买代码签名证书是很好的..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 2016-11-05
    相关资源
    最近更新 更多