From 0147186684e54dbf042c263b6c9fd2aab1065d55 Mon Sep 17 00:00:00 2001
From: Thomas <>
Date: Wed, 15 Dec 2021 12:38:41 +0100
Subject: switch from log4j to logback
---
.../handbook/conf/moa-spss/log4j.properties | 38 ---
release-infos/handbook/conf/moa-spss/logback.xml | 53 ++++
.../handbook/handbook/install/install.html | 296 +++++++--------------
3 files changed, 154 insertions(+), 233 deletions(-)
delete mode 100644 release-infos/handbook/conf/moa-spss/log4j.properties
create mode 100644 release-infos/handbook/conf/moa-spss/logback.xml
(limited to 'release-infos/handbook')
diff --git a/release-infos/handbook/conf/moa-spss/log4j.properties b/release-infos/handbook/conf/moa-spss/log4j.properties
deleted file mode 100644
index 562d450..0000000
--- a/release-infos/handbook/conf/moa-spss/log4j.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Sample log4j configuration for the MOA-SPSS web service
-#
-
-# commons-logging setup
-org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory
-
-# Configure root logger and loggers for moa-spss
-log4j.rootLogger=info, stdout
-log4j.logger.at.gv.egovernment.moa.spss=info, moaspss
-log4j.logger.at.gv.egovernment.moa.sig=info, moaspss
-log4j.logger.iaik.server=warn, moaspss
-
-# Configure the 'stdout' appender to write logging output to the console
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n
-
-# Configure the 'moaspss' appender to write moa-spss related logging output
-# to the file '${catalina.base}/logs/moa-spss.log'. The file is rolled over every 1000KB,
-# and a maximum history of 10 log files is being kept.
-log4j.appender.moaspss=org.apache.log4j.RollingFileAppender
-log4j.appender.moaspss.File=${catalina.base}/logs/moa-spss.log
-log4j.appender.moaspss.MaxFileSize=1000KB
-log4j.appender.moaspss.MaxBackupIndex=10
-log4j.appender.moaspss.layout=org.apache.log4j.PatternLayout
-log4j.appender.moaspss.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n
-
-# Configure the jdbc appender 'JDBC' to write logging output
-# to the given PostgreSQL database
-# a suitable table called 'spss_log' must have been created in the
-# database using the command:
-# create table spss_log (log_time timestamp, log_level char(5), log_msg text)
-#log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender
-#log4j.appender.JDBC.driver=org.postgresql.Driver
-#log4j.appender.JDBC.URL=jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest
-#log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout
-#log4j.appender.JDBC.sql=INSERT INTO spss_log (log_time, log_level, log_msg) VALUES ('%d{ yyyy-MM-dd HH:mm:ss.SSS}', '%5p', '%m')
diff --git a/release-infos/handbook/conf/moa-spss/logback.xml b/release-infos/handbook/conf/moa-spss/logback.xml
new file mode 100644
index 0000000..4d0b34b
--- /dev/null
+++ b/release-infos/handbook/conf/moa-spss/logback.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
@@ -13,66 +13,66 @@ |
MOA: Serversignatur (SS) und Signaturprüfung (SP)
-Installation
+MOA: Serversignatur (SS) und Signaturprüfung (SP)
+Installation
In diesem Betriebs-Szenario wird das MOA SP/SS Webservice in Tomcat zum Einsatz gebracht. Tomcat fungiert gleichzeitig als HTTP- und HTTPS-Endpunkt für das MOA SP/SS Webservice. Beide Protokolle werden direkt in Tomcat konfiguriert. Das MOA SP/SS Webservice verwendet Log4j als Logging Toolkit.
+In diesem Betriebs-Szenario wird das MOA SP/SS Webservice in Tomcat zum Einsatz gebracht. Tomcat fungiert gleichzeitig als HTTP- und HTTPS-Endpunkt für das MOA SP/SS Webservice. Beide Protokolle werden direkt in Tomcat konfiguriert. Das MOA SP/SS Webservice verwendet LogBack als Logging Toolkit.
Die folgenden Schritte dienen der Vorbereitung der Installation.
@@ -134,9 +134,9 @@moa-spss-3.1.x.zip
in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST
bezeichnet. Kopieren Sie alle Dateien aus dem Verzeichnis Kopieren Sie alle Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext
in das Verzeichnis $JAVA_HOME/jre/lib/ext
. Zusätzlich müssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden Unlimited Strength
-
-
+ $MOA_SPSS_INST/ext
in das Verzeichnis $JAVA_HOME/jre/lib/ext
. Zusätzlich müssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden Unlimited Strength
+
+
Jurisdiction Policy Files von der Java SE Downloadseite und achten Sie darauf die für ihre verwendete Java SE Installation richtige Version zu nehmen. Anschließend folgen Sie der darin enthaltenen Installationsanweisung.
Das MOA SP/SS Webservice kann remote durch den Aufruf einer speziellen URL des Webservices dazu veranlasst werden, seine Konfiguration neu einzulesen (vergleiche Abschnitt 2.1.2.5). Der Zugriff auf diese URL ist durch eine Passwort-Abfrage geschützt, und kann nur von Tomcat-Benutzern aufgerufen werden, denen die Tomcat-Benutzer-Rolle moa-admin
zugeordnet wurde.
Um diese Benutzer-Rolle und einen oder mehrere Benutzer einzurichten, müssen in der Datei $CATALINA_HOME/conf/tomcat-users.xml
unter dem Element <tomcat-users>
sinngemäß folgende Einträge hinzugefügt werden:
-
<role rolename="moa-admin"/> +<role rolename="moa-admin"/> <user username="moa-chief" password="openSesam" roles="moa-admin"/>Soll der Aufruf dieser URL niemandem ermöglicht werden, sind die oben beschriebenen Einträge einfach nicht vorzunehmen.
@@ -177,7 +177,7 @@
moa.spss.server.configuration
: Pfad und Name der zentralen Konfigurationsdatei für MOA SP/SS. Eine beispielhafte Konfigurationsdatei finden Sie hier. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der Java Virtual Machine interpretiert. Ist diese System Property nicht gesetzt, wird automatisch eine im Webarchiv unter WEB-INF/conf
enthaltene Default-Konfiguration herangezogen.iaik.esi.sva.configuration.location
: Pfad und Name der Konfigurationsdatei für die extendet PDF Validierung von MOA SP/SS. Eine beispielhafte Konfigurationsdatei finden Sie hier. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der Java Virtual Machine interpretiert. log4j.configuration
: URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration finden Sie hier. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der Java Virtual Machine interpretiert. Ist diese System Property nicht gesetzt, wird automatisch eine im Webarchiv unter WEB-INF/classes
enthaltene Default-Konfiguration herangezogen.logback.configurationFile
: URL der LogBack Konfigurationsdatei. Eine beispielhafte LogBack-Konfiguration finden Sie hier. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der Java Virtual Machine interpretiert. Ist diese System Property nicht gesetzt, wird automatisch eine im Webarchiv unter WEB-INF/classes
enthaltene Default-Konfiguration herangezogen.moa.node.id
: Frei wählbarer Name des Rechner-Knotens, auf dem MOA SP/SS läuft. Der Name des Knotens wird bei Log-Ausgaben von MOA SP/SS angeführt und dient zur Unterscheidung mehrerer gleichzeitig betriebener MOA SP/SS Webservice-Instanzen. javax.net.ssl.trustStore
: Pfad und Dateiname des Truststores für vertrauenswürdige SSL Client-Zertifikate (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). Ein relativer Pfad werden relativ zum Startverzeichnis der Java Virtual Machine interpretiert.javax.net.ssl.trustStorePassword
: Passwort für den Truststore (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). WARN
bzw. ERROR
Log-Meldungen
http://<host>:<port>/moa-spss/ConfigurationUpdate
Damit dies funktioniert, muss in der Konfiguration von Tomcat ein spezieller Benutzer sowie eine spezielle Benutzerrolle eingerichtet werden (vergleiche Abschnitt 2.1.2.2.3).
Das MOA SP/SS Webservice verwendet Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsmöglichkeiten, die ausführlich im Log4j Handbuch beschrieben sind. Unter anderem gibt es die Möglichkeit, folgende Einstellungen vorzunehmen: +
Das MOA SP/SS Webservice verwendet LogBack für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. LogBack bietet zahlreiche Konfigurationsmöglichkeiten, die ausführlich im LogBack Handbuch beschrieben sind. Unter anderem gibt es die Möglichkeit, folgende Einstellungen vorzunehmen:
Das verwendete Log-Level (DEBUG
, INFO
, WARN
, ERROR
, FATAL
);
WARN
bzw. ERROR
Log-Meldungen
iaik.server
für alle Log-Meldungen aus den SIC/IAIK Kryptographie-Modulen.
Eine für MOA SP/SS passende Konfigurationsdatei für Log4j finden Sie hier. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei moa-spss.log
geschrieben.
Eine für MOA SP/SS passende Konfigurationsdatei für LogBack finden Sie hier. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei moa-spss.log
geschrieben.
Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erläutert:
-INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1 +INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1 MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerificationDer Wert
@@ -274,24 +274,24 @@ In diesem Fall geben dieINFO
besagt, dass die Log-Meldung im Log-LevelINFO
entstanden ist. Folgende Log-Levels existieren:WARN
bzw.ERROR
Log-Meldungen2.1.3.2 Wichtige Log-Meldungen
Neben den im Abschnitt 2.1.2.4.3 beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgemäß gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss über die Abarbeitung von Anfragen.
Die Entgegennahme einer Anfrage wird angezeigt durch: - +
-INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> +INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification -INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> +INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> MSG=Aufruf von Adresse=127.0.0.1 -INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> +INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> MSG=Client-Zertifikat nicht verfügbar-Die dritte Log-Meldung besagt, dass für die Abarbeitung dieser Anfrage kein Client-Zertifikat verfügbar ist (entweder, weil die Anfrage über HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen über das Client-Zertifikat aus: -
INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=<null> - MSG=Client-Zertifikat: Subject=CN=Testuser, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT, +Die dritte Log-Meldung besagt, dass für die Abarbeitung dieser Anfrage kein Client-Zertifikat verfügbar ist (entweder, weil die Anfrage über HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen über das Client-Zertifikat aus: +
INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=<null> + MSG=Client-Zertifikat: Subject=CN=Testuser, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT, Serial=1.039.104.204, Issuer=CN=TestCA, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=ATEine erfolgreich abgearbeitete Anfrage wird angezeigt durch:
-INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=<null> +INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=<null> MSG=Anfrage erfolgreich abgearbeitetEin Fehler beim Abarbeiten der Anfrage wird angezeigt durch:
-INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=<null> +INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=<null> MSG=Fehler beim Abarbeiten der AnfrageIn diesem Fall gibt der mitgeloggte Stacktrace Auskunft über die Art des Fehlers. Der Aufrufer des MOA SP/SS Webservices bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zurück.
@@ -355,11 +355,11 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null>Vergleiche auch Abschnitt 2.3.1.3.4 im Konfigurationshandbuch.
2.2.2.1.3 Logging
-Für das Logging in eine PostgreSQL Datenbank mittels Log4j muss zunächst eine Tabelle für die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:
+Für das Logging in eine PostgreSQL Datenbank mittels LogBack muss zunächst eine Tabelle für die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:
create table spss_log (log_time timestamp, log_level varchar(5), log_msg text);-Damit Log4j die Log-Meldungen in diese Datenbanktabelle schreibt, muss die Log4j-Konfiguration adaptiert werden. Die mit MOA SP/SS mitgelieferte, beispielhafte Log4j-Konfiguration enthält bereits die notwendigen Einträge für das Logging in eine PostgreSQL Datenbank, die jedoch standardmäßig ausgeschaltet sind.
+Damit LogBack die Log-Meldungen in diese Datenbanktabelle schreibt, muss die LogBack-Konfiguration adaptiert werden. Die mit MOA SP/SS mitgelieferte, beispielhafte LogBack-Konfiguration enthält bereits die notwendigen Einträge für das Logging in eine PostgreSQL Datenbank, die jedoch standardmäßig ausgeschaltet sind.
Wie beim Caching von CRLs ist auch hier die Angabe einer JDBC-URL notwendig, damit die MOA SP/SS Module eine Verbindung zur Datenbank aufnehmen können.
-Bitte beachten Sie: Bei Tests hat sich das Logging in eine Datenbank mit Log4j als Performance-Engpass herausgestellt. Es wird deshalb empfohlen, dieses Feature mit Bedacht einzusetzen.
+Bitte beachten Sie: Bei Tests hat sich das Logging in eine Datenbank mit LogBack als Performance-Engpass herausgestellt. Es wird deshalb empfohlen, dieses Feature mit Bedacht einzusetzen.
2.2.2.2 Andere Datenbanken
Über die generische Anbindung JDBC können auch andere Datenbanken für die Archivierung von CRLs bzw. für die Speicherung der Log-Meldungen eingesetzt werden. Hinweise zu bestimmten Datenbanken finden Sie in den FAQ.
Die in Abschnitt 2.2.2.1 gemachten Angaben zu Archivierung von CRLs bzw. zur Speicherung von Log-Meldungen gelten sinngemäß.
@@ -374,11 +374,11 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null>Die Basisinstallation der Klassenbibliothek stellt einerseits die minimalen Anforderungen für den Einsatz von MOA SP/SS als Klassenbibliothek dar, andererseits dient sie als Ausgangspunkt für optionale Erweiterungsmöglichkeiten.
Die Mindestanforderungen für die Basisinstallation sind:
Wir empfehlen jedoch jeweils aktuelle Version zu verwenden:
3.1.2 Vorbereitung
Die folgenden Schritte dienen der Vorbereitung der Installation.
@@ -389,105 +389,11 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null>- Entpacken Sie die Datei
moa-spss-3.0.x-lib.zip
in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als$MOA_SPSS_INST
bezeichnet.- Installation der Kryptographiebibliotheken von SIC/IAIK
- -
-Kopieren Sie alle Dateien aus dem Verzeichnis
$MOA_SPSS_INST/ext
in das Verzeichnis$JAVA_HOME/jre/lib/ext
. Zusätzlich müssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden Unlimited Strength - - +Kopieren Sie alle Dateien aus dem Verzeichnis
$MOA_SPSS_INST/ext
in das Verzeichnis$JAVA_HOME/jre/lib/ext
. Zusätzlich müssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden Unlimited Strength + + Jurisdiction Policy Files von der Java SE Downloadseite und achten Sie darauf die für ihre verwendete Java SE Installation richtige Version zu nehmen. Anschließend folgen Sie der darin enthaltenen Installationsanweisung.3.1.3 Verwendung
-Um die MOA SP/SS Klassenbibliothek in einer Applikation verwenden zu können, müssen die mit MOA SP/SS ausgelieferten Bibliotheken in den Java Klassenpfad der Applikation eingebunden werden.
-Die nachfolgende Tabelle listet diese Klassenbibliotheken auf; die Einträge in der Spalte Dateien sind relativ zum Verzeichnis
-$MOA_SPSS_INST
zu interpretieren.-
- -- Klassenbibliothek Version Dateien - -- MOA SP/SS -2.0.0 -- moa-spss.jar
,moa-common.jar
- -MOA IAIK -- 1.5
- -
lib/iaik_moa-1.5.jar
, -lib/iaik_cms-4.1.jar
,lib/iaik_ixsil-1.2.2.5.jar
- -1.4 -- lib/mail-1.4.jar
- -Activation -1.1 -- lib/activation-1.1.jar
- Xerces-J -2.9.0 -- lib/xercesImpl.jar
- Xalan-J -2.7.1 -- -
lib/xalan.jar
,lib/xml-apis.jar
,lib/serializer.jar
Bitte beachten Sie: Sie müssen diese Bibliothek gegebenenfalls der Java VM als endorsed bekanntgeben. Sie können dies tun, indem Sie entweder
--
- die Bibliothek in das (ggf. vorher anzulegende) Verzeichnis
-$JAVA_HOME/jre/lib/endorsed/
kopieren; oder- die System Property
-java.endorsed.dirs
verwenden, und als Wert den Pfad zu jenem Verzeichnis angeben, in dem Sie die Bibliothek vorhalten (also z.B.java.endorsed.dirs=c:/mylibdir
).- Jaxen 1.0 -- - lib/jaxen-1.0-FCS.jar
,lib/saxpath-1.0-FCS.jar
- Commons-Logging -1.0.4 -- lib/commons-logging-1.0.4.jar
- -Log4j -1.2.14 -- lib/log4j-1.2.14.jar
- -Commons-Discovery 0.2 - lib/commons-discovery-0.2.jar
- Postgres JDBC2 7.3 - -
lib/postgresql-7.2.jar
Bitte beachten Sie: Wenn Sie keine Datenbank für MOA SP/SS verwenden (vergleiche 2.2.2), benötigen Sie diese Bibliothek nicht.
- -- -Axis -1.0_IAIK/1.4 -- lib/axis-1.0_iaik.jar, lib/axis-jaxrpc-1.4.jar, lib/axis-saaj-1.4.jar, lib/axis-wsdl4j-1.5.1.jar
3.1.4 Logging
-Die MOA SP/SS Klassenbibliothek verwendet Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Die im Abschnitt 2.1.3 gemachten Aussagen lassen sich großteils auf den Einsatz der MOA SP/SS Klassenbibliothek übertragen.
-3.2 Erweiterungsmöglichkeiten
-Die im Abschnitt 2.2 angeführten Erweiterungsmöglichkeiten für die MOA SP/SS Webservices gelten in analoger Weise auch für die Klassenbibliothek.
-A Referenzierte Software
-Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:
--
- -- cgit v1.2.3- -Name -Beschreibung -- -Apache Tomcat -Apache Tomcat Servlet-Container -- -Java SE -Java Standard Edition (Software Development Kit bzw. Java Runtime Environment) -- -Log4J -Logging Framework -