2010-11-30 22 views
1

Ma question est la suivante: Comment puis-je empêcher mon application .NET 1.1 d'essayer de vérifier la signature numérique dans un environnement où il n'y a pas d'accès à Internet?Comment désactiver la vérification de la signature Authenticode pour un assembly .NET 1.1?

Contexte à ma question: J'ai un produit installé chez un client qui est basé sur .NET 1.1 SP1. Le site client n'a pas accès à Internet. Cela provoque un retard dans le démarrage de l'application, ce qui dans certains cas provoque le démarrage de mes services Windows car ils expirent.

Le délai au démarrage semble provenir de l'application qui tente de vérifier la signature numérique. Ceci est bien documenté dans les autres messages et la réponse normale est d'inclure generatePublisherEvidence = false dans le fichier app.config, comme documenté ici http://support.microsoft.com/kb/936707

Il semble que l'utilisation de generatePublisherEvidence = false ne fasse aucune différence pour les applications .NET 1.1 , qui semble être d'accord avec MSDN (http://msdn.microsoft.com/en-us/library/0kk0kk35(VS.71).aspx ne mentionne pas l'élément) et avec le correctif que j'ai mentionné ci-dessus, qui a été publié pour Applications .NET 2.0.

Ma prochaine version pour le client sera basée sur .NET 3.5 SP1 et je n'ai aucun problème avec l'utilisation de generatePublisherEvidence sur cette version du framework .NET, mais je ne peux pas changer le client pour cette version - je suis bloqué avec .NET 1.1 SP1 - donc je cherche une réponse autre que d'utiliser simplement une version plus récente du framework .NET.

+0

Malheureusement, nous n'avons pas trouvé de solution pour nos produits et nous avons fini par supprimer une signature authenticode des assemblages .NET. Nous utilisons seulement Strongnaming. C'est plus simple pour nous, car nous développons des bibliothèques de composants, pas l'application de l'utilisateur final. –

+0

Je viens de trouver ceci pour désactiver la vérification de la liste de révocation de certificats en modifiant un paramètre dans Internet Explorer. Je vais essayer cela suivant - reviendra avec le résultat: 1. Ouvrez Internet Explorer 2. Allez dans Outils -> Options Internet ... 3. Allez à l'onglet Avancé 4. Localisez la section Sécurité et décochez l'option Vérifier la révocation du certificat de l'éditeur. –

+0

Hmm. Honte sur moi. Je n'ai pas "revenir avec le résultat" comme je l'ai promis dans mon précédent commentaire. Et maintenant, il y a si longtemps ... Je suis à peu près sûr que cette solution n'a pas fonctionné. –

Répondre

1

Je viens de résoudre ce problème pour une application fournie par le fournisseur aujourd'hui. Je suppose que leur application a été écrite en .net, mais je n'ai pas confirmé. Étant donné que le sous-réseau n'avait pas accès à Internet, j'ai supprimé l'entrée de serveur DNS des paramètres TCP/IP sur les ordinateurs locaux qui ont des adresses statiques. Pour les adresses fournies par DHCP, j'ai supprimé l'option de serveur DNS (006) de la portée DHCP.

+2

Ah, c'est intéressant, puisque nous avons (encore) observé ce problème chez le client, mais seulement sur certaines machines et pas sur d'autres. Il se peut que la différence entre les machines qui fonctionnent et celles qui ne fonctionnent pas est de savoir si elles ont des adresses statiques ou dynamiques ... Merci pour l'info. –

+0

mais cette solution peut créer d'autres problèmes avec les applications qui ont besoin de résoudre les noms ... –