Archivierung ab 9.10 - Kommunikation verschlüsseln
Mit Umstellung auf den Archiveservice kann es beim Aufruf archivierter Dokumente ab 10 MB zu einem Fehler kommen. Im Server-Err-Log steht dann:
"Meldung aus dem virtuellen Archiv (SystemID xxx): Ein erwartetes Element mit dem Namen >digest< wurde in dem json Ergebnis nicht gefunden."
"Ein erwartetes Element mit dem Names digest wurde in dem json Ergebnis nicht gefunden."
siehe auch os-interner Link: DB-5619
Grund ist, dass das Dokument gestreamt / gesplittet wird. Damit kann kein Hashwert über das komplette Dokument gebildet werden. Lt. iTernity werden Dokumente ab 100 MB gestreamt. Bei Kunden ist dies aber oft schon ab 10 MB. Im Jason zum Dokument fehlt dann der Hashwert (Feld Digest), was zu der oben genannten Fehlermeldung führt.
Lösung von DEV: Die Kommunikation zwischen Server und Archiveservice auf HTTPS stellen. Dann wird der Hashwert nicht mehr benötigt.
Dazu muss vorhanden sein: oxvarcms.dll 9.10.507 und axsvckrn.exe 9.10.802 (beides enaio Server-Verzeichnis). Es muss ein Zertifikat geben. Im Idealfall hat der Kunde bereits ein Zertifikat für das Gateway erstellt und alle enaio Server eingetragen. Damit kann dieses Zertifikat verwendet werden.
Schritt-für-Schritt-Anleitung
- Patche oxvarcms.dll 9.10.507 und axsvckrn.exe 9.10.802 (beides enaio Server-Verzeichnis) einspielen.
- enaio Enterprisemanager starten und die URL auf HTTPS stellen. Sollte ein Mapping oder Routing der Server beim Kunden eingerichtet sein, dann diese Servernamen verwenden.
- Das Zertifikat in das Servicemanagerverzeichnis kopieren, am besten config. Empfehlung DEV ist zwar Verzeichnis apps\archivservice, aber das ist insofern gefährlich, da mit Deinstallation des Services (aus welchen Gründen auch immer) auch die Konfiguration weg ist.
- Archiveservice einrichten: diese Parameter hinzufügen:
https-URLs; Name und IP des Servers, auf dem der Archiveservice läuft; Pfad zum Zertifikat +Passwortstorage:
profiles:
iternity:
iCasGP:
userName: Geschaeftspartner
userPassword: optimal
endpoint: 'http://10.93.5.88/iTernity/iTernity.asmx'
cscMode: LASN
defaultRetentionInDays: 4019 # optionalplugins:
directory: 'D:/enaio/service-manager/data/plugins'
enabled: trueeureka:
instance:
ip-address: 10.93.5.192
hostname: enaio-dienste.meinsystem.com
non-secure-port-enabled: false
secure-port-enabled: true
secure-port: ${server.port}
statusPageUrl: https://enaio-dienste.meinsystem.com:${eureka.instance.secure-port}/manage/info
healthCheckUrl: https://enaio-dienste.meinsystem.com:${eureka.instance.secure-port}/manage/health
secureHealthCheckUrl: https://enaio-dienste.meinsystem.com:${eureka.instance.secure-port}/manage/health
homePageUrl: https://enaio-dienste.meinsystem.com:${eureka.instance.secure-port}/server:
ssl:
enabled: true
key-store-type: PKCS12
key-store: D:/OS/OSECM/services/OS_Servicemanager/config/enaio.meinsystem.com.pfx
key-store-password: abcdef999efghzz
key-alias: 'enaio.meinsystem.com'
enabled-protocols: 'TLSv1.2,TLSv1.3'
Wichtig: ab enaio 10 kommen weitere Parameter hinzu: https://help.optimal-systems.com/enaio/v100/admin/administrator/de/archivieren/servicearchive.htm
security:
require-ssl: true - ab enaio 10 muss zusätzlich das Zertifikat kopiert werden in den Java-Zertifikatsspeicher (changeit belassen) je in 32bit und 64bit:
<Path_service-manager>\jdk\bin\keytool ^
-importkeystore -srckeystore <Path_service-manager>\apps\archiveservice\ca.p12 ^
-srcstorepass optimal -destkeystore <Path_service-manager>\jdk\jre\lib\security\cacerts ^
-srcstoretype PKCS12 -deststoretype PKCS12 ^
-deststorepass changeit - Die Konfiguration speichern und den Archiveservice neu laden. Ggflls. den Servicemanager neu starten. Unbedingt im Log prüfen, ob der Archiveservice korrekt geladen werden kann oder ob es Fehler gibt. Die Anzeige im Servicemanager gibt keine 100%ige Garantie, dass der Service läuft.
- Wenn alles ok ist, dann sollte im Servicemanager die URL auf HTTPS stehen:
- Zum Test URLs aufrufen, z. Bsp.: Archiveservice-Info: https://10.93.5.192:7530/manage/info bzw. https://enaio-dienste.meinsystem.com:7530/manage/info
Hier muss ein Jason zurückkommen mit allgemeinen Serviceinfos, wie z. Bsp. dies:
Sollte bei den Test-Links im Browser Meldungen kommen wie: "Dies ist keine sichere Seite" oder "Zertifikat ungültig", wird der Aufruf nicht funktionieren. In diesem Fall das Zertifikat und die Mappings/Routings prüfen lassen. Da das Gateway-Zertifikat verwendet werden kann, siehe Gateway (Zertifikat prüfen).
Ab enaio 10 kommen weitere Parameter dazu.
Das Zertifikat muss zusätzlich in den Zertifikatsspeicher des Servicemanager (in 32bit und 64bit)!
Verwandte Artikel