SSE-C

SSE-C - Server-Side Encryption with Customer-Provided Keys#

Требования к ключам#

Ключ обязан быть длиной 32 байта.

Создание ключа#

key=$(openssl rand -hex 32)
echo $key

Сохраните ключ. При его потери восстановление не возможно!

hash=$(echo -n "$key" | md5sum | awk '{print $1}')
echo $hash

Настройка aws#

Настройка aws

Загрузка шифрованного объекта#

aws s3api put-object \
 --endpoint-url https://s3.msk-1.ngcloud.ru \
 --bucket <имя бакета> \
 --key customer-object-key \
 --body /path/to/local/file \
 --sse-customer-algorithm AES256 \
 --sse-customer-key $key \
 --sse-customer-key-md5 $hash

Выгрузка шифрованного объекта#

aws s3api get-object \
 --endpoint-url https://s3.msk-1.ngcloud.ru \
 --bucket <имя бакета> \
 --key customer-object-key \
 --sse-customer-algorithm AES256 \
 --sse-customer-key $key  \
 --sse-customer-key-md5 $hash