...
Caution: The access key for decrypting the content may not be lost under any circumstances and it must be stored securely so that authorized employees can access the access key at any time.
Requirements
...
There are no special requirements for using the encryption service. Only configuration of the service is necessary. The service can be configured individually for repositories. When encryption is enabled, documents that are already unencrypted can no longer be found in this repository. Only one included encryption algorithm is currently supported: AES/GCM/NoPadding
Konfiguration
am Beispiel für das Repository CE:The encryption service is addressed via the repository (here using the CE repository as an example).
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 (<please use a key for encryption>
It makes sense that the secret is stored as an alias in the keystore, which points to a password in the KeystoreService https://kgs-software.atlassian.net/wiki/spaces/DOCUEN/pages/1671659521/Encryption+Service#Einrichten-des-Keystores ).
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. If no keystore is used, the secret must be entered here in plain text.
Caution: Changing the secret is currently not possible, but can be implemented if necessary.
During encryption, a random vector is initially generated, which ensures that the same content is encrypted differently. This vector is placed in front of the encrypted data stream because it is needed again for decryption. Depending on the process, the size of the original file increases by up to 32 bytes, i.e. a different content length appears on the storage system.
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 tia core- Sap-HTTP Schnittstelle (ContentServer) wird dieser automatisch erzeugt (für die Ablage der Zertifikate mit keystore type pkcs12_storage)
- für die tia core- OSGi Schnittstelle muss der Keystore über ein separates Tool (autodigit-create-keystore.jar) angelegt werden
...