【问题标题】:issues in Signing a jar in java : public key issue在 java 中签名 jar 中的问题:公钥问题
【发布时间】:2013-08-09 11:43:23
【问题描述】:

我正在开发一个 swing 应用程序,我想让它成为“网络启动”,因为我需要签署我的 jar 文件

为此,我按照以下步骤操作: 1. 使用以下命令创建密钥库文件

keytool -genkey -keystore myKeystore -alias myself 

keytool -selfcert -alias myself -keystore myKeystore

输入密钥库密码:

keytool -list -keystore myKeystore

输入密钥库密码:

密钥库类型:JKS 密钥库提供者:SUN

您的密钥库包含 1 个条目

我自己,2013 年 8 月 7 日,PrivateKeyEntry, 证书指纹 (SHA1):9A:CD:47:D2:9D:51:F4:5A:56:FB:5C:27:7B:E6:03:EE: 65:70:F7:7B

以上私钥生成成功。

2.

jarsigner -keystore myKeystore "C:..\myApp.jar" sourabh 输入密钥库的密码:

jarsigner:找不到证书链:sourabh。 sourabh 必须引用一个 v 包含私钥和相应公钥 ce 的 alid KeyStore 密钥条目 证书链。

显示上面的错误。

问题 1:我可以从哪里获得这个公钥?

我用谷歌搜索了它。有关于公钥的信息,但无法获得有关创建的任何信息。我们如何为我的应用程序生成它。

问题 2:如果我将我的应用程序移动到在线服务器(例如 apache derver),我是否还需要复制密钥库文件>?

【问题讨论】:

    标签: jnlp executable-jar keytool jarsigner code-signing-certificate


    【解决方案1】:
    1. 您需要为 jarsigner 工具指定相同的别名。您在构建密钥库时使用了“我自己”:再次使用它。
    2. 绝对不是。它包含您的私钥。保密。

    【讨论】:

    • 感谢上述解决方案,我又遇到了一个问题,当我启动 jnlp 文件时,它显示“应用程序被安全设置阻止”..可能是什么原因?...我已将我的放在 e: drive
    • 您生成的签名密钥是“自签名”。您需要将其添加到您机器的主密钥存储中,或者将您的本地(或启动)机器添加到 JRE 的“受信任站点”列表中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 2020-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多