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
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?
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 :
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.
Tags und Links c# ios https xamarin.ios httplistener