From 8409543d2b7103d753ec82f07c085fa3baa4969d Mon Sep 17 00:00:00 2001 From: T-256 <132141463+T-256@users.noreply.github.com> Date: Sun, 26 Nov 2023 12:55:27 +0330 Subject: [PATCH] patch --- setup.py | 2 +- smime/__init__.py | 3 +-- smime/block.py | 8 +++++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index 40ecc5f..73b4687 100755 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ setup( name='smime', - version=__import__('smime').__version__, + version='0.0.6', description='Python S/MIME Toolkit', long_description=long_description, url='https://github.com/balena/python-smime', diff --git a/smime/__init__.py b/smime/__init__.py index 63c179b..081d39a 100644 --- a/smime/__init__.py +++ b/smime/__init__.py @@ -2,8 +2,7 @@ __author__ = 'G. B. Versiani' __license__ = 'Apache License (2.0)' -__version__ = '0.0.4' -__all__ = [__author__, __license__, __version__] +__all__ = [__author__, __license__] from .encrypt import encrypt diff --git a/smime/block.py b/smime/block.py index fa1d3b2..3a8b5eb 100644 --- a/smime/block.py +++ b/smime/block.py @@ -48,12 +48,14 @@ def session_key(self): def encrypt(self, data): padded_data = self._pad(data, self.block_size) - encrypted_content = self._encryptor.update(padded_data.encode('utf-8')) + self._encryptor.finalize() + if not isinstance(padded_data, bytes): + padded_data = padded_data.encode() + encrypted_content = self._encryptor.update(padded_data) + self._encryptor.finalize() return { 'content_type': 'data', 'content_encryption_algorithm': { 'algorithm': self.algorithm, - 'parameters': self._iv + 'parameters': self._iv, }, 'encrypted_content': encrypted_content } @@ -61,7 +63,7 @@ def encrypt(self, data): @staticmethod def _pad(s, block_size): n = block_size - len(s) % block_size - return s + n * chr(n) + return s + n * (chr(n) if isinstance(s, str) else bytes([n])) @property def parameters(self):