问题标签 [jarsigner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2608 浏览

android - 使用 Release 签署 Android APK

我已经使用 Eclipse 创建了一个 Android 应用程序。我无法将它上传到 Android Market,因为它是使用调试模式签名的。我想在 Release 模式下签名,我阅读了 Tutorial Basic Setup for Signing,我也安装了keytool但不知道如何安装jarsigner

如何在发布模式下完成编译和获取 APK的任务?

谢谢。

0 投票
1 回答
3047 浏览

java - jarsigner 的文件夹权限问题

这绝对是一个非常初学者的问题,可能不需要对编程做任何事情。几天后,我终于确定了为什么我无法使用 jarsigner 签署 jar 的问题。我不断收到这个错误,上面写着“jarsigner:无法创建 hello.jar.sig”。

基本上,我所做的是将一个 jar 放入 Java jdk 的 bin 文件夹中,然后在文件夹中左键单击以单击“在此处打开命令窗口”。我从 keytool 生成了密钥,还使用了 selfcert。然后,当我为已放入 bin 文件夹中的 jar 执行 jarsigner 时,出现错误。我终于找到了原因。我无法在 bin 文件夹中创建 jar.sig,因为我没有某种权限。问题是,如何将目标设置为某个可修改的文件夹?

我不知道如何设置 java 目录的路径并从桌面或其他地方调用 jarsigner,所以我不得不学习在 java bin 文件夹中编写命令提示符。

0 投票
1 回答
3478 浏览

android - 如何解决密钥库加载:无效的密钥库格式?

三个月前,我获得了我的应用程序的发布密钥。现在我格式化我的电脑,当我用我的 releasekey 签署我的应用程序时,我得到了错误:java.lang.RunTimeException: keystore load: invalid keystore format。

我应该如何解决这个错误?

命令是:jarsigner -verbose -keystore "D:\releasekey.keystore" "D:\myApp.apk" releasekey

我正在使用较旧的密钥库(第一个),但我得到了提到的错误。

我试着得到这个:

在此处输入图像描述

0 投票
1 回答
1315 浏览

java - jarsigner 验证失败

我们使用新安装的 JDK 1.7 对 JAR 文件进行签名。之后,我们立即使用相同的 jarsigner 和相同的密钥库验证它,然后......它失败并显示以下消息:

无效的 SHA256 哈希...

签名/验证代码很简单(windows批处理中的两个后续行):

最糟糕的是,问题似乎是随机的,当验证失败时,jarsigner 甚至没有设置 errorlevel(退出代码)。

它是Java签名者或加密类的错误还是其他什么?

0 投票
1 回答
145 浏览

maven - 如何用maven签署一个jar,但改变jdk?

在我的场景中,我有一个通过 maven 用 JDK6 编译的 jar 文件。这个jar需要签名。所以,我使用了 maven-jarsigner-plugin 来完成这项工作,而且效果很好!

但是,我的任务是签署这个指向 JDK1.5 的 jar。但是jar需要使用JDK6来构建。所以,我的问题是:我可以使用 JDK6 构建 jar,但专门更改为 JDK5 来对其进行签名吗?是否可以?

非常感谢!

罗德里戈

0 投票
3 回答
9215 浏览

java - 是什么阻止 Java 验证具有多种签名算法的签名 jar

快速背景: 我们发布了一个 webstart 应用程序,其中包括我们自己的应用程序 jar 和许多第三方 jar。Webstart 要求 jnlp 文件引用的所有分布式 jar 都由单个证书签名。因此,我们使用自签名证书对所有 jar(我们的 jar 和第三方 jar)进行签名。一些第三方 jar 已经由生产方签名,但我们只是再次签名,这样就可以正常工作了。到现在。

问题: 我们最近从 Java 6 迁移到 Java 7,突然 webstart 拒绝加载一些 jar,抱怨:“无效的 SHA1 签名文件摘要”。这只发生在某些罐子上,而不是其他罐子,而共同线程出现在那些失败的罐子中,似乎有多个签名。

在 SO 和互联网上搜索后,Java jarsigner 的默认签名算法似乎在 Java 6 和 Java 7 之间发生了变化,从 SHA1 到 SHA256,并且很多人都建议使用“jarsigner -digestalg SHA1”来解决验证问题. 我试过了,果然我们的多重签名 jar 现在验证了。所以这似乎是我们问题的解决方法。

据我所知,第三方签名似乎是 SHA1 签名,而我们使用默认签名 - SHA256 - 导致签名混合。当我使用“-digestalg”开关强制 SHA1 时,我们有两个相同类型的签名,并且验证现在有效。那么问题似乎是由具有不同算法的多个签名引起的?还是我缺少其他一些因素。

问题:

  1. 为什么用 SHA1 + SHA256 验证失败,用 SHA1 + SHA1 验证?有技术原因吗?安全策略原因?为什么它不能验证两个签名都是正确的?
  2. 我们使用(继续使用)SHA1 而不是现在默认的 SHA256 有什么缺点吗?
0 投票
1 回答
870 浏览

android - 如何签署亚马逊 apk?

我正在尝试签署一个亚马逊包装的 apk,以便我可以将我的应用加载到亚马逊应用商店。我必须这样做,因为我的应用程序使用 Google APIs。在解释如何使用 jarsigner 时,所有这方面的教程都很复杂。如何从 Eclipse 访问 jarsigner?我可以像 Android Tools..Export Signed Application 一样轻松访问它吗?

编辑

使用教程,我可以通过命令行访问 jarsigner,但是当我为我的密钥库输入密码时,它说“jarsigner:找不到证书链:和。并且必须引用包含私钥和相应公钥的有效 KeyStore 密钥条目密钥证书链。” 我不知道如何从这里开始。

0 投票
2 回答
1187 浏览

java - Jar 文件在签名之前运行良好(在 Windows 中)

我将首先说我不是 Java 程序员,我是 PHP 程序员。

我遇到了一种情况,即 websockets 不会削减它,我发现这个网站提供了一个解决方案:

http://stephengware.com/proj/javasocketbridge/

它基本上是一个可以加载并使用 JavaScript 控制的 Jar。它工作得很好,我强烈推荐给任何需要类似功能的人。但是,由于 Jar 没有签名,每次页面加载时,都会显示安全警告。这有点烦人,我想如果我对 Jar 进行自我签名,它会启用“不再向我展示这个”/“永远允许”复选框。这将在我们的组织内部部署,因此似乎没有必要使用付费证书对其进行签名。

问题是,一旦我签署了 Jar,它就不起作用了。我收到一个找不到类的错误。我查看了数十个网站,这些网站向您展示了如何签署 Jar 文件并将其搜索到第 10 页,但我找不到遇到此类问题的任何人。

我将包括我认为需要的部分,如果您需要其他内容,请告诉我,我会得到它。

小程序代码:

我如何签署 Jar(在管理员命令提示符下):

我打开了未签名和签名的 Jar,源文件是相同的,在已签名的 Jar 上的 META-INF 文件夹中只有两个附加文件:CRTLIVE.RSA 和 CRTLIVE.SF。

这是线程转储:

线程堆栈在长边,但这里是:

我已经用谷歌搜索了我能想到的一切,任何帮助将不胜感激。

谢谢!

0 投票
1 回答
749 浏览

linux - Shell 在 jarsigner 中传递密钥库路径参数

我有这个

它不起作用,在这个命令之后它没有签名的apk文件......

但是当我这样做时它工作得很好

编辑:实际上我所做的是以下

不,我可以猜到是什么问题,但是这种情况有解决方案吗?

编辑 2

我做了简短的测试

壳内

它正确打印123,所以我认为还有其他问题

0 投票
1 回答
2021 浏览

java - Java 安全对话框的外观

加载签名的小程序时会显示 Java 安全对话框。

Java 安全对话框是什么样的?