2016-06-30 10 views
0

Ich habe einen ungewöhnlichen Anwendungsfall:Sicherung einer privaten IP-Adresse (https-Zertifikat)

  • ein Web-Server im Internet ist Seiten über HTTPS dient,
  • innerhalb dieser Web-Seiten gibt es Anrufe XMLHttpRequests mit einem lokal angeschlossenen Gerät (IP über USB)
    • das Gerät HTTP und HTTPS unterstützt,
    • ist das Gerät zugänglich http(s)://192.168.0.1
  • die HTTP-Aufrufe fehlschlagen, weil die unsicheren Inhalte in einer https-Seite,
  • die https Anrufe fehlschlagen, da das Zertifikat nicht vertrauenswürdig ist (selbst signierte),

Side Frage: Da die Vorrichtung Ist lokal mit dem PC verbunden, ist die Verschlüsselung ziemlich nutzlos: Gibt es einen http-Header, der unsichere Verbindungen zu einer bestimmten URL erlaubt? (Wie CORS für Cross-Domain)

Haupt Frage: Ist es möglich, ein Zertifikat für eine private IP-Adresse zu erhalten?

Edit: es scheint, dass Plex hatte ein ähnliches Problem und löste es wie auf dieser blog beschrieben. Das ist viel zu groß für mich.

Antwort

2

Ist es möglich, ein Zertifikat für eine private IP-Adresse zu erhalten?

Ein Zertifikat kann an eine IP-Adresse gebunden werden (siehe this). Sie können ein selbstsigniertes Zertifikat an eine private Adresse senden, aber eine vertrauenswürdige Zertifizierungsstelle gibt kein Zertifikat an eine private Adresse aus, da sie ihre Identität nicht überprüfen kann.

Zum Beispiel kann ein Zertifikat ausgestellt 192.168.0.1 wäre teorically in jedem Kontext gültig ist, und dies sollte von einem vertrauenswürdigen CA

Plex löst das Problem mit einem Dynamic DNS und einem Wildcard-Zertifikat erlaubt werden. Die Verbindung erfolgt über den Namen (nicht die IP) des Geräts, das in die private IP aufgelöst wird

Gibt es einen http-Header, der unsichere Verbindungen zu einer bestimmten URL erlaubt? (wie CORS für Cross-Domain)

Nein, es existiert nicht. Der Browser blockiert Ihre XHR-Verbindungen, da es sich um HTTP-Verbindungen handelt, die von einer HTTPS-Seite initiiert wurden (Warnmeldung für gemischte Inhalte). Nicht sichere Inhalte können theoretisch von Angreifern gelesen oder geändert werden, obwohl die übergeordnete Seite über HTTP bedient wird. Dies ist normal und es wird empfohlen, dass der Browser den Benutzer warnt.

Um die Fehler mit gemischten Inhalten und HTTPS zu beheben, können Sie den Inhalt über HTTPS und ein selbstsigniertes Zertifikat bereitstellen und Benutzer dazu auffordern, Ihre Stammzertifizierungsstelle im Browser zu importieren.

+0

Sie bestätigen meine Untersuchungen. Das Importieren einer Stammzertifizierungsstelle ist immer ein Problem für unsere Kunden. Ich frage mich, ob wir Plex-Lösung verwenden könnten (der Preis des Wildcard-Zertifikats könnte für eine sehr kleine Anzahl von Benutzern ein Problem sein). – Xvolks

+0

Sie können eine Wildcard für ein paar hundert $/€ kaufen. Ich denke, wenn Sie immer 192.168.0.1 verwenden, können Sie "localdevice.yourdomain.com" in einem öffentlichen DNS zuordnen. Die Komplexität von Plex scheint darin zu liegen, dynamisches DNS mit dem Hash ihrer Geräte zu verwenden. – pedrofb

+0

Das ist richtig, das Hash-System ist hier, um ein Zertifikat an nur einen Benutzer zu binden. Auf der anderen Seite brauche ich das Hash-System nicht, da das Gerät nicht mit dem Internet verbunden ist. Es ist über die USB-Leitung an den Benutzer gebunden. – Xvolks