wolfssl/examples/async
David Garske 305a754de3 Improvements to RSA padding. Expose API's to support external pad/unpad. 2024-06-03 12:23:31 -07:00
..
README.md Used codespell and fixed obvious typos. 2023-11-01 10:35:12 -05:00
async_client.c
async_server.c clang-tidy is being super picky 2023-09-11 16:30:29 -04:00
async_tls.c
async_tls.h
include.am Improvements to RSA padding. Expose API's to support external pad/unpad. 2024-06-03 12:23:31 -07:00

README.md

wolfSSL Asynchronous Cryptography support

Supported with:

  • Intel QuickAssist
  • Marvell (Cavium) Nitrox
  • Crypto Callbacks (--enable-cryptocb)
  • PK Callbacks (--enable-pkcallbacks)

Requires files from https://github.com/wolfSSL/wolfAsyncCrypt See async-check.sh for how to setup.

Tested with:

  • ./configure --enable-asynccrypt --enable-rsa --disable-ecc
  • ./configure --enable-asynccrypt --disable-rsa --enable-ecc
  • ./configure --enable-asynccrypt --enable-cryptocb --enable-rsa --disable-ecc
  • ./configure --enable-asynccrypt --enable-cryptocb --disable-rsa --enable-ecc
  • ./configure --enable-asynccrypt --enable-pkcallbacks --enable-rsa --disable-ecc
  • ./configure --enable-asynccrypt --enable-pkcallbacks --disable-rsa --enable-ecc
make
./examples/async/async_server
./examples/async/async_client 127.0.0.1

Asynchronous Cryptography Design

When a cryptogaphic call is handed off to hardware it return WC_PENDING_E up to caller. Then it can keep calling until the operation completes. For some platforms it is required to call wolfSSL_AsyncPoll. At the TLS layer a "devId" (Device ID) must be set using wolfSSL_CTX_SetDevId to indicate desire to offload cryptography.

For further design details please see: https://github.com/wolfSSL/wolfAsyncCrypt#design

Support

For questions please email support@wolfssl.com