问题标签 [signing]

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 回答
383 浏览

java - 签署 jar 时出错

我正在尝试签署罐子,但我得到了这个例外 -

[exec] jarsigner:找不到证书链:pvktmp:e40b0b30-dcc9-4aef-8450-15c2437a4959。pvktmp:e40b0b30-dcc9-4aef-8450-15c2437a4959 必须引用包含私钥和相应公钥证书链的有效 KeyStore 密钥条目。

提前致谢!

0 投票
1 回答
614 浏览

android - 签署和发布 Android 应用程序

我在发布我的 Android 应用程序时遇到问题。

这就是我所做的,

所以我让我的应用程序在开发环境(eclipse - 使用设备测试)上运行,然后我右键单击我的项目文件夹 - android 工具 - 导出签名的应用程序包,然后我创建新的密钥库并在那里添加我的信息,然后它'将产生 .apk

然后我把它放在我自己的网络服务器上(我打算把它放在我自己的网络服务器和安卓市场上)

但是,一旦我尝试从我的测试手机下载我的 .apk - 它说:“无法下载。此手机不支持该内容的内容”

这很奇怪,因为我也在同一部手机上进行了测试-.-!:(

所以我的问题是:

  1. 签署我的应用程序以便可以通过我自己的网络服务器一直下载的正确方法是什么?
  2. 但我仍然可以把它放在安卓市场上吗?- 我有我的安卓市场帐户。

有什么演练吗?

好吧希望有人能给我答案,非常感谢您的帮助!

谢谢和干杯!

0 投票
2 回答
1525 浏览

windows-mobile - 在启动时加载设备驱动程序时出现问题 - WM6.1

我们的嵌入式系统程序员为我们的移动硬件开发了一个虚拟串行端口驱动程序的外壳,我一直在填写使其工作的方法。该驱动程序确实按预期工作,它模拟了一个用于喷出 NMEA 字符串(GPS 数据)的 USB 设备的 COM 端口。

我简称 WM6,但操作系统是 WM6.1,如果它有什么不同的话。

我遇到的问题是驱动程序仅在 WM6 上启动设备时不加载。该驱动程序是为 CE5 和 WM6 开发的,但在 CE5 上,驱动程序“确实”在启动时加载,这将我指向 WM6 配置问题。在这一点上可能值得注意的是,驱动程序将使用 ActivateDevice() 方法加载到 WM6 和 CE5 中,这是我迄今为止一直在使用的 WM6,一个用于启动驱动程序的小型测试应用程序,因此我至少可以测试驱动程序正在开发 WM6。

注册表中已经填充了启动驱动程序所需的密钥。所以驱动程序应该在启动时加载,没有任何问题。HKEY_LOCAL_MACHINE\Drivers\BuiltIn 包含一个子键 A36D_GPS_COM,并且包含在该键中。

设备数组索引:0

设备类型:0

DLL:A36D.dll

标志:0

友好名称:A36D GPS COM 端口

指数:8

订购:3

前缀:COM

优先级:0

优先级:256

据我所知,我已经调查过这个问题通常有两个常见的答案。这些想法是嵌入式程序员给我的,但我自己研究了如何去做。

1) 当驱动程序尝试加载时,COM 端口已经在使用中,即使在加载设备后该 COM 端口最终是空闲的。我已将注册表中的 Index 值从 1 更改为 20 并重新启动设备,驱动程序未加载到指定的 COM 端口。因此,为了更彻底地尝试和测试,我将另一个设备从 COM9 移到了 COM8,并将我的驱动程序移到了 COM9(使用上述注册表设置)。其他设备驱动程序在 COM8 上启动时非常愉快地加载,但我的设备驱动程序无法在 COM9 上启动。我什至尝试过调整其他设置,但它仍然没有在启动时加载。

2)CE5和WM6之间另一个可能的问题和区别是安全性。所以使用 MSDN 文章http://msdn.microsoft.com/en-us/library/bb737570.aspx我从事过签名和 XML 配置方面的工作。使用特权密钥(未过期),在 Visual Studio 中对 A36D.dll 进行签名,并且创建的安装 CAB 文件也使用相同的密钥进行签名。创建一个 _setup.xml 文件并将其附加到 cab 文件,以便将签名密钥添加到证书存储区。CAB 文件使用相同的密钥再次签名,以确保它仍然有效。此外,_setup.xml 被打包到它自己的 .CPF 文件中。CAB 和 CPF 文件都将密钥添加到证书存储“HKEY_LOCAL_MACHINE\Comm\Security\SystemCertificates”,所以知道这是有效的。为谨慎起见,我已将其安装到 Privileged、Unprivileged、ROOT 和 SPC 证书存储区。但是当移动设备启动时,设备驱动程序仍然没有加载到 device.exe 中。

除了在驱动程序上调用 ActivateDevice() 的启动应用程序的解决方法之外,我对如何让该驱动程序在启动时加载感到困惑。

我觉得它在 CE5 中有效但在 WM6 中无效,这很奇怪,我只是不知道其他任何可能导致问题的东西。

有没有人有任何进一步的建议可以尝试。

所有帮助表示赞赏。

0 投票
1 回答
11624 浏览

maven - Maven 项目中的 Jar 签名策略

我们有几个构建在构建服务器上的 Maven 项目。在某些情况下,我们希望签署我们的可交付成果。我们使用Maven Jarsigner 插件来做到这一点。

我们面临以下问题:

  • 我们应该将签名的密码存储在哪里?
  • 签署maven项目的好策略是什么?

我们不想将我们的密钥库放在我们的服务器上的某个地方并硬编码到它的路径。所以我们只是将这个密钥库包装在一个 jar 中,并将其作为工件上传到我们内部的 maven 存储库。当我们想要签署一个 maven 项目时,我们使用Maven 依赖插件下载密钥库工件并将签名目标附加到 maven 构建生命周期。这里有更详细的信息。

为了隐藏密钥库的密码,我们将它们放入公司pom.xml文件中。我们还考虑将密码存储在settings.xml构建服务器上。

当一个项目在开发者机器上构建和签名时,我们使用自签名证书对其进行签名。但是当项目在构建服务器上构建和签名时,我们使用我们的“官方”证书对其进行签名。

这是一个好的策略吗?

0 投票
2 回答
176 浏览

signing - 适用于 BlackBerry 的 Rhodes 应用签名

我读到黑莓签名密钥只能安装在一台 PC 上。

我正在一台 PC 上编译我的 Rhomobile Rhodes 应用程序。但是 BlackBerry 签名密钥安装在另一台 PC 上。为了在另一台 PC 上签署应用程序,我需要做什么。

PS:我已经将 bbsignpwd 设置在rhobuild.yml.

0 投票
1 回答
367 浏览

signing - 签署非 PE 文件的通用方法

我知道 Windows 本质上可以检测和验证 PE 和某些类型的文本文件(.vbs、.ps 和 .wsf)的签名。但是我很好奇是否有办法以某种方式将签名附加或关联到不直接支持签名的文件,例如 .ISO 或 .zip 文件。

包含二进制文件和 .inf 文件的混合驱动程序包使用已签名的 .cat 文件来允许对其组成部分进行间接签名,但您必须使用“signtool.exe verify”来验证文件,我使用这种方法得到的结果好坏参半.

我想我正在寻找某种签名的清单文件,我们可以使用它来让用户轻松验证他们下载的文件集在传输过程中或被第三方损坏,并且不涉及他们创建MD5 手动并将结果与​​存储在文本文件中的值进行比较(这也可能被欺骗了)。

0 投票
1 回答
215 浏览

android - 如何验证/排除 AVD 调试密钥

我正在尝试在这里找到的 HelloMapView 示例:http: //developer.android.com/guide/tutorials/views/hello-mapview.html

我遇到的问题是,当我运行我的应用程序时,不会加载任何地图图块......我听说这通常是因为我的谷歌地图 api 密钥不正确。我尝试使用从谷歌生成的密钥对我的应用程序进行签名,但应用程序仍然不会将图块加载到地图中。我可以缩放和影响地图的其他功能,除了实际加载图块之外的所有内容。我正在阅读 Eclipse(我正在使用)会自动为您生成一个密钥,但这并没有发生。有关如何解决此问题的任何建议?谢谢!

0 投票
2 回答
759 浏览

iphone - iPhone 签名概念问题:为什么需要 Ad Hoc 部署?

我一定在概念上遗漏了一些东西,我希望有人能纠正我。

我不太清楚为什么需要对 iPhone 应用程序进行 Ad Hoc 部署,以及为什么不能使用开发构建。

具体来说,我不明白为什么我不能只向某人发送我的开发配置文件和我的应用程序,只要他们的机器 ID 包含在我的开发配置文件中。

因此,在 Apple Provisioning Portal 的设备下,我添加了我的 iPhone 和我朋友的设备 ID。在证书下,我提交了一个 CSR,据我了解,它不包含任何关于我的设备的特定内容(它向我的机器写入了一个私钥,但我认为 CSR 中没有关于我的设备的任何特定内容)。然后我得到一个我下载的证书。然后我创建一个开发配置文件。在此过程中,我选择了我刚刚创建的证书(以我公司的名义,但没有具体说明我的设备),然后我检查了所有设备,包括我朋友的设备。然后,我在我的 iPhone 上下载并安装该配置文件(并且只有该配置文件,没有其他配置文件或证书或我的设备上的任何东西)。然后我构建我的应用程序,使用该开发配置文件对其进行签名。然后我可以在我的 iPhone 上安装创建的 .ipa,它就可以工作了。

那么是什么让我无法向我的朋友(我在创建开发配置文件时检查其设备 ID)发送相同的开发 .mobileprovision 和 .ipa 文件,而他可以安装和运行相同的文件?

这不是让我获得与 Ad Hoc 部署相同的效果,而没有 Ad Hoc 部署的额外麻烦吗?(我承认可能不多,但有一些)

0 投票
2 回答
2733 浏览

continuous-integration - 作为持续构建的一部分,使用 gpg 对 RPM 进行签名 - 如何避免提示输入密码?

我有一个持续集成构建系统,它通过 cron 触发的 shell 脚本生成 RPM。我想用 gpg 对 RPM 进行签名,但 gpg 坚持要求用户在控制台手动输入密码,这显然是一个非初学者,因为没有用于 cron 的用户控制台。

我已经阅读了有关 gpg-agent 的信息,它可以让您为当前的登录会话输入一次密码,但是 cron 再次没有登录会话。我想要的是能够将 gpg-agent 配置为在启动时接受一次密码,并在需要时将其交给 cron 会话。我不知道这是否可能,并且 gpg-agent 的文档相当少。

另一种方法是在 gpg 要求时使用 expect 来输入密码,但显然这是一个很大的安全漏洞,因为密码需要包含在构建脚本中。

0 投票
1 回答
3856 浏览

managed-c++ - 托管 C++ 强名称/签名

如何使用 .pfx 文件签署托管 c++ dll?

或者有没有办法将未签名的托管 c++ dll 包含在已签名的 c# 项目中?我真的不需要签名的 dll 我只需要 VS 停止给我错误“引用的程序集 'SlimDX' 没有强名称。” 在我的 c# 项目中必须签名。