Archivierung ab 9.10 - Kommunikation verschlüsseln

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. 

siehe auch https://help.optimal-systems.com/enaio/v910/admin/administrator/de/archivieren/servicearchive.htm?Highlight=Archivierte%20Altdaten 

Schritt-für-Schritt-Anleitung

  1. Patche oxvarcms.dll 9.10.507 und axsvckrn.exe 9.10.802 (beides enaio Server-Verzeichnis) einspielen. 
  2. enaio Enterprisemanager starten und die URL auf HTTPS stellen. Sollte ein Mapping oder Routing der Server beim Kunden eingerichtet sein, dann diese Servernamen verwenden. 
  3. 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. 
  4. Archiveservice einrichten: diese Parameter hinzufügen:
    https-URLs; Name und IP des Servers, auf dem der Archiveservice läuft; Pfad zum Zertifikat +Passwort

    storage:
      profiles:
        iternity:
          iCasGP:
            userName: Geschaeftspartner
            userPassword: optimal
            endpoint: 'http://10.93.5.88/iTernity/iTernity.asmx'
            cscMode: LASN  
            defaultRetentionInDays: 4019 # optional

      plugins:
        directory: 'D:/enaio/service-manager/data/plugins'
        enabled: true

    eureka:
      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 
  5. 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
  6. 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.
  7. Wenn alles ok ist, dann sollte im Servicemanager die URL auf HTTPS stehen:

  8. 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)!