我在另一台机器上完成了一个由其他人创建的项目。
- 我已经填写了签名密钥表格并将我的密钥通过电子邮件发送给我。
- 我已经双击每个来安装它们:然后我转到 vmTools 文件夹中的签名工具。选择了我的 .cod 文件(今天构建)。
- 然后,我在状态列中获取旁边带有“未注册”的 cod 文件列表。
- 我点击了请求按钮并收到错误消息。'在此应用程序已向所有签名机构注册之前,无法请求签名。我错过了什么?
我在另一台机器上完成了一个由其他人创建的项目。
为了防止这丢失链接腐烂,我粘贴了下面的重要内容。
注意:如果您使用的是 Eclipse 插件,而不是旧的 JDE,那么您将转到BlackBerry菜单,选择Sign,然后选择Install New Keys或Import Existing Keys。您必须使用BlackBerry (RIM) 提供的所有三个文件。例如,要安装全新的密钥:
客户端-RBB-12341231.csi
客户端-RCR-12341231.csi
客户端-RRT-12341231.csi
或导入现有密钥:
sigtool.csk
sigtool.db
在某些情况下,当您尝试使用 SignatureTool 应用程序对应用程序进行签名时,您会收到以下错误:
在此应用程序已向所有所需的签名机构注册之前,无法请求签名。
您正在尝试为您的应用程序请求代码签名签名,但 SignatureTool 未向所有必需的签名机构注册。
RIM 代码签名框架签名有两种类型:
必需的签名- 这由与 .cod 文件关联的 .csl 文件指定。在设备上加载您的应用程序需要一个必需的签名。
可选签名- 这由与 .cod 文件关联的 .cso 文件指定。可选签名表示系统可以对应用程序执行运行时签名检查。如果应用程序未签名,则不允许执行预期的方法。
SignatureTool 会阻止您对应用程序进行签名,因为它会等到所有必需的签名都到位。必需的签名是应用程序在设备上成功加载所必需的。
有几种不同的情况,其中 SignatureTool 未向所需的代码签名服务器注册。
共有三个公共签名机构(RBB、RRT 和 RCR),它们代表受控应用程序编程接口 (API) 的不同部分。当您收到代码签名密钥时,您会收到代表三个代码签名服务器的三个 .csi 文件。在所有三台服务器上注册很重要。要确定哪些签名密钥已成功安装和/或丢失,请查看本文
还有一个额外的公共签名机构,即 Certicom™ Crypto (RCC) 签名机构,用于控制对设备上 Certicom 加密功能的访问。有关在设备上访问 Certicom API 的更多信息,请访问 Certicom。
Research In Motion® 维护自己的内部签名权限,以保护未公开的 API 或未公开的数据。无法访问这些签名权限,并且应从您的应用程序中删除对 Research In Motion 内部方法或数据的任何引用,以允许 SignatureTool 对您的应用程序进行签名。
注意:JDE 4.1 允许您在首选项下打开代码签名警告。这决定了您的应用程序中尝试使用来自每个签名机构的签名的区域。
RIM 的签名服务器有时会失败。我一次看过它好几个小时。