2009-12-17 13 views
7

Ich schrieb eine .Net-Anwendung, die nichts mit der Netzwerkkommunikation zu tun hat. Es gibt keine einzige Codezeile in der gesamten Anwendung, die die NIC verwendet, aber meine Firewall hat festgestellt, dass sie beim Start der App versucht, Verisign aus irgendeinem Grund zu kontaktieren. Dies geschieht nicht regelmäßig; In der Tat ist es nur zweimal passiert.Warum kontaktiert meine .Net-App Verisign?

Beim letzten Mal konnte ich Wireshark starten, bevor ich meiner Firewall den Zugriff auf das Netzwerk erlaubte. Es gab keine echte Datenübertragung, die ich erzählen kann. Es erfasst nur 9 TCP-Pakete: einige SYN-Pakete, einige SYN/ACK und einige RST-Pakete (Die RST-Pakete wurden unterbrochen). Ich würde eine meiner Drittanbieterdlls vermuten, aber ich verstehe nicht, warum eine Mathebibliothek oder eine Bildbearbeitungsbibliothek versuchen würde, eine Verbindung mit Verisign herzustellen und dann nichts mit dieser Verbindung zu tun.

Meine Kunden sind in Organisationen mit strenger Sicherheit; Das letzte, was ich möchte, ist ein Anruf, der fragt, warum meine Anwendung eine Verbindung zum Internet herstellt.

Weiß jemand, warum das passiert? Gibt es eine Möglichkeit, dies zu verhindern?

Die von Wireshark generierte .pcap-Datei lautet here.

Antwort

8

Hier ist ein guter Link a blog zu erklären, was passiert, und die Änderungen an Ihre Anwendung Config-Datei, die Sie es von stoppen geschehen hinzufügen können, und zwar:

<configuration> 
    <runtime> 
     <generatePublisherEvidence enabled="false"/> 
    </runtime> 
</configuration> 

Es zu authenticode Unterzeichnung in engen Zusammenhang steht, und die PublisherMembershipCondition die Sie fast nicht nötig. Das ist hier auf MSDN

Eine Sache zu beachten ist, dass. Net 2.0 und. Net 3.0 nur Unterstützung für diese Config-Einstellung mit SP1 hinzugefügt. .Net 3.5 unterstützt dies ohne Service Pack.

0

Sind diese bezahlten Drittanbieterdlls, die möglicherweise eine Art von Nutzungsauthentifizierung durchführen?

+0

Sie sind bezahlt, aber ihr Lizenzierungsmechanismus besteht darin, nach einem Lizenzschlüssel zu suchen, der in einer Datei auf dem Computer enthalten ist. – Phil

+0

Nun, das ist ein Lizenzierungsmechanismus. Der andere scheint keinen Lizenzverifizierungsmechanismus zu haben. – Phil

1

Wenn es sich um eine Webanwendung mit SSL handelt, könnte IE versuchen, zu überprüfen, dass das Zertifikat nicht widerrufen wurde.

+0

AFAIK, das Gleiche gilt für alle signierten .net-Assemblys, die nicht unbedingt mit IE- oder Web-Apps verbunden sind. Das System würde einen CRL-Server (Certificate Revocation List, Zertifikatsperrliste) kontaktieren, um zu überprüfen, ob etwas nicht mehr vertrauenswürdig ist. Es gibt eine systemweite Option, um dieses Verhalten zu deaktivieren, aber ich kann mich nicht erinnern, wo es ist. – atzz

2

Wenn Sie Ihre Baugruppe mit einem echten Zertifikat signieren, muss die .net-Laufzeitumgebung die digitale Signatur prüfen.