Les meilleures pratiques pour la signature .NET assemblées?
J'ai une solution composée de cinq projets, dont chacun compiler des assemblées distinctes. Droit maintenant, je suis de signature de code, mais je suis assez sûr que je suis en train de faire le mal. Quelle est la meilleure pratique ici?
- Signer chacune avec une clé différente; assurez-vous que les mots de passe sont différents
- Signer chacune avec une clé différente; utiliser le même mot de passe si vous voulez
- Signer chaque avec la même clé
- Quelque chose d'autre entièrement
Fondamentalement, je ne suis pas tout à fait sûr de ce que "la signature" ne, ou ce que les meilleures pratiques sont ici, donc, plus généralement, la discussion serait bon. Tout ce que je sais, c'est que FxCop a crié à moi, et il était facile à corriger en cliquant sur le "Signe de cette assemblée" case à cocher et la génération d'un .fichier pfx à l'aide de Visual Studio (2008).
OriginalL'auteur Domenic | 2008-08-29
Vous devez vous connecter pour publier un commentaire.
Si votre seul objectif est d'arrêter de FxCop de crier après vous, alors vous avez trouvé la meilleure pratique.
La meilleure pratique pour la signature de vos assemblées est quelque chose qui est complètement dépendant de vos objectifs et besoins. Nous aurions besoin de plus d'informations, comme votre déploiement:
Généralement, vous utilisez la signature de code pour vérifier que les Assemblées est venu d'une source de confiance et n'ont pas été modifiés. De sorte que chaque avec la même clé est fine. Maintenant que la confiance et l'identité est déterminée en est une autre histoire.
Mise à JOUR: Comment cela profite à vos utilisateurs finaux lorsque vous déployez sur le web est que si vous avez obtenu un logiciel de signature de certificat auprès d'une autorité de certification. Puis, quand ils le téléchargement de vos assemblées, ils peuvent vérifier qu'ils venaient de Dominique de Logiciels d'Emporium, et ils n'ont pas été modifiés ou endommagés le long du chemin. Vous aurez également à signer le programme d'installation lorsqu'il est téléchargé. Cela empêche l'avertissement que certains navigateurs affichent qu'elle a été obtenue à partir d'une source inconnue.
Note, vous devrez payer pour un logiciel de signature de certificat. Ce que vous obtenez est le certificat de l'autorité devenir la confiance 3ème partie qui vérifie que vous êtes qui vous dites que vous êtes. Cela fonctionne grâce à un web de confiance qui trace son chemin de retour à un certificat racine qui est installé dans leur système d'exploitation. Il y a quelques autorités de certification à choisir, mais vous voulez vous assurer qu'ils sont pris en charge par les certificats racine sur le système d'exploitation cible.
OriginalL'auteur Jim McKeeth
La différence la plus évidente entre signés et non signés, assemblées dans une application ClickOnce. Si vous n'avez pas le signer, puis, les utilisateurs pourront obtenir un effrayant "Éditeur Inconnu" dialogue d'avertissement de la première fois qu'ils l'exécution de votre application. Si vous avez signé avec un certificat auprès d'une autorité de confiance, ils voient alors une boîte de dialogue qui est moins effrayant. Autant que je sache, la signature avec un certificat que vous générez vous-même n'affecte pas la "Éditeur Inconnu" d'avertissement". Instant SSL de Comodo a des exemples de boîtes de dialogue.
Il y a quelques plus subtiles différences. Vous devez signer une assemblée avant d'être installés dans le global assembly cache (GAC) où il peut être partagé par plusieurs applications. La signature est partie intégrante de la sécurité d'accès du code (CAS), mais je n'ai pas trouvé quelqu'un qui pourrait obtenir des TAS de travail. Je suis assez sûr que le GAC et AR fonctionne bien avec les certificats que vous générez vous-même.
OriginalL'auteur Don Kirkby
Il aide parce que l'exécutable s'attend à un nommé fortement de l'assemblée. Il s'arrête à quiconque à des fins malveillantes substituant dans une autre assemblée pour l'un des vôtres. En outre, l'utilisateur peut accorder une assemblée CAS des autorisations basées sur le nom fort.
Je ne pense pas que vous devriez être à la distribution de l' .fichier pfx, vous gardez le coffre de sa démission de l'assemblée.
OriginalL'auteur Martin Clarke
Il est important de garder votre fichier PFX secret, car il contient la clé privée.
Si cette clé est disponible pour d'autres, alors n'importe qui peut signer des assemblées ou des programmes qui se font passer pour vous.
À associer votre nom à vos assemblées (dans les yeux de Windows), vous devrez obtenir un certificat numérique (la partie du fichier PFX contenant votre nom) signé par une autorité de confiance.
En fait, vous obtiendrez un nouveau certificat, mais avec les mêmes informations.
Vous aurez à payer pour ce certificat (probablement par an), mais la autorité de certification va effectivement se porter garant de votre existence (après avoir faxé des copies de votre passeport ou de votre permis de conduire et d'une facture).
OriginalL'auteur koregan
Signature est utilisée pour identifier de manière unique une assemblée. Plus de détails dans Comment faire: Signer une Assemblée (Visual Studio).
En termes de bonnes pratiques, c'est bien d'utiliser la même clé, tant que les assemblées ont des noms différents.
OriginalL'auteur Martin Clarke