在java中签名jar中的问题:公钥问题

时间:2013-08-07 22:00:27

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

我正在开发一个swing应用程序,我想让它成为“web start”,因为我需要签署我的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 alid KeyStore密钥条目,包含私钥和相应的公钥ce 证书链。

显示上述错误。

问题1:从哪里可以获得此公钥?

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

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

1 个答案:

答案 0 :(得分:3)

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