Warum wird mein ServicePointManager.ServerCertificateValidationCallback ignoriert?

9

Ich mache eine Webanfrage in einer winforms App. Ich biete eine benutzerdefinierte Zertifikatsüberprüfung wie folgt an:

%Vor%

wo certValidator.ValidateRemoteCertificate

ist %Vor%

Wie Sie sehen, sollte dieser Rückruf alle Serverzertifikate ablehnen und alle versuchten Verbindungen schließen.

Mein Problem ist, dass dieser Rückruf komplett ignoriert wird. Ich reiche eine https-Anfrage ein und es funktioniert wie ein Zauber. Beobachten Sie es im Debugger kann ich sehen, dass ValidateRemoteCertificate wird nie aufgerufen.

Warum wird mein Ersatz-Rückruf nie zurückgerufen?

EDIT: LB hat nach der Webanfrage gefragt, also hier ist es:

%Vor%

EDIT 2: Es ist wahrscheinlich nicht verwandt, aber in der .config-Datei weise ich an, den konfigurierten Proxy wie folgt zu verwenden:

%Vor%

EDIT 3: Unten ist ein vollständiges, minimales Beispiel, das das Verhalten manifestiert. Ich erwarte, dass dieses Beispiel eine Ausnahme auslöst, weil alle Zertifikate zurückgewiesen werden sollten, aber es funktioniert gut.

%Vor%

Warum wird mein Ersatz-Rückruf nie zurückgerufen?

    
Eric 24.01.2014, 22:45
quelle

1 Antwort

4

Es war nichts falsch mit dem ursprünglichen Code, den ich gepostet habe. Ich habe über http statt https angefordert. Daher war keine Zertifikatsprüfung erforderlich. Sobald ich eine https-Anfrage aufgerufen habe, hat es funktioniert.

    
Eric 11.02.2014, 14:34
quelle

Tags und Links