Zertifikats- / SSL-Fehler im WebClient ignorieren

Hin und wieder kommt es vor, dass auf Web-Ressourcen zugegriffen wird. Aber was passiert, wenn die lokale Anwendung das Zertifikat nicht akzeptiert? Die Anwendung würde eine Exception auslösen und nicht mehr wie erwartet ablaufen. Mir begegnete das Problem zuletzt, als ich die Zertifikate eines Servers aktualisiert habe und anschließend die Anwendung unter Windows XP nicht mehr lief. Der dortige Internet Explorer konnte mit den neuen Zertifikat nicht umgehen. Zum Glück aber, kann ein solches Problem recht einfach mit nur einer Zeile gelöst werden. Um jedes Zertifikat zu akzeptieren, benötigt der Quellcode nur auf dem Aufruf der Web-Ressource folgende Zeile:

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

Natürlich können hier auch eigene, komplexe Methoden implementiert werden, um z.B. nur bestimmte Zertifikate zuzulassen.