More execvp fallout

This commit is contained in:
Soren Hansen
2011-03-10 11:59:50 +01:00
parent 6601d52bfa
commit bd3411f885

View File

@@ -253,24 +253,33 @@ class Image(object):
@staticmethod @staticmethod
def decrypt_image(encrypted_filename, encrypted_key, encrypted_iv, def decrypt_image(encrypted_filename, encrypted_key, encrypted_iv,
cloud_private_key, decrypted_filename): cloud_private_key, decrypted_filename):
key, err = utils.execute( key, err = utils.execute('openssl',
'openssl rsautl -decrypt -inkey %s' % cloud_private_key, 'rsautl',
'-decrypt',
'-inkey', '%s' % cloud_private_key,
process_input=encrypted_key, process_input=encrypted_key,
check_exit_code=False) check_exit_code=False)
if err: if err:
raise exception.Error(_("Failed to decrypt private key: %s") raise exception.Error(_("Failed to decrypt private key: %s")
% err) % err)
iv, err = utils.execute( iv, err = utils.execute('openssl',
'openssl rsautl -decrypt -inkey %s' % cloud_private_key, 'rsautl',
'-decrypt',
'-inkey', '%s' % cloud_private_key,
process_input=encrypted_iv, process_input=encrypted_iv,
check_exit_code=False) check_exit_code=False)
if err: if err:
raise exception.Error(_("Failed to decrypt initialization " raise exception.Error(_("Failed to decrypt initialization "
"vector: %s") % err) "vector: %s") % err)
_out, err = utils.execute( _out, err = utils.execute('openssl',
'openssl enc -d -aes-128-cbc -in %s -K %s -iv %s -out %s' 'enc',
% (encrypted_filename, key, iv, decrypted_filename), '-d',
'-aes-128-cbc',
'-in', '%s' % (encrypted_filename,),
'-K', '%s' % (key,),
'-iv', '%s' % (iv,),
'-out', '%s' % (decrypted_filename,),
check_exit_code=False) check_exit_code=False)
if err: if err:
raise exception.Error(_("Failed to decrypt image file " raise exception.Error(_("Failed to decrypt image file "