def denormalize_after_decryption(unencrypted, content_type): """Translate the decrypted data into the desired content type.""" # Process plain-text type. if content_type in mime_types.PLAIN_TEXT: # normalize text to binary string try: unencrypted = unencrypted.decode('utf-8') except UnicodeDecodeError: raise s.SecretAcceptNotSupportedException(content_type) # Process binary type. elif content_type not in mime_types.BINARY: raise s.SecretContentTypeNotSupportedException(content_type) return unencrypted
def denormalize_after_decryption(unencrypted, content_type): """Translate the decrypted data into the desired content type. This is called when the raw keys are requested by the user. The secret returned from the SecretStore is the unencrypted parameter. This 'denormalizes' the data back to its binary format. """ # Process plain-text type. if content_type in mime_types.PLAIN_TEXT: # normalize text to binary string try: unencrypted = base64.decode_as_text(unencrypted) except UnicodeDecodeError: raise s.SecretAcceptNotSupportedException(content_type) # Process binary type. elif content_type in mime_types.BINARY: unencrypted = base64.decode_as_bytes(unencrypted) else: raise s.SecretContentTypeNotSupportedException(content_type) return unencrypted
def analyze_before_decryption(content_type): """Determine support for desired content type.""" if not mime_types.is_supported(content_type): raise s.SecretAcceptNotSupportedException(content_type)