encryption: Implement a slightly improved AesCipher encryption.

This addresses issues from #4036

- we use a backward compatible cipher that can implement HMAC signature
- with HMAC signature we can detected mangled data or wrong secret key
- this allows more explicit errors than UnicodeDecode errors
- added a new .ini values that controls strict mode
This commit is contained in:
Marcin Kuzminski 2016-06-27 19:26:03 +02:00
parent 9446dff948
commit 772de504bb
6 changed files with 125 additions and 14 deletions

View file

@ -119,6 +119,10 @@ rhodecode.api.url = /_admin/api
## `beaker.session.secret`
#rhodecode.encrypted_values.secret =
## decryption strict mode (enabled by default). It controls if decryption raises
## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
#rhodecode.encrypted_values.strict = false
full_stack = true
## Serve static files via RhodeCode, disable to serve them via HTTP server

View file

@ -93,6 +93,10 @@ use = egg:rhodecode-enterprise-ce
## `beaker.session.secret`
#rhodecode.encrypted_values.secret =
## decryption strict mode (enabled by default). It controls if decryption raises
## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
#rhodecode.encrypted_values.strict = false
full_stack = true
## Serve static files via RhodeCode, disable to serve them via HTTP server