ec2_win_password.py - handle missing or unparseable key file more intuitively (#2729)

This commit is contained in:
steve-dave 2016-09-24 16:37:57 +10:00 committed by Matt Clay
parent f108f8ef72
commit 587636b525

View file

@ -146,9 +146,15 @@ def main():
try: try:
f = open(key_file, 'r') f = open(key_file, 'r')
key = RSA.importKey(f.read(), key_passphrase) except IOError as e:
finally: module.fail_json(msg = "I/O error (%d) opening key file: %s" % (e.errno, e.strerror))
f.close() else:
try:
with f:
key = RSA.importKey(f.read(), key_passphrase)
except (ValueError, IndexError, TypeError) as e:
module.fail_json(msg = "unable to parse key file")
cipher = PKCS1_v1_5.new(key) cipher = PKCS1_v1_5.new(key)
sentinel = 'password decryption failed!!!' sentinel = 'password decryption failed!!!'