Question

Comment puis-je signer un exécutable Visual C #?

SignTool.exe ne peut pas trouver un certificat.

Comment puis-je créer une clé auto-signé et le certificat, et ont signtool être en mesure de voir le certificat et l'utiliser?

OpenSSL et Visual Studio 2010 Express sont installés. Exécution de Windows 7 Ultimate 64 bits.

Utilisation SignTool.exe de Windows Driver Kit.

Était-ce utile?

La solution

L'utilisation de certificats auto-signés pour signer numériquement vos binaires assez va bien contre le concept du avec des programmes. L'idée de base est de prouver le code a été créé par vous (authenticité) et n'a pas été modifié depuis relâcha (intégrité). Cela doit être fait à l'aide d'un certificat signé est signé par une autorité de confiance de certification (CA).

Avec .Net, quand est signé numériquement un binaire, il est automatiquement pour vérifier l'intégrité et l'authenticité lors du démarrage. Bien que je ne l'ai pas testé personnellement ce, en utilisant un certificat auto-signé va probablement vous causer beaucoup de problèmes.

Si vous voulez signer numériquement vos programmes, vous devez investir dans un certificat de signature de code d'une autorité de certification Il y a un certain nombre d'entreprises là-bas qui peuvent fournir ce service ( Verisign , Thawte), moyennant des frais.

Alors que la redevance pourrait sembler un peu extrême dans le prix, rappelez-vous que vous n'êtes pas seulement l'achat d'un certificat numérique, mais aussi la validation 24/7 de ce certificat. Chaque fois que quelqu'un commence votre programme, il assurera le programme a été écrit par vous et que le programme n'a pas été changé depuis que vous relâcha.

Une fois que vous avez un certificat, vous pouvez signer numériquement votre programme en suivant les étapes Comment:. Connexion et déploiement d'applications de manifestes

Mise à jour: Si ce programme est strictement une application interne (limité à vous ou votre entreprise), vous pouvez créer votre propre CA . Puisque vous seriez le seul exécutant, que vous devez valider. Le certificat CA devrait être installé en tant que racine de confiance de certificat sur tous les les machines qui exécuter le programme (ou si vous avez accès à Windows Server, vous pouvez configurer un véritable CA de travail).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top