【发布时间】:2015-06-10 15:36:35
【问题描述】:
我想在本地解密 Amazon Redshift 表的 CSV 转储。
我正在使用unload 命令和客户端加密,因为数据包含敏感信息。
我使用的命令是这样的:
unload ('select * from testtable.test')
to 's3://unload'
credentials 'aws_access_key_id=<AWS_KEY_ID>;aws_secret_access_key=<AWS_SECRET_KEY_ID>;master_symmetric_key=<MASTER_KEY>'
delimiter as ','
addquotes
escape
encrypted
ALLOWOVERWRITE
为了生成master_key,我使用了以下命令:
openssl enc -aes-256-cbc -pass pass:<mypass> -P -nosalt -base64
这个输出:
key=....
iv =....
我使用key 作为`master_symmetric_key。
我在本地复制 s3 数据并尝试像这样解密:
openssl enc -aes-256-cbc -d -nosalt -base64 -in 0000_part_00 -out temps.csv
但是得到:
bad decrypt 6038:error:0606506D:digital envelope routines:EVP_DecryptFinal_ex: wrong
final block length:/SourceCache/OpenSSL098/OpenSSL098-52.20.2/src/crypto/evp/evp_enc.c:323
如何解密 Amazon Redshift CSV 转储?
【问题讨论】: