HttpListener mit HTTPS auf MonoTouch

8

Ich habe einen sehr einfachen Webserver mit dem HttpListener in MonoTouch implementiert. Alles funktioniert gut. Jetzt muss ich HTTPS-Unterstützung hinzufügen. Ich habe versucht, die Schritte von

zu folgen

Httplistener mit https-Unterstützung

, aber ich weiß nicht, wo ich die Zertifikate in MonoTouch einstellen soll. Das Hinzufügen des Präfixes "https: // *: 443" hilft nicht, da keine Verbindungen möglich sind und keine Ausnahmen ausgelöst werden.

Laut Ссылка könnte dies daran liegen, dass man a angeben muss Serverzertifikat ("Sie können Serverzertifikate und andere Listeneroptionen mithilfe von HttpCfg.exe konfigurieren").

Wie kann ich es in MonoTouch tun?

    
zmit 14.11.2012, 13:42
quelle

1 Antwort

7

Das ist eine sehr gute Frage. In einigen Fällen, wie für HttpListener , benötigt .NET Tools oder .config-Dateien (mit System.Configuration ), um die Konfiguration einer Anwendung zu optimieren. In vielen Fällen gibt es API, die den gleichen Zweck erreichen, aber nicht immer (und nicht in diesem Fall).

Die Lösung besteht darin, sich den Quellcode von Mono anzuschauen, um zu sehen, was das Tool HttpCfg.exe für die Anwendung erwartet. Von github :

%Vor%

Die Lösung besteht also darin, die gleiche Verzeichnisstruktur zu erstellen (es ist möglich, da sie unter das Verzeichnis Documents zeigt) und die .cer -Datei (binäres DER-kodiertes Zertifikat) und die .pvk -Datei (also der private Schlüssel in dem Format, das makecert erstellt) mit der Portnummer als Dateiname.

Wenn diese Dateien vorhanden sind, sollten Sie in der Lage sein, HttpListener zu starten und das erforderliche Zertifikat und den für die Verarbeitung von SSL-Anforderungen erforderlichen privaten Schlüssel laden zu lassen.

    
poupou 14.11.2012, 19:17
quelle