...
Konfiguration
Derzeit sind 2 Encryption-Algorithmen verfügbar:
- AES/CBC/PKCS5PADDING
- AES/GCM/NoPadding
Die Unterschiede des Verfahrens sind in Wikipedia gut beschrieben, aber zur Verdeutlichung kann man sich die beiden Verfahren mal in der praktischen Anwendung auf das KGS-Logo ansehen:AES/CBC
AES/GCM
Konfiguration des Encryption Service:
am Beispiel für das Repository CE (empfohlen wird GCM):
CE.encryptionservice.type=aes_cbc
CE.encryptionservice.aes_cbc.secret=alongsecretwithmorethan16bytes
oder:
CE.encryptionservice.type=aes_gcm
CE.encryptionservice.aes_gcm.secret=x1
Das Secret sollte auf jeden Fall ein Alias sein, welches auf ein Kennwort im KeystoreService verweist (siehe 3).
Derzeit ist das Ändern des Secrets nicht möglich, kann aber auf Bedarf implementiert werden.
Bei der Encryption wird initial ein Zufalls-Vektor erzeugt, der gewährleistet, dass gleicher Content unterschiedlich encrypted wird. Dieser Vektor wird dem encrypteten
Datenstrom vorangestellt, da er zum Decrypten wieder benötigt wird. Die Größe der Ursprungsdatei erhöht sich je nach Verfahren um bis zu 32 Byte, d.h. auf der Storage
zeigt sich eine andere Content-Length.Einrichten des Keystores
Für das Speichern der Secrets sollte in Autodigit der Keystore-Service eingerichtet sein (im Beispiel für das Repository CE):
CE.keystoreservice.type = pkcs12
CE.keystoreservice.pkcs12.name = ce-ks.p12
CE.keystoreservice.pkcs12.path = C:/autodigit/config/CE
Das Anlegen des Keystores kann durch unterschiedliche Methoden erfolgen:
- mit der Autodigit- Sap-HTTP Schnittstelle (ContentServer) wird dieser automatisch erzeugt (für die Ablage der Zertifikate)
- mit der Autodigit- CMIS Schnittstelle kann dieser über über CMIS-Weboberfläche angelegt werden
- für die Autodigit- OSGi Schnittstelle muss der Keystore über ein separates Tool (autodigit-create-keystore.jar) angelegt werden:
→ java -jar autodigit-create-keystore.jar <keystorename> <keystorepassword>
Das Tool erzeugt einen “leeren” PKCS12-Keystore und eine .vault Datei mit dem verschlüsseltem Kennwort.
Das Anlegen von Secrets im Keystore erfolgt über das java keytool:
--> keytool -importpass -storetype pkcs12 -alias <alias> -keystore <keystorename> -storepass <keystorepassword>
Keytool fragt das neue Passwort ab und erwartet eine zweite Eingabe zur Bestätigung.
...