我在打包应用程序时遇到了一些问题,因为jarsigner不断告诉我:
jarsigner: Certificate chain not found for: MyApp. MyApp must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
我使用以下命令生成密钥库:
keytool -genkey -keystore myAppKeystore.keystore -alias myApp
然后填写其提示的其他信息。
当我使用此命令检查应用程序时,我发现:
keytool -keystore myAppKeystore.keystore -list -v
它说了这样的话,似乎只说私钥:
Alias name: myApp
Creation date: 06-Sep-2012
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: ......etc
我确信这将是非常明显的事情,但我错过了什么?我的印象是前一个命令创建了一个密钥对?不只是私钥。
谢谢!
答案 0 :(得分:1)
您需要获得public key certificate。您可以使用keytool
生成证书颁发机构的证书请求并导入证书回复。也许您只需要self-signed certificate。
答案 1 :(得分:1)
您需要使用'keytool -selfcert ...'为密钥对生成证书。更好的是,生成CSR并让您的CA颁发代码签名证书。