changeset 1276:4523d81eeafe

Merged.
author Emanuel Schuetze <emanuel@intevation.de>
date Mon, 29 Sep 2014 11:08:46 +0200
parents be989e9d49a4 (current diff) 5e0c338552b4 (diff)
children 509c48708e47
files ui/mainwindow.cpp
diffstat 5 files changed, 94 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/doc/help/admin/installation.rst	Mon Sep 29 11:08:20 2014 +0200
+++ b/doc/help/admin/installation.rst	Mon Sep 29 11:08:46 2014 +0200
@@ -1,15 +1,31 @@
 Installation
 ============
 
+Systemanforderungen
+-------------------
 Die TrustBridge-Verwaltungsanwendung läuft unter Windows und GNU/Linux.
-Offiziell unterstützt und geprüft sind Windows 7 und Ubuntu 14.04
+Offiziell unterstützt und geprüft sind Windows 7 (64 Bit) und Ubuntu 14.04 (64 Bit).
 (jeweils 64 Bit).
 
+Erforderlicher Festplattenplatz: 22 MB (Windows) bzw. 17 MB (Ubuntu).
+
+Nur Ubuntu: Die Pakete ``nsis`` und ``sharutils`` sind erforderlich
+für den Einsatz von TrustBridge-Admin.
+
+Windows
+-------
+TrustBridge-Admin muss nicht installiert werden und bringt alle
+erforderlichen Abhängigkeiten mit. Einfach das
+Zip-Archivs entpacken und die darin enthaltene
+``trustbridge-admin.exe`` starten.
+
 
-TODO: Systemvoraussetzung, Windows, Ubuntu
+Ubuntu
+------
+Zunächst bitte die nötigen Paketabhängigkeiten installieren: 
 
-Systemvoraussetzungen
----------------------
+``sudo apt-get install nsis sharutils``
 
-* erforderlicher Festplattenplatz: ca. 20 MB
+Anschließend das Zip-Archiv entpacken und die darin enthaltene
+``trustbridge-admin`` starten.
 
--- a/doc/help/admin/server.rst	Mon Sep 29 11:08:20 2014 +0200
+++ b/doc/help/admin/server.rst	Mon Sep 29 11:08:46 2014 +0200
@@ -1,4 +1,70 @@
 Server-Anforderungen
 ====================
 
-TODO
+Der TrustBridge-Update-Server stellt die Softwareversionen und
+Zertifikatslisten für den TrustBridge-Client bereit.
+
+An den Betrieb des Update-Servers werden folgende Anforderungen
+gestellt:
+
+* eine öffentlich zugängliche URL eines Download-Verzeichnises
+  (optional: Verzeichnis ist im Browser auflistbar).
+
+* Ausliefern aller Dateien nur über https (Version TLS 1.2)
+  in der Konfiguration und Einhaltung der Technischen Richtlinie
+  `"BSI TR-02102-2 Verwendung von Transport Layer Security (TLS)"
+  <https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102-2_pdf.html>`_:
+  Cipher-Suite: ECDSA (mit brainpoolP256r1), 
+  maximal TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384;
+
+* Manuelles Heraufladen von neue Dateien ermöglichen (z.B. per SCP; nur für den
+  TrustBridge-Administrator).
+
+
+Zertifikatsanforderungen
+------------------------
+
+Windows-Code-Signing-Zertifikat
+...............................
+Für die Signatur des TrustBridge-Windows-Installers wird ein
+Code-Signing-Zertifikat von einer vertrauenswürdigen, vorinstallierten
+Zertifizierungsstelle auf Windows benötigt, um Authenticode für die
+Verifikation der  Erstinstallation nutzen zu können.
+
+* Empfohlene Schlüssellänge: RSA 2048 oder 3076
+* Empfohlener Hash-Algorithmus: SHA-256
+
+Der geheime Schlüssel verbleibt beim TrustBridge-Administrator und
+muss in der TrustBridge-Verwaltungsanwendung beim Erstellen eines
+neuen Installationspakets angegeben werden.
+
+TODO: Gleiches Zertifikat auf zum Signieren des Linux-Binaries?
+
+Schlüsselmaterial für Listensignatur
+....................................
+Jede Zertifikatsliste wird mit einem geheimen Schlüssel signiert.
+Das zugehörige öffentliche Zertifikat ist in TrustBridge zur Signaturprüfung 
+fest verdrahtet. (TODO: korrekt?)
+
+* Empfohlene Schlüssellänge: RSA 3076
+* Empfohlener Hash-Algorithmus: SHA-256
+
+Der geheime Schlüssel verbleibt beim TrustBridge-Administrator und
+muss in der TrustBridge-Verwaltungsanwendung beim Erstellen einer
+neuer Zertifikatsliste angegeben werden.
+
+
+
+Zertifikat für Update-Server
+............................
+Der Transport von Zertifikatslisten und Softwareupdates wird
+per HTTPS (Version TLS 1.2) abgesichert.
+Das zugehörige öffentliche Zertifikat ist in TrustBridge fest verdrahtet. (TODO: korrekt?)
+
+Empfohlenes Verfahren ist ECDSA mit brainpoolP256r1-Parametern. Das Zertifikat
+sollte den X.509 Standards (rfc5639, rfc7027) entsprechen und mit
+PolarSSL funktionieren. Die X.509-Standards sind wichtig, damit das
+mit neueren Klienten (wie Webbrowsern) gleich funktioniert, sobald
+diese auch die entsprechende Kurve beherrschen.
+
+Der geheime Schlüssel wird zum Update-Server übertragen.
--- a/packaging/create-dist-package.sh.in	Mon Sep 29 11:08:20 2014 +0200
+++ b/packaging/create-dist-package.sh.in	Mon Sep 29 11:08:46 2014 +0200
@@ -68,12 +68,12 @@
 done
 
 cd $TMPDIR/windows/licenses
-echo SetOutPath \"\$INSTDIR\\licenses\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
+echo SetOutPath \"\$INSTDIR\\licenses\" >> $TMPDIR/resources/filelist_in.nsh
 for file in `find * -type f`; do
-    echo File \"\${files_dir}\${path_sep}licenses\${path_sep}$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_in.nsh
-    echo Delete \"\$INSTDIR\\licenses\\$file\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
+    echo File \"\${files_dir}\${path_sep}licenses\${path_sep}$file\" >> $TMPDIR/resources/filelist_in.nsh
+    echo Delete \"\$INSTDIR\\licenses\\$file\" >> $TMPDIR/resources/filelist_un.nsh
 done
-echo RmDir \"\$INSTDIR\\licenses\" >> @CMAKE_CURRENT_BINARY_DIR@/filelist_un.nsh
+echo RmDir \"\$INSTDIR\\licenses\" >> $TMPDIR/resources/filelist_un.nsh
 
 cd $TMPDIR/windows/doc
 
--- a/packaging/linux-installer.inc	Mon Sep 29 11:08:20 2014 +0200
+++ b/packaging/linux-installer.inc	Mon Sep 29 11:08:46 2014 +0200
@@ -74,7 +74,7 @@
 {
   OPTS=`getopt \
       -l uninstall,update,force,help,prefix:,system,version \
-      -o d,f,p:,s -n "$ME" -- "$@"`
+      -o u,f,p:,s -n "$ME" -- "$@"`
   [ $? -eq 0 ] || usage 23
 
   eval set -- "$OPTS"
--- a/ui/mainwindow.cpp	Mon Sep 29 11:08:20 2014 +0200
+++ b/ui/mainwindow.cpp	Mon Sep 29 11:08:46 2014 +0200
@@ -469,7 +469,7 @@
             qDebug() << "Failed to start process.";
         }
         connect(updaterProcess, SIGNAL(finished(int, QProcess::ExitStatus)),
-                this, SLOT(restart()));
+                this, SLOT(updaterFinished(int, QProcess::ExitStatus)));
         return;
     }
 

http://wald.intevation.org/projects/trustbridge/