3. Verschlüsselung mit HTTPS

3.1. Konfiguration in appserver.opt / AppServer

HTTPS wird wie folgt im GeoShop aktiviert / gestartet:

  1. SSL_PORT in \user\options\appserver.opt unter AppServer setzen:

       AppServer MAP
          ...
          SSL_PORT STRING 443
       }
  2. GeoShop neu starten. Am Schluss von appserver.log sollte die Meldung: SSLServer started on port 443. erscheinen.

  3. Jetzt kann man bereits auf den GeoShop via HTTPS zugreifen (z.B. https://localhost/client5/index.html im Webbrowser aufrufen). Es ist auch möglich mit beliebigen GeoShop Client-Tools (z.B. Administrator oder Ordermanager) auf den GeoShop zu zugreifen. Dazu muss man beim Login im Feld Server die URL https://localhost eingeben.

[Anmerkung]

Vor der GeoShop Version 2022.0 wurde der Zertifikatspeicher im Format JKS (Java Key Store) im Verzeichnis GEOSHOP_USER_DIR\ssl abgespeichert. JKS ist ein proprietäres Format und wurde daher in der GeoShop Version 2022.0 durch das standardisierte Format PKCS12 (.pfx) ersetzt.

[Anmerkung]

SSL-Zertifikate einer offiziellen CA werden normalerweise im PKCS12 Format (.pfx) geliefert.

[Anmerkung]

Alte Zertifikatspeicher im JKS Format werden beim GeoShop Start automatisch nach PKCS12 übersetzt. Passwörter und Zertifikat-Alias werden dabei auf Default Werte gesetzt.

Vollständige Liste aller im Abschnitt AppServer unterstützen SSL-Optionen:

SSL_PORT (r)

Port auf dem der SSL-Server gestartet werden soll, normalerweise 443 (Standard Port von HTTPS). Die Angabe dieser Option ist obligatorisch, sonst wird der SSL-Server vom GeoShop nicht gestartet.

SSL_PROTOCOL

Verwendetes SSL-Protokoll (Default: TLSv1.2).

SSL_STORE (o)

Name des .pfx Zertifikatspeicher in dem das Zertifikat bzw. der Private Key gespeichert ist (Default: ssl.pfx).

SSL_STORE_PASSWORD (o)

Password für den Zertifikatspeicher.

SSL_ALIAS (o)

Alias unter dem das Zertifikat im SSL-Zertifikatspeicher abgelegt ist (Default: geoshop). Muss nur angegeben werden, wenn mehr als ein Zertifikat im SSL-Zertifikatspeicher abgelegt ist. Wenn das angegebene Zertifikat im Zertifikatspeicher nicht existiert, wählt der GeoShop das erste Zertifikat im Zertifikatspeicher.

SSL_KEY_PASSWORD (o)

Passwort für den Private Key im Zertifikatspeicher (Default: SSL_STORE_PASSWORD).

3.2. Serverzertifikate erstellen / installieren

3.2.1. Überblick

Der GeoShop verwendet standardmässig ein selbst signiertes und für die Domäne localhost ausgestelltes Serverzertifikat für die Verschlüsselung der Daten. Der Zertifikatspeicher ist unter \user\certs\ssl.pfx abgelegt. Wenn man ein Serverzertifikat installieren will, hat man folgende Möglichkeiten:

  1. Man generiert ein selbst signiertes Serverzertifikat für seine Domäne. Diese Methode hat den Vorteil, dass sie schnell durchgeführt werden kann und keine wiederkehrenden Kosten nach sich zieht. Die Benutzer erhalten jedoch im Browser eine Fehlermeldung, welche vom Benutzer übersprungen werden muss (s.a. Abschnitt Clientzertifikat). Diese Methode eignet sich daher vorallem für Testumgebungen und nicht produktive Webseiten. Das selbst erstellte Zertifikat ist (praktisch) unbeschränkt gültig.

  2. Man bestellt ein Zertifikat für die gewünschte Domäne bei einer offiziellen Zertifizierungsstelle (CA). Darauf installiert man das offizielle Serverzertifikat im GeoShop. Sofern das Zertifikat von einer geläufigen CA (z.B. Verisign, Thawte, TC Trustcenter, etc.) erstellt wurde, erhalten Benutzer im Browser keine Fehlermeldung mehr. Allerdings muss man für die Erstellung und Verwendung des Serverzertifikat eine wiederkehrende Gebühr entrichten.

    [Anmerkung]

    Der Name der Domäne wird im GeoShop unter AppServer.HOST angegeben (z.B. www.infogrips.ch).

    [Warnung]

    Von einer CA signierte Serverzertifikate sind nur noch ein Jahr gültig und müssen rechtzeitig erneuert werden um Fehlermeldungen im Browser der Benutzer zu vermeiden.

Weil es für beide Methoden Anwendungsfälle gibt, sind im nachfolgenden beide Methoden beschrieben.

3.2.2. Selbst signiertes Serverzertifikat erstellen

Erstellen oder ergänzen Sie den Abschnitt MetaInfo in appserver.opt wie folgt:

MetaInfo MAP
   Provider STRING <organization>
   Unit STRING <organizational-unit>
   Street STRING <street>
   ZIP STRING <zip>
   City STRING <city>
   State STRING <state>
   Country STRING <country>
}

Nachfolgend ein vollständig ausgefülltes Beispiel:

MetaInfo MAP
   Provider STRING 'infogGrips GmbH'
   Unit STRING 'Development'
   Street STRING 'Technoparkstrasse 1'
   ZIP STRING '8005'
   City STRING 'Zuerich'
   State STRING 'ZH'
   Country STRING 'CH'
}
[Anmerkung]

Falls man bereits für eine ältere Version des GeoShop einen Zertifikatspeicher im JKS Format erstellt hat, muss man nicht unbedingt den Abschnitt MetaInfo ausfüllen, da diese Angaben aus dem JKS Zertifikatspeicher entnommen werden. Weil MetaInfo jedoch auch für andere GeoShop Funktionen verwendet wird (z.B. Portalserver), empfehlen wir die Erstellung von MetaInfo trotzdem.

Nun kann ein selbst signiertes Serverzertifikat wie folgt erstellt werden:

  1. Löschen Sie die Datei \user\certs\ssl.pfx, falls diese existiert.

  2. Starten Sie den GeoShop neu.

  3. Der GeoShop erzeugt nun für die Domäne AppServer.HOST aus den Angaben im Abschnitt MetaInfo automatisch den Zertifikatspeicher \user\certs\ssl.pfx und lädt das darin enthaltene Serverzertifikat.

3.2.3. Offizielles Serverzertifikat beantragen und installieren

Das Serverzertifikat muss zuerst bei einer offiziellen CA im PKCS12 Format bestellt werden. Die CA liefert dann das von ihr signierte Serverzertifikat als .pfx Datei (manchmal ist die Dateiendung auch .p12), welche man wie folgt im GeoShop installiert:

  1. Kopieren Sie die .pfx Datei nach \user\certs\ssl.pfx.

  2. Passen Sie die notwendigen SSL_ Parameter im Abschnitt AppServer an, z.B.

    AppServer MAP
       ...
       SSL_PORT STRING 443
       SSL_STORE_PASSWORD STRING <store-password>
       SSL_KEY_PASSWORD STRING <key-password>
    [Anmerkung]

    Die Passwörter <store-password> bzw. <key-password> werden von der CA geliefert.

    [Anmerkung]

    <key-password> muss nur angegeben werden, wenn der Private Key von der CA durch ein zusätzliches Passwort gesichert wurde (ist selten der Fall).

  3. Starten Sie den GeoShop neu.

3.3. Clientzertifikate

Dieser Abschnitt gilt nur für "selbst signierte Serverzertifikate" (s.a. oben).

Für die Administratorwerkzeuge müssen keine Clientzertifikate installiert werden.

Falls man mit einem aktuellen Internet Browser (Edge, Chrome, Firefox oder Safari) via HTTPS auf den GeoShop zugreifen will, gibt es eine Fehlermeldung betreffend fehlender Sicherheit des Serverzertifikats, welche man überspringen muss.