Skip to content

Commit cebc9ff

Browse files
authored
Merge pull request #2 from tetie12345/error_handling
created option to supress errors and warnings for asym encryption
2 parents 13728d4 + c20d94e commit cebc9ff

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

cryptidy/asymmetric_encryption.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,14 @@ def decrypt_message_hf(
170170
)
171171

172172

173-
def decrypt_message(msg, private_key):
173+
def decrypt_message(msg, private_key, ignore_warnings=False):
174174
# type: (Union[bytes, str], str) -> Tuple[datetime, Any]
175175
"""
176176
Simple base64 wrapper for rsa_decrypt_message
177177
178178
:param msg: b64 encoded original rsa encrypted data
179179
:param private_key: rsa private key
180+
:param ignore_warnings: whether to ignore warnings
180181
:return: (bytes): rsa decrypted data
181182
"""
182183
verify_key(private_key, "RSA PRIVATE")
@@ -187,16 +188,17 @@ def decrypt_message(msg, private_key):
187188
"decrypt_message accepts b64 encoded byte objects"
188189
) # pylint: disable=W0707,raise-missing-from
189190

190-
return rsa_decrypt_message(decoded_msg, private_key)
191+
return rsa_decrypt_message(decoded_msg, private_key, ignore_warnings)
191192

192193

193-
def rsa_decrypt_message(msg, private_key):
194+
def rsa_decrypt_message(msg, private_key, ignore_warnings=False):
194195
# type: (bytes, str) -> Tuple[datetime, Any]
195196
"""
196197
RSA decrypt a python object / bytes / string and check the encryption timestamp
197198
198199
:param msg: original rsa encrypted data
199200
:param private_key: rsa encryption key
201+
:param ignore_warnings: whether to ignore warnings
200202
:return: original data
201203
"""
202204
private_key = RSA.import_key(private_key)
@@ -226,4 +228,4 @@ def rsa_decrypt_message(msg, private_key):
226228
else:
227229
exec(err + " from None")
228230

229-
return aes_decrypt_message(aes_encrypted_msg, session_key)
231+
return aes_decrypt_message(aes_encrypted_msg, session_key, ignore_warnings)

cryptidy/symmetric_encryption.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -186,21 +186,22 @@ def decrypt_message(msg, aes_key):
186186
return aes_decrypt_message(decoded_msg, aes_key)
187187

188188

189-
def aes_decrypt_message(msg, aes_key):
189+
def aes_decrypt_message(msg, aes_key, ignore_warnings=False):
190190
# type: (bytes, bytes) -> Tuple[datetime.datetime, Any]
191191
"""
192192
AES decrypt a python object / bytes / string and check the encryption timestamp
193193
194194
:param msg: original aes encrypted data
195195
:param aes_key: aes encryption key
196+
:param ignore_warnings: whether to ignore warnings or not
196197
:return: original data
197198
"""
198199
nonce, tag, timestamp, ciphertext = (msg[0:16], msg[16:32], msg[32:64], msg[64:])
199200

200201
try:
201202
source_timestamp = float(unpad(timestamp.decode("utf-8")))
202203
timestamp_now = timestamp_get()
203-
if source_timestamp > timestamp_now:
204+
if source_timestamp > timestamp_now and ignore_warnings is not True:
204205
msg = "*** WARNING *** Encrypted data timestamp is in future\n"
205206
logger.warning(msg)
206207
source_timestamp = datetime.datetime.fromtimestamp(source_timestamp)

0 commit comments

Comments
 (0)