黑莓代码签名'unable to request signatures...'



我接受了其他人在另一台机器上创建的项目。

  • 我已经填写了签名密钥表,并通过电子邮件将我的密钥发送给我
  • 我双击了每一个以安装它们:然后转到vmTools文件夹中的签名工具。选择了我的.cod文件(今天生成)
  • 然后,我在状态列中获得了旁边带有"未注册"的cod文件列表
  • 我点击了请求按钮,得到了错误在所有签名机构注册此应用程序之前,无法请求签名。我错过了什么

听起来签名服务器可能关闭了,您可以在这里查看签名服务器的当前状态:

正在签署serverdown.com

对签名进行故障排除总是一个快速而简单的开始。

请参阅blackberry.com参考资料。

为了防止这个丢失到链接腐烂,我粘贴了下面的重要内容。

注意:如果您使用的是Eclipse插件,而不是旧的JDE,那么您将转到BlackBerry菜单,选择签名,然后安装新密钥导入现有密钥例如,要安装全新的密钥:

客户端-RBB-12341231.csi
客户端-RCR-12341231.csi
客户端-RRT-12341231.csi

或用于导入现有密钥:

sigtool.csk
sigtool.db


问题

在某些情况下,当您尝试使用SignatureTool应用程序对应用程序进行签名时,会收到以下错误:

在向所需的所有签名机构注册此应用程序之前,无法请求签名。

原因

您正试图为应用程序请求代码签名,但SignatureTool未向所有必需的签名机构注册。

有两种类型的RIM代码签名框架签名:

  • 必需签名-这是由与.cod文件关联的.csl文件指定的。在设备上加载应用程序需要一个必需的签名

  • 可选签名-由与.cod文件关联的.cso文件指定。可选签名指示系统可以对应用程序执行运行时签名检查。如果应用程序未签名,则不允许执行所需的方法。

SignatureTool会阻止您对应用程序进行签名,因为它会等待所有必需的签名到位。所需的签名是应用程序在设备上成功加载所必需的。

分辨率

有几种不同的情况下,SignatureTool没有向所需的代码签名服务器注册。

  • 场景1-未在公共签名机构注册

有三个公共管理机构(RBB、RRT和RCR)代表受控应用程序编程接口(API)的不同部分。当您收到代码签名密钥时,您会收到代表三个代码签名服务器的三个.csi文件。向所有三个服务器注册是很重要的。要确定哪些签名密钥已成功安装和/或丢失,请查看本文

  • 场景2-尝试使用受控签名机构

还有一个额外的公共签名机构,Certicom™加密(RCC)签名机构,用于控制对设备上Certicom加密功能的访问。访问Certicom了解有关访问设备上的Certicom API的更多信息。

  • 场景3-尝试使用不可访问的签名机构

Research In Motion®拥有自己的内部签署机构,以保护未公开的API或非公开数据。无法访问这些签名机构,应从您的应用程序中删除对Research In Motion内部方法或数据的任何引用,以允许SignatureTool对您的申请进行签名。

注意:JDE 4.1允许您在"首选项"下打开代码签名警告。这决定了应用程序中试图使用每个签名机构签名的区域。


以下是BlackBerry网站

上的一个更有用的指南

偶尔RIM的签名服务器会出现故障。我一次看了好几个小时。

相关内容

最新更新