2722e49a8c
For some use cases operators would like to periodically introduce a new encryption root secret that would be used when new object data is written. However, existing encrypted data does not need to be re-encrypted with keys derived from the new root secret. Older root secret(s) would still be used as necessary to decrypt older object data. This patch modifies the KeyMaster class to support multiple root secrets indexed via unique secret_id's, and to store the id of the root secret used for an encryption operation in the crypto meta. The decrypter is modified to fetch appropriate keys based on the secret id in retrieved crypto meta. The changes are backwards compatible with previous crypto middleware configurations and existing encrypted object data. Change-Id: I40307acf39b6c1cc9921f711a8da55d03924d232 |
||
---|---|---|
.. | ||
account-server.conf-sample | ||
container-reconciler.conf-sample | ||
container-server.conf-sample | ||
container-sync-realms.conf-sample | ||
dispersion.conf-sample | ||
drive-audit.conf-sample | ||
internal-client.conf-sample | ||
keymaster.conf-sample | ||
memcache.conf-sample | ||
mime.types-sample | ||
object-expirer.conf-sample | ||
object-server.conf-sample | ||
proxy-server.conf-sample | ||
rsyncd.conf-sample | ||
swift-rsyslog.conf-sample | ||
swift.conf-sample |