summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--M2Crypto/Engine.py13
-rw-r--r--tests/test_engine.py5
2 files changed, 13 insertions, 5 deletions
diff --git a/M2Crypto/Engine.py b/M2Crypto/Engine.py
index 96394a2..fa79e46 100644
--- a/M2Crypto/Engine.py
+++ b/M2Crypto/Engine.py
@@ -54,8 +54,11 @@ class Engine(object):
return m2.engine_finish(self._ptr)
def ctrl_cmd_string(self, cmd, arg, optional=0):
- # type: (bytes, Optional[bytes], int) -> int
+ # type: (AnyStr, Optional[AnyStr], int) -> None
"""Call ENGINE_ctrl_cmd_string"""
+ cmd = six.ensure_str(cmd)
+ if arg is not None:
+ arg = six.ensure_str(arg)
if not m2.engine_ctrl_cmd_string(self._ptr, cmd, arg, optional):
raise EngineError(Err.get_error())
@@ -121,10 +124,10 @@ def load_dynamic_engine(id, sopath):
sopath = sopath.encode('utf8')
m2.engine_load_dynamic()
e = Engine('dynamic')
- e.ctrl_cmd_string(b'SO_PATH', sopath)
- e.ctrl_cmd_string(b'ID', id)
- e.ctrl_cmd_string(b'LIST_ADD', '1')
- e.ctrl_cmd_string(b'LOAD', None)
+ e.ctrl_cmd_string('SO_PATH', sopath)
+ e.ctrl_cmd_string('ID', id)
+ e.ctrl_cmd_string('LIST_ADD', '1')
+ e.ctrl_cmd_string('LOAD', None)
return e
diff --git a/tests/test_engine.py b/tests/test_engine.py
index c2c6047..5439ee3 100644
--- a/tests/test_engine.py
+++ b/tests/test_engine.py
@@ -30,6 +30,11 @@ class EngineTestCase(unittest.TestCase):
Engine.load_dynamic()
Engine.Engine('dynamic')
+ def test_engine_ctrl_cmd_string(self):
+ Engine.load_dynamic()
+ e = Engine.Engine('dynamic')
+ e.ctrl_cmd_string('ID', 'TESTID')
+
def test_load_private(self):
Engine.load_openssl()
e = Engine.Engine('openssl')