wolfSSL Support for WebRTC

We have added in support for the open source project WebRTC (https://webrtc.org/) in wolfSSL release 4.2.0. This is a project that allows real time communication (RTC) with IoT, mobile and web browsers. Many additional API where added to the wolfSSL compatibility layer in order to plug wolfSSL into WebRTC instead of BoringSSL.

Below lists some of the additional API added to the wolfSSL compatibility layer for WebRTC support:

  • SSL_CIPHER_get_id
  • SSL_CIPHER_get_rfc_name
  • SSL_get_cipher_by_value
  • X509_print_ex
  • X509_NAME_add_entry_by_NID
  • X509_time_adj
  • X509_time_adj_ex
  • DTLSv1_get_timeout
  • DTLSv1_handle_timeout
  • DTLSv1_set_initial_timeout_duration
  • SSL_CTX_set_current_time_cb
  • PEM_write_bio_RSA_PUBKEY
  • PEM_read_bio_RSA_PUBKEY
  • PEM_write_bio_PUBKEY
  • EVP_PKEY_missing_parameters
  • EVP_PKEY_cmp
  • BN_is_negative
  • BIO_set_retry_write

Notable advantages of choosing to build WebRTC with wolfSSL are evident through wolfSSL’s superior security implementations, including support for FIPS, PKCS#11, hardware encryption, TLSv1.3, and more. Additionally, 24×7 support and consulting services are available to help build your wolfSSL + WebRTC project.

The pull request with the latest updates for WebRTC can be found here: https://github.com/wolfSSL/wolfssl/pull/2585.
Upstream changes for WebRTC that include wolfSSL support can be found here: https://webrtc-review.googlesource.com/c/src/+/159760.

For questions about the use of wolfSSL with WebRTC, 24×7 support, or for any additional questions contact us at facts@wolfssl.com.