HTTPS -Anfrage an Server MIT UNBEKANNTEM ZERTIFIKAT



  • Hallo,

    WebRequest und WebResponse klappen soweit ja ganz wunderbar. Aber ich bin zuerst dran verzweifelt, dass ich keine Anfrage an meinen privaten Server schicken konnte, dessen Zertifikat unbekannt ist. Eine Anfrage an öffentliche SSL-Seiten, z.B. Banken-Login, funktioniert. Daraus schließe ich also dass es mit der Art des Zertifikats zusammenhängt.

    Weiß jemand, wie man eine Verbindung auch dann aufbauen kann, wenn das Zertifikat unbekannt ist?
    Oder noch besser - wie kann man den Fehler abfangen und eine Warnung ausspucken, so dass der Nutzer entscheiden kann, ob er die Verbindung aufbauen will, oder nicht?

    Danke Schönen Gruß



  • Ich gebe Dir erstmal folgenden URL
    http://www.microsoft.com/germany/msdn/library/net/csharp/CsharpTippsTeil1NetzwerkUndInternet.mspx

    Dort ist eine Unterüberschrift die da lautet

    Eine HTML-Seite von einer Site abrufen, die eine Authentifizierung verlangt

    dort ist auch Beispielcode hoffe Dir bringts was jedenfalls ist das dort beschriebene Szenario gleich gelagert denke ich!?

    mfg sclearscreen



  • Was in besagter Datei, die mit der Kryptografie-Klasse geladen wird, stehen muss weiss ich nathürlich nicht!

    Abhilfe man bräuchte ein gültige Zertifikatsdatei und müsste die analysieren.

    Aber wenn Du eine Anfrage an deinen eigenen Server stellst so liegt das daran wie der konfiguriert ist. Da Du ja der Admin bist solltest Du mal in der Dokudeiner Serversoftware nachschauen, wie dieser bei bestimmten Anfragen von Clients das Prozedere händelt bezüglich Zertifikate!

    mfg sclearscreen



  • Du siehst ja aus dem Technologiebeispiel geht hervor der Client hat ein Pfad wo
    Datei[en] als Zertifikaten vorliegen.

    Die Kryptografieklasse liesst die Datei ein, und verschlüsselt deren Inhalt.

    Der verschlüsselte Inhalt wird an das Anfrageobjekt per Methode Add
    angehangen.

    Dein Server bekommt den Request liesst diesen Anhang aus entschlüsselt diesen
    und vergleicht ob er in seinem Kramladen ein ähnliches Zertifikat hat.

    Wenn ja wirds ne Antwort geben.

    So der Server mit Einsatz von Zertifikaten konfiguriert ist wird sowas dann auch in der Client-Server-Kommunikation gebraucht.
    Aber vielleicht sagt noch jemand anderes was zu deinem Problem mit dem Internetzertifikatgedöns bin ich kein Fachmann!

    mfg sclearscreen 🙂

    P.S.: Das sind so meine Ideen die ich aus dem Beispiel ziehe und die mir persöhnlich auch plausibel erscheinen



  • Servus,

    also das Problem ist ja, dass der Client die Verbindung abbricht, wenn er das Server-Zertifikat nicht kennt. Da kann ich am Server nichts machen, meiner Meinung nach. Es handelt sich einfach um ein selbstsigniertes mit openssl erstelltes Zertifikat. Wenn ich die Verbindung mit einem normalen Webbrowser aufbaue, dann kommt eine Warnmeldung, die ich bestätigen muss, und das wars - so wie man es kennt...

    Das Thema ist für mich zwar immernoch grundsätzlich interessant, aber ich habe inzwischen gemerkt, dass man mit .net 2.0 viel mehr bzgl. SSL machen kann. Dort gibt es die Möglichkeit, einen normalen TCP-Socket zu öffnen und den dann über SSL abzusichern. Das ist also viel flexibler und außerdem scheint es auch weniger Probleme mit dem Zertifikat zu geben. Aber ich bin noch nicht so weit, dass ich das mit Sicherheit sagen könnte... 🙂

    Danke trotzdem für deine Mühen!

    Schöne Grüße,
    Philipp


Anmelden zum Antworten