selbstsigniertes Zertifikat im Windows-Server

8

Ich habe eine C # -Konsolenanwendung, die einen Webdienst außerhalb meines Netzwerks nutzt. Mir wurde gesagt, dass die Webdienste ein selbstsigniertes Zertifikat für SSL verwenden. Ich bin nicht vertraut mit dem Zertifikat und ich frage mich, was ich tun muss in .net / Windows Server-Umgebung.

Danke.

    
tony 25.04.2011, 15:15
quelle

2 Antworten

4

Selbstsignierte Zertifikate werden von Ihrer Anwendung standardmäßig nicht als gültig angesehen, da es keine vertrauenswürdige dritte Partei gibt, die das Zertifikat überprüft. In der Regel sehen Sie selbstsignierte Zertifikate auf Testservern. Weitere Informationen zu selbstsignierten und signierten Zertifikaten finden Sie hier .

Wenn Sie Probleme beim Aufrufen der Webdienste haben, müssen Sie entweder das Zertifikat auf dem Computer installieren, auf dem Ihre Anwendung ausgeführt wird, oder einen benutzerdefinierten Validator erstellen, mit dem Sie Ihrer Anwendung mitteilen können, dass sie die Selbstsignierung akzeptieren soll Zertifikat. Ab .NET 2.0 erfolgt die benutzerdefinierte SSL-Validierung durch Angabe einer benutzerdefinierten Methode auf dem Eigenschaft ServicePointManager.ServerCertificateValidationCallback .

Ein Beispiel für die Verwendung der ServerCertificateValidationCallback-Eigenschaft finden Sie hier: Ссылка

    
rsbarro 25.04.2011 15:53
quelle
3

Das ist eine große Frage speziell in Bezug auf X.509-Sicherheit. Normalerweise müssen Sie bei einem selbstsignierten Zertifikat die ursprüngliche Zertifizierungsstelle importieren, die zum Signieren dieses Zertifikats verwendet wurde (normalerweise die selbstsignierte Zertifizierungsstelle, die von der Anwendung verwendet wird) in Ihren Schlüsselbund (um sicherzustellen, dass Sie eine Verbindung zum richtigen Server herstellen). Dies ist normalerweise erforderlich, da Ihre Clientanwendung die Verbindung prüft, wenn das Zertifikat von einer bekannten und vertrauenswürdigen Zertifizierungsstelle signiert wurde oder ein vorhandenes Zertifikat in Ihrem Schlüsselbund übereinstimmt.

In C # können Sie den System.Net.Security-Namespace überprüfen und speziell die SSlStream-Klasse für weitere Details.

Wenn Sie das Zertifikat in Ihren Schlüsselbund importieren müssen, können Sie über verschiedene Schnittstellen auf den Schlüsselbund zugreifen. die grafische Benutzeroberfläche über die Befehlszeile " Certutil.exe " oder über die verschiedene APIs .

    
Alexandre Dulaunoy 25.04.2011 15:50
quelle

Tags und Links