Dependencies are unpinned. Declared as:
~~~
'cryptography >= 41.0.0',
'pyopenssl >= 21.0.0',
'pem >= 23.1.0',
'certifi >= 2018.10.15'
~~~
Tests are split to two files, `test_local.py` and `test_remote.p`. To run local tests: `pytest tests/test_local.py`. Also, added tests for `gencert` to `test_local.py`.