Skip to content

Add an OpenSSL compatibility layer.#22

Merged
ejohnstown merged 1 commit intowolfSSL:masterfrom
haydenroche5:compatibility-layer
Sep 3, 2021
Merged

Add an OpenSSL compatibility layer.#22
ejohnstown merged 1 commit intowolfSSL:masterfrom
haydenroche5:compatibility-layer

Conversation

@haydenroche5
Copy link
Copy Markdown
Contributor

Prior to this commit, some compatibility layer functions were available in
wolfssl-py's FFI bindings but only via the wolfSSL names. For example,
wolfSSLv23_server_method was available, but not SSLv23_server_method. This
commit adds support for the OpenSSL names. So, a Python module that uses the
OpenSSL names can now be more easily ported to using wolfssl-py. For example,
the module pyOpenSSL is a Python wrapper around OpenSSL using FFI, very similar
to what we're doing with wolfssl-py. These new bindings in wolfssl-py allow us
to plug in our wolfSSL FFI to pyOpenSSL, which in turn allows projects using
pyOpenSSL to use wolfSSL under the hood. As a proof of concept, I used
wolfssl-py with pyOpenSSL to convert the Python module ndg_httpsclient from
OpenSSL to wolfSSL.

@haydenroche5 haydenroche5 force-pushed the compatibility-layer branch 2 times, most recently from c94bed8 to 6e47d45 Compare August 4, 2021 03:53
@haydenroche5 haydenroche5 requested a review from cconlon August 4, 2021 23:38
@haydenroche5 haydenroche5 self-assigned this Aug 4, 2021
@haydenroche5 haydenroche5 assigned cconlon and unassigned haydenroche5 Aug 14, 2021
@haydenroche5 haydenroche5 requested review from julek-wolfssl and removed request for cconlon August 23, 2021 18:12
@julek-wolfssl
Copy link
Copy Markdown
Member

Let's add in the README, that to run the tests you need to use USE_LOCAL_WOLFSSL=<path/to/wolfssl> pytest if building with a non-standard wolfSSL location.

Comment thread src/wolfssl/_build_ffi.py
Comment thread src/wolfssl/_build_ffi.py
Comment thread src/wolfssl/_build_ffi.py Outdated
Comment thread README.rst
Prior to this commit, some compatibility layer functions were available in
wolfssl-py's FFI bindings but only via the wolfSSL names. For example,
`wolfSSLv23_server_method` was available, but not `SSLv23_server_method`. This
commit adds support for the OpenSSL names. So, a Python module that uses the
OpenSSL names can now be more easily ported to using wolfssl-py. For example,
the module pyOpenSSL is a Python wrapper around OpenSSL using FFI, very similar
to what we're doing with wolfssl-py. These new bindings in wolfssl-py allow us
to plug in our wolfSSL FFI to pyOpenSSL, which in turn allows projects using
pyOpenSSL to use wolfSSL under the hood. As a proof of concept, I used
wolfssl-py with pyOpenSSL to convert the Python module ndg_httpsclient from
OpenSSL to wolfSSL.
@ejohnstown ejohnstown merged commit ace63e9 into wolfSSL:master Sep 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants