3

我想做几件事,想知道它们是否可行,如果可以,该怎么做。

我打算制作一个虚拟机来运行代码登录。这样,如果我的计算机死机,我希望通过在新系统中简单地运行虚拟机来最大限度地减少停机时间。我知道代码密钥与运行它们的机器相关联。如果有人在 VM 中完成了代码签名并将 VM 切换到另一台物理机器,请让我知道密钥是否继续工作。

我还想在 VM 中运行多个 JDE 来为不同的操作系统签名代码。据我了解,代码签名使用位于每个 JDE 目录中的代码签名应用程序。是否可以在同一系统上运行多个 JDE 并能够为特定操作系统签名代码(我计划在代码签名 VM 上安装 JDE 4.2.1、4.5、4.6.1、4.7 和最终 5.0 )。如果是这样,我是否需要多个密钥 - 每个 JDE 版本一个 - 或者是否有某种方法可以为不同版本使用相同的密钥?

感谢您回答这个问题的任何帮助。

4

2 回答 2

4

当然可以在机器之间迁移密钥 - 我们有一组已在 Windows XP、Mac OS X 和 Linux 机器上使用的密钥。

如果您在BlackBerry JDE Component Package X.Y.Z\bin手动使用签名工具后查看其中一个目录,您将看到以下文件:

sigtool.csk
sigtool.db

这些是您需要的文件。只需将它们复制到备用 JDE 树中的等效位置,您就可以将它们用于“多个目标”。我没有对 4.7.0 进行此操作,但对 4.6.0、4.5.0、4.3.0 和 4.2.1 进行了此操作。我们正在使用

java -jar bin/SignatureTool.jar

我不确定其他方法是否可行。

迁移到类 UNIX 的构建机器引入了一个扭曲,这就是我认为 RIM 说密钥不可移植的原因 - SignatureTool 应用程序似乎没有检测到操作系统特定的目录路径分隔符。结果是它在这些位置查找关键文件,即使是在 UNIX 机器上(注意反斜杠):

bin\sigtool.csk
bin\sigtool.db

例如,当您认为它会寻找时bin/sigtool.csk。对此的解决方案是简单地创建具有指向实际文件的这些名称的软链接。在组件包顶层目录中我们这样做:

ln -s bin/sigtool.db bin\\sigtool.db
ln -s bin/sigtool.csk bin\\sigtool.csk

我只登录了一个虚拟机——一个 Windows XP 映像。它工作得很好。

于 2010-01-24T23:56:56.577 回答
0

另一个解决方案是使用 SignatureTool 解决问题(仅供参考,RAPC 也有类似的问题),如本博客所述:

http://www.slashdev.ca/2008/03/16/using-sigtool-in-linux/

于 2010-02-26T22:47:47.603 回答