AWS S3 SDK для Ruby позволяет шифровать файл на стороне клиента («конверт»). Это комбинация шифрования AES CBC/ECB для клиентского ключа, где ключ конверта и вектор инициализации хранятся в метаданных.Как расшифровать шифрование на стороне клиента AWS Ruby на Python
У меня есть разработчик Ruby, который зашифровал различные файлы в ведро S3, которое мне нужно получить и расшифровать с помощью Python. В Python S3 AWS SDK в настоящее время нет этой клиентской функции.
Предполагая, что файл был зашифрован с помощью параметра encryption_key
из API рубин bucket.write
S3:
#!/usr/bin/ruby
# coding: utf-8
require 'aws-sdk'
require 'openssl'
access_key = '<aws_access_key>'
secret_access_key = '<secret_access_key>'
encryption_key = "passwordpassword"
s3 = AWS::S3.new
storage_host = "our_bucket"
storage_path = "prod/master_report/test.txt"
bucket_obj = s3.buckets[storage_host].objects[storage_path]
bucket_obj.write(file: 'test.txt', encryption_key: encryption_key)
Есть ли способ, чтобы расшифровать файлы с Python вместо того, чтобы использовать Ruby, SDK?