Situation:
Sie binden DocuWare in Ihr ERP-System mit ein und verwenden dafür die URL Integration. Um die URL sicherer zu machen, verwenden Sie ein Passphrase, um die URL zu verschlüsseln.
DocuWare stellt über sein SDK eine ASP.NET Schnittstelle zur Verfügung. Über diese kann individuell eine URL erzeugt werden, welche die notwendigen Codierungen vornimmt.
Was ist jedoch, wenn Sie eine Programmiersprache außerhalb .NET verwenden (z.B. wie JAVA)?
Lösung:
In diesem Fall müssen Sie die Verschlüsselung selbst vornehmen. Die Passphrase verwendet einen symetrischen Verschlüsselungs-Algorithmus - den Advanced Encryption Standard (AES) mit der Spezifikation FIPS-197.
Folgende Parameter werden verwendet:
- Block Size = 128 Bits
- Cipher size = CBC (Cipher Block Chaining)
- Initialization vector (IV) = 128 bits
- Key length = 256 bits
- No salt
- PKCS7 Padding
Unabhängig zur Passphrase müssen einzelne URL Parameter (&lc und &q) vorher mit Base64URL codiert werden.
Zusätzlich muss Base64URL ein weiteres Mal angewendet werden, nachdem alle Parameter mit der Passphrase verschlüsselt wurden.
Beispiel:
http://localhost/DocuWare/Platform/WebClient/1/Integration?
&p=RLV
&lc=VXNlcj1ndWVzdFxuUHdkPWd1ZXN0 (BASE64URL string)
&rl=a60d2279-227d-454b-815c-14d64eb165a1
&q=W0NPTVBBTlldPZNVUy1TdGVlbJMgQU5EIFtERVBBUlRNRU5UXT2TUHJvZHVjdGlvbpM= (BASE64URL string)
Alle Parameter zusammen werden nun mit der Passphrase verschlüsselt und das Ergebnis noch einmal mit BASE64URL codiert:
Ergebnis:
http://localhost/DocuWare/Platform/WebClient/1/Integration?&ep=9UVKGcuABx6I9wpJvu0zK0M5RoXCLR8bmtmwfvUkDHt4PfTd5IjRBhpvKN85cLMH9e4ybfhQm72213B8Oa8d4sthuxN9oMqXnpWFP9_tNZ6Jdo13UDDeuT-PkGQhOz0pAyVbQeL5OmM3M3SmhxDBIw2
Weiterführende Links: