Wie für ein WCF-Service-Client-Zertifikat Widerruf deaktivieren?
-
03-07-2019 - |
Frage
Wie kann ich Zertifikatsperrung deaktivieren für ein WCF-Service-Client? Die Client-Proxy wurde von wsdl.exe erzeugt und erbt Soaphttpclientprotocol.
Lösung
Ich glaube, Sie suchen ServicePointManager.ServerCertificateValidationCallback
:
Welche nimmt einen RemoteCertificateValidationCallback
Delegierten:
Ich habe noch nie mit einem gesperrten Zertifikat behandelt vor (ich habe die Hand zu anderen Themen zu behandeln wie abgelaufenes SSL), aber ich vermute, Sie würden nur so etwas wie:
class Program
{
static void Main(string[] args)
{
ServicePointManager.ServerCertificateValidationCallback +=
new RemoteCertificateValidationCallback(ValidateCertificate);
// Do WCF calls...
}
public static bool ValidateCertificate(object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
if(sslPolicyErrors == SslPolicyErrors.RemoteCertificateChainErrors)
{
foreach(X509ChainStatus chainStatus in chain.ChainStatus)
{
if(chainStatus.Status == X509ChainStatusFlags.Revoked)
{
return true;
}
}
}
return false;
}
}
Andere Tipps
Sie können für Ihre Anwendung in der Konfigurationsdatei Zertifikatsvalidierung und Sperroptionen:
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow