CINXE.COM
1. Introduction - wolfSSL Manual
<!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="canonical" href="https://wolfssl.com/index.html"> <link rel="icon" href="logo.png"> <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-8.1.6"> <title>1. Introduction - wolfSSL Manual</title> <link rel="stylesheet" href="assets/stylesheets/main.cd566b2a.min.css"> <link rel="stylesheet" href="assets/stylesheets/palette.e6a45f82.min.css"> <meta name="theme-color" content="#4051b5"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback"> <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style> <link rel="stylesheet" href="skin.css"> <script>__md_scope=new URL(".",location),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-64826966-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-64826966-1'); </script> </head> <body dir="ltr" data-md-color-scheme="" data-md-color-primary="indigo" data-md-color-accent="indigo"> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> <a href="#introduction" class="md-skip"> Skip to content </a> </div> <div data-md-component="announce"> </div> <header class="md-header" data-md-component="header"> <nav class="md-header__inner md-grid" aria-label="Header"> <a href="." title="wolfSSL Manual" class="md-header__button md-logo" aria-label="wolfSSL Manual" data-md-component="logo"> <img src="logo.png" alt="logo"> </a> <label class="md-header__button md-icon" for="__drawer"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg> </label> <div class="md-header__title" data-md-component="header-title"> <div class="md-header__ellipsis"> <div class="md-header__topic"> <span class="md-ellipsis"> wolfSSL Manual </span> </div> <div class="md-header__topic" data-md-component="header-topic"> <span class="md-ellipsis"> 1. Introduction </span> </div> </div> </div> <div class="md-ellipsis-nav"> <a href="https://www.wolfssl.com/">Home</a> <a href="https://www.wolfssl.com/products/">Products</a> <a href="https://www.wolfssl.com/download/">Download</a> <a href="https://www.wolfssl.com/license/">License</a> <a href="https://www.wolfssl.com/docs/">Docs</a> <a href="https://www.wolfssl.com/contact/">Contact</a> </div> <label class="md-header__button md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg> </label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="__search"></label> <div class="md-search__inner" role="search"> <form class="md-search__form" name="search"> <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required> <label class="md-search__icon md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg> </label> <nav class="md-search__options" aria-label="Search"> <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg> </button> </nav> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" data-md-scrollfix> <div class="md-search-result" data-md-component="search-result"> <div class="md-search-result__meta"> Initializing search </div> <ol class="md-search-result__list"></ol> </div> </div> </div> </div> </div> </nav> </header> <div class="md-container" data-md-component="container"> <main class="md-main" data-md-component="main"> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0"> <label class="md-nav__title" for="__drawer"> <a href="." title="wolfSSL Manual" class="md-nav__button md-logo" aria-label="wolfSSL Manual" data-md-component="logo"> <img src="logo.png" alt="logo"> </a> wolfSSL Manual </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc"> 1. Introduction <span class="md-nav__icon md-icon"></span> </label> <a href="index.html" class="md-nav__link md-nav__link--active"> 1. Introduction </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#why-choose-wolfssl" class="md-nav__link"> Why Choose wolfSSL? </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="chapter02.html" class="md-nav__link"> 2. Building wolfSSL </a> </li> <li class="md-nav__item"> <a href="chapter03.html" class="md-nav__link"> 3. Getting Started </a> </li> <li class="md-nav__item"> <a href="chapter04.html" class="md-nav__link"> 4. Features </a> </li> <li class="md-nav__item"> <a href="chapter05.html" class="md-nav__link"> 5. Portability </a> </li> <li class="md-nav__item"> <a href="chapter06.html" class="md-nav__link"> 6. Callbacks </a> </li> <li class="md-nav__item"> <a href="chapter07.html" class="md-nav__link"> 7. Keys and Certificates </a> </li> <li class="md-nav__item"> <a href="chapter08.html" class="md-nav__link"> 8. Debugging </a> </li> <li class="md-nav__item"> <a href="chapter09.html" class="md-nav__link"> 9. Library Design </a> </li> <li class="md-nav__item"> <a href="chapter10.html" class="md-nav__link"> 10. wolfCrypt Usage Reference </a> </li> <li class="md-nav__item"> <a href="chapter11.html" class="md-nav__link"> 11. SSL Tutorial </a> </li> <li class="md-nav__item"> <a href="chapter12.html" class="md-nav__link"> 12. Best Practices for Embedded Devices </a> </li> <li class="md-nav__item"> <a href="chapter13.html" class="md-nav__link"> 13. OpenSSL Compatibility </a> </li> <li class="md-nav__item"> <a href="chapter14.html" class="md-nav__link"> 14. Licensing </a> </li> <li class="md-nav__item"> <a href="chapter15.html" class="md-nav__link"> 15. Support and Consulting </a> </li> <li class="md-nav__item"> <a href="chapter16.html" class="md-nav__link"> 16. wolfSSL Updates </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_17" type="checkbox" id="__nav_17" > <label class="md-nav__link" for="__nav_17"> A. wolfSSL API Reference <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="A. wolfSSL API Reference" data-md-level="1"> <label class="md-nav__title" for="__nav_17"> <span class="md-nav__icon md-icon"></span> A. wolfSSL API Reference </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="group__CertManager.html" class="md-nav__link"> CertManager API </a> </li> <li class="md-nav__item"> <a href="group__Memory.html" class="md-nav__link"> Memory Handling </a> </li> <li class="md-nav__item"> <a href="group__openSSL.html" class="md-nav__link"> OpenSSL API </a> </li> <li class="md-nav__item"> <a href="group__CertsKeys.html" class="md-nav__link"> wolfSSL Certificates and Keys </a> </li> <li class="md-nav__item"> <a href="group__IO.html" class="md-nav__link"> wolfSSL Connection, Session, and I/O </a> </li> <li class="md-nav__item"> <a href="group__Setup.html" class="md-nav__link"> wolfSSL Context and Session Set Up </a> </li> <li class="md-nav__item"> <a href="group__Debug.html" class="md-nav__link"> wolfSSL Error Handling and Reporting </a> </li> <li class="md-nav__item"> <a href="group__TLS.html" class="md-nav__link"> wolfSSL Initialization/Shutdown </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_18" type="checkbox" id="__nav_18" > <label class="md-nav__link" for="__nav_18"> B. wolfCrypt API Reference <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="B. wolfCrypt API Reference" data-md-level="1"> <label class="md-nav__title" for="__nav_18"> <span class="md-nav__icon md-icon"></span> B. wolfCrypt API Reference </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="group__ASN.html" class="md-nav__link"> ASN.1 </a> </li> <li class="md-nav__item"> <a href="group__Base__Encoding.html" class="md-nav__link"> Base Encoding </a> </li> <li class="md-nav__item"> <a href="group__Compression.html" class="md-nav__link"> Compression </a> </li> <li class="md-nav__item"> <a href="group__Error.html" class="md-nav__link"> Error Reporting </a> </li> <li class="md-nav__item"> <a href="group__IoTSafe.html" class="md-nav__link"> IoT-Safe Module </a> </li> <li class="md-nav__item"> <a href="group__Keys.html" class="md-nav__link"> Key and Cert Conversion </a> </li> <li class="md-nav__item"> <a href="group__Logging.html" class="md-nav__link"> Logging </a> </li> <li class="md-nav__item"> <a href="group__Math.html" class="md-nav__link"> Math API </a> </li> <li class="md-nav__item"> <a href="group__Random.html" class="md-nav__link"> Random Number Generation </a> </li> <li class="md-nav__item"> <a href="group__Signature.html" class="md-nav__link"> Signature API </a> </li> <li class="md-nav__item"> <a href="group__wolfCrypt.html" class="md-nav__link"> wolfCrypt Init and Cleanup </a> </li> <li class="md-nav__item"> <a href="group__DES.html" class="md-nav__link"> Algorithms - 3DES </a> </li> <li class="md-nav__item"> <a href="group__AES.html" class="md-nav__link"> Algorithms - AES </a> </li> <li class="md-nav__item"> <a href="group__ARC4.html" class="md-nav__link"> Algorithms - ARC4 </a> </li> <li class="md-nav__item"> <a href="group__BLAKE2.html" class="md-nav__link"> Algorithms - BLAKE2 </a> </li> <li class="md-nav__item"> <a href="group__Camellia.html" class="md-nav__link"> Algorithms - Camellia </a> </li> <li class="md-nav__item"> <a href="group__ChaCha.html" class="md-nav__link"> Algorithms - ChaCha </a> </li> <li class="md-nav__item"> <a href="group__ChaCha20Poly1305.html" class="md-nav__link"> Algorithms - ChaCha20_Poly1305 </a> </li> <li class="md-nav__item"> <a href="group__CMAC.html" class="md-nav__link"> Algorithms - CMAC </a> </li> <li class="md-nav__item"> <a href="group__Crypto.html" class="md-nav__link"> Callbacks - CryptoCb </a> </li> <li class="md-nav__item"> <a href="group__Curve25519.html" class="md-nav__link"> Algorithms - Curve25519 </a> </li> <li class="md-nav__item"> <a href="group__Curve448.html" class="md-nav__link"> Algorithms - Curve448 </a> </li> <li class="md-nav__item"> <a href="group__DSA.html" class="md-nav__link"> Algorithms - DSA </a> </li> <li class="md-nav__item"> <a href="group__Diffie-Hellman.html" class="md-nav__link"> Algorithms - Diffie-Hellman </a> </li> <li class="md-nav__item"> <a href="group__ECC.html" class="md-nav__link"> Algorithms - ECC </a> </li> <li class="md-nav__item"> <a href="group__ED25519.html" class="md-nav__link"> Algorithms - ED25519 </a> </li> <li class="md-nav__item"> <a href="group__ED448.html" class="md-nav__link"> Algorithms - ED448 </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_18_28" type="checkbox" id="__nav_18_28" > <label class="md-nav__link" for="__nav_18_28"> ECCSI API Reference <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="ECCSI API Reference" data-md-level="2"> <label class="md-nav__title" for="__nav_18_28"> <span class="md-nav__icon md-icon"></span> ECCSI API Reference </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="group__ECCSI__Overview.html" class="md-nav__link"> Overview of ECCSI </a> </li> <li class="md-nav__item"> <a href="group__ECCSI__Setup.html" class="md-nav__link"> Setup ECCSI Key </a> </li> <li class="md-nav__item"> <a href="group__ECCSI__Operations.html" class="md-nav__link"> Operations for Signing and Verifying with ECCSI Key </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_18_29" type="checkbox" id="__nav_18_29" > <label class="md-nav__link" for="__nav_18_29"> SAKKE API Reference <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="SAKKE API Reference" data-md-level="2"> <label class="md-nav__title" for="__nav_18_29"> <span class="md-nav__icon md-icon"></span> SAKKE API Reference </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="group__SAKKE__Overview.html" class="md-nav__link"> Overview of SAKKE Key </a> </li> <li class="md-nav__item"> <a href="group__SAKKE__Setup.html" class="md-nav__link"> Setup SAKKE Key </a> </li> <li class="md-nav__item"> <a href="group__SAKKE__RSK.html" class="md-nav__link"> Operations on/with SAKKE RSK </a> </li> <li class="md-nav__item"> <a href="group__SAKKE__Operations.html" class="md-nav__link"> Operations using SAKKE Key </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="group__HMAC.html" class="md-nav__link"> Algorithms - HMAC </a> </li> <li class="md-nav__item"> <a href="group__MD2.html" class="md-nav__link"> Algorithms - MD2 </a> </li> <li class="md-nav__item"> <a href="group__MD4.html" class="md-nav__link"> Algorithms - MD4 </a> </li> <li class="md-nav__item"> <a href="group__MD5.html" class="md-nav__link"> Algorithms - MD5 </a> </li> <li class="md-nav__item"> <a href="group__Password.html" class="md-nav__link"> Algorithms - Password Based </a> </li> <li class="md-nav__item"> <a href="group__PKCS7.html" class="md-nav__link"> Algorithms - PKCS7 </a> </li> <li class="md-nav__item"> <a href="group__PKCS11.html" class="md-nav__link"> Algorithms - PKCS11 </a> </li> <li class="md-nav__item"> <a href="group__Poly1305.html" class="md-nav__link"> Algorithms - Poly1305 </a> </li> <li class="md-nav__item"> <a href="group__PSA.html" class="md-nav__link"> Algorithms - PSA </a> </li> <li class="md-nav__item"> <a href="group__RIPEMD.html" class="md-nav__link"> Algorithms - RIPEMD </a> </li> <li class="md-nav__item"> <a href="group__RSA.html" class="md-nav__link"> Algorithms - RSA </a> </li> <li class="md-nav__item"> <a href="group__SHA.html" class="md-nav__link"> Algorithms - SHA 128/224/256/384/512 </a> </li> <li class="md-nav__item"> <a href="group__SipHash.html" class="md-nav__link"> Algorithms - SipHash </a> </li> <li class="md-nav__item"> <a href="group__SRP.html" class="md-nav__link"> Algorithms - SRP </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_19" type="checkbox" id="__nav_19" > <label class="md-nav__link" for="__nav_19"> C. API Header Files <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="C. API Header Files" data-md-level="1"> <label class="md-nav__title" for="__nav_19"> <span class="md-nav__icon md-icon"></span> C. API Header Files </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="aes_8h.html" class="md-nav__link"> aes.h </a> </li> <li class="md-nav__item"> <a href="arc4_8h.html" class="md-nav__link"> arc4.h </a> </li> <li class="md-nav__item"> <a href="asn_8h.html" class="md-nav__link"> asn.h </a> </li> <li class="md-nav__item"> <a href="asn__public_8h.html" class="md-nav__link"> asn_public.h </a> </li> <li class="md-nav__item"> <a href="blake2_8h.html" class="md-nav__link"> blake2.h </a> </li> <li class="md-nav__item"> <a href="bn_8h.html" class="md-nav__link"> bn.h </a> </li> <li class="md-nav__item"> <a href="camellia_8h.html" class="md-nav__link"> camellia.h </a> </li> <li class="md-nav__item"> <a href="chacha20__poly1305_8h.html" class="md-nav__link"> chacha20_poly1305.h </a> </li> <li class="md-nav__item"> <a href="chacha_8h.html" class="md-nav__link"> chacha.h </a> </li> <li class="md-nav__item"> <a href="cmac_8h.html" class="md-nav__link"> cmac.h </a> </li> <li class="md-nav__item"> <a href="coding_8h.html" class="md-nav__link"> coding.h </a> </li> <li class="md-nav__item"> <a href="compress_8h.html" class="md-nav__link"> compress.h </a> </li> <li class="md-nav__item"> <a href="cryptocb_8h.html" class="md-nav__link"> cryptocb.h </a> </li> <li class="md-nav__item"> <a href="curve25519_8h.html" class="md-nav__link"> curve25519.h </a> </li> <li class="md-nav__item"> <a href="curve448_8h.html" class="md-nav__link"> curve448.h </a> </li> <li class="md-nav__item"> <a href="des3_8h.html" class="md-nav__link"> des3.h </a> </li> <li class="md-nav__item"> <a href="dh_8h.html" class="md-nav__link"> dh.h </a> </li> <li class="md-nav__item"> <a href="doxygen__groups_8h.html" class="md-nav__link"> doxygen_groups.h </a> </li> <li class="md-nav__item"> <a href="doxygen__pages_8h.html" class="md-nav__link"> doxygen_pages.h </a> </li> <li class="md-nav__item"> <a href="dsa_8h.html" class="md-nav__link"> dsa.h </a> </li> <li class="md-nav__item"> <a href="ecc_8h.html" class="md-nav__link"> ecc.h </a> </li> <li class="md-nav__item"> <a href="eccsi_8h.html" class="md-nav__link"> eccsi.h </a> </li> <li class="md-nav__item"> <a href="ed25519_8h.html" class="md-nav__link"> ed25519.h </a> </li> <li class="md-nav__item"> <a href="ed448_8h.html" class="md-nav__link"> ed448.h </a> </li> <li class="md-nav__item"> <a href="error-crypt_8h.html" class="md-nav__link"> error-crypt.h </a> </li> <li class="md-nav__item"> <a href="evp_8h.html" class="md-nav__link"> evp.h </a> </li> <li class="md-nav__item"> <a href="hash_8h.html" class="md-nav__link"> hash.h </a> </li> <li class="md-nav__item"> <a href="hmac_8h.html" class="md-nav__link"> hmac.h </a> </li> <li class="md-nav__item"> <a href="iotsafe_8h.html" class="md-nav__link"> iotsafe.h </a> </li> <li class="md-nav__item"> <a href="logging_8h.html" class="md-nav__link"> logging.h </a> </li> <li class="md-nav__item"> <a href="md2_8h.html" class="md-nav__link"> md2.h </a> </li> <li class="md-nav__item"> <a href="md4_8h.html" class="md-nav__link"> md4.h </a> </li> <li class="md-nav__item"> <a href="md5_8h.html" class="md-nav__link"> md5.h </a> </li> <li class="md-nav__item"> <a href="memory_8h.html" class="md-nav__link"> memory.h </a> </li> <li class="md-nav__item"> <a href="pem_8h.html" class="md-nav__link"> pem.h </a> </li> <li class="md-nav__item"> <a href="pkcs11_8h.html" class="md-nav__link"> pkcs11.h </a> </li> <li class="md-nav__item"> <a href="pkcs7_8h.html" class="md-nav__link"> pkcs7.h </a> </li> <li class="md-nav__item"> <a href="poly1305_8h.html" class="md-nav__link"> poly1305.h </a> </li> <li class="md-nav__item"> <a href="psa_8h.html" class="md-nav__link"> psa.h </a> </li> <li class="md-nav__item"> <a href="pwdbased_8h.html" class="md-nav__link"> pwdbased.h </a> </li> <li class="md-nav__item"> <a href="quic_8h.html" class="md-nav__link"> quic.h </a> </li> <li class="md-nav__item"> <a href="random_8h.html" class="md-nav__link"> random.h </a> </li> <li class="md-nav__item"> <a href="ripemd_8h.html" class="md-nav__link"> ripemd.h </a> </li> <li class="md-nav__item"> <a href="rsa_8h.html" class="md-nav__link"> rsa.h </a> </li> <li class="md-nav__item"> <a href="sakke_8h.html" class="md-nav__link"> sakke.h </a> </li> <li class="md-nav__item"> <a href="sha256_8h.html" class="md-nav__link"> sha256.h </a> </li> <li class="md-nav__item"> <a href="sha512_8h.html" class="md-nav__link"> sha512.h </a> </li> <li class="md-nav__item"> <a href="sha_8h.html" class="md-nav__link"> sha.h </a> </li> <li class="md-nav__item"> <a href="signature_8h.html" class="md-nav__link"> signature.h </a> </li> <li class="md-nav__item"> <a href="siphash_8h.html" class="md-nav__link"> siphash.h </a> </li> <li class="md-nav__item"> <a href="srp_8h.html" class="md-nav__link"> srp.h </a> </li> <li class="md-nav__item"> <a href="ssl_8h.html" class="md-nav__link"> ssl.h </a> </li> <li class="md-nav__item"> <a href="tfm_8h.html" class="md-nav__link"> tfm.h </a> </li> <li class="md-nav__item"> <a href="types_8h.html" class="md-nav__link"> types.h </a> </li> <li class="md-nav__item"> <a href="wc__encrypt_8h.html" class="md-nav__link"> wc_encrypt.h </a> </li> <li class="md-nav__item"> <a href="wc__port_8h.html" class="md-nav__link"> wc_port.h </a> </li> <li class="md-nav__item"> <a href="wolfio_8h.html" class="md-nav__link"> wolfio.h </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="appendix04.html" class="md-nav__link"> D. SSL/TLS Overview </a> </li> <li class="md-nav__item"> <a href="appendix05.html" class="md-nav__link"> E. RFCs, Specifications, and Reference </a> </li> <li class="md-nav__item"> <a href="appendix06.html" class="md-nav__link"> F. Error Codes </a> </li> <li class="md-nav__item"> <a href="appendix07.html" class="md-nav__link"> G. Experimenting with Post-Quantum Cryptography </a> </li> <li class="md-nav__item"> <a href="appendix08.html" class="md-nav__link"> H. wolfSSL Porting Guide </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#why-choose-wolfssl" class="md-nav__link"> Why Choose wolfSSL? </a> </li> </ul> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> <h1 id="introduction">Introduction</h1> <p>This manual is written as a technical guide to the wolfSSL embedded SSL/TLS library. It will explain how to build and get started with wolfSSL, provide an overview of build options, features, portability enhancements, support, and much more. </p> <p>You can find the PDF version of this document <a href="https://www.wolfssl.com/documentation/manuals/wolfssl/wolfSSL-Manual.pdf">here</a>.</p> <h2 id="why-choose-wolfssl">Why Choose wolfSSL?</h2> <p>There are many reasons to choose wolfSSL as your embedded SSL solution. Some of the top reasons include size (typical footprint sizes range from 20-100 kB), support for the newest standards (SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3, DTLS 1.0, and DTLS 1.2), current and progressive cipher support (including stream ciphers), multi- platform, royalty free, and an OpenSSL compatibility API to ease porting into existing applications which have previously used the OpenSSL package. For a complete feature list, see <a href="chapter04.html#features-overview">Features Overview</a>.</p> </article> </div> </div> </main> <footer class="md-footer"> <nav class="md-footer__inner md-grid" aria-label="Footer"> <a href="chapter02.html" class="md-footer__link md-footer__link--next" aria-label="Next: 2. Building wolfSSL" rel="next"> <div class="md-footer__title"> <div class="md-ellipsis"> <span class="md-footer__direction"> Next </span> 2. Building wolfSSL </div> </div> <div class="md-footer__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> <div class="md-copyright__highlight"> Copyright 漏 2023 wolfSSL Inc. </div> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <script id="__config" type="application/json">{"base": ".", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "assets/javascripts/workers/search.22074ed6.min.js"}</script> <script src="assets/javascripts/bundle.1514a9a0.min.js"></script> <script src="search/main.js"></script> </body> </html>