Welcome to the wolfSSL (formerly CyaSSL) Manual.  This manual can be viewed online in HTML form, or can be downloaded in PDF form from the above link.  Please use the following links to navigate to individual sections of the manual.


Table of Contents



Chapter 1: Introduction

Chapter 2: Building wolfSSL

           

            2.1  Getting wolfSSL Source Code

            2.2  Building on *nix

            2.3  Building on Windows

            2.4  Building in a Non-Standard Environment

            2.5  Build Options (./configure Options)

            2.6  Cross Compiling


Chapter 3: Getting Started

          

            3.1  General Description

            3.2  Testsuite

            3.3  Client Example

            3.4  Server Example

            3.5  EchoServer Example

            3.6  EchoClient Example

            3.7  Benchmark

            3.8  Changing a Client Application to Use wolfSSL

            3.9  Changing a Server Application to Use wolfSSL


Chapter 4: Features


            4.1  Features Overview

            4.2  Protocol Support

            4.3  Cipher Support

            4.4  Hardware Accelerated Crypto

            4.5  SSL Inspection

            4.6  Compression

            4.7  Pre-Shared Keys

            4.8  Client Authentication


Chapter 5: Portability


            5.1  Abstraction Layers

            5.2  Supported Operating Systems

            5.3  Supported Chipmakers


Chapter 6: Callbacks


            6.1  Handshake Callback

            6.2  Timeout Callback


Chapter 7: Keys and Certificates


            7.1  Supported Formats and Sizes

            7.2  Certificate Loading

            7.3  Certificate Chain Verification

            7.4  Domain Name Check for Server Certificates

            7.5  No File System and Using Certificates

            7.6  Serial Number Retrieval

            7.7  RSA Key Generation

            7.8  Certificate Generation


Chapter 8: Debugging


            8.1  Debugging and Logging

            8.2  Error Codes


Chapter 9: Library Design


            9.1  Library Headers

            9.2  Startup and Exit

            9.3  Structure Usage

            9.4  Thread Safety

            9.5  Input and Output Buffers


Chapter 10: wolfCrypt Usage Reference

           

            10.1  Hash Functions

            10.2  Keyed Hash Functions

            10.3  Block Ciphers

            10.4  Stream Ciphers

            10.5  Public Key Cryptography


Chapter 11: SSL Tutorial


Chapter 12: Best Practices for Embedded Devices


Chapter 13: OpenSSL Compatibility


Chapter 14: Licensing


Chapter 15: Support and Consulting


Chapter 16: wolfSSL Updates


Chapter 17: wolfSSL API Reference


            17.1      Initialization and Shutdown

            17.2      Certificates and Keys

            17.3      Context and Session Setup

            17.4      Callbacks

            17.5      Error Handling and Debugging

            17.6      OCSP and CRL

            17.7      Informational

            17.8      Connection, Session, and I/O

            17.9      DTLS Specific

            17.10    Memory Abstraction Layer

            17.11    Certificate Manager

            17.12    OpenSSL Compatibility Layer

            17.13    TLS Extensions


Chapter 18: wolfCrypt API Reference


            18.1      AES

            18.2      RC4 (ARC4)

            18.3      ASN

            18.4      BLAKE2b

            18.5      Camellia

            18.6      ChaCha

            18.7      ChaCha20-Poly1305

            18.8      Coding

            18.9      Compression

            18.10    Curve25519

            18.11    3DES

            18.12    Diffie-Hellman

            18.13    DSA

            18.14    ECC

            18.15    Ed25519

            18.16    Error Handling

            18.17    HC-128

            18.18    HMAC

            18.19    Random Number Generation

            18.20    RIPEMD

            18.21    RSA

            18.22    SHA

            18.23    Logging

            18.24    MD2

            18.25    MD4

            18.26    MD5

            18.27    Memory Handling

            18.28    PKCS#7

            18.29    Poly1305

            18.30    Password Based (PWDBASED)

            18.31    RABBIT

            18.32    Types


Appendix A: SSL/TLS Overview


Appendix B: RFCs, Specifications, and Reference


Appendix C: Error Codes


wolfSSL Manual

Docs -> wolfSSL Manual

Questions? +1 (425) 245-8247