Das remote-Zertifikat ist ungültig nach der Validierung der Verfahren. GMAIL
Die Funktion unten funktioniert in einer Konsolenanwendung, aber es funktioniert nicht in meinem asp.net die web-site. Ich erhalte eine Fehlermeldung:
Das remote-Zertifikat ist ungültig nach der Validierung der Verfahren.
public static void SendEmail(MailMessage mm)
{
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("[email protected]", "Pass");
smtp.Send(mm);
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, mit der Zertifikat Validierung Fall machen es leichter zu bestimmen, der Grund, warum die remote-Zertifikats ist ungültig. Für diese, bevor Sie die SendEmail-Methode die folgende Zeile hinzu:
und dann stellen Sie eine Implementierung für ValidateServerCertificate, wie
Den erhaltenen Parametern durch ValidateServerCertificate sollten geben Sie details darüber, warum die Validierung fehlgeschlagen ist (überprüfen Sie sslPolicyErrors). Sie haben auch Zugriff auf das remote-Zertifikat und dem chain-Zertifikat von Behörden.
Ein mögliches Szenario ist, dass Sie die Webseite unter einem anderen Benutzer als die Konsole-Anwendung, und dieser Benutzer hat kein Vertrauen in die Emittentin (oder eine zwischengeschaltete Behörde in der Kette) von der gmail-Zertifikat. Dies könnte passieren, wenn Sie irgendwie gelöscht haben Zertifikate von der Lokalen Maschine/Vertrauenswürdigen Root-Zertifikate im Windows-Zertifikatspeicher.