Skip to content

Commit 09d3634

Browse files
authored
Merge pull request #35 from securenative/dev
Fix crypto on windows
2 parents 8b88fba + 3c1601a commit 09d3634

File tree

5 files changed

+16
-8
lines changed

5 files changed

+16
-8
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.2.3
1+
0.2.4

requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
requests~=2.23.0
2-
pycrypto~=2.6.1
3-
responses==0.10.14
1+
requests~=2.24.0
2+
pycryptodome==3.9.8
3+
responses==0.10.15
44
requests-mock==1.8.0
55
pytest==5.4.3

securenative/utils/encryption_utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ def encrypt(cls, text, cipher_key):
1717
try:
1818
key = cipher_key[:cls.KEY_SIZE]
1919
iv = Random.new().read(AES.block_size)
20-
cipher = AES.new(key, AES.MODE_CBC, iv)
20+
cipher = AES.new(key.encode("utf8"), AES.MODE_CBC, iv)
2121
raw = str(cls._pad(text))
22-
return hexlify(iv + cipher.encrypt(raw))
22+
return hexlify(iv + cipher.encrypt(raw.encode("utf8")))
2323
except Exception as e:
2424
Logger.error("Could not encrypt text {}; {}".format(text, e))
2525
return None
@@ -31,7 +31,7 @@ def decrypt(cls, encrypted, cipher_key):
3131
content = unhexlify(encrypted)
3232
iv = content[:cls.BLOCK_SIZE]
3333
cipher_text = content[cls.BLOCK_SIZE:]
34-
aes = AES.new(key, AES.MODE_CBC, iv)
34+
aes = AES.new(key.encode("utf8"), AES.MODE_CBC, iv)
3535
rv = aes.decrypt(cipher_text).decode("utf-8").strip()
3636
secret = json.loads(rv)
3737
return ClientToken(secret.get("cid"), secret.get("vid"), secret.get("fp"))

securenative/utils/version_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ class VersionUtils(object):
22

33
@staticmethod
44
def get_version():
5-
return "0.2.3"
5+
return "0.2.4"

tests/configuration_manager_test.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import configparser
22
import os
3+
import platform
34
import unittest
45

56
from securenative.config.configuration_manager import ConfigurationManager
@@ -27,6 +28,7 @@ def create_ini_file(self, conf):
2728
with open(self.config_file_path, "w") as configfile:
2829
config.write(configfile)
2930

31+
@unittest.skipIf(platform.system() == "Windows" or platform.system() == "windows", "test not supported on windows")
3032
def test_parse_config_file_correctly(self):
3133
try:
3234
os.remove(self.config_file_path)
@@ -72,6 +74,7 @@ def test_parse_config_file_correctly(self):
7274
self.assertEqual(options.max_events, "100")
7375
self.assertEqual(options.timeout, "1500")
7476

77+
@unittest.skipIf(platform.system() == "Windows" or platform.system() == "windows", "test not supported on windows")
7578
def test_ignore_unknown_config_in_properties_file(self):
7679
try:
7780
os.remove(self.config_file_path)
@@ -100,6 +103,7 @@ def test_ignore_unknown_config_in_properties_file(self):
100103
self.assertIsNotNone(options)
101104
self.assertEqual(options.timeout, "1500")
102105

106+
@unittest.skipIf(platform.system() == "Windows" or platform.system() == "windows", "test not supported on windows")
103107
def test_handle_invalid_config_file(self):
104108
try:
105109
os.remove(self.config_file_path)
@@ -124,6 +128,7 @@ def test_handle_invalid_config_file(self):
124128

125129
self.assertIsNotNone(options)
126130

131+
@unittest.skipIf(platform.system() == "Windows" or platform.system() == "windows", "test not supported on windows")
127132
def ignore_invalid_config_file_entries(self):
128133
try:
129134
os.remove(self.config_file_path)
@@ -154,6 +159,7 @@ def ignore_invalid_config_file_entries(self):
154159
self.assertIsNotNone(options)
155160
self.assertEqual(options.fail_over_strategy, FailOverStrategy.FAIL_OPEN)
156161

162+
@unittest.skipIf(platform.system() == "Windows" or platform.system() == "windows", "test not supported on windows")
157163
def test_load_default_config(self):
158164
try:
159165
os.remove(self.config_file_path)
@@ -184,6 +190,7 @@ def test_load_default_config(self):
184190
self.assertEqual(options.log_level, "CRITICAL")
185191
self.assertEqual(options.fail_over_strategy, FailOverStrategy.FAIL_OPEN.value)
186192

193+
@unittest.skipIf(platform.system() == "Windows" or platform.system() == "windows", "test not supported on windows")
187194
def test_get_config_from_env_variables(self):
188195
try:
189196
os.remove(self.config_file_path)
@@ -223,6 +230,7 @@ def test_get_config_from_env_variables(self):
223230
self.assertEqual(options.log_level, "Debug")
224231
self.assertEqual(options.fail_over_strategy, FailOverStrategy.FAIL_CLOSED.value)
225232

233+
@unittest.skipIf(platform.system() == "Windows" or platform.system() == "windows", "test not supported on windows")
226234
def test_default_values_for_invalid_enum_config_props(self):
227235
try:
228236
os.remove(self.config_file_path)

0 commit comments

Comments
 (0)