Adding wolfSSL (formerly CyaSSL) support

In order to support SSL HTTPS connections in Civetweb, you may wish to use the GPLv2 licensed CyaSSL library. By using this library, the resulting binary may have to have the GPL license unless you buy a commercial license from wolfSSL.

Note: The following instructions have not been checked for the most recent versions of CivetWeb and wolfSSL. Some information might be outdated.

Getting Started

Example Project

If you download cyaSSL to cyassl-2.7.0 in a directory parallel to Civetweb, you can open the VS/civetweb_yassl solution in Visual Studio.

Build Configuration

Required include paths for both civetweb and cyassl

  • cyassl_directory\
  • cyassl_directory\cyassl\

Required civetweb preprocessor defines

  • USE_YASSL
  • NO_SSL_DL

Required cySSL preprocessor defines

  • OPENSSL_EXTRA
  • HAVE_ERRNO_H
  • HAVE_GETHOSTBYNAME
  • HAVE_INET_NTOA
  • HAVE_LIMITS_H
  • HAVE_MEMSET
  • HAVE_SOCKET
  • HAVE_STDDEF_H
  • HAVE_STDLIB_H
  • HAVE_STRING_H
  • HAVE_SYS_STAT_H
  • HAVE_SYS_TYPES_H

Required CyaSSL source files

  • ctaocrypt/src/aes.c
  • ctaocrypt/src/arc4.c
  • ctaocrypt/src/asn.c
  • ctaocrypt/src/coding.c
  • ctaocrypt/src/des3.c
  • ctaocrypt/src/dh.c
  • ctaocrypt/src/dsa.c
  • ctaocrypt/src/ecc.c
  • ctaocrypt/src/error.c
  • ctaocrypt/src/hc128.c
  • ctaocrypt/src/hmac.c
  • ctaocrypt/src/integer.c
  • ctaocrypt/src/logging.c
  • ctaocrypt/src/md2.c
  • ctaocrypt/src/md4.c
  • ctaocrypt/src/md5.c
  • ctaocrypt/src/memory.c
  • ctaocrypt/src/misc.c
  • ctaocrypt/src/pwdbased.c
  • ctaocrypt/src/rabbit.c
  • ctaocrypt/src/random.c
  • ctaocrypt/src/ripemd.c
  • ctaocrypt/src/rsa.c
  • ctaocrypt/src/sha.c
  • ctaocrypt/src/sha256.c
  • ctaocrypt/src/sha512.c
  • ctaocrypt/src/tfm.c
  • src/crl.c
  • src/internal.c
  • src/io.c
  • src/keys.c
  • src/ocsp.c
  • src/sniffer.c
  • src/ssl.c
  • src/tls.c