2010-01-24 6 views
3

Je voulais faire quelques choses et je me demande si elles sont possibles, et si oui, comment les faire. J'allais faire une machine virtuelle pour exécuter la signature de code. De cette façon, si mon ordinateur meurt, je peux espérer minimiser les temps d'arrêt en exécutant simplement la VM dans un nouveau système. Je sais que les clés de code sont liées à la machine sur laquelle elles sont exécutées. Si quelqu'un a fait une signature de code dans une machine virtuelle et a fait passer la machine virtuelle sur une autre machine physique, veuillez me faire savoir si les clés ont continué à fonctionner ou non. Je souhaitais également exécuter plusieurs JDE dans la machine virtuelle pour signer le code de différents systèmes d'exploitation. D'après ce que je comprends la signature du code utilise une application de signature de code située dans le répertoire de chaque JDE. Est-il possible d'exécuter plusieurs JDE sur le même système et d'être en mesure de signer du code pour un système d'exploitation spécifique (Je prévois d'avoir JDE 4.2.1, 4.5, 4.6.1, 4.7 et éventuellement 5.0 sur la VM de signature de code). Si oui, ai-je besoin de plusieurs clés - une pour chaque version de JDE - ou existe-t-il un moyen d'utiliser les mêmes clés pour les différentes versions?BlackBerry Code de signature pour plusieurs OS'es

Merci pour toute aide pour répondre à cette question.

Répondre

4

Il est certainement possible de migrer les clés entre les machines - Nous avons un ensemble de clés qui ont été utilisées sur les machines Windows XP, Mac OS X et Linux.

Si vous regardez dans l'un de vos BlackBerry JDE Component Package X.Y.Z\bin répertoires après avoir utilisé l'outil de signature vous manuellement voyez ces fichiers:

sigtool.csk 
sigtool.db 

Ce sont les fichiers dont vous avez besoin. Copiez-les simplement à l'emplacement équivalent dans les arbres JDE alternatifs et vous pourrez les utiliser pour 'plusieurs cibles'. Je n'ai pas fait cela avec 4.7.0, mais j'ai avec 4.6.0, 4.5.0, 4.3.0 et 4.2.1. Nous sommes exécutés le signataire en utilisant

java -jar bin/SignatureTool.jar 

Je ne suis pas sûr si d'autres méthodes fonctionneraient. La migration vers des machines de type UNIX introduit une torsion, et c'est pourquoi je pense que RIM dit que les clés ne sont pas portables - l'application SignatureTool ne semble pas détecter le caractère séparateur de chemin de répertoire spécifique au système d'exploitation. Le résultat est qu'il recherche les fichiers clés dans ces endroits, même sur une machine UNIX (notez les antislashs):

bin\sigtool.csk 
bin\sigtool.db 

quand on pourrait penser qu'il chercherait bin/sigtool.csk par exemple. Une solution pour cela est simplement de créer des liens souples avec ces noms qui pointent vers les fichiers réels. Dans l'ensemble des composants répertoire de haut niveau que nous faisons ceci:

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

Je n'ai signé dans une machine virtuelle - une image de Windows XP. Cela a bien fonctionné.

Questions connexes