MapServer banner Home | Docs | Issue Tracker | FAQ | Download
en de es fr zh_cn it

msencrypt

Zweck

Erstellt einen Schlüssel für eine Verschlüsselung oder verschlüsselt Teile der Verbindungsdaten im Mapfile (ab Version 4.10). Normalerweise werden Verbindunsparameter für Datenbanken (Parameter CONNECTION) verschlüsselt. Folgende CONNECTIONTYPEs unterstützen diese Verschlüsselungsmethode:

OGR
Oracle Spatial
PostGIS
SDE

Syntax

Einen neuen Schlüssel erstellen:

msencrypt -keygen [key_filename]

Eine Zeichenkette verschlüsseln:

msencrypt -key [key_filename] [string_to_encrypt]

Verwendung im Mapfile

Der Pfad zum Schlüssel kann über zwei Mechanismen angegeben werden. Entweder wird die Umgebungsvariable MS_ENCRYPTION_KEY gesetzt oder die Direktive CONFIG wird im MAP-Objekt des Mapfiles benutzt. Zum Beispiel:

CONFIG MS_ENCRYPTION_KEY "/path/to/mykey.txt"

Es können geschweifte Klammen {} als Begrenzer des Schlüssels benutzt werden. Zum Beispiel:

CONNECTIONTYPE ORACLESPATIAL
CONNECTION "user/{MIIBugIBAAKBgQCP0Yj+Seh8==}@service"

Example

LAYER
  NAME "provinces"
  TYPE POLYGON
  CONNECTIONTYPE POSTGIS
  CONNECTION "host=127.0.0.1 dbname=gmap user=postgres password=iluvyou18 port=5432"
  DATA "the_geom FROM province using SRID=42304"
  STATUS DEFAULT
  CLASS
    NAME "Countries"
    COLOR 255 0 0
  END
END

Mit den folgenden Schritten wurde das Passwort im obigen Beispiel verschlüsselt:

  1. Erstellung eines Schlüssels (Dieser Schlüssel sollte nicht in Verzeichnissen gespeichert werden die für den Webserver zugänglich sind):
msencrypt -keygen "E:\temp\mykey.txt"

Der erstellte Schlüssel könnte wie folgt aussehen:

2137FEFDB5611448738D9FBB1DC59055
  1. Verschlüsselung des Verbindungspasswortes mit dem erstellten Schlüssel:
msencrypt -key "E:\temp\mykey.txt" "iluvyou18"

Dies liefert das verschlüsselte Passwort, das auf der Kommandozeile ausgegeben wird (und in einem der nächsten Schritte benutzt wird):

3656026A23DBAFC04C402EDFAB7CE714
  1. Bearbeitung des Mapfiles um sicherzustellen das ‘mykey.txt’ gefunden wird. Hierzu wird die Umgebungsvariable “MS_ENCRYPTION_KEY” benutzt. Der Parameter CONFIG kann zum setzen der Umgebungsvariablen benutzt werden:
MAP
    ...
    CONFIG "MS_ENCRYPTION_KEY" "E:/temp/mykey.txt"
    ...
END #mapfile
  1. Anpassung des Parameters CONNECTION, damit das verschlüsselte Passwort benutzt wird. Dies muss dabei in geschweiften Klammern “{}” geschrieben werden:
CONNECTION "host=127.0.0.1 dbname=gmap user=postgres password={3656026A23DBAFC04C402EDFAB7CE714} port=5432"
  1. Fertig! Mit shp2img kann das verschlüsselte Mapfile getestet werden.