Ich versuche, eine benutzerdefinierte Authentifizierung zu implementieren, und eine Sache, die mich verwirrt, ist ein Konzept des Bereichs Zum Beispiel gibt es einen Moment, in dem mein Modul eine magische Zeichenfolge in die Antwort einfügt:
%Vor%Der Site wird ein SSL-Zertifikat zugewiesen, das mit dem Dienstprogramm makecert erstellt wurde und an "myname.mycompany.com" ausgegeben wird. Der Aufrufer erstellt eine Anfrage:
%Vor% wobei serverUrl
mit https://
beginnt und wenn die Anfrage vom Server verarbeitet wird, der Server die Antwort "WWW-Authenticate" sendet, dann wird auf der Client-Seite eine Ausnahme ausgelöst mit "Daten können nicht in den Transportverbindung: Eine eingerichtete Verbindung wurde von der Software in Ihrem Host-Rechner abgebrochen. " Text.
Es ist klar, dass bei der SSL-Verhandlungsebene etwas nicht stimmt und ich kann nicht herausfinden, was es ist. Ich denke, es könnte etwas mit dem Bereich zu tun haben.
Meine Frage ist - was ist ein Realm und wie hängt es mit dem Namen der Partei zusammen, der ein SSL-Zertifikat ausgestellt wurde, wenn eine Verbindung über SSL hergestellt wurde?
Um Ihre Frage "Was ist ein Königreich?" zu beantworten, einige Copypasta von RFC 2617 :
Die Realm-Direktive (ohne Berücksichtigung der Groß- und Kleinschreibung) ist für alle Authentifizierungsschemas erforderlich, die eine Challenge ausgeben. Der Realm-Wert (case-sensitive) in Kombination mit der kanonischen Root-URL (die absoluteURI für den Server, dessen abs_path leer ist; siehe Abschnitt 5.1.2 von [2]) des Servers, auf den zugegriffen wird, definiert den Schutzbereich. Diese Bereiche ermöglichen es, die geschützten Ressourcen auf einem Server in eine Reihe von Schutzbereichen zu partitionieren, die jeweils über ein eigenes Authentifizierungsschema und / oder eine Autorisierungsdatenbank verfügen. Der Bereichswert ist eine Zeichenfolge, die im Allgemeinen vom Ursprungsserver zugewiesen wird und möglicherweise zusätzliche Semantiken aufweist, die für das Authentifizierungsschema spezifisch sind. Beachten Sie, dass es möglicherweise mehrere Probleme mit demselben Authentifizierungsschema gibt, aber unterschiedliche Bereiche.
Was Ihre Frage betrifft, wie es mit Ihrem SSL-Zertifikat zusammenhängt: es ist nicht. Der einfachste Weg, um herauszufinden, was los ist, ist einfach durch den Zugriff auf die URL in Ihrem Browser. Sie sollten eine ziemlich klare Beschreibung des Problems erhalten (Hostname stimmt nicht mit dem Zertifikat überein, nicht vertrauenswürdige CA, abgelaufen usw.).
Der Bereich gibt den Bereich an, für den sich der Client authentifiziert. Ein Browser speichert den Benutzernamen, das Passwort und den Bereich und speichert die Anmeldeinformationen für weitere Serverantworten, die eine Authentifizierung für diesen Bereich erfordern.
Es gibt keine Beziehung zwischen SSL und dem, was mit HTTP passiert. Wenn Sie es geschafft haben, eine Verbindung auszuhandeln und eine Anfrage zu senden und eine Antwort zu erhalten, wird SSL nicht Ihr Problem sein. Sie könnten einfach versuchen, auf eine Verbindung zu schreiben, die geschlossen wurde. In diesem Fall würde ich den privaten Schlüssel in Wireshark laden und genauer untersuchen, was auf der Protokollebene passiert, sowohl TCP / IP als auch HTTP.
Tags und Links .net c# iis ssl forms-authentication