У меня есть скрипт на python, пытающийся зашифровать файл с помощью AWS KMS с помощью boto3.Я могу получить файл в зашифрованном виде и записать в файл.Но когда я попытался расшифровать файл с помощью кода второй части, возникла ошибка, как показано ниже, может кто-нибудь помочь с этим или есть какие-то более эффективные решения?Большое спасибо.
Traceback (последний вызов был последним): файл "runtime / lib / python3.4 / site-packages / botocore / client.py", строка 357, в _api_call возвращает self._make_api_call (имя_операции,kwargs) Файл "runtime / lib / python3.4 / site-packages / botocore / client.py", строка 661, в _make_api_call поднять error_class (parsed_response, имя_операции) botocore.errorfactory.InvalidCiphertextException: произошла ошибка (InvalidCiphertextException)Операция дешифрования:
Шифрование файла
client = boto3.client(
'kms',
region_name='us-east-1',
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key
)
with open(src_file, 'rb') as infile :
with open(ret_file, 'wb') as outfile :
while True:
chunk = infile.read(chunk_size)
if not chunk :
break
resp = client.encrypt(KeyId=kms_id, Plaintext=chunk)['CiphertextBlob']
outfile.write(resp)
Дешифрование файла, зашифрованного до
client = boto3.client(
'kms',
region_name='us-east-1',
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key
)
with open(src_file, 'rb') as infile :
with open(ret_file, 'wb') as outfile :
while True:
chunk = infile.read(chunk_size)
if not chunk :
break
resp = client.decrypt(CiphertextBlob=chunk)['Plaintext']
outfile.write(resp)