2009-08-25 9 views
5

J'aimerais comprendre certaines des meilleures pratiques en matière de signature de code. Nous avons une application basée sur Eclipse et pensons qu'il serait approprié de signer nos plug-ins. Cela a soulevé beaucoup de questions:Signature de code dans le cadre du processus de construction

  • Can/Si la clé privée dans contrôle de code source?

  • Devrions nous signer le code dans le cadre de notre processus de construction de nuit ou en tant que partie de notre processus de version?

  • Est-ce que le code doit être signé automatiquement , ou est-ce qu'il y a une raison pourquoi cela devrait être une étape manuelle?

Mon inclination est-à-dire « Oui », « nuit », et « automatiquement », mais je pouvais voir un argument pour la signature des produits de libération. Je pourrais même avancer l'argument selon lequel SQA devrait signer le code après l'avoir vérifié, bien que cela perturbe vraiment notre processus de publication.

Comment les autres personnes gèrent-elles cela?

Répondre

7

Tout dépend de la sécurité de votre clé privée. Il se peut que ce ne soit pas un élément auquel vous voulez qu'un employé temporaire ayant un accès source ait un accès complet.

A mon travail, nous ne les éléments suivants:

binaires « signe de test » dans le cadre de notre quotidien construit avec une vérification dans la clé. Cela nécessite un certificat racine de test sur les machines afin de faire confiance aux binaires, mais ils ne seront pas approuvés si les bits sont déployés à l'extérieur de l'entreprise.

Hebdomadaire (et pour les versions externes), nous signons avec la clé réelle. Ceci est fait via un processus séparé, quelque peu manuel. Seules quelques personnes ont accès à la clé pour signer le produit.

3

Je peux vous dire comment j'ai vu cela dans un grand corp. Les développeurs individuels peuvent créer le code, mais ils ne peuvent pas le signer. Ce serait une construction privée. La machine d'intégration Contiguos lâcherait les versions nocturnes signées avec une clé stockée sur le magasin de clés de la machine de construction, qui serait une clé de test signée par une autorité de certification d'entreprise (une clé approuvée uniquement dans le corp). La version officielle ne peut être signée que par des machines contrôlées avec l'autorité de confiance officielle et signée, la clé de signature stockée dans les modules matériels dans la salle d'accès contrôlée. L'idée est qu'une clé privée devrait vraiment avoir seulement une copie dans le monde (au plus un extra pour l'entiercement). La valeur entière de la clé est dérivée de sa vie privée, pas de n'importe quoi d'autre. Le moment est disponible pour l'ensemble de votre organisation, c'est aussi bien que de le sortir sur la baie des pirates.

Questions connexes