zte's code,first commit
Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/ap/lib/libwolfssl/install/include/cyassl/callbacks.h b/ap/lib/libwolfssl/install/include/cyassl/callbacks.h
new file mode 100644
index 0000000..7a1c1d4
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/callbacks.h
@@ -0,0 +1,23 @@
+/* callbacks.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#include <wolfssl/callbacks.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/certs_test.h b/ap/lib/libwolfssl/install/include/cyassl/certs_test.h
new file mode 100644
index 0000000..c8465ac
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/certs_test.h
@@ -0,0 +1,10 @@
+/* certs_test.h */
+
+#include <wolfssl/certs_test.h>
+
+#ifndef CYASSL_CERTS_TEST_H
+ #define CYASSL_CERTS_TEST_H WOLFSSL_CERTS_TEST_H
+#else
+ #undef CYASSL_CERTS_TEST_H
+ #define CYASSL_CERTS_TEST_H WOLFSSL_CERTS_TEST_H
+#endif
diff --git a/ap/lib/libwolfssl/install/include/cyassl/crl.h b/ap/lib/libwolfssl/install/include/cyassl/crl.h
new file mode 100644
index 0000000..a883879
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/crl.h
@@ -0,0 +1,23 @@
+/* crl.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#include <wolfssl/crl.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/aes.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/aes.h
new file mode 100644
index 0000000..3973c8f
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/aes.h
@@ -0,0 +1,61 @@
+/* aes.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_AES
+
+#ifndef CTAO_CRYPT_AES_H
+#define CTAO_CRYPT_AES_H
+
+#include <wolfssl/wolfcrypt/aes.h>
+#define AesSetKey wc_AesSetKey
+#define AesSetIV wc_AesSetIV
+#define AesCbcEncrypt wc_AesCbcEncrypt
+#define AesCbcDecrypt wc_AesCbcDecrypt
+#define AesCbcDecryptWithKey wc_AesCbcDecryptWithKey
+
+/* AES-CTR */
+#ifdef WOLFSSL_AES_COUNTER
+ #define AesCtrEncrypt wc_AesCtrEncrypt
+#endif
+/* AES-DIRECT */
+#if defined(WOLFSSL_AES_DIRECT)
+ #define AesEncryptDirect wc_AesEncryptDirect
+ #define AesDecryptDirect wc_AesDecryptDirect
+ #define AesSetKeyDirect wc_AesSetKeyDirect
+#endif
+#ifdef HAVE_AESGCM
+ #define AesGcmSetKey wc_AesGcmSetKey
+ #define AesGcmEncrypt wc_AesGcmEncrypt
+ #define AesGcmDecrypt wc_AesGcmDecrypt
+ #define GmacSetKey wc_GmacSetKey
+ #define GmacUpdate wc_GmacUpdate
+#endif /* HAVE_AESGCM */
+#ifdef HAVE_AESCCM
+ #define AesCcmSetKey wc_AesCcmSetKey
+ #define AesCcmEncrypt wc_AesCcmEncrypt
+ #define AesCcmDecrypt wc_AesCcmDecrypt
+#endif /* HAVE_AESCCM */
+
+#endif /* CTAO_CRYPT_AES_H */
+#endif /* NO_AES */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/arc4.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/arc4.h
new file mode 100644
index 0000000..ff7440c
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/arc4.h
@@ -0,0 +1,36 @@
+/* arc4.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#ifndef CTAO_CRYPT_ARC4_H
+#define CTAO_CRYPT_ARC4_H
+
+/* for arc4 reverse compatibility */
+#ifndef NO_RC4
+#include <wolfssl/wolfcrypt/arc4.h>
+ #define Arc4Process wc_Arc4Process
+ #define Arc4SetKey wc_Arc4SetKey
+ #define Arc4AsyncInit wc_Arc4AsyncInit
+ #define Arc4AsyncFree wc_Arc4AsyncFree
+#endif
+
+#endif /* CTAO_CRYPT_ARC4_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/asn.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/asn.h
new file mode 100644
index 0000000..5ee090f
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/asn.h
@@ -0,0 +1,48 @@
+/* asn.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#ifndef NO_ASN
+
+#ifndef CTAO_CRYPT_ASN_H
+#define CTAO_CRYPT_ASN_H
+
+/* pull in compatibility for each include */
+#include <cyassl/ctaocrypt/dh.h>
+#include <cyassl/ctaocrypt/dsa.h>
+#include <cyassl/ctaocrypt/sha.h>
+#include <cyassl/ctaocrypt/md5.h>
+#include <cyassl/ctaocrypt/asn_public.h> /* public interface */
+#ifdef HAVE_ECC
+ #include <cyassl/ctaocrypt/ecc.h>
+#endif
+
+
+#include <wolfssl/wolfcrypt/asn.h>
+
+#ifndef NO_FILESYSTEM
+ #define CyaSSL_PemCertToDer wc_PemCertToDer
+#endif
+
+#endif /* CTAO_CRYPT_ASN_H */
+
+#endif /* !NO_ASN */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/asn_public.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/asn_public.h
new file mode 100644
index 0000000..b4dc6da
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/asn_public.h
@@ -0,0 +1,79 @@
+/* asn_public.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_ASN_PUBLIC_H
+#define CTAO_CRYPT_ASN_PUBLIC_H
+
+/* pull in compatibility for each of the includes */
+#include <cyassl/ctaocrypt/types.h>
+#include <cyassl/ctaocrypt/types.h>
+#include <cyassl/ctaocrypt/ecc.h>
+#ifdef WOLFSSL_CERT_GEN
+ #include <cyassl/ctaocrypt/rsa.h>
+#endif
+
+#include <wolfssl/wolfcrypt/asn_public.h>
+#ifdef WOLFSSL_CERT_GEN
+ #define InitCert wc_InitCert
+ #define MakeCert wc_MakeCert
+
+ #ifdef WOLFSSL_CERT_REQ
+ #define MakeCertReq wc_MakeCertReq
+#endif
+
+ #define SignCert wc_SignCert
+ #define MakeSelfCert wc_MakeSelfCert
+ #define SetIssuer wc_SetIssuer
+ #define SetSubject wc_SetSubject
+
+ #ifdef WOLFSSL_ALT_NAMES
+ #define SetAltNames wc_SetAltNames
+#endif
+
+ #define SetIssuerBuffer wc_SetIssuerBuffer
+ #define SetSubjectBuffer wc_SetSubjectBuffer
+ #define SetAltNamesBuffer wc_SetAltNamesBuffer
+ #define SetDatesBuffer wc_SetDatesBuffer
+
+ #ifdef HAVE_NTRU
+ #define MakeNtruCert wc_MakeNtruCert
+ #endif
+
+#endif /* WOLFSSL_CERT_GEN */
+
+ #if defined(WOLFSSL_KEY_GEN) || defined(WOLFSSL_CERT_GEN)
+ #define DerToPem wc_DerToPem
+#endif
+
+#ifdef HAVE_ECC
+ /* private key helpers */
+ #define EccPrivateKeyDecode wc_EccPrivateKeyDecode
+ #define EccKeyToDer wc_EccKeyToDer
+#endif
+
+ /* DER encode signature */
+ #define EncodeSignature wc_EncodeSignature
+ #define GetCTC_HashOID wc_GetCTC_HashOID
+
+#endif /* CTAO_CRYPT_ASN_PUBLIC_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2-impl.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2-impl.h
new file mode 100644
index 0000000..aa34a81
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2-impl.h
@@ -0,0 +1,43 @@
+/*
+ BLAKE2 reference source code package - reference C implementations
+
+ Written in 2012 by Samuel Neves <sneves@dei.uc.pt>
+
+ To the extent possible under law, the author(s) have dedicated all copyright
+ and related and neighboring rights to this software to the public domain
+ worldwide. This software is distributed without any warranty.
+
+ You should have received a copy of the CC0 Public Domain Dedication along with
+ this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
+*/
+/* blake2-impl.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAOCRYPT_BLAKE2_IMPL_H
+#define CTAOCRYPT_BLAKE2_IMPL_H
+
+#include <cyassl/ctaocrypt/types.h>
+#include <wolfssl/wolfcrypt/blake2-impl.h>
+
+#endif /* CTAOCRYPT_BLAKE2_IMPL_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2-int.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2-int.h
new file mode 100644
index 0000000..062de2f
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2-int.h
@@ -0,0 +1,44 @@
+/*
+ BLAKE2 reference source code package - reference C implementations
+
+ Written in 2012 by Samuel Neves <sneves@dei.uc.pt>
+
+ To the extent possible under law, the author(s) have dedicated all copyright
+ and related and neighboring rights to this software to the public domain
+ worldwide. This software is distributed without any warranty.
+
+ You should have received a copy of the CC0 Public Domain Dedication along with
+ this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
+*/
+/* blake2-int.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+
+#ifndef CTAOCRYPT_BLAKE2_INT_H
+#define CTAOCRYPT_BLAKE2_INT_H
+
+#include <cyassl/ctaocrypt/types.h>
+#include <wolfssl/wolfcrypt/blake2-int.h>
+
+#endif /* CTAOCRYPT_BLAKE2_INT_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2.h
new file mode 100644
index 0000000..377a515
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/blake2.h
@@ -0,0 +1,45 @@
+/* blake2.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifdef HAVE_BLAKE2
+
+#ifndef CTAOCRYPT_BLAKE2_H
+#define CTAOCRYPT_BLAKE2_H
+
+#include <wolfssl/wolfcrypt/blake2.h>
+
+/* for blake2 reverse compatibility */
+#ifndef HAVE_FIPS
+ #define InitBlake2b wc_InitBlake2b
+ #define Blake2bUpdate wc_Blake2bUpdate
+ #define Blake2bFinal wc_Blake2bFinal
+#else
+ /* name for when fips hmac calls blake */
+ #define wc_InitBlake2b InitBlake2b
+ #define wc_Blake2bUpdate Blake2bUpdate
+ #define wc_Blake2bFinal Blake2bFinal
+#endif /* HAVE_FIPS */
+
+#endif /* CTAOCRYPT_BLAKE2_H */
+#endif /* HAVE_BLAKE2 */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/camellia.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/camellia.h
new file mode 100644
index 0000000..8db4a45
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/camellia.h
@@ -0,0 +1,39 @@
+/* camellia.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#ifndef CTAO_CRYPT_CAMELLIA_H
+#define CTAO_CRYPT_CAMELLIA_H
+
+
+/* for camellia reverse compatibility */
+#ifdef HAVE_CAMELLIA
+ #include <wolfssl/wolfcrypt/camellia.h>
+ #define CamelliaSetKey wc_CamelliaSetKey
+ #define CamelliaSetIV wc_CamelliaSetIV
+ #define CamelliaEncryptDirect wc_CamelliaEncryptDirect
+ #define CamelliaDecryptDirect wc_CamelliaDecryptDirect
+ #define CamelliaCbcEncrypt wc_CamelliaCbcEncrypt
+ #define CamelliaCbcDecrypt wc_CamelliaCbcDecrypt
+#endif
+
+#endif /* CTAO_CRYPT_CAMELLIA_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/chacha.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/chacha.h
new file mode 100644
index 0000000..0ad52ba
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/chacha.h
@@ -0,0 +1,36 @@
+/* chacha.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#ifndef CTAO_CRYPT_CHACHA_H
+#define CTAO_CRYPT_CHACHA_H
+
+
+/* for chacha reverse compatibility */
+#ifdef HAVE_CHACHA
+ #include <wolfssl/wolfcrypt/chacha.h>
+ #define Chacha_Process wc_Chacha_Process
+ #define Chacha_SetKey wc_Chacha_SetKey
+ #define Chacha_SetIV wc_Chacha_SetIV
+#endif
+
+#endif /* CTAO_CRYPT_CHACHA_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/coding.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/coding.h
new file mode 100644
index 0000000..7b433c7
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/coding.h
@@ -0,0 +1,30 @@
+/* coding.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_CODING_H
+#define CTAO_CRYPT_CODING_H
+
+#include <wolfssl/wolfcrypt/coding.h>
+
+#endif /* CTAO_CRYPT_CODING_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/compress.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/compress.h
new file mode 100644
index 0000000..f1f8cb3
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/compress.h
@@ -0,0 +1,38 @@
+/* compress.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifdef HAVE_LIBZ
+
+#ifndef CTAO_CRYPT_COMPRESS_H
+#define CTAO_CRYPT_COMPRESS_H
+
+#include <wolfssl/wolfcrypt/compress.h>
+
+/* reverse compatibility */
+#define Compress wc_Compress
+#define DeCompress wc_DeCompress
+
+#endif /* CTAO_CRYPT_COMPRESS_H */
+
+#endif /* HAVE_LIBZ */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/des3.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/des3.h
new file mode 100644
index 0000000..94fd5ea
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/des3.h
@@ -0,0 +1,49 @@
+/* des3.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_DES3
+
+#ifndef CTAO_CRYPT_DES3_H
+#define CTAO_CRYPT_DES3_H
+
+
+#include <wolfssl/wolfcrypt/des3.h>
+#define Des_SetKey wc_Des_SetKey
+#define Des_SetIV wc_Des_SetIV
+#define Des_CbcEncrypt wc_Des_CbcEncrypt
+#define Des_CbcDecrypt wc_Des_CbcDecrypt
+#define Des_EcbEncrypt wc_Des_EcbEncrypt
+#define Des_CbcDecryptWithKey wc_Des_CbcDecryptWithKey
+#define Des3_SetKey wc_Des3_SetKey
+#define Des3_SetIV wc_Des3_SetIV
+#define Des3_CbcEncrypt wc_Des3_CbcEncrypt
+#define Des3_CbcDecrypt wc_Des3_CbcDecrypt
+#define Des3_CbcDecryptWithKey wc_Des3_CbcDecryptWithKey
+#ifdef WOLFSSL_ASYNC_CRYPT
+ #define Des3AsyncInit wc_Des3AsyncInit
+ #define Des3AsyncFree wc_Des3AsyncFree
+#endif
+
+#endif /* NO_DES3 */
+#endif /* CTAO_CRYPT_DES3_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/dh.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/dh.h
new file mode 100644
index 0000000..5cf5849
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/dh.h
@@ -0,0 +1,42 @@
+/* dh.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_DH
+
+#ifndef CTAO_CRYPT_DH_H
+#define CTAO_CRYPT_DH_H
+
+/* for dh reverse compatibility */
+#include <wolfssl/wolfcrypt/dh.h>
+#define InitDhKey wc_InitDhKey
+#define FreeDhKey wc_FreeDhKey
+#define DhGenerateKeyPair wc_DhGenerateKeyPair
+#define DhAgree wc_DhAgree
+#define DhKeyDecode wc_DhKeyDecode
+#define DhSetKey wc_DhSetKey
+#define DhParamsLoad wc_DhParamsLoad
+
+#endif /* CTAO_CRYPT_DH_H */
+
+#endif /* NO_DH */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/dsa.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/dsa.h
new file mode 100644
index 0000000..60c8159
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/dsa.h
@@ -0,0 +1,33 @@
+/* dsa.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_DSA
+
+#ifndef CTAO_CRYPT_DSA_H
+#define CTAO_CRYPT_DSA_H
+
+#include <wolfssl/wolfcrypt/dsa.h>
+
+#endif /* CTAO_CRYPT_DSA_H */
+#endif /* NO_DSA */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/ecc.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/ecc.h
new file mode 100644
index 0000000..6e1e1dc
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/ecc.h
@@ -0,0 +1,69 @@
+/* ecc.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#ifdef HAVE_ECC
+
+#ifndef CTAO_CRYPT_ECC_H
+#define CTAO_CRYPT_ECC_H
+
+#include <wolfssl/wolfcrypt/ecc.h>
+
+/* includes for compatibility */
+#include <cyassl/ctaocrypt/types.h>
+#include <cyassl/ctaocrypt/integer.h>
+#include <cyassl/ctaocrypt/random.h>
+
+/* for ecc reverse compatibility */
+#ifdef HAVE_ECC
+ #define ecc_make_key wc_ecc_make_key
+ #define ecc_shared_secret wc_ecc_shared_secret
+ #define ecc_sign_hash wc_ecc_sign_hash
+ #define ecc_verify_hash wc_ecc_verify_hash
+ #define ecc_init wc_ecc_init
+ #define ecc_free wc_ecc_free
+ #define ecc_fp_free wc_ecc_fp_free
+ #define ecc_export_x963 wc_ecc_export_x963
+ #define ecc_size wc_ecc_size
+ #define ecc_sig_size wc_ecc_sig_size
+ #define ecc_export_x963_ex wc_ecc_export_x963_ex
+ #define ecc_import_x963 wc_ecc_import_x963
+ #define ecc_import_private_key wc_ecc_import_private_key
+ #define ecc_rs_to_sig wc_ecc_rs_to_sig
+ #define ecc_import_raw wc_ecc_import_raw
+ #define ecc_export_private_only wc_ecc_export_private_only
+
+#ifdef HAVE_ECC_ENCRYPT
+ /* ecc encrypt */
+ #define ecc_ctx_new wc_ecc_ctx_new
+ #define ecc_ctx_free wc_ecc_ctx_free
+ #define ecc_ctx_reset wc_ecc_ctx_reset
+ #define ecc_ctx_get_own_salt wc_ecc_ctx_get_own_salt
+ #define ecc_ctx_set_peer_salt wc_ecc_ctx_set_peer_salt
+ #define ecc_ctx_set_info wc_ecc_ctx_set_info
+ #define ecc_encrypt wc_ecc_encrypt
+ #define ecc_decrypt wc_ecc_decrypt
+#endif /* HAVE_ECC_ENCRYPT */
+#endif
+
+#endif /* CTAO_CRYPT_ECC_H */
+#endif /* HAVE_ECC */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/error-crypt.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/error-crypt.h
new file mode 100644
index 0000000..061de02
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/error-crypt.h
@@ -0,0 +1,33 @@
+/* error-crypt.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_ERROR_H
+#define CTAO_CRYPT_ERROR_H
+
+/* for name change and fips compatibility @wc_fips */
+#include <wolfssl/wolfcrypt/error-crypt.h>
+#define CTaoCryptErrorString wc_ErrorString
+#define CTaoCryptGetErrorString wc_GetErrorString
+
+#endif /* CTAO_CRYPT_ERROR_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/fips_test.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/fips_test.h
new file mode 100644
index 0000000..561da88
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/fips_test.h
@@ -0,0 +1,59 @@
+/* fips_test.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_FIPS_TEST_H
+#define CTAO_CRYPT_FIPS_TEST_H
+
+#include <cyassl/ctaocrypt/types.h>
+
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Known Answer Test string inputs are hex, internal */
+CYASSL_LOCAL int DoKnownAnswerTests(char*, int);
+
+
+/* FIPS failure callback */
+typedef void(*wolfCrypt_fips_cb)(int ok, int err, const char* hash);
+
+/* Public set function */
+CYASSL_API int wolfCrypt_SetCb_fips(wolfCrypt_fips_cb cbf);
+
+/* Public get status functions */
+CYASSL_API int wolfCrypt_GetStatus_fips(void);
+CYASSL_API const char* wolfCrypt_GetCoreHash_fips(void);
+
+#ifdef HAVE_FORCE_FIPS_FAILURE
+ /* Public function to force failure mode for operational testing */
+ CYASSL_API int wolfCrypt_SetStatus_fips(int);
+#endif
+
+
+#ifdef __cplusplus
+ } /* extern "C" */
+#endif
+
+#endif /* CTAO_CRYPT_FIPS_TEST_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/hc128.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/hc128.h
new file mode 100644
index 0000000..3783893
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/hc128.h
@@ -0,0 +1,40 @@
+/* hc128.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_HC128
+
+#ifndef CTAO_CRYPT_HC128_H
+#define CTAO_CRYPT_HC128_H
+
+#include <wolfssl/wolfcrypt/hc128.h>
+
+/* for hc128 reverse compatibility */
+#ifdef HAVE_HC128
+ #define Hc128_Process wc_Hc128_Process
+ #define Hc128_SetKey wc_Hc128_SetKey
+#endif
+
+#endif /* CTAO_CRYPT_HC128_H */
+
+#endif /* HAVE_HC128 */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/hmac.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/hmac.h
new file mode 100644
index 0000000..04fb6fb
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/hmac.h
@@ -0,0 +1,45 @@
+/* hmac.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_HMAC
+
+#ifndef CTAO_CRYPT_HMAC_H
+#define CTAO_CRYPT_HMAC_H
+
+#include <wolfssl/wolfcrypt/hmac.h>
+#define HmacSetKey wc_HmacSetKey
+#define HmacUpdate wc_HmacUpdate
+#define HmacFinal wc_HmacFinal
+#ifdef WOLFSSL_ASYNC_CRYPT
+ #define HmacAsyncInit wc_HmacAsyncInit
+ #define HmacAsyncFree wc_HmacAsyncFree
+#endif
+#define CyaSSL_GetHmacMaxSize wolfSSL_GetHmacMaxSize
+#ifdef HAVE_HKDF
+ #define HKDF wc_HKDF
+#endif /* HAVE_HKDF */
+
+#endif /* CTAO_CRYPT_HMAC_H */
+
+#endif /* NO_HMAC */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/integer.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/integer.h
new file mode 100644
index 0000000..2ee59a3
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/integer.h
@@ -0,0 +1,35 @@
+/* integer.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+/*
+ * Based on public domain LibTomMath 0.38 by Tom St Denis, tomstdenis@iahu.ca,
+ * http://math.libtomcrypt.com
+ */
+
+
+#ifndef CTAO_CRYPT_INTEGER_H
+#define CTAO_CRYPT_INTEGER_H
+
+#include <wolfssl/wolfcrypt/integer.h>
+
+#endif /* CTAO_CRYPT_INTEGER_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/logging.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/logging.h
new file mode 100644
index 0000000..37dc576
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/logging.h
@@ -0,0 +1,41 @@
+/* logging.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+/* submitted by eof */
+
+
+#ifndef CYASSL_LOGGING_H
+#define CYASSL_LOGGING_H
+
+/* for fips compatibility @wc_fips */
+#include <wolfssl/wolfcrypt/logging.h>
+#define CYASSL_LEAVE WOLFSSL_LEAVE
+#define CYASSL_ERROR WOLFSSL_ERROR
+#define CYASSL_ENTER WOLFSSL_ENTER
+#define CYASSL_MSG WOLFSSL_MSG
+/* check old macros possibly declared */
+#if defined(DEBUG_CYASSL) && !defined(DEBUG_WOLFSSL)
+ #define DEBUG_WOLFSSL
+#endif
+
+#endif /* CYASSL_LOGGING_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md2.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md2.h
new file mode 100644
index 0000000..b01cc6e
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md2.h
@@ -0,0 +1,43 @@
+/* md2.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+/* check for old macro */
+#if !defined(CYASSL_MD2) && defined(WOLFSSL_MD2)
+ #define CYASSL_MD2
+#endif
+
+#ifdef CYASSL_MD2
+
+#ifndef CTAO_CRYPT_MD2_H
+#define CTAO_CRYPT_MD2_H
+
+#include <wolfssl/wolfcrypt/md2.h>
+
+#define InitMd2 wc_InitMd2
+#define Md2Update wc_Md2Update
+#define Md2Final wc_Md2Final
+#define Md2Hash wc_Md2Hash
+
+#endif /* CTAO_CRYPT_MD2_H */
+#endif /* CYASSL_MD2 */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md4.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md4.h
new file mode 100644
index 0000000..463a68d
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md4.h
@@ -0,0 +1,38 @@
+/* md4.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_MD4
+
+#ifndef CTAO_CRYPT_MD4_H
+#define CTAO_CRYPT_MD4_H
+
+#include <wolfssl/wolfcrypt/md4.h>
+
+#define InitMd4 wc_InitMd4
+#define Md4Update wc_Md4Update
+#define Md4Final wc_Md4Final
+
+#endif /* CTAO_CRYPT_MD4_H */
+
+#endif /* NO_MD4 */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md5.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md5.h
new file mode 100644
index 0000000..77d99ae
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/md5.h
@@ -0,0 +1,45 @@
+/* md5.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#ifndef NO_MD5
+
+#ifndef CTAO_CRYPT_MD5_H
+#define CTAO_CRYPT_MD5_H
+
+#include <wolfssl/wolfcrypt/md5.h>
+
+#ifndef HAVE_FIPS
+ #define InitMd5 wc_InitMd5
+ #define Md5Update wc_Md5Update
+ #define Md5Final wc_Md5Final
+ #define Md5Hash wc_Md5Hash
+#else
+ /* redfined name so that hmac is calling same function names with fips */
+ #define wc_InitMd5 InitMd5
+ #define wc_Md5Update Md5Update
+ #define wc_Md5Final Md5Final
+ #define wc_Md5Hash Md5Hash
+#endif
+
+#endif /* CTAO_CRYPT_MD5_H */
+#endif /* NO_MD5 */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/memory.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/memory.h
new file mode 100644
index 0000000..0084be7
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/memory.h
@@ -0,0 +1,42 @@
+/* memory.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+/* submitted by eof */
+
+
+#ifndef CYASSL_MEMORY_H
+#define CYASSL_MEMORY_H
+
+
+#include <wolfssl/wolfcrypt/memory.h>
+#define CyaSSL_Malloc_cb wolfSSL_Malloc_cb
+#define CyaSSL_Free_cb wolfSSL_Free_cb
+#define CyaSSL_Realloc_cb wolfSSL_Realloc_cb
+#define CyaSSL_SetAllocators wolfSSL_SetAllocators
+
+/* Public in case user app wants to use XMALLOC/XFREE */
+#define CyaSSL_Malloc wolfSSL_Malloc
+#define CyaSSL_Free wolfSSL_Free
+#define CyaSSL_Realloc wolfSSL_Realloc
+
+#endif /* CYASSL_MEMORY_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/misc.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/misc.h
new file mode 100644
index 0000000..f311fc9
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/misc.h
@@ -0,0 +1,30 @@
+/* misc.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_MISC_H
+#define CTAO_CRYPT_MISC_H
+
+#include <wolfssl/wolfcrypt/misc.h>
+
+#endif /* CTAO_CRYPT_MISC_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/mpi_class.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/mpi_class.h
new file mode 100644
index 0000000..134b714
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/mpi_class.h
@@ -0,0 +1,24 @@
+/* mpi_class.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#include <wolfssl/wolfcrypt/mpi_class.h>
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/mpi_superclass.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/mpi_superclass.h
new file mode 100644
index 0000000..3a5d80e
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/mpi_superclass.h
@@ -0,0 +1,27 @@
+/* mpi_superclass.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+/* super class file for PK algos */
+
+#include <wolfssl/wolfcrypt/mpi_superclass.h>
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/pkcs7.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/pkcs7.h
new file mode 100644
index 0000000..3760567
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/pkcs7.h
@@ -0,0 +1,53 @@
+/* pkcs7.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifdef HAVE_PKCS7
+
+#ifndef CTAO_CRYPT_PKCS7_H
+#define CTAO_CRYPT_PKCS7_H
+
+/* pull in compatibility for old includes */
+#include <cyassl/ctaocrypt/types.h>
+#include <cyassl/ctaocrypt/asn.h>
+#include <cyassl/ctaocrypt/asn_public.h>
+#include <cyassl/ctaocrypt/random.h>
+#include <cyassl/ctaocrypt/des3.h>
+
+#include <wolfssl/wolfcrypt/pkcs7.h>
+
+/* for pkcs7 reverse compatibility */
+#define SetContentType wc_SetContentType
+#define GetContentType wc_GetContentType
+#define CreateRecipientInfo wc_CreateRecipientInfo
+#define PKCS7_InitWithCert wc_PKCS7_InitWithCert
+#define PKCS7_Free wc_PKCS7_Free
+#define PKCS7_EncodeData wc_PKCS7_EncodeData
+#define PKCS7_EncodeSignedData wc_PKCS7_EncodeSignedData
+#define PKCS7_VerifySignedData wc_PKCS7_VerifySignedData
+#define PKCS7_EncodeEnvelopedData wc_PKCS7_EncodeEnvelopedData
+#define PKCS7_DecodeEnvelopedData wc_PKCS7_DecodeEnvelopedData
+
+#endif /* CTAO_CRYPT_PKCS7_H */
+
+#endif /* HAVE_PKCS7 */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/poly1305.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/poly1305.h
new file mode 100644
index 0000000..e44be6c
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/poly1305.h
@@ -0,0 +1,39 @@
+/* poly1305.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifdef HAVE_POLY1305
+
+#ifndef CTAO_CRYPT_POLY1305_H
+#define CTAO_CRYPT_POLY1305_H
+
+#include <wolfssl/wolfcrypt/poly1305.h>
+
+/* for poly1305 reverse compatibility */
+#define Poly1305SetKey wc_Poly1305SetKey
+#define Poly1305Update wc_Poly1305Update
+#define Poly1305Final wc_Poly1305Final
+
+#endif /* CTAO_CRYPT_POLY1305_H */
+
+#endif /* HAVE_POLY1305 */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/pwdbased.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/pwdbased.h
new file mode 100644
index 0000000..75df424
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/pwdbased.h
@@ -0,0 +1,37 @@
+/* pwdbased.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_PWDBASED
+
+#ifndef CTAO_CRYPT_PWDBASED_H
+#define CTAO_CRYPT_PWDBASED_H
+
+/* for pwdbased reverse compatibility */
+#include <wolfssl/wolfcrypt/pwdbased.h>
+#define PBKDF1 wc_PBKDF1
+#define PBKDF2 wc_PBKDF2
+#define PKCS12_PBKDF wc_PKCS12_PBKDF
+
+#endif /* CTAO_CRYPT_PWDBASED_H */
+#endif /* NO_PWDBASED */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/rabbit.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/rabbit.h
new file mode 100644
index 0000000..365e4ba
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/rabbit.h
@@ -0,0 +1,40 @@
+/* rabbit.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_RABBIT
+
+#ifndef CTAO_CRYPT_RABBIT_H
+#define CTAO_CRYPT_RABBIT_H
+
+#include <wolfssl/wolfcrypt/rabbit.h>
+
+/* for rabbit reverse compatibility */
+#ifndef NO_RABBIT
+ #define RabbitProcess wc_RabbitProcess
+ #define RabbitSetKey wc_RabbitSetKey
+#endif
+
+#endif /* CTAO_CRYPT_RABBIT_H */
+
+#endif /* NO_RABBIT */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/random.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/random.h
new file mode 100644
index 0000000..44ca532
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/random.h
@@ -0,0 +1,39 @@
+/* random.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_RANDOM_H
+#define CTAO_CRYPT_RANDOM_H
+
+ /* for random.h compatibility */
+ #include <wolfssl/wolfcrypt/random.h>
+ #define InitRng wc_InitRng
+ #define RNG_GenerateBlock wc_RNG_GenerateBlock
+ #define RNG_GenerateByte wc_RNG_GenerateByte
+ #define FreeRng wc_FreeRng
+
+ #if defined(HAVE_HASHDRBG) || defined(NO_RC4)
+ #define RNG_HealthTest wc_RNG_HealthTest
+ #endif /* HAVE_HASHDRBG || NO_RC4 */
+
+#endif /* CTAO_CRYPT_RANDOM_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/ripemd.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/ripemd.h
new file mode 100644
index 0000000..b9c2fee
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/ripemd.h
@@ -0,0 +1,38 @@
+/* ripemd.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+
+#ifndef CTAO_CRYPT_RIPEMD_H
+#define CTAO_CRYPT_RIPEME_H
+
+#include <wolfssl/wolfcrypt/ripemd.h>
+
+/* for ripemd reverse compatibility */
+#ifdef WOLFSSL_RIPEMD
+ #define InitRipeMd wc_InitRipeMd
+ #define RipeMdUpdate wc_RipeMdUpdate
+ #define RipeMdFinal wc_RipeMdFinal
+#endif
+
+#endif /* CTAO_CRYPT_RIPEMD_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/rsa.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/rsa.h
new file mode 100644
index 0000000..6a8b643
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/rsa.h
@@ -0,0 +1,58 @@
+/* rsa.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#ifndef NO_RSA
+
+#ifndef CTAO_CRYPT_RSA_H
+#define CTAO_CRYPT_RSA_H
+
+#include <wolfssl/wolfcrypt/rsa.h>
+/* includes for their compatibility */
+#include <cyassl/ctaocrypt/integer.h>
+#include <cyassl/ctaocrypt/random.h>
+#include <cyassl/ctaocrypt/settings.h>
+
+#define InitRsaKey wc_InitRsaKey
+#define FreeRsaKey wc_FreeRsaKey
+#define RsaPublicEncrypt wc_RsaPublicEncrypt
+#define RsaPrivateDecryptInline wc_RsaPrivateDecryptInline
+#define RsaPrivateDecrypt wc_RsaPrivateDecrypt
+#define RsaSSL_Sign wc_RsaSSL_Sign
+#define RsaSSL_VerifyInline wc_RsaSSL_VerifyInline
+#define RsaSSL_Verify wc_RsaSSL_Verify
+#define RsaEncryptSize wc_RsaEncryptSize
+#define RsaFlattenPublicKey wc_RsaFlattenPublicKey
+
+#ifdef WOLFSSL_KEY_GEN
+ #define MakeRsaKey wc_MakeRsaKey
+ #define RsaKeyToDer wc_RsaKeyToDer
+ #define CheckProbablePrime wc_CheckProbablePrime
+#endif
+
+#ifdef WOLFSSL_ASYNC_CRYPT
+ #define RsaAsyncInit wc_RsaAsyncInit
+ #define RsaAsyncFree wc_RsaAsyncFree
+#endif
+
+#endif /* CTAO_CRYPT_RSA_H */
+
+#endif /* NO_RSA */
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/settings.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/settings.h
new file mode 100644
index 0000000..adac2b4
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/settings.h
@@ -0,0 +1,725 @@
+/* settings.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+/* Place OS specific preprocessor flags, defines, includes here, will be
+ included into every file because types.h includes it */
+
+
+#ifndef CTAO_CRYPT_SETTINGS_H
+#define CTAO_CRYPT_SETTINGS_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Uncomment next line if using IPHONE */
+/* #define IPHONE */
+
+/* Uncomment next line if using ThreadX */
+/* #define THREADX */
+
+/* Uncomment next line if using Micrium ucOS */
+/* #define MICRIUM */
+
+/* Uncomment next line if using Mbed */
+/* #define MBED */
+
+/* Uncomment next line if using Microchip PIC32 ethernet starter kit */
+/* #define MICROCHIP_PIC32 */
+
+/* Uncomment next line if using Microchip TCP/IP stack, version 5 */
+/* #define MICROCHIP_TCPIP_V5 */
+
+/* Uncomment next line if using Microchip TCP/IP stack, version 6 or later */
+/* #define MICROCHIP_TCPIP */
+
+/* Uncomment next line if using PIC32MZ Crypto Engine */
+/* #define CYASSL_MICROCHIP_PIC32MZ */
+
+/* Uncomment next line if using FreeRTOS */
+/* #define FREERTOS */
+
+/* Uncomment next line if using FreeRTOS Windows Simulator */
+/* #define FREERTOS_WINSIM */
+
+/* Uncomment next line if using RTIP */
+/* #define EBSNET */
+
+/* Uncomment next line if using lwip */
+/* #define CYASSL_LWIP */
+
+/* Uncomment next line if building CyaSSL for a game console */
+/* #define CYASSL_GAME_BUILD */
+
+/* Uncomment next line if building CyaSSL for LSR */
+/* #define CYASSL_LSR */
+
+/* Uncomment next line if building CyaSSL for Freescale MQX/RTCS/MFS */
+/* #define FREESCALE_MQX */
+
+/* Uncomment next line if using STM32F2 */
+/* #define CYASSL_STM32F2 */
+
+/* Uncomment next line if using QL SEP settings */
+/* #define CYASSL_QL */
+
+/* Uncomment next line if building for EROAD */
+/* #define CYASSL_EROAD */
+
+/* Uncomment next line if building for IAR EWARM */
+/* #define CYASSL_IAR_ARM */
+
+/* Uncomment next line if using TI-RTOS settings */
+/* #define CYASSL_TIRTOS */
+
+/* Uncomment next line if building with PicoTCP */
+/* #define CYASSL_PICOTCP */
+
+/* Uncomment next line if building for PicoTCP demo bundle */
+/* #define CYASSL_PICOTCP_DEMO */
+
+#include <cyassl/ctaocrypt/visibility.h>
+
+#ifdef IPHONE
+ #define SIZEOF_LONG_LONG 8
+#endif
+
+
+#ifdef CYASSL_USER_SETTINGS
+ #include <user_settings.h>
+#endif
+
+/* for reverse compatibility after name change */
+#include <cyassl/ctaocrypt/settings_comp.h>
+
+#ifdef THREADX
+ #define SIZEOF_LONG_LONG 8
+#endif
+
+#ifdef HAVE_NETX
+ #include "nx_api.h"
+#endif
+
+#if defined(HAVE_LWIP_NATIVE) /* using LwIP native TCP socket */
+ #define CYASSL_LWIP
+ #define NO_WRITEV
+ #define SINGLE_THREADED
+ #define CYASSL_USER_IO
+ #define NO_FILESYSTEM
+#endif
+
+#if defined(CYASSL_IAR_ARM)
+ #define NO_MAIN_DRIVER
+ #define SINGLE_THREADED
+ #define USE_CERT_BUFFERS_1024
+ #define BENCH_EMBEDDED
+ #define NO_FILESYSTEM
+ #define NO_WRITEV
+ #define CYASSL_USER_IO
+ #define BENCH_EMBEDDED
+#endif
+
+#ifdef MICROCHIP_PIC32
+ /* #define CYASSL_MICROCHIP_PIC32MZ */
+ #define SIZEOF_LONG_LONG 8
+ #define SINGLE_THREADED
+ #define CYASSL_USER_IO
+ #define NO_WRITEV
+ #define NO_DEV_RANDOM
+ #define NO_FILESYSTEM
+ #define USE_FAST_MATH
+ #define TFM_TIMING_RESISTANT
+#endif
+
+#if defined(CYASSL_MICROCHIP_PIC32MZ) || defined(WOLFSSL_MICROCHIP_PIC32MZ)
+ #ifndef NO_PIC32MZ_CRYPT
+ #define WOLFSSL_PIC32MZ_CRYPT
+ #endif
+ #ifndef NO_PIC32MZ_RNG
+ #define WOLFSSL_PIC32MZ_RNG
+ #endif
+ #ifndef NO_PIC32MZ_HASH
+ #define WOLFSSL_PIC32MZ_HASH
+ #endif
+
+ #define CYASSL_AES_COUNTER
+ #define HAVE_AESGCM
+ #define NO_BIG_INT
+#endif
+
+#ifdef MICROCHIP_TCPIP_V5
+ /* include timer functions */
+ #include "TCPIP Stack/TCPIP.h"
+#endif
+
+#ifdef MICROCHIP_TCPIP
+ /* include timer, NTP functions */
+ #ifdef MICROCHIP_MPLAB_HARMONY
+ #include "tcpip/tcpip.h"
+ #else
+ #include "system/system_services.h"
+ #include "tcpip/sntp.h"
+ #endif
+#endif
+
+#ifdef MBED
+ #define CYASSL_USER_IO
+ #define NO_FILESYSTEM
+ #define NO_CERTS
+ #define USE_CERT_BUFFERS_1024
+ #define NO_WRITEV
+ #define NO_DEV_RANDOM
+ #define NO_SHA512
+ #define NO_DH
+ #define NO_DSA
+ #define NO_HC128
+ #define HAVE_ECC
+ #define NO_SESSION_CACHE
+ #define CYASSL_CMSIS_RTOS
+#endif
+
+
+#ifdef CYASSL_EROAD
+ #define FREESCALE_MQX
+ #define FREESCALE_MMCAU
+ #define SINGLE_THREADED
+ #define NO_STDIO_FILESYSTEM
+ #define CYASSL_LEANPSK
+ #define HAVE_NULL_CIPHER
+ #define NO_OLD_TLS
+ #define NO_ASN
+ #define NO_BIG_INT
+ #define NO_RSA
+ #define NO_DSA
+ #define NO_DH
+ #define NO_CERTS
+ #define NO_PWDBASED
+ #define NO_DES3
+ #define NO_MD4
+ #define NO_RC4
+ #define NO_MD5
+ #define NO_SESSION_CACHE
+ #define NO_MAIN_DRIVER
+#endif
+
+#ifdef CYASSL_PICOTCP
+ #define errno pico_err
+ #include "pico_defines.h"
+ #include "pico_stack.h"
+ #include "pico_constants.h"
+ #define CUSTOM_RAND_GENERATE pico_rand
+#endif
+
+#ifdef CYASSL_PICOTCP_DEMO
+ #define CYASSL_STM32
+ #define USE_FAST_MATH
+ #define TFM_TIMING_RESISTANT
+ #define XMALLOC(s, h, type) PICO_ZALLOC((s))
+ #define XFREE(p, h, type) PICO_FREE((p))
+ #define SINGLE_THREADED
+ #define NO_WRITEV
+ #define CYASSL_USER_IO
+ #define NO_DEV_RANDOM
+ #define NO_FILESYSTEM
+#endif
+
+#ifdef FREERTOS_WINSIM
+ #define FREERTOS
+ #define USE_WINDOWS_API
+#endif
+
+
+/* Micrium will use Visual Studio for compilation but not the Win32 API */
+#if defined(_WIN32) && !defined(MICRIUM) && !defined(FREERTOS) \
+ && !defined(EBSNET) && !defined(CYASSL_EROAD) && !defined(INTIME_RTOS)
+ #define USE_WINDOWS_API
+#endif
+
+
+#if defined(CYASSL_LEANPSK) && !defined(XMALLOC_USER)
+ #include <stdlib.h>
+ #define XMALLOC(s, h, type) malloc((s))
+ #define XFREE(p, h, type) free((p))
+ #define XREALLOC(p, n, h, t) realloc((p), (n))
+#endif
+
+#if defined(XMALLOC_USER) && defined(SSN_BUILDING_LIBYASSL)
+ #undef XMALLOC
+ #define XMALLOC yaXMALLOC
+ #undef XFREE
+ #define XFREE yaXFREE
+ #undef XREALLOC
+ #define XREALLOC yaXREALLOC
+#endif
+
+
+#ifdef FREERTOS
+ #ifndef NO_WRITEV
+ #define NO_WRITEV
+ #endif
+ #ifndef NO_SHA512
+ #define NO_SHA512
+ #endif
+ #ifndef NO_DH
+ #define NO_DH
+ #endif
+ #ifndef NO_DSA
+ #define NO_DSA
+ #endif
+ #ifndef NO_HC128
+ #define NO_HC128
+ #endif
+
+ #ifndef SINGLE_THREADED
+ #include "FreeRTOS.h"
+ #include "semphr.h"
+ #endif
+#endif
+
+#ifdef CYASSL_TIRTOS
+ #define SIZEOF_LONG_LONG 8
+ #define NO_WRITEV
+ #define NO_CYASSL_DIR
+ #define USE_FAST_MATH
+ #define TFM_TIMING_RESISTANT
+ #define NO_DEV_RANDOM
+ #define NO_FILESYSTEM
+ #define USE_CERT_BUFFERS_2048
+ #define NO_ERROR_STRINGS
+ #define USER_TIME
+
+ #ifdef __IAR_SYSTEMS_ICC__
+ #pragma diag_suppress=Pa089
+ #elif !defined(__GNUC__)
+ /* Suppress the sslpro warning */
+ #pragma diag_suppress=11
+ #endif
+
+ #include <ti/ndk/nettools/mytime/mytime.h>
+#endif
+
+#ifdef EBSNET
+ #include "rtip.h"
+
+ /* #define DEBUG_CYASSL */
+ #define NO_CYASSL_DIR /* tbd */
+
+ #if (POLLOS)
+ #define SINGLE_THREADED
+ #endif
+
+ #if (RTPLATFORM)
+ #if (!RTP_LITTLE_ENDIAN)
+ #define BIG_ENDIAN_ORDER
+ #endif
+ #else
+ #if (!KS_LITTLE_ENDIAN)
+ #define BIG_ENDIAN_ORDER
+ #endif
+ #endif
+
+ #if (WINMSP3)
+ #undef SIZEOF_LONG
+ #define SIZEOF_LONG_LONG 8
+ #else
+ #if !defined(SIZEOF_LONG) && !defined(SIZEOF_LONG_LONG)
+ #error settings.h - please implement SIZEOF_LONG and SIZEOF_LONG_LONG
+ #endif
+ #endif
+
+ #define XMALLOC(s, h, type) ((void *)rtp_malloc((s), SSL_PRO_MALLOC))
+ #define XFREE(p, h, type) (rtp_free(p))
+ #define XREALLOC(p, n, h, t) realloc((p), (n))
+
+#endif /* EBSNET */
+
+#ifdef CYASSL_GAME_BUILD
+ #define SIZEOF_LONG_LONG 8
+ #if defined(__PPU) || defined(__XENON)
+ #define BIG_ENDIAN_ORDER
+ #endif
+#endif
+
+#ifdef CYASSL_LSR
+ #define HAVE_WEBSERVER
+ #define SIZEOF_LONG_LONG 8
+ #define CYASSL_LOW_MEMORY
+ #define NO_WRITEV
+ #define NO_SHA512
+ #define NO_DH
+ #define NO_DSA
+ #define NO_HC128
+ #define NO_DEV_RANDOM
+ #define NO_CYASSL_DIR
+ #define NO_RABBIT
+ #ifndef NO_FILESYSTEM
+ #define LSR_FS
+ #include "inc/hw_types.h"
+ #include "fs.h"
+ #endif
+ #define CYASSL_LWIP
+ #include <errno.h> /* for tcp errno */
+ #define CYASSL_SAFERTOS
+ #if defined(__IAR_SYSTEMS_ICC__)
+ /* enum uses enum */
+ #pragma diag_suppress=Pa089
+ #endif
+#endif
+
+#ifdef CYASSL_SAFERTOS
+ #ifndef SINGLE_THREADED
+ #include "SafeRTOS/semphr.h"
+ #endif
+
+ #include "SafeRTOS/heap.h"
+ #define XMALLOC(s, h, type) pvPortMalloc((s))
+ #define XFREE(p, h, type) vPortFree((p))
+ #define XREALLOC(p, n, h, t) pvPortRealloc((p), (n))
+#endif
+
+#ifdef CYASSL_LOW_MEMORY
+ #undef RSA_LOW_MEM
+ #define RSA_LOW_MEM
+ #undef CYASSL_SMALL_STACK
+ #define CYASSL_SMALL_STACK
+ #undef TFM_TIMING_RESISTANT
+ #define TFM_TIMING_RESISTANT
+#endif
+
+#ifdef FREESCALE_MQX
+ #define SIZEOF_LONG_LONG 8
+ #define NO_WRITEV
+ #define NO_DEV_RANDOM
+ #define NO_RABBIT
+ #define NO_CYASSL_DIR
+ #define USE_FAST_MATH
+ #define TFM_TIMING_RESISTANT
+ #define FREESCALE_K70_RNGA
+ /* #define FREESCALE_K53_RNGB */
+ #include "mqx.h"
+ #ifndef NO_FILESYSTEM
+ #include "mfs.h"
+ #include "fio.h"
+ #endif
+ #ifndef SINGLE_THREADED
+ #include "mutex.h"
+ #endif
+
+ #define XMALLOC(s, h, t) (void *)_mem_alloc_system((s))
+ #define XFREE(p, h, t) {void* xp = (p); if ((xp)) _mem_free((xp));}
+ /* Note: MQX has no realloc, using fastmath above */
+#endif
+
+#ifdef CYASSL_STM32F2
+ #define SIZEOF_LONG_LONG 8
+ #define NO_DEV_RANDOM
+ #define NO_CYASSL_DIR
+ #define NO_RABBIT
+ #define STM32F2_RNG
+ #define STM32F2_CRYPTO
+ #define KEIL_INTRINSICS
+#endif
+
+#ifdef MICRIUM
+
+ #include "stdlib.h"
+ #include "net_cfg.h"
+ #include "ssl_cfg.h"
+ #include "net_secure_os.h"
+
+ #define CYASSL_TYPES
+
+ typedef CPU_INT08U byte;
+ typedef CPU_INT16U word16;
+ typedef CPU_INT32U word32;
+
+ #if (NET_SECURE_MGR_CFG_WORD_SIZE == CPU_WORD_SIZE_32)
+ #define SIZEOF_LONG 4
+ #undef SIZEOF_LONG_LONG
+ #else
+ #undef SIZEOF_LONG
+ #define SIZEOF_LONG_LONG 8
+ #endif
+
+ #define STRING_USER
+
+ #define XSTRLEN(pstr) ((CPU_SIZE_T)Str_Len((CPU_CHAR *)(pstr)))
+ #define XSTRNCPY(pstr_dest, pstr_src, len_max) \
+ ((CPU_CHAR *)Str_Copy_N((CPU_CHAR *)(pstr_dest), \
+ (CPU_CHAR *)(pstr_src), (CPU_SIZE_T)(len_max)))
+ #define XSTRNCMP(pstr_1, pstr_2, len_max) \
+ ((CPU_INT16S)Str_Cmp_N((CPU_CHAR *)(pstr_1), \
+ (CPU_CHAR *)(pstr_2), (CPU_SIZE_T)(len_max)))
+ #define XSTRSTR(pstr, pstr_srch) \
+ ((CPU_CHAR *)Str_Str((CPU_CHAR *)(pstr), \
+ (CPU_CHAR *)(pstr_srch)))
+ #define XMEMSET(pmem, data_val, size) \
+ ((void)Mem_Set((void *)(pmem), (CPU_INT08U) (data_val), \
+ (CPU_SIZE_T)(size)))
+ #define XMEMCPY(pdest, psrc, size) ((void)Mem_Copy((void *)(pdest), \
+ (void *)(psrc), (CPU_SIZE_T)(size)))
+ #define XMEMCMP(pmem_1, pmem_2, size) \
+ (((CPU_BOOLEAN)Mem_Cmp((void *)(pmem_1), (void *)(pmem_2), \
+ (CPU_SIZE_T)(size))) ? DEF_NO : DEF_YES)
+ #define XMEMMOVE XMEMCPY
+
+#if (NET_SECURE_MGR_CFG_EN == DEF_ENABLED)
+ #define MICRIUM_MALLOC
+ #define XMALLOC(s, h, type) ((void *)NetSecure_BlkGet((CPU_INT08U)(type), \
+ (CPU_SIZE_T)(s), (void *)0))
+ #define XFREE(p, h, type) (NetSecure_BlkFree((CPU_INT08U)(type), \
+ (p), (void *)0))
+ #define XREALLOC(p, n, h, t) realloc((p), (n))
+#endif
+
+ #if (NET_SECURE_MGR_CFG_FS_EN == DEF_ENABLED)
+ #undef NO_FILESYSTEM
+ #else
+ #define NO_FILESYSTEM
+ #endif
+
+ #if (SSL_CFG_TRACE_LEVEL == CYASSL_TRACE_LEVEL_DBG)
+ #define DEBUG_CYASSL
+ #else
+ #undef DEBUG_CYASSL
+ #endif
+
+ #if (SSL_CFG_OPENSSL_EN == DEF_ENABLED)
+ #define OPENSSL_EXTRA
+ #else
+ #undef OPENSSL_EXTRA
+ #endif
+
+ #if (SSL_CFG_MULTI_THREAD_EN == DEF_ENABLED)
+ #undef SINGLE_THREADED
+ #else
+ #define SINGLE_THREADED
+ #endif
+
+ #if (SSL_CFG_DH_EN == DEF_ENABLED)
+ #undef NO_DH
+ #else
+ #define NO_DH
+ #endif
+
+ #if (SSL_CFG_DSA_EN == DEF_ENABLED)
+ #undef NO_DSA
+ #else
+ #define NO_DSA
+ #endif
+
+ #if (SSL_CFG_PSK_EN == DEF_ENABLED)
+ #undef NO_PSK
+ #else
+ #define NO_PSK
+ #endif
+
+ #if (SSL_CFG_3DES_EN == DEF_ENABLED)
+ #undef NO_DES3
+ #else
+ #define NO_DES3
+ #endif
+
+ #if (SSL_CFG_AES_EN == DEF_ENABLED)
+ #undef NO_AES
+ #else
+ #define NO_AES
+ #endif
+
+ #if (SSL_CFG_RC4_EN == DEF_ENABLED)
+ #undef NO_RC4
+ #else
+ #define NO_RC4
+ #endif
+
+ #if (SSL_CFG_RABBIT_EN == DEF_ENABLED)
+ #undef NO_RABBIT
+ #else
+ #define NO_RABBIT
+ #endif
+
+ #if (SSL_CFG_HC128_EN == DEF_ENABLED)
+ #undef NO_HC128
+ #else
+ #define NO_HC128
+ #endif
+
+ #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG)
+ #define BIG_ENDIAN_ORDER
+ #else
+ #undef BIG_ENDIAN_ORDER
+ #define LITTLE_ENDIAN_ORDER
+ #endif
+
+ #if (SSL_CFG_MD4_EN == DEF_ENABLED)
+ #undef NO_MD4
+ #else
+ #define NO_MD4
+ #endif
+
+ #if (SSL_CFG_WRITEV_EN == DEF_ENABLED)
+ #undef NO_WRITEV
+ #else
+ #define NO_WRITEV
+ #endif
+
+ #if (SSL_CFG_USER_RNG_SEED_EN == DEF_ENABLED)
+ #define NO_DEV_RANDOM
+ #else
+ #undef NO_DEV_RANDOM
+ #endif
+
+ #if (SSL_CFG_USER_IO_EN == DEF_ENABLED)
+ #define CYASSL_USER_IO
+ #else
+ #undef CYASSL_USER_IO
+ #endif
+
+ #if (SSL_CFG_DYNAMIC_BUFFERS_EN == DEF_ENABLED)
+ #undef LARGE_STATIC_BUFFERS
+ #undef STATIC_CHUNKS_ONLY
+ #else
+ #define LARGE_STATIC_BUFFERS
+ #define STATIC_CHUNKS_ONLY
+ #endif
+
+ #if (SSL_CFG_DER_LOAD_EN == DEF_ENABLED)
+ #define CYASSL_DER_LOAD
+ #else
+ #undef CYASSL_DER_LOAD
+ #endif
+
+ #if (SSL_CFG_DTLS_EN == DEF_ENABLED)
+ #define CYASSL_DTLS
+ #else
+ #undef CYASSL_DTLS
+ #endif
+
+ #if (SSL_CFG_CALLBACKS_EN == DEF_ENABLED)
+ #define CYASSL_CALLBACKS
+ #else
+ #undef CYASSL_CALLBACKS
+ #endif
+
+ #if (SSL_CFG_FAST_MATH_EN == DEF_ENABLED)
+ #define USE_FAST_MATH
+ #else
+ #undef USE_FAST_MATH
+ #endif
+
+ #if (SSL_CFG_TFM_TIMING_RESISTANT_EN == DEF_ENABLED)
+ #define TFM_TIMING_RESISTANT
+ #else
+ #undef TFM_TIMING_RESISTANT
+ #endif
+
+#endif /* MICRIUM */
+
+
+#ifdef CYASSL_QL
+ #ifndef CYASSL_SEP
+ #define CYASSL_SEP
+ #endif
+ #ifndef OPENSSL_EXTRA
+ #define OPENSSL_EXTRA
+ #endif
+ #ifndef SESSION_CERTS
+ #define SESSION_CERTS
+ #endif
+ #ifndef HAVE_AESCCM
+ #define HAVE_AESCCM
+ #endif
+ #ifndef ATOMIC_USER
+ #define ATOMIC_USER
+ #endif
+ #ifndef CYASSL_DER_LOAD
+ #define CYASSL_DER_LOAD
+ #endif
+ #ifndef KEEP_PEER_CERT
+ #define KEEP_PEER_CERT
+ #endif
+ #ifndef HAVE_ECC
+ #define HAVE_ECC
+ #endif
+ #ifndef SESSION_INDEX
+ #define SESSION_INDEX
+ #endif
+#endif /* CYASSL_QL */
+
+
+#if !defined(XMALLOC_USER) && !defined(MICRIUM_MALLOC) && \
+ !defined(CYASSL_LEANPSK) && !defined(NO_CYASSL_MEMORY)
+ #define USE_CYASSL_MEMORY
+#endif
+
+
+#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS)
+ #undef KEEP_PEER_CERT
+ #define KEEP_PEER_CERT
+#endif
+
+
+/* stream ciphers except arc4 need 32bit alignment, intel ok without */
+#ifndef XSTREAM_ALIGNMENT
+ #if defined(__x86_64__) || defined(__ia64__) || defined(__i386__)
+ #define NO_XSTREAM_ALIGNMENT
+ #else
+ #define XSTREAM_ALIGNMENT
+ #endif
+#endif
+
+
+/* FreeScale MMCAU hardware crypto has 4 byte alignment */
+#ifdef FREESCALE_MMCAU
+ #define CYASSL_MMCAU_ALIGNMENT 4
+#endif
+
+/* if using hardware crypto and have alignment requirements, specify the
+ requirement here. The record header of SSL/TLS will prvent easy alignment.
+ This hint tries to help as much as possible. */
+#ifndef CYASSL_GENERAL_ALIGNMENT
+ #ifdef CYASSL_AESNI
+ #define CYASSL_GENERAL_ALIGNMENT 16
+ #elif defined(XSTREAM_ALIGNMENT)
+ #define CYASSL_GENERAL_ALIGNMENT 4
+ #elif defined(FREESCALE_MMCAU)
+ #define CYASSL_GENERAL_ALIGNMENT CYASSL_MMCAU_ALIGNMENT
+ #else
+ #define CYASSL_GENERAL_ALIGNMENT 0
+ #endif
+#endif
+
+
+#ifdef __INTEL_COMPILER
+ #pragma warning(disable:2259) /* explicit casts to smaller sizes, disable */
+#endif
+
+
+/* Place any other flags or defines here */
+
+
+#ifdef __cplusplus
+ } /* extern "C" */
+#endif
+
+
+#endif /* CTAO_CRYPT_SETTINGS_H */
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/settings_comp.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/settings_comp.h
new file mode 100644
index 0000000..8565e1a
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/settings_comp.h
@@ -0,0 +1,72 @@
+/* settings_comp.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#ifndef CTAO_CRYPT_SETTINGS_C_H
+#define CTAO_CRYPT_SETTINGS_C_H
+
+
+/* since fips overrides rsa.h map compatibility here */
+#if !defined(NO_RSA)
+ #ifdef WOLFSSL_KEY_GEN
+ #define RsaKeyToDer wc_RsaKeyToDer
+ #endif
+
+ #define RsaPrivateKeyDecode wc_RsaPrivateKeyDecode
+ #define RsaPublicKeyDecode wc_RsaPublicKeyDecode
+ #define RsaPublicKeyDecodeRaw wc_RsaPublicKeyDecodeRaw
+#endif /* have rsa and HAVE_FIPS */
+
+/* Macro redefinitions for compatibility */
+#ifdef HAVE_NTRU
+ #define MakeNtruCert wc_MakeNtruCert
+#endif
+#if defined(WOLFSSL_SHA512) && !defined(CYASSL_SHA512)
+ #define CYASSL_SHA512
+#endif
+#if defined(WOLFSSL_SHA384) && !defined(CYASSL_SHA384)
+ #define CYASSL_SHA384
+#endif
+#if defined(WOLFSSL_LEANPSK) && !defined(CYASSL_LEANPSK)
+ #define CYASSL_LEANPSK
+#endif
+#if defined(NO_WOLFSSL_MEMORY) && !defined(NO_CYASSL_MEMORY)
+ #define NO_CYASSL_MEMORY
+#endif
+#if defined(WOLFSSL_KEY_GEN) && !defined(CYASSL_KEY_GEN)
+ #define CYASSL_KEY_GEN
+#endif
+
+/* AES */
+#if defined(WOLFSSL_AES_DIRECT) && !defined(CYASSL_AES_DIRECT)
+ #define CYASSL_AES_DIRECT
+#endif
+#if defined(WOLFSSL_AES_COUNTER) && !defined(CYASSL_AES_COUNTER)
+ #define CYASSL_AES_COUNTER
+#endif
+
+/* DES */
+#if defined(WOLFSSL_DES_ECB) && !defined(CYASSL_DES_ECB)
+ #define CYASSL_DES_ECB
+#endif
+
+#endif /* CTAO_CRYPT_SETTINGS_C_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha.h
new file mode 100644
index 0000000..78b9342
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha.h
@@ -0,0 +1,37 @@
+/* sha.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef NO_SHA
+
+#ifndef CTAO_CRYPT_SHA_H
+#define CTAO_CRYPT_SHA_H
+
+#include <wolfssl/wolfcrypt/sha.h>
+#define InitSha wc_InitSha
+#define ShaUpdate wc_ShaUpdate
+#define ShaFinal wc_ShaFinal
+#define ShaHash wc_ShaHash
+
+#endif /* CTAO_CRYPT_SHA_H */
+#endif /* NO_SHA */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha256.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha256.h
new file mode 100644
index 0000000..a2fb7c0
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha256.h
@@ -0,0 +1,46 @@
+/* sha256.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+
+
+#ifndef NO_SHA256
+
+#ifndef CTAO_CRYPT_SHA256_H
+#define CTAO_CRYPT_SHA256_H
+
+#include <wolfssl/wolfcrypt/sha256.h>
+#define InitSha256 wc_InitSha256
+#define Sha256Update wc_Sha256Update
+#define Sha256Final wc_Sha256Final
+#define Sha256Hash wc_Sha256Hash
+
+#ifdef WOLFSSL_SHA224
+ #define InitSha224 wc_InitSha224
+ #define Sha224Update wc_Sha224Update
+ #define Sha224Final wc_Sha224Final
+ #define Sha224Hash wc_Sha224Hash
+#endif
+
+#endif /* CTAO_CRYPT_SHA256_H */
+#endif /* NO_SHA256 */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha512.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha512.h
new file mode 100644
index 0000000..cc679a5
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/sha512.h
@@ -0,0 +1,41 @@
+/* sha512.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_SHA512_H
+#define CTAO_CRYPT_SHA512_H
+
+#include <wolfssl/wolfcrypt/sha512.h>
+#define InitSha512 wc_InitSha512
+#define Sha512Update wc_Sha512Update
+#define Sha512Final wc_Sha512Final
+#define Sha512Hash wc_Sha512Hash
+
+#if defined(WOLFSSL_SHA384) || defined(HAVE_AESGCM)
+ #define InitSha384 wc_InitSha384
+ #define Sha384Update wc_Sha384Update
+ #define Sha384Final wc_Sha384Final
+ #define Sha384Hash wc_Sha384Hash
+#endif /* WOLFSSL_SHA384 */
+
+#endif /* CTAO_CRYPT_SHA512_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/tfm.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/tfm.h
new file mode 100644
index 0000000..3037934
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/tfm.h
@@ -0,0 +1,42 @@
+/* tfm.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+/*
+ * Based on public domain TomsFastMath 0.10 by Tom St Denis, tomstdenis@iahu.ca,
+ * http://math.libtomcrypt.com
+ */
+
+
+/**
+ * Edited by Moisés Guimarães (moises.guimaraes@phoebus.com.br)
+ * to fit CyaSSL's needs.
+ */
+
+
+#ifndef CTAO_CRYPT_TFM_H
+#define CTAO_CRYPT_TFM_H
+
+#include <wolfssl/wolfcrypt/tfm.h>
+
+#endif /* CTAO_CRYPT_TFM_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/types.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/types.h
new file mode 100644
index 0000000..e865062
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/types.h
@@ -0,0 +1,39 @@
+/* types.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_TYPES_H
+#define CTAO_CRYPT_TYPES_H
+
+#include <cyassl/ctaocrypt/wc_port.h>
+#include <cyassl/ctaocrypt/settings.h>
+#include <wolfssl/wolfcrypt/types.h>
+
+/* compatibility macros */
+#define CYASSL_WORD_SIZE WOLFSSL_WORD_SIZE
+#define CYASSL_BIT_SIZE WOLFSSL_BIT_SIZE
+#define CYASSL_MAX_16BIT WOLFSSL_MAX_16BIT
+#define CYASSL_MAX_ERROR_SZ WOLFSSL_MAX_ERROR_SZ
+#define cyassl_word wolfssl_word
+
+#endif /* CTAO_CRYPT_TYPES_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/visibility.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/visibility.h
new file mode 100644
index 0000000..51e2ca9
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/visibility.h
@@ -0,0 +1,73 @@
+/* visibility.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+/* Visibility control macros */
+
+#ifndef CTAO_CRYPT_VISIBILITY_H
+#define CTAO_CRYPT_VISIBILITY_H
+
+/* fips compatibility @wc_fips */
+#ifndef HAVE_FIPS
+ #include <wolfssl/wolfcrypt/visibility.h>
+ #define CYASSL_API WOLFSSL_API
+ #define CYASSL_LOCAL WOLFSSL_LOCAL
+#else
+/* CYASSL_API is used for the public API symbols.
+ It either imports or exports (or does nothing for static builds)
+
+ CYASSL_LOCAL is used for non-API symbols (private).
+*/
+
+#if defined(BUILDING_WOLFSSL)
+ #if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY
+ #define CYASSL_API __attribute__ ((visibility("default")))
+ #define CYASSL_LOCAL __attribute__ ((visibility("hidden")))
+ #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+ #define CYASSL_API __global
+ #define CYASSL_LOCAL __hidden
+ #elif defined(_MSC_VER)
+ #ifdef CYASSL_DLL
+ #define CYASSL_API extern __declspec(dllexport)
+ #else
+ #define CYASSL_API
+ #endif
+ #define CYASSL_LOCAL
+ #else
+ #define CYASSL_API
+ #define CYASSL_LOCAL
+ #endif /* HAVE_VISIBILITY */
+#else /* BUILDING_WOLFSSL */
+ #if defined(_MSC_VER)
+ #ifdef CYASSL_DLL
+ #define CYASSL_API extern __declspec(dllimport)
+ #else
+ #define CYASSL_API
+ #endif
+ #define CYASSL_LOCAL
+ #else
+ #define CYASSL_API
+ #define CYASSL_LOCAL
+ #endif
+#endif /* BUILDING_WOLFSSL */
+#endif /* HAVE_FIPS */
+#endif /* CTAO_CRYPT_VISIBILITY_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/wc_port.h b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/wc_port.h
new file mode 100644
index 0000000..b330803
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ctaocrypt/wc_port.h
@@ -0,0 +1,32 @@
+/* port.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+#ifndef CTAO_CRYPT_PORT_H
+#define CTAO_CRYPT_PORT_H
+
+#include <cyassl/ctaocrypt/visibility.h>
+#include <wolfssl/wolfcrypt/wc_port.h>
+#define CyaSSL_Mutex wolfSSL_Mutex
+
+#endif /* CTAO_CRYPT_PORT_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/error-ssl.h b/ap/lib/libwolfssl/install/include/cyassl/error-ssl.h
new file mode 100644
index 0000000..13fd5d6
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/error-ssl.h
@@ -0,0 +1,23 @@
+/* error-ssl.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#include <wolfssl/error-ssl.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ocsp.h b/ap/lib/libwolfssl/install/include/cyassl/ocsp.h
new file mode 100644
index 0000000..bb11e56
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ocsp.h
@@ -0,0 +1,23 @@
+/* ocsp.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#include <wolfssl/ocsp.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/asn1.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/asn1.h
new file mode 100644
index 0000000..35be23f
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/asn1.h
@@ -0,0 +1,3 @@
+/* asn1.h for openssl */
+
+#include <wolfssl/openssl/asn1.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/bio.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/bio.h
new file mode 100644
index 0000000..8f52983
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/bio.h
@@ -0,0 +1,4 @@
+/* bio.h for openssl */
+
+#include <wolfssl/openssl/bio.h>
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/bn.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/bn.h
new file mode 100644
index 0000000..e14f4e2
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/bn.h
@@ -0,0 +1,3 @@
+/* bn.h for openssl */
+
+#include <wolfssl/openssl/bn.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/conf.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/conf.h
new file mode 100644
index 0000000..4005ea9
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/conf.h
@@ -0,0 +1,3 @@
+/* conf.h for openssl */
+
+#include <wolfssl/openssl/conf.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/crypto.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/crypto.h
new file mode 100644
index 0000000..32e1108
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/crypto.h
@@ -0,0 +1,4 @@
+/* crypto.h for openSSL */
+
+#include <wolfssl/openssl/crypto.h>
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/des.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/des.h
new file mode 100644
index 0000000..79a06b7
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/des.h
@@ -0,0 +1,28 @@
+/* des.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+/* des.h defines mini des openssl compatibility layer
+ *
+ */
+
+#include <wolfssl/openssl/des.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/dh.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/dh.h
new file mode 100644
index 0000000..6fd8e36
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/dh.h
@@ -0,0 +1,4 @@
+/* dh.h for openSSL */
+
+
+#include <wolfssl/openssl/dh.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/dsa.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/dsa.h
new file mode 100644
index 0000000..39ddf8c
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/dsa.h
@@ -0,0 +1,12 @@
+/* dsa.h for openSSL */
+
+#ifndef CYASSL_OPENSSL_DSA
+#define CYASSL_OPENSSL_DSA
+
+#define CyaSSL_DSA_LoadDer wolfSSL_DSA_LoadDer
+#define CyaSSL_DSA_do_sign wolfSSL_DSA_do_sign
+
+#include <cyassl/openssl/ssl.h>
+#include <wolfssl/openssl/dsa.h>
+#endif
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ec.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ec.h
new file mode 100644
index 0000000..1ce8aa9
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ec.h
@@ -0,0 +1,3 @@
+/* ec.h for openssl */
+
+#include <wolfssl/openssl/ec.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ec25519.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ec25519.h
new file mode 100644
index 0000000..6ee8945
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ec25519.h
@@ -0,0 +1,3 @@
+/* ec25519.h */
+
+#include <wolfssl/openssl/ec25519.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ec448.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ec448.h
new file mode 100644
index 0000000..c3fe4c3
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ec448.h
@@ -0,0 +1,3 @@
+/* ec448.h */
+
+#include <wolfssl/openssl/ec448.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ecdh.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ecdh.h
new file mode 100644
index 0000000..b774bf0
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ecdh.h
@@ -0,0 +1,3 @@
+/* ecdh.h for openssl */
+
+#include <wolfssl/openssl/ecdh.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ecdsa.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ecdsa.h
new file mode 100644
index 0000000..9a1c02b
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ecdsa.h
@@ -0,0 +1,3 @@
+/* ecdsa.h for openssl */
+
+#include <wolfssl/openssl/ecdsa.h>
\ No newline at end of file
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ed25519.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ed25519.h
new file mode 100644
index 0000000..240cbca
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ed25519.h
@@ -0,0 +1,3 @@
+/* ed25519.h */
+
+#include <wolfssl/openssl/ed25519.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ed448.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ed448.h
new file mode 100644
index 0000000..ebb9c61
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ed448.h
@@ -0,0 +1,3 @@
+/* ed448.h */
+
+#include <wolfssl/openssl/ed448.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/engine.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/engine.h
new file mode 100644
index 0000000..fcce4bd
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/engine.h
@@ -0,0 +1,5 @@
+/* engine.h for libcurl */
+
+#include <wolfssl/openssl/engine.h>
+
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/err.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/err.h
new file mode 100644
index 0000000..3611117
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/err.h
@@ -0,0 +1,3 @@
+/* err.h for openssl */
+
+#include <wolfssl/openssl/err.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/evp.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/evp.h
new file mode 100644
index 0000000..af81c10
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/evp.h
@@ -0,0 +1,41 @@
+/* evp.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+/* evp.h defines mini evp openssl compatibility layer
+ *
+ */
+
+#ifndef CYASSL_OPENSSL_EVP
+#define CYASSL_OPENSSL_EVP
+
+#define CyaSSL_StoreExternalIV wolfSSL_StoreExternalIV
+#define CyaSSL_SetInternalIV wolfSSL_SetInternalIV
+#define CYASSL_EVP_MD WOLFSSL_EVP_MD
+#define CyaSSL_EVP_X_STATE wolfSSL_EVP_X_STATE
+#define CyaSSL_EVP_X_STATE_LEN wolfSSL_EVP_X_STATE_LEN
+#define CyaSSL_3des_iv wolfSSL_3des_iv
+#define CyaSSL_aes_ctr_iv wolfSSL_aes_ctr_iv
+
+#include <wolfssl/openssl/evp.h>
+#endif
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/hmac.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/hmac.h
new file mode 100644
index 0000000..c93ef8d
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/hmac.h
@@ -0,0 +1,28 @@
+/* hmac.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+/* hmac.h defines mini hamc openssl compatibility layer
+ *
+ */
+
+#include <wolfssl/openssl/hmac.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/lhash.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/lhash.h
new file mode 100644
index 0000000..6285f6a
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/lhash.h
@@ -0,0 +1,3 @@
+/* lhash.h for openSSL */
+
+#include <wolfssl/openssl/lhash.h>
\ No newline at end of file
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/md4.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/md4.h
new file mode 100644
index 0000000..fb0d437
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/md4.h
@@ -0,0 +1,3 @@
+/* md4.h for libcurl */
+
+#include <wolfssl/openssl/md4.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/md5.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/md5.h
new file mode 100644
index 0000000..f3dd4e4
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/md5.h
@@ -0,0 +1,5 @@
+/* md5.h for openssl */
+
+
+#include <wolfssl/openssl/md5.h>
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ocsp.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ocsp.h
new file mode 100644
index 0000000..8c0f468
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ocsp.h
@@ -0,0 +1,3 @@
+/* ocsp.h for libcurl */
+
+#include <wolfssl/openssl/ocsp.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/opensslconf.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/opensslconf.h
new file mode 100644
index 0000000..7f21cd9
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/opensslconf.h
@@ -0,0 +1,3 @@
+/* opensslconf.h for openSSL */
+
+#include <wolfssl/openssl/opensslconf.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/opensslv.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/opensslv.h
new file mode 100644
index 0000000..d119f82
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/opensslv.h
@@ -0,0 +1,3 @@
+/* opensslv.h compatibility */
+
+#include <wolfssl/openssl/opensslv.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ossl_typ.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ossl_typ.h
new file mode 100644
index 0000000..5e6e627
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ossl_typ.h
@@ -0,0 +1,3 @@
+/* ossl_typ.h for openssl */
+
+#include <wolfssl/openssl/ossl_typ.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/pem.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/pem.h
new file mode 100644
index 0000000..a07b912
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/pem.h
@@ -0,0 +1,3 @@
+/* pem.h for openssl */
+
+#include <wolfssl/openssl/pem.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/pkcs12.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/pkcs12.h
new file mode 100644
index 0000000..1fb089f
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/pkcs12.h
@@ -0,0 +1,3 @@
+/* pkcs12.h for openssl */
+
+#include <wolfssl/openssl/pkcs12.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/rand.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/rand.h
new file mode 100644
index 0000000..5bd77b6
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/rand.h
@@ -0,0 +1,3 @@
+/* rand.h for openSSL */
+
+#include <wolfssl/openssl/ssl.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ripemd.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ripemd.h
new file mode 100644
index 0000000..b25de78
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ripemd.h
@@ -0,0 +1,3 @@
+/* ripemd.h for openssl */
+
+#include <wolfssl/openssl/ripemd.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/rsa.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/rsa.h
new file mode 100644
index 0000000..f4f24b8
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/rsa.h
@@ -0,0 +1,12 @@
+/* rsa.h for openSSL */
+
+#ifndef CYASSL_OPENSSL_RSA
+#define CYASSL_OPENSSL_RSA
+
+#define CyaSSL_RSA_GenAdd wolfSSL_RSA_GenAdd
+#define CyaSSL_RSA_LoadDer wolfSSL_RSA_LoadDer
+
+#include <cyassl/openssl/ssl.h>
+#include <wolfssl/openssl/rsa.h>
+#endif
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/sha.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/sha.h
new file mode 100644
index 0000000..ced3ca1
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/sha.h
@@ -0,0 +1,3 @@
+/* sha.h for openssl */
+
+#include <wolfssl/openssl/sha.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ssl.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ssl.h
new file mode 100644
index 0000000..3f2f3e3
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ssl.h
@@ -0,0 +1,34 @@
+/* ssl.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+
+/* ssl.h defines openssl compatibility layer
+ *
+ */
+#ifndef CYASSL_OPENSSL_H_
+#define CYASSL_OPENSSL_H_
+
+#include <cyassl/ssl.h>
+#include <wolfssl/openssl/ssl.h>
+
+#endif
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ssl23.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ssl23.h
new file mode 100644
index 0000000..a91524b
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ssl23.h
@@ -0,0 +1,3 @@
+/* ssl23.h for openssl */
+
+#include <wolfssl/openssl/ssl23.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/stack.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/stack.h
new file mode 100644
index 0000000..831502f
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/stack.h
@@ -0,0 +1,3 @@
+/* stack.h for openssl */
+
+#include <wolfssl/openssl/stack.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/ui.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/ui.h
new file mode 100644
index 0000000..b1f4042
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/ui.h
@@ -0,0 +1,3 @@
+/* ui.h for openssl */
+
+#include <wolfssl/openssl/ui.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/x509.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/x509.h
new file mode 100644
index 0000000..9d13002
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/x509.h
@@ -0,0 +1,3 @@
+/* x509.h for openssl */
+
+#include <wolfssl/openssl/ssl.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/openssl/x509v3.h b/ap/lib/libwolfssl/install/include/cyassl/openssl/x509v3.h
new file mode 100644
index 0000000..2a5240d
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/openssl/x509v3.h
@@ -0,0 +1,3 @@
+/* x509v3.h for openssl */
+
+#include <wolfssl/openssl/x509v3.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/options.h b/ap/lib/libwolfssl/install/include/cyassl/options.h
new file mode 100644
index 0000000..81caa63
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/options.h
@@ -0,0 +1,378 @@
+/* cyassl options.h
+ * generated from wolfssl/options.h
+ */
+/* wolfssl options.h
+* generated from configure options
+*
+* Copyright (C) 2006-2020 wolfSSL Inc.
+*
+* This file is part of wolfSSL. (formerly known as CyaSSL)
+*
+*/
+
+#ifndef CYASSL_OPTIONS_H
+#define CYASSL_OPTIONS_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#undef WOLFSSL_TLS13
+#define WOLFSSL_TLS13
+
+#undef HAVE_TLS_EXTENSIONS
+#define HAVE_TLS_EXTENSIONS
+
+#undef HAVE_SUPPORTED_CURVES
+#define HAVE_SUPPORTED_CURVES
+
+#undef HAVE_FFDHE_2048
+#define HAVE_FFDHE_2048
+
+#undef HAVE_EXT_CACHE
+#define HAVE_EXT_CACHE
+
+#undef WOLFSSL_VERIFY_CB_ALL_CERTS
+#define WOLFSSL_VERIFY_CB_ALL_CERTS
+
+#undef WOLFSSL_EXTRA_ALERTS
+#define WOLFSSL_EXTRA_ALERTS
+
+#undef OPENSSL_EXTRA
+#define OPENSSL_EXTRA
+
+#undef WOLFSSL_ALWAYS_VERIFY_CB
+#define WOLFSSL_ALWAYS_VERIFY_CB
+
+#undef OPENSSL_ALL
+#define OPENSSL_ALL
+
+#undef WOLFSSL_EITHER_SIDE
+#define WOLFSSL_EITHER_SIDE
+
+#undef WC_RSA_NO_PADDING
+#define WC_RSA_NO_PADDING
+
+#undef WC_RSA_PSS
+#define WC_RSA_PSS
+
+#undef WOLFSSL_PSS_LONG_SALT
+#define WOLFSSL_PSS_LONG_SALT
+
+#ifndef WOLFSSL_OPTIONS_IGNORE_SYS
+#undef _POSIX_THREADS
+#define _POSIX_THREADS
+#endif
+
+#undef HAVE_THREAD_LS
+#define HAVE_THREAD_LS
+
+#undef TFM_TIMING_RESISTANT
+#define TFM_TIMING_RESISTANT
+
+#undef ECC_TIMING_RESISTANT
+#define ECC_TIMING_RESISTANT
+
+#undef WC_RSA_BLINDING
+#define WC_RSA_BLINDING
+
+#undef TEST_IPV6
+#define TEST_IPV6
+
+#undef WOLFSSL_IPV6
+#define WOLFSSL_IPV6
+
+#undef WOLFSSL_WPAS
+#define WOLFSSL_WPAS
+
+#undef HAVE_SECRET_CALLBACK
+#define HAVE_SECRET_CALLBACK
+
+#undef WOLFSSL_PUBLIC_ECC_ADD_DBL
+#define WOLFSSL_PUBLIC_ECC_ADD_DBL
+
+#undef WOLFSSL_ALWAYS_VERIFY_CB
+#define WOLFSSL_ALWAYS_VERIFY_CB
+
+#undef WOLFSSL_ALWAYS_KEEP_SNI
+#define WOLFSSL_ALWAYS_KEEP_SNI
+
+#undef HAVE_EX_DATA
+#define HAVE_EX_DATA
+
+#undef HAVE_EXT_CACHE
+#define HAVE_EXT_CACHE
+
+#undef WOLFSSL_EITHER_SIDE
+#define WOLFSSL_EITHER_SIDE
+
+#undef OPENSSL_EXTRA_X509_SMALL
+#define OPENSSL_EXTRA_X509_SMALL
+
+#undef WOLFSSL_PUBLIC_MP
+#define WOLFSSL_PUBLIC_MP
+
+#undef WOLFSSL_DER_LOAD
+#define WOLFSSL_DER_LOAD
+
+#undef ATOMIC_USER
+#define ATOMIC_USER
+
+#undef WOLFSSL_KEY_GEN
+#define WOLFSSL_KEY_GEN
+
+#undef WOLFSSL_DES_ECB
+#define WOLFSSL_DES_ECB
+
+#undef FORTRESS
+#define FORTRESS
+
+#undef WOLFSSL_ALWAYS_VERIFY_CB
+#define WOLFSSL_ALWAYS_VERIFY_CB
+
+#undef WOLFSSL_AES_COUNTER
+#define WOLFSSL_AES_COUNTER
+
+#undef WOLFSSL_AES_DIRECT
+#define WOLFSSL_AES_DIRECT
+
+#undef WOLFSSL_DER_LOAD
+#define WOLFSSL_DER_LOAD
+
+#undef WOLFSSL_KEY_GEN
+#define WOLFSSL_KEY_GEN
+
+#undef HAVE_AESCCM
+#define HAVE_AESCCM
+
+#undef WOLFSSL_USE_ALIGN
+#define WOLFSSL_USE_ALIGN
+
+#undef WOLFSSL_SHA512
+#define WOLFSSL_SHA512
+
+#undef WOLFSSL_SHA384
+#define WOLFSSL_SHA384
+
+#undef SESSION_CERTS
+#define SESSION_CERTS
+
+#undef WOLFSSL_CERT_GEN
+#define WOLFSSL_CERT_GEN
+
+#undef HAVE_HKDF
+#define HAVE_HKDF
+
+#undef HAVE_ECC
+#define HAVE_ECC
+
+#undef TFM_ECC256
+#define TFM_ECC256
+
+#undef ECC_SHAMIR
+#define ECC_SHAMIR
+
+#undef HAVE_COMP_KEY
+#define HAVE_COMP_KEY
+
+#undef WOLFSSL_ALLOW_TLSV10
+#define WOLFSSL_ALLOW_TLSV10
+
+#undef WC_RSA_PSS
+#define WC_RSA_PSS
+
+#undef HAVE_ANON
+#define HAVE_ANON
+
+#undef WOLFSSL_CMAC
+#define WOLFSSL_CMAC
+
+#undef WOLFSSL_AES_DIRECT
+#define WOLFSSL_AES_DIRECT
+
+#undef NO_HC128
+#define NO_HC128
+
+#undef NO_RABBIT
+#define NO_RABBIT
+
+#undef HAVE_POLY1305
+#define HAVE_POLY1305
+
+#undef HAVE_ONE_TIME_AUTH
+#define HAVE_ONE_TIME_AUTH
+
+#undef HAVE_CHACHA
+#define HAVE_CHACHA
+
+#undef HAVE_HASHDRBG
+#define HAVE_HASHDRBG
+
+#undef HAVE_OCSP
+#define HAVE_OCSP
+
+#undef HAVE_OPENSSL_CMD
+#define HAVE_OPENSSL_CMD
+
+#undef HAVE_TLS_EXTENSIONS
+#define HAVE_TLS_EXTENSIONS
+
+#undef HAVE_CERTIFICATE_STATUS_REQUEST
+#define HAVE_CERTIFICATE_STATUS_REQUEST
+
+#undef HAVE_TLS_EXTENSIONS
+#define HAVE_TLS_EXTENSIONS
+
+#undef HAVE_CERTIFICATE_STATUS_REQUEST_V2
+#define HAVE_CERTIFICATE_STATUS_REQUEST_V2
+
+#undef HAVE_CRL
+#define HAVE_CRL
+
+#undef HAVE_TLS_EXTENSIONS
+#define HAVE_TLS_EXTENSIONS
+
+#undef HAVE_SNI
+#define HAVE_SNI
+
+#undef HAVE_TLS_EXTENSIONS
+#define HAVE_TLS_EXTENSIONS
+
+#undef HAVE_SUPPORTED_CURVES
+#define HAVE_SUPPORTED_CURVES
+
+#undef HAVE_TLS_EXTENSIONS
+#define HAVE_TLS_EXTENSIONS
+
+#undef HAVE_SESSION_TICKET
+#define HAVE_SESSION_TICKET
+
+#undef HAVE_EXTENDED_MASTER
+#define HAVE_EXTENDED_MASTER
+
+#undef HAVE_TLS_EXTENSIONS
+#define HAVE_TLS_EXTENSIONS
+
+#undef HAVE_SNI
+#define HAVE_SNI
+
+#undef HAVE_MAX_FRAGMENT
+#define HAVE_MAX_FRAGMENT
+
+#undef HAVE_TRUNCATED_HMAC
+#define HAVE_TRUNCATED_HMAC
+
+#undef HAVE_ALPN
+#define HAVE_ALPN
+
+#undef HAVE_TRUSTED_CA
+#define HAVE_TRUSTED_CA
+
+#undef HAVE_SUPPORTED_CURVES
+#define HAVE_SUPPORTED_CURVES
+
+#undef HAVE_LIGHTY
+#define HAVE_LIGHTY
+
+#undef HAVE_WOLFSSL_SSL_H
+#define HAVE_WOLFSSL_SSL_H 1
+
+#undef HAVE_EX_DATA
+#define HAVE_EX_DATA
+
+#undef OPENSSL_ALL
+#define OPENSSL_ALL
+
+#undef OPENSSL_NO_SSL2
+#define OPENSSL_NO_SSL2
+
+#undef OPENSSL_NO_COMP
+#define OPENSSL_NO_COMP
+
+#undef OPENSSL_NO_SSL3
+#define OPENSSL_NO_SSL3
+
+#undef SINGLE_THREADED
+#define SINGLE_THREADED
+
+#undef WOLFSSL_ALWAYS_VERIFY_CB
+#define WOLFSSL_ALWAYS_VERIFY_CB
+
+#undef WOLFSSL_ALWAYS_KEEP_SNI
+#define WOLFSSL_ALWAYS_KEEP_SNI
+
+#undef KEEP_OUR_CERT
+#define KEEP_OUR_CERT
+
+#undef KEEP_PEER_CERT
+#define KEEP_PEER_CERT
+
+#undef HAVE_EXT_CACHE
+#define HAVE_EXT_CACHE
+
+#undef HAVE_EX_DATA
+#define HAVE_EX_DATA
+
+#undef WOLFSSL_CERT_GEN
+#define WOLFSSL_CERT_GEN
+
+#undef HAVE_ENCRYPT_THEN_MAC
+#define HAVE_ENCRYPT_THEN_MAC
+
+#undef WOLFSSL_CERT_EXT
+#define WOLFSSL_CERT_EXT
+
+#undef HAVE_STUNNEL
+#define HAVE_STUNNEL
+
+#undef WOLFSSL_ALWAYS_VERIFY_CB
+#define WOLFSSL_ALWAYS_VERIFY_CB
+
+#undef WOLFSSL_ALWAYS_KEEP_SNI
+#define WOLFSSL_ALWAYS_KEEP_SNI
+
+#undef HAVE_EX_DATA
+#define HAVE_EX_DATA
+
+#undef WOLFSSL_DES_ECB
+#define WOLFSSL_DES_ECB
+
+#undef WOLFSSL_SIGNER_DER_CERT
+#define WOLFSSL_SIGNER_DER_CERT
+
+#undef WOLFSSL_ENCRYPTED_KEYS
+#define WOLFSSL_ENCRYPTED_KEYS
+
+#undef USE_FAST_MATH
+#define USE_FAST_MATH
+
+#undef WC_NO_ASYNC_THREADING
+#define WC_NO_ASYNC_THREADING
+
+#undef HAVE_AES_KEYWRAP
+#define HAVE_AES_KEYWRAP
+
+#undef WOLFSSL_AES_DIRECT
+#define WOLFSSL_AES_DIRECT
+
+#undef HAVE_DH_DEFAULT_PARAMS
+#define HAVE_DH_DEFAULT_PARAMS
+
+#undef GCM_TABLE_4BIT
+#define GCM_TABLE_4BIT
+
+#undef HAVE_AESGCM
+#define HAVE_AESGCM
+
+#undef HAVE_WC_INTROSPECTION
+#define HAVE_WC_INTROSPECTION
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* CYASSL_OPTIONS_H */
+
diff --git a/ap/lib/libwolfssl/install/include/cyassl/sniffer.h b/ap/lib/libwolfssl/install/include/cyassl/sniffer.h
new file mode 100644
index 0000000..f92eeec
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/sniffer.h
@@ -0,0 +1,23 @@
+/* sniffer.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#include <wolfssl/sniffer.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/sniffer_error.h b/ap/lib/libwolfssl/install/include/cyassl/sniffer_error.h
new file mode 100644
index 0000000..d609f66
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/sniffer_error.h
@@ -0,0 +1,23 @@
+/* sniffer_error.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#include <wolfssl/sniffer_error.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/ssl.h b/ap/lib/libwolfssl/install/include/cyassl/ssl.h
new file mode 100644
index 0000000..8599de1
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/ssl.h
@@ -0,0 +1,721 @@
+/* ssl.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+/*
+ * ssl.h makes wolfssl backwards compatible with cyassl
+ */
+
+#ifndef WOLFSSL_CYASSL_H_
+#define WOLFSSL_CYASSL_H_
+/*
+ * Name change
+ * include the new ssl.h
+ */
+#include <wolfssl/ssl.h>
+#include <cyassl/ctaocrypt/types.h>
+#include <cyassl/ctaocrypt/settings.h>
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#ifdef _WIN32
+ /* wincrypt.h clashes */
+ #undef X509_NAME
+#endif
+
+#ifdef CYASSL_TIRTOS
+ #undef CYASSL_TIRTOS
+ #define CYASSL_TIRTOS WOLFSSL_TIRTOS
+#endif
+
+#define CYASSL WOLFSSL
+#define DEBUG_CYASSL DEBUG_WOLFSSL
+#define CYASSL_CTX WOLFSSL_CTX
+#define CYASSL_METHOD WOLFSSL_METHOD
+#define CYASSL_SESSION WOLFSSL_SESSION
+
+#define CYASSL_X509 WOLFSSL_X509
+#define CYASSL_X509_NAME WOLFSSL_X509_NAME
+#define CYASSL_X509_CHAIN WOLFSSL_X509_CHAIN
+#ifdef WOLFSSL_SNIFFER
+ #define CYASSL_SNIFFER WOLFSSL_SNIFFER
+#endif
+
+/* redeclare guard */
+#define CYASSL_TYPES_DEFINED WOLFSSL_TYPES_DEFINED
+
+/* legacy defines */
+#define yasslIP wolfSSLIP /**/
+#define yasslPort wolfSSLPort /**/
+
+/* cyassl/ssl.h (structs) */
+#define CYASSL_RSA WOLFSSL_RSA
+#define CYASSL_DSA WOLFSSL_DSA
+#define CYASSL_BIO WOLFSSL_BIO
+#define CYASSL_CIPHER WOLFSSL_CIPHER
+#define CYASSL_MD4_CTX WOLFSSL_MD4_CTX
+#define CYASSL_MFL_2_9 WOLFSSL_MFL_2_9 /**/
+#define CYASSL_MFL_2_13 WOLFSSL_MFL_2_13 /**/
+#define CYASSL_EVP_PKEY WOLFSSL_EVP_PKEY
+#define CYASSL_X509_CRL WOLFSSL_X509_CRL
+#define CYASSL_ASN1_TIME WOLFSSL_ASN1_TIME
+#define CYASSL_BIO_METHOD WOLFSSL_BIO_METHOD
+#define CYASSL_X509_STORE WOLFSSL_X509_STORE
+#define CYASSL_X509_OBJECT WOLFSSL_X509_OBJECT
+#define CYASSL_X509_LOOKUP WOLFSSL_X509_LOOKUP
+#define CYASSL_ASN1_OBJECT WOLFSSL_ASN1_OBJECT
+#define CYASSL_ASN1_STRING WOLFSSL_ASN1_STRING
+#define CYASSL_COMP_METHOD WOLFSSL_COMP_METHOD
+#define CYASSL_CRL_CHECKALL WOLFSSL_CRL_CHECKALL
+#define CYASSL_ASN1_INTEGER WOLFSSL_ASN1_INTEGER
+#define CYASSL_X509_REVOKED WOLFSSL_X509_REVOKED
+#define CYASSL_dynlock_value WOLFSSL_dynlock_value
+#define CYASSL_X509_EXTENSION WOLFSSL_X509_EXTENSION
+#define CYASSL_X509_STORE_CTX WOLFSSL_X509_STORE_CTX
+#define CYASSL_X509_LOOKUP_METHOD WOLFSSL_X509_LOOKUP_METHOD
+
+#define CyaSSL_LoadCRL wolfSSL_LoadCRL
+#define CyaSSL_EnableCRL wolfSSL_EnableCRL
+#define CyaSSL_SetCRL_Cb wolfSSL_SetCRL_Cb
+
+/* cyassl/test.h */
+#ifdef CyaSSL_TEST_H
+ #define CYASSL_THREAD WOLFSSL_THREAD
+#endif
+
+/* src/ssl.c */
+#define CYASSL_CRL WOLFSSL_CRL
+#define CYASSL_SSLV3 WOLFSSL_SSLV3
+#define CYASSL_TLSV1 WOLFSSL_TLSV1
+#define CYASSL_TLSV1_1 WOLFSSL_TLSV1_1
+#define CYASSL_TLSV1_2 WOLFSSL_TLSV1_2
+#define CYASSL_USER_CA WOLFSSL_USER_CA
+#define CYASSL_CLIENT_END WOLFSSL_CLIENT_END
+#define CYASSL_CERT_MANAGER WOLFSSL_CERT_MANAGER
+#define MAX_CYASSL_FILE_SIZE MAX_WOLFSSL_FILE_SIZE
+
+#define CyaSSL_get_cipher wolfSSL_get_cipher
+#define CyaSSL_get_ciphers wolfSSL_get_ciphers
+#define CyaSSL_KeyPemToDer wolfSSL_KeyPemToDer
+#define CyaSSL_get_version wolfSSL_get_version
+#define CyaSSL_SetServerID wolfSSL_SetServerID
+#define CyaSSL_use_old_poly wolfSSL_use_old_poly
+#define CyaSSL_SetCertCbCtx wolfSSL_SetCertCbCtx
+#define CyaSSL_CertPemToDer wolfSSL_CertPemToDer
+#define CyaSSL_get_shutdown wolfSSL_get_shutdown
+#define CyaSSL_SetMinVersion wolfSSL_SetMinVersion
+#define CyaSSL_CTX_UnloadCAs wolfSSL_CTX_UnloadCAs
+#define CyaSSL_session_reused wolfSSL_session_reused
+#define CyaSSL_UnloadCertsKeys wolfSSL_UnloadCertsKeys
+#define CyaSSL_CIPHER_get_name wolfSSL_CIPHER_get_name
+#define CyaSSL_is_init_finished wolfSSL_is_init_finished
+#define CyaSSL_get_alert_history wolfSSL_get_alert_history
+#define CyaSSL_get_current_cipher wolfSSL_get_current_cipher
+#define CyaSSL_CertManagerUnloadCAs wolfSSL_CertManagerUnloadCAs
+#define CyaSSL_CertManagerEnableOCSP wolfSSL_CertManagerEnableOCSP
+#define CyaSSL_CTX_check_private_key wolfSSL_CTX_check_private_key
+#define CyaSSL_CertManagerDisableOCSP wolfSSL_CertManagerDisableOCSP
+#define CyaSSL_get_current_cipher_suite wolfSSL_get_current_cipher_suite
+#define CyaSSL_CTX_load_verify_locations wolfSSL_CTX_load_verify_locations
+#define CyaSSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb
+
+#define CyaSSL_save_session_cache wolfSSL_save_session_cache
+#define CyaSSL_restore_session_cache wolfSSL_restore_session_cache
+#define CyaSSL_memsave_session_cache wolfSSL_memsave_session_cache
+#define CyaSSL_memrestore_session_cache wolfSSL_memrestore_session_cache
+#define CyaSSL_get_session_cache_memsize wolfSSL_get_session_cache_memsize
+
+/* certificate cache persistence, uses ctx since certs are per ctx */
+#define CyaSSL_CTX_save_cert_cache wolfSSL_CTX_save_cert_cache
+#define CyaSSL_CTX_restore_cert_cache wolfSSL_CTX_restore_cert_cache
+#define CyaSSL_CTX_memsave_cert_cache wolfSSL_CTX_memsave_cert_cache
+#define CyaSSL_CTX_memrestore_cert_cache wolfSSL_CTX_memrestore_cert_cache
+#define CyaSSL_CTX_get_cert_cache_memsize wolfSSL_CTX_get_cert_cache_memsize
+
+/* wolfSSL extensions */
+/* get wolfSSL peer X509_CHAIN */
+#define CyaSSL_get_chain_count wolfSSL_get_chain_count
+/* index cert length */
+#define CyaSSL_get_chain_length wolfSSL_get_chain_length
+/* index cert in X509 */
+#define CyaSSL_get_chain_X509 wolfSSL_get_chain_X509
+/* free X509 */
+#define CyaSSL_FreeX509 wolfSSL_FreeX509
+/* get index cert in PEM */
+#define CyaSSL_X509_get_subjectCN wolfSSL_X509_get_subjectCN
+#define CyaSSL_X509_get_der wolfSSL_X509_get_der
+#define CyaSSL_X509_notBefore wolfSSL_X509_notBefore
+#define CyaSSL_X509_notAfter wolfSSL_X509_notAfter
+#define CyaSSL_X509_get_notBefore wolfSSL_X509_get_notBefore
+#define CyaSSL_X509_get_notAfter wolfSSL_X509_get_notAfter
+#define CyaSSL_X509_version wolfSSL_X509_version
+
+#define CyaSSL_cmp_peer_cert_to_file wolfSSL_cmp_peer_cert_to_file
+
+#define CyaSSL_X509_get_next_altname wolfSSL_X509_get_next_altname
+
+#define CyaSSL_X509_d2i wolfSSL_X509_d2i
+#ifndef NO_FILESYSTEM
+ #ifndef NO_STDIO_FILESYSTEM
+ #define CyaSSL_X509_d2i_fp wolfSSL_X509_d2i_fp
+ #endif
+#define CyaSSL_X509_load_certificate_file wolfSSL_X509_load_certificate_file
+#endif
+
+#ifdef WOLFSSL_SEP
+#define CyaSSL_X509_get_device_type wolfSSL_X509_get_device_type
+#define CyaSSL_X509_get_hw_type wolfSSL_X509_get_hw_type
+#define CyaSSL_X509_get_hw_serial_number wolfSSL_X509_get_hw_serial_number
+#endif
+
+#define CyaSSL_CTX_SetGenCookie wolfSSL_CTX_SetGenCookie
+#define CyaSSL_SetCookieCtx wolfSSL_SetCookieCtx
+#define CyaSSL_GetCookieCtx wolfSSL_GetCookieCtx
+#define CyaSSL_ERR_get_error_line_data wolfSSL_ERR_get_error_line_data
+#define CyaSSL_ERR_get_error wolfSSL_ERR_get_error
+#define CyaSSL_ERR_clear_error wolfSSL_ERR_clear_error
+#define CyaSSL_RAND_status wolfSSL_RAND_status
+#define CyaSSL_RAND_bytes wolfSSL_RAND_bytes
+#define CyaSSL_CTX_set_options wolfSSL_CTX_set_options
+#define CyaSSL_ERR_free_strings wolfSSL_ERR_free_strings
+#define CyaSSL_ERR_remove_state wolfSSL_ERR_remove_state
+#define CyaSSL_EVP_cleanup wolfSSL_EVP_cleanup
+#define CyaSSL_cleanup_all_ex_data wolfSSL_cleanup_all_ex_data
+#define CyaSSL_CTX_set_mode wolfSSL_CTX_set_mode
+#define CyaSSL_CTX_get_mode wolfSSL_CTX_get_mode
+#define CyaSSL_CTX_set_default_read_ahead wolfSSL_CTX_set_default_read_ahead
+#define CyaSSL_CTX_sess_set_cache_size wolfSSL_CTX_sess_set_cache_size
+#define CyaSSL_CTX_set_default_verify_paths wolfSSL_CTX_set_default_verify_paths
+#define CyaSSL_CTX_set_session_id_context wolfSSL_CTX_set_session_id_context
+#define CyaSSL_get_peer_certificate wolfSSL_get_peer_certificate
+#define CyaSSL_BIO_printf wolfSSL_BIO_printf
+#define CyaSSL_ASN1_UTCTIME_print wolfSSL_ASN1_UTCTIME_print
+#define CyaSSL_sk_num wolfSSL_sk_num
+#define CyaSSL_sk_value wolfSSL_sk_value
+
+/* stunnel 4.28 needs */
+#define CyaSSL_CTX_get_ex_data wolfSSL_CTX_get_ex_data
+#define CyaSSL_CTX_set_ex_data wolfSSL_CTX_set_ex_data
+#define CyaSSL_CTX_sess_set_get_cb wolfSSL_CTX_sess_set_get_cb
+#define CyaSSL_CTX_sess_set_new_cb wolfSSL_CTX_sess_set_new_cb
+#define CyaSSL_CTX_sess_set_remove_cb wolfSSL_CTX_sess_set_remove_cb
+
+#define CyaSSL_i2d_SSL_SESSION wolfSSL_i2d_SSL_SESSION
+#define CyaSSL_d2i_SSL_SESSION wolfSSL_d2i_SSL_SESSION
+
+#define CyaSSL_SESSION_get_timeout wolfSSL_SESSION_get_timeout
+#define CyaSSL_SESSION_get_time wolfSSL_SESSION_get_time
+#define CyaSSL_CTX_get_ex_new_index wolfSSL_CTX_get_ex_new_index
+
+
+/* wolfio.c */
+#define CYASSL_CBIO_ERR_ISR WOLFSSL_CBIO_ERR_ISR
+#define CYASSL_CBIO_ERR_TIMEOUT WOLFSSL_CBIO_ERR_TIMEOUT
+#define CYASSL_CBIO_ERR_GENERAL WOLFSSL_CBIO_ERR_GENERAL
+#define CYASSL_CBIO_ERR_CONN_RST WOLFSSL_CBIO_ERR_CONN_RST
+#define CYASSL_CBIO_ERR_WANT_READ WOLFSSL_CBIO_ERR_WANT_READ
+#define CYASSL_CBIO_ERR_WANT_WRITE WOLFSSL_CBIO_ERR_WANT_WRITE
+#define CYASSL_CBIO_ERR_CONN_CLOSE WOLFSSL_CBIO_ERR_CONN_CLOSE
+
+#define CyaSSL_GetIOReadCtx wolfSSL_GetIOReadCtx
+#define CyaSSL_GetIOWriteCtx wolfSSL_GetIOWriteCtx
+
+/* src/tls.c */
+#define CYASSL_SERVER_END WOLFSSL_SERVER_END
+#define CYASSL_TLS_HMAC_INNER_SZ WOLFSSL_TLS_HMAC_INNER_SZ
+
+#define CyaSSL_DeriveTlsKeys wolfSSL_DeriveTlsKeys
+#define CyaSSL_make_eap_keys wolfSSL_make_eap_keys
+#define CyaSSL_MakeTlsMasterSecret wolfSSL_MakeTlsMasterSecret
+
+/* src/internal.c */
+#define CYASSL_CHAIN_CA WOLFSSL_CHAIN_CA
+#define CYASSL_ALERT_HISTORY WOLFSSL_ALERT_HISTORY
+#define CYASSL_SESSION_TIMEOUT WOLFSSL_SESSION_TIMEOUT
+#define CYASSL_CBIO_ERR_CONN_RST WOLFSSL_CBIO_ERR_CONN_RST
+
+#define cyassl_rc4 wolfssl_rc4
+#define cyassl_aes wolfssl_aes
+#define cyassl_chacha wolfssl_chacha
+#define CyaSSL_ERR_reason_error_string wolfSSL_ERR_reason_error_string
+
+#define CyaSSL_set_ex_data wolfSSL_set_ex_data
+#define CyaSSL_get_shutdown wolfSSL_get_shutdown
+#define CyaSSL_set_rfd wolfSSL_set_rfd
+#define CyaSSL_set_wfd wolfSSL_set_wfd
+#define CyaSSL_set_shutdown wolfSSL_set_shutdown
+#define CyaSSL_set_session_id_context wolfSSL_set_session_id_context
+#define CyaSSL_set_connect_state wolfSSL_set_connect_state
+#define CyaSSL_set_accept_state wolfSSL_set_accept_state
+#define CyaSSL_session_reused wolfSSL_session_reused
+#define CyaSSL_SESSION_free wolfSSL_SESSION_free
+#define CyaSSL_is_init_finished wolfSSL_is_init_finished
+
+#define CyaSSL_get_version wolfSSL_get_version
+#define CyaSSL_get_current_cipher_suite wolfSSL_get_current_cipher_suite
+#define CyaSSL_get_current_cipher wolfSSL_get_current_cipher
+#define CyaSSL_CIPHER_description wolfSSL_CIPHER_description
+#define CyaSSL_CIPHER_get_name wolfSSL_CIPHER_get_name
+#define CyaSSL_get_cipher wolfSSL_get_cipher
+#define CyaSSL_get1_session wolfSSL_get1_session
+
+#define CyaSSL_X509_free wolfSSL_X509_free
+#define CyaSSL_OPENSSL_free wolfSSL_OPENSSL_free
+#define CyaSSL_OCSP_parse_url wolfSSL_OCSP_parse_url
+
+#define CyaSSLv23_client_method wolfSSLv23_client_method
+#define CyaSSLv2_client_method wolfSSLv2_client_method
+#define CyaSSLv2_server_method wolfSSLv2_server_method
+
+#define CyaSSL_MD4_Init wolfSSL_MD4_Init
+#define CyaSSL_MD4_Update wolfSSL_MD4_Update
+#define CyaSSL_MD4_Final wolfSSL_MD4_Final
+
+
+#define CyaSSL_BIO_new wolfSSL_BIO_new
+#define CyaSSL_BIO_free wolfSSL_BIO_free
+#define CyaSSL_BIO_free_all wolfSSL_BIO_free_all
+#define CyaSSL_BIO_read wolfSSL_BIO_read
+#define CyaSSL_BIO_write wolfSSL_BIO_write
+#define CyaSSL_BIO_push wolfSSL_BIO_push
+#define CyaSSL_BIO_pop wolfSSL_BIO_pop
+#define CyaSSL_BIO_flush wolfSSL_BIO_flush
+#define CyaSSL_BIO_pending wolfSSL_BIO_pending
+
+#define CyaSSL_BIO_f_buffer wolfSSL_BIO_f_buffer
+#define CyaSSL_BIO_set_write_buffer_size wolfSSL_BIO_set_write_buffer_size
+#define CyaSSL_BIO_f_ssl wolfSSL_BIO_f_ssl
+#define CyaSSL_BIO_new_socket wolfSSL_BIO_new_socket
+#define CyaSSL_BIO_eof wolfSSL_BIO_eof
+
+#define CyaSSL_BIO_s_mem wolfSSL_BIO_s_mem
+#define CyaSSL_BIO_f_base64 wolfSSL_BIO_f_base64
+#define CyaSSL_BIO_set_flags wolfSSL_BIO_set_flags
+#define CyaSSL_BIO_get_mem_data wolfSSL_BIO_get_mem_data
+#define CyaSSL_BIO_new_mem_buf wolfSSL_BIO_new_mem_buf
+
+
+#define CyaSSL_BIO_set_ssl wolfSSL_BIO_set_ssl
+#define CyaSSL_set_bio wolfSSL_set_bio
+
+#define CyaSSL_add_all_algorithms wolfSSL_add_all_algorithms
+#define CyaSSL_RAND_screen wolfSSL_RAND_screen
+#define CyaSSL_RAND_file_name wolfSSL_RAND_file_name
+#define CyaSSL_RAND_write_file wolfSSL_RAND_write_file
+#define CyaSSL_RAND_load_file wolfSSL_RAND_load_file
+#define CyaSSL_RAND_egd wolfSSL_RAND_egd
+#define CyaSSL_RAND_seed wolfSSL_RAND_seed
+#define CyaSSL_RAND_add wolfSSL_RAND_add
+
+#define CyaSSL_COMP_zlib wolfSSL_COMP_zlib
+#define CyaSSL_COMP_rle wolfSSL_COMP_rle
+#define CyaSSL_COMP_add_compression_method wolfSSL_COMP_add_compression_method
+#define CyaSSL_set_dynlock_create_callback wolfSSL_set_dynlock_create_callback
+#define CyaSSL_set_dynlock_lock_callback wolfSSL_set_dynlock_lock_callback
+#define CyaSSL_set_dynlock_destroy_callback wolfSSL_set_dynlock_destroy_callback
+#define CyaSSL_get_ex_new_index wolfSSL_get_ex_new_index
+#define CyaSSL_set_id_callback wolfSSL_set_id_callback
+#define CyaSSL_set_locking_callback wolfSSL_set_locking_callback
+#define CyaSSL_num_locks wolfSSL_num_locks
+
+#define CyaSSL_X509_STORE_CTX_get_current_cert wolfSSL_X509_STORE_CTX_get_current_cert
+#define CyaSSL_X509_STORE_CTX_get_error wolfSSL_X509_STORE_CTX_get_error
+#define CyaSSL_X509_STORE_CTX_get_error_depth wolfSSL_X509_STORE_CTX_get_error_depth
+
+#define CyaSSL_X509_NAME_oneline wolfSSL_X509_NAME_oneline
+#define CyaSSL_X509_get_issuer_name wolfSSL_X509_get_issuer_name
+#define CyaSSL_X509_get_subject_name wolfSSL_X509_get_subject_name
+#define CyaSSL_X509_ext_isSet_by_NID wolfSSL_X509_ext_isSet_by_NID
+#define CyaSSL_X509_ext_get_critical_by_NID wolfSSL_X509_ext_get_critical_by_NID
+#define CyaSSL_X509_get_isCA wolfSSL_X509_get_isCA
+#define CyaSSL_X509_get_isSet_pathLength wolfSSL_X509_get_isSet_pathLength
+#define CyaSSL_X509_get_pathLength wolfSSL_X509_get_pathLength
+#define CyaSSL_X509_get_keyUsage wolfSSL_X509_get_keyUsage
+#define CyaSSL_X509_get_authorityKeyID wolfSSL_X509_get_authorityKeyID
+#define CyaSSL_X509_get_subjectKeyID wolfSSL_X509_get_subjectKeyID
+#define CyaSSL_X509_NAME_entry_count wolfSSL_X509_NAME_entry_count
+#define CyaSSL_X509_NAME_get_text_by_NID wolfSSL_X509_NAME_get_text_by_NID
+#define CyaSSL_X509_verify_cert wolfSSL_X509_verify_cert
+#define CyaSSL_X509_verify_cert_error_string wolfSSL_X509_verify_cert_error_string
+#define CyaSSL_X509_get_signature_type wolfSSL_X509_get_signature_type
+#define CyaSSL_X509_get_signature wolfSSL_X509_get_signature
+
+#define CyaSSL_X509_LOOKUP_add_dir wolfSSL_X509_LOOKUP_add_dir
+#define CyaSSL_X509_LOOKUP_load_file wolfSSL_X509_LOOKUP_load_file
+#define CyaSSL_X509_LOOKUP_hash_dir wolfSSL_X509_LOOKUP_hash_dir
+#define CyaSSL_X509_LOOKUP_file wolfSSL_X509_LOOKUP_file
+
+#define CyaSSL_X509_STORE_add_lookup wolfSSL_X509_STORE_add_lookup
+#define CyaSSL_X509_STORE_new wolfSSL_X509_STORE_new
+#define CyaSSL_X509_STORE_free wolfSSL_X509_STORE_free
+#define CyaSSL_X509_STORE_add_cert wolfSSL_X509_STORE_add_cert
+#define CyaSSL_X509_STORE_set_default_paths wolfSSL_X509_STORE_set_default_paths
+#define CyaSSL_X509_STORE_get_by_subject wolfSSL_X509_STORE_get_by_subject
+#define CyaSSL_X509_STORE_CTX_new wolfSSL_X509_STORE_CTX_new
+#define CyaSSL_X509_STORE_CTX_init wolfSSL_X509_STORE_CTX_init
+#define CyaSSL_X509_STORE_CTX_free wolfSSL_X509_STORE_CTX_free
+#define CyaSSL_X509_STORE_CTX_cleanup wolfSSL_X509_STORE_CTX_cleanup
+
+#define CyaSSL_X509_CRL_get_lastUpdate wolfSSL_X509_CRL_get_lastUpdate
+#define CyaSSL_X509_CRL_get_nextUpdate wolfSSL_X509_CRL_get_nextUpdate
+
+#define CyaSSL_X509_get_pubkey wolfSSL_X509_get_pubkey
+#define CyaSSL_X509_CRL_verify wolfSSL_X509_CRL_verify
+#define CyaSSL_X509_STORE_CTX_set_error wolfSSL_X509_STORE_CTX_set_error
+#define CyaSSL_X509_OBJECT_free_contents wolfSSL_X509_OBJECT_free_contents
+#define CyaSSL_EVP_PKEY_free wolfSSL_EVP_PKEY_free
+#define CyaSSL_X509_cmp_current_time wolfSSL_X509_cmp_current_time
+#define CyaSSL_sk_X509_REVOKED_num wolfSSL_sk_X509_REVOKED_num
+
+#define CyaSSL_X509_CRL_get_REVOKED wolfSSL_X509_CRL_get_REVOKED
+#define CyaSSL_sk_X509_REVOKED_value wolfSSL_sk_X509_REVOKED_value
+#define CyaSSL_X509_get_serialNumber wolfSSL_X509_get_serialNumber
+#define CyaSSL_ASN1_TIME_print wolfSSL_ASN1_TIME_print
+#define CyaSSL_ASN1_INTEGER_cmp wolfSSL_ASN1_INTEGER_cmp
+#define CyaSSL_ASN1_INTEGER_get wolfSSL_ASN1_INTEGER_get
+#define CyaSSL_load_client_CA_file wolfSSL_load_client_CA_file
+#define CyaSSL_CTX_set_client_CA_list wolfSSL_CTX_set_client_CA_list
+#define CyaSSL_X509_STORE_CTX_get_ex_data wolfSSL_X509_STORE_CTX_get_ex_data
+#define CyaSSL_get_ex_data_X509_STORE_CTX_idx wolfSSL_get_ex_data_X509_STORE_CTX_idx
+#define CyaSSL_get_ex_data wolfSSL_get_ex_data
+
+#define CyaSSL_CTX_set_default_passwd_cb_userdata wolfSSL_CTX_set_default_passwd_cb_userdata
+#define CyaSSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb
+#define CyaSSL_CTX_set_info_callback wolfSSL_CTX_set_info_callback
+#define CyaSSL_ERR_peek_error wolfSSL_ERR_peek_error
+#define CyaSSL_GET_REASON wolfSSL_GET_REASON
+#define CyaSSL_alert_type_string_long wolfSSL_alert_type_string_long
+#define CyaSSL_alert_desc_string_long wolfSSL_alert_desc_string_long
+#define CyaSSL_state_string_long wolfSSL_state_string_long
+
+#define CyaSSL_RSA_generate_key wolfSSL_RSA_generate_key
+#define CyaSSL_CTX_set_tmp_rsa_callback wolfSSL_CTX_set_tmp_rsa_callback
+#define CyaSSL_PEM_def_callback wolfSSL_PEM_def_callback
+#define CyaSSL_CTX_sess_accept wolfSSL_CTX_sess_accept
+#define CyaSSL_CTX_sess_connect wolfSSL_CTX_sess_connect
+#define CyaSSL_CTX_sess_accept_good wolfSSL_CTX_sess_accept_good
+#define CyaSSL_CTX_sess_connect_good wolfSSL_CTX_sess_connect_good
+#define CyaSSL_CTX_sess_accept_renegotiate wolfSSL_CTX_sess_accept_renegotiate
+#define CyaSSL_CTX_sess_connect_renegotiate wolfSSL_CTX_sess_connect_renegotiate
+#define CyaSSL_CTX_sess_hits wolfSSL_CTX_sess_hits
+#define CyaSSL_CTX_sess_cb_hits wolfSSL_CTX_sess_cb_hits
+#define CyaSSL_CTX_sess_cache_full wolfSSL_CTX_sess_cache_full
+#define CyaSSL_CTX_sess_misses wolfSSL_CTX_sess_misses
+#define CyaSSL_CTX_sess_timeouts wolfSSL_CTX_sess_timeouts
+#define CyaSSL_CTX_sess_number wolfSSL_CTX_sess_number
+#define CyaSSL_CTX_sess_get_cache_size wolfSSL_CTX_sess_get_cache_size
+
+
+
+/* src/keys.c */
+#define cyassl_triple_des wolfssl_triple_des
+
+/* Initialization and Shutdown */
+#define CyaSSL_Init wolfSSL_Init
+#define CyaSSL_library_init wolfSSL_library_init
+#define CyaSSL_Cleanup wolfSSL_Cleanup
+#define CyaSSL_shutdown wolfSSL_shutdown
+
+/* Certs and keys */
+#define CyaSSL_SetTmpDH wolfSSL_SetTmpDH
+#define CyaSSL_KeepArrays wolfSSL_KeepArrays
+#define CyaSSL_FreeArrays wolfSSL_FreeArrays
+#define CyaSSL_SetTmpDH_file wolfSSL_SetTmpDH_file
+#define CyaSSL_use_PrivateKey_buffer wolfSSL_use_PrivateKey_buffer
+#define CyaSSL_use_certificate_buffer wolfSSL_use_certificate_buffer
+#define CyaSSL_CTX_load_verify_buffer wolfSSL_CTX_load_verify_buffer
+#define CyaSSL_CTX_use_PrivateKey_file wolfSSL_CTX_use_PrivateKey_file
+#define CyaSSL_CTX_use_certificate_file wolfSSL_CTX_use_certificate_file
+#define CyaSSL_CTX_use_PrivateKey_buffer wolfSSL_CTX_use_PrivateKey_buffer
+#define CyaSSL_CTX_use_certificate_buffer wolfSSL_CTX_use_certificate_buffer
+#define CyaSSL_CTX_use_NTRUPrivateKey_file wolfSSL_CTX_use_NTRUPrivateKey_file
+#define CyaSSL_use_certificate_chain_buffer wolfSSL_use_certificate_chain_buffer
+#define CyaSSL_CTX_der_load_verify_locations \
+ wolfSSL_CTX_der_load_verify_locations
+#define CyaSSL_CTX_use_certificate_chain_file \
+ wolfSSL_CTX_use_certificate_chain_file
+#define CyaSSL_CTX_use_certificate_chain_buffer \
+ wolfSSL_CTX_use_certificate_chain_buffer
+
+/* Context and Session Setup*/
+#define CyaSSL_new wolfSSL_new
+#define CyaSSL_free wolfSSL_free
+#define CyaSSL_set_fd wolfSSL_set_fd
+#define CyaSSL_CTX_new wolfSSL_CTX_new
+#define CyaSSL_CTX_free wolfSSL_CTX_free
+#define CyaSSL_SetVersion wolfSSL_SetVersion
+#define CyaSSL_set_verify wolfSSL_set_verify
+#define CyaSSL_set_session wolfSSL_set_session
+#define CyaSSL_set_timeout wolfSSL_set_timeout
+#define CyaSSL_CTX_set_verify wolfSSL_CTX_set_verify
+#define CyaSSL_CTX_set_timeout wolfSSL_CTX_set_timeout
+#define CyaSSL_set_cipher_list wolfSSL_set_cipher_list
+#define CyaSSL_set_compression wolfSSL_set_compression
+#define CyaTLSv1_client_method wolfTLSv1_client_method
+#define CyaTLSv1_server_method wolfTLSv1_server_method
+#define CyaSSLv3_client_method wolfSSLv3_client_method
+#define CyaSSLv3_server_method wolfSSLv3_server_method
+#define CyaSSLv23_client_method wolfSSLv23_client_method
+#define CyaSSLv23_server_method wolfSSLv23_server_method
+#define CyaDTLSv1_client_method wolfDTLSv1_client_method
+#define CyaDTLSv1_server_method wolfDTLSv1_server_method
+#define CyaSSL_check_domain_name wolfSSL_check_domain_name
+#define CyaTLSv1_1_client_method wolfTLSv1_1_client_method
+#define CyaTLSv1_1_server_method wolfTLSv1_1_server_method
+#define CyaTLSv1_2_client_method wolfTLSv1_2_client_method
+#define CyaTLSv1_2_server_method wolfTLSv1_2_server_method
+#define CyaDTLSv1_2_client_method wolfDTLSv1_2_client_method
+#define CyaDTLSv1_2_server_method wolfDTLSv1_2_server_method
+#define CyaSSL_set_group_messages wolfSSL_set_group_messages
+#define CyaSSL_CTX_set_cipher_list wolfSSL_CTX_set_cipher_list
+#define CyaSSL_CTX_set_group_messages wolfSSL_CTX_set_group_messages
+#define CyaSSL_CTX_set_session_cache_mode wolfSSL_CTX_set_session_cache_mode
+
+/* Callbacks */
+
+/*
+ * Empty comment denotes not listed in CyaSSL Manual
+ * (soon to be wolfSSL Manual)
+ */
+
+#define CyaSSL_accept_ex wolfSSL_accept_ex
+#define CyaSSL_SetIORecv wolfSSL_CTX_SetIORecv
+#define CyaSSL_SetIOSend wolfSSL_CTX_SetIOSend
+#define CyaSSL_connect_ex wolfSSL_connect_ex
+#define CyaSSL_CTX_SetCACb wolfSSL_CTX_SetCACb
+#define CyaSSL_SetIOReadCtx wolfSSL_SetIOReadCtx
+#define CyaSSL_SetRsaEncCtx wolfSSL_SetRsaEncCtx
+#define CyaSSL_GetRsaEncCtx wolfSSL_GetRsaEncCtx
+#define CyaSSL_SetRsaDecCtx wolfSSL_SetRsaDecCtx
+#define CyaSSL_GetRsaDecCtx wolfSSL_GetRsaDecCtx
+#define CyaSSL_SetLoggingCb wolfSSL_SetLoggingCb
+#define CyaSSL_SetEccSignCtx wolfSSL_SetEccSignCtx
+#define CyaSSL_GetEccSignCtx wolfSSL_GetEccSignCtx
+#define CyaSSL_SetRsaSignCtx wolfSSL_SetRsaSignCtx
+#define CyaSSL_GetRsaSignCtx wolfSSL_GetRsaSignCtx
+#define CyaSSL_SetIOWriteCtx wolfSSL_SetIOWriteCtx
+#define CyaSSL_SetIOReadFlags wolfSSL_SetIOReadFlags
+#define CyaSSL_SetEccVerifyCtx wolfSSL_SetEccVerifyCtx
+#define CyaSSL_GetEccVerifyCtx wolfSSL_GetEccVerifyCtx
+#define CyaSSL_SetRsaVerifyCtx wolfSSL_SetRsaVerifyCtx
+#define CyaSSL_GetRsaVerifyCtx wolfSSL_GetRsaVerifyCtx
+#define CyaSSL_CTX_SetRsaEncCb wolfSSL_CTX_SetRsaEncCb
+#define CyaSSL_CTX_SetRsaDecCb wolfSSL_CTX_SetRsaDecCb
+#define CyaSSL_SetIOWriteFlags wolfSSL_SetIOWriteFlags
+#define CyaSSL_SetTlsHmacInner wolfSSL_SetTlsHmacInner
+#define CyaSSL_SetMacEncryptCtx wolfSSL_SetMacEncryptCtx
+#define CyaSSL_GetMacEncryptCtx wolfSSL_GetMacEncryptCtx
+#define CyaSSL_CTX_SetEccSignCb wolfSSL_CTX_SetEccSignCb
+#define CyaSSL_CTX_SetRsaSignCb wolfSSL_CTX_SetRsaSignCb
+#define CyaSSL_CTX_SetEccVerifyCb wolfSSL_CTX_SetEccVerifyCb
+#define CyaSSL_CTX_SetRsaVerifyCb wolfSSL_CTX_SetRsaVerifyCb
+#define CyaSSL_CTX_SetMacEncryptCb wolfSSL_CTX_SetMacEncryptCb
+#define CyaSSL_SetDecryptVerifyCtx wolfSSL_SetDecryptVerifyCtx
+#define CyaSSL_GetDecryptVerifyCtx wolfSSL_GetDecryptVerifyCtx
+#define CyaSSL_CTX_SetDecryptVerifyCb wolfSSL_CTX_SetDecryptVerifyCb
+
+/* psk specific */
+#ifndef NO_PSK
+
+#define CyaSSL_get_psk_identity wolfSSL_get_psk_identity /**/
+#define CyaSSL_get_psk_identity_hint wolfSSL_get_psk_identity_hint /**/
+#define CyaSSL_use_psk_identity_hint wolfSSL_use_psk_identity_hint /**/
+#define CyaSSL_set_psk_client_callback wolfSSL_set_psk_client_callback /**/
+#define CyaSSL_set_psk_server_callback wolfSSL_set_psk_server_callback /**/
+#define CyaSSL_CTX_use_psk_identity_hint wolfSSL_CTX_use_psk_identity_hint /**/
+#define CyaSSL_CTX_set_psk_client_callback \
+ wolfSSL_CTX_set_psk_client_callback /**/
+#define CyaSSL_CTX_set_psk_server_callback \
+ wolfSSL_CTX_set_psk_server_callback /**/
+
+#endif
+/* end psk specific */
+
+/* Anonymous */
+#define CyaSSL_CTX_allow_anon_cipher wolfSSL_CTX_allow_anon_cipher /**/
+
+/* Error Handling and Debugging*/
+#define CyaSSL_get_error wolfSSL_get_error
+#define CyaSSL_want_read wolfSSL_want_read
+#define CyaSSL_want_write wolfSSL_want_write
+#define CyaSSL_Debugging_ON wolfSSL_Debugging_ON
+#define CyaSSL_Debugging_OFF wolfSSL_Debugging_OFF
+#define CyaSSL_ERR_error_string wolfSSL_ERR_error_string
+#define CyaSSL_load_error_strings wolfSSL_load_error_strings
+#define CyaSSL_ERR_error_string_n wolfSSL_ERR_error_string_n
+#define CyaSSL_ERR_print_errors_fp wolfSSL_ERR_print_errors_fp
+
+/* OCSP and CRL */
+
+/*
+ * Empty comment denotes not listed in CyaSSL Manual
+ * (soon to be wolfSSL Manual)
+ */
+
+#define CYASSL_CRL_MONITOR WOLFSSL_CRL_MONITOR /**/
+#define CYASSL_CRL_START_MON WOLFSSL_CRL_START_MON /**/
+#define CYASSL_OCSP_NO_NONCE WOLFSSL_OCSP_NO_NONCE /**/
+#define CYASSL_OCSP_URL_OVERRIDE WOLFSSL_OCSP_URL_OVERRIDE
+#define CYASSL_OCSP_CHECKALL WOLFSSL_OCSP_CHECKALL
+
+#define CyaSSL_CTX_EnableOCSP wolfSSL_CTX_EnableOCSP
+#define CyaSSL_CTX_OCSP_set_options wolfSSL_CTX_OCSP_set_options /**/
+#define CyaSSL_CTX_SetOCSP_OverrideURL wolfSSL_CTX_SetOCSP_OverrideURL /**/
+#define CyaSSL_CTX_OCSP_set_override_url wolfSSL_CTX_OCSP_set_override_url /**/
+
+/* Informational */
+#define CyaSSL_GetSide wolfSSL_GetSide
+#define CyaSSL_IsTLSv1_1 wolfSSL_IsTLSv1_1
+#define CyaSSL_GetKeySize wolfSSL_GetKeySize
+#define CyaSSL_GetHmacSize wolfSSL_GetHmacSize
+#define CyaSSL_GetHmacType wolfSSL_GetHmacType
+#define CyaSSL_GetMacSecret wolfSSL_GetMacSecret
+#define CyaSSL_GetObjectSize wolfSSL_GetObjectSize
+#define CyaSSL_GetBulkCipher wolfSSL_GetBulkCipher
+#define CyaSSL_GetCipherType wolfSSL_GetCipherType
+#define CyaSSL_GetAeadMacSize wolfSSL_GetAeadMacSize
+#define CyaSSL_GetClientWriteIV wolfSSL_GetClientWriteIV
+#define CyaSSL_GetServerWriteIV wolfSSL_GetServerWriteIV
+#define CyaSSL_GetClientWriteKey wolfSSL_GetClientWriteKey
+#define CyaSSL_GetServerWriteKey wolfSSL_GetServerWriteKey
+#define CyaSSL_GetCipherBlockSize wolfSSL_GetCipherBlockSize
+
+/* Connection, Session, and I/O */
+#define CyaSSL_peek wolfSSL_peek
+#define CyaSSL_read wolfSSL_read
+#define CyaSSL_recv wolfSSL_recv
+#define CyaSSL_send wolfSSL_send
+#define CyaSSL_write wolfSSL_write
+#define CyaSSL_writev wolfSSL_writev
+#define CyaSSL_accept wolfSSL_accept
+#define CyaSSL_get_fd wolfSSL_get_fd
+#define CyaSSL_connect wolfSSL_connect
+#define CyaSSL_pending wolfSSL_pending
+#define CyaSSL_negotiate wolfSSL_negotiate
+#define CyaSSL_get_session wolfSSL_get_session
+#define CyaSSL_connect_cert wolfSSL_connect_cert
+#define CyaSSL_flush_sessions wolfSSL_flush_sessions
+#define CyaSSL_get_using_nonblock wolfSSL_get_using_nonblock
+#define CyaSSL_PrintSessionStats wolfSSL_PrintSessionStats
+
+/* DTLS Specific */
+#define CyaSSL_dtls wolfSSL_dtls
+#define CyaSSL_dtls_set_peer wolfSSL_dtls_set_peer
+#define CyaSSL_dtls_get_peer wolfSSL_dtls_get_peer
+#define CyaSSL_dtls_got_timeout wolfSSL_dtls_got_timeout
+#define CyaSSL_dtls_get_current_timeout wolfSSL_dtls_get_current_timeout
+#define CyaSSL_set_using_nonblock wolfSSL_dtls_set_using_nonblock
+
+/* Certificate Manager */
+#define CyaSSL_CertManagerNew wolfSSL_CertManagerNew
+#define CyaSSL_CertManagerFree wolfSSL_CertManagerFree
+#define CyaSSL_CertManagerLoadCA wolfSSL_CertManagerLoadCA
+#define CyaSSL_CertManagerVerify wolfSSL_CertManagerVerify
+#define CyaSSL_CertManagerEnableCRL wolfSSL_CertManagerEnableCRL
+#define CyaSSL_CertManagerDisableCRL wolfSSL_CertManagerDisableCRL
+#define CyaSSL_CertManagerVerifyBuffer wolfSSL_CertManagerVerifyBuffer
+#ifndef NO_CERTS
+ #define CyaSSL_CertManagerCheckCRL wolfSSL_CertManagerCheckCRL
+ #define CyaSSL_CertManagerLoadCRL wolfSSL_CertManagerLoadCRL
+ #define CyaSSL_CertManagerSetCRL_Cb wolfSSL_CertManagerSetCRL_Cb
+ #define CyaSSL_CertManagerCheckOCSP wolfSSL_CertManagerCheckOCSP
+ #define CyaSSL_CertManagerSetOCSP_Cb wolfSSL_CertManagerSetOCSP_Cb
+ #define CyaSSL_CertManagerSetOCSPOverrideURL \
+ wolfSSL_CertManagerSetOCSPOverrideURL
+
+ #define CyaSSL_DisableCRL wolfSSL_DisableCRL
+ #define CyaSSL_EnableOCSP wolfSSL_EnableOCSP
+ #define CyaSSL_DisableOCSP wolfSSL_DisableOCSP
+ #define CyaSSL_SetOCSP_OverrideURL wolfSSL_SetOCSP_OverrideURL
+ #define CyaSSL_SetOCSP_Cb wolfSSL_SetOCSP_Cb
+
+ #define CyaSSL_CTX_EnableCRL wolfSSL_CTX_EnableCRL
+ #define CyaSSL_CTX_DisableCRL wolfSSL_CTX_DisableCRL
+ #define CyaSSL_CTX_LoadCRL wolfSSL_CTX_LoadCRL
+ #define CyaSSL_CTX_SetCRL_Cb wolfSSL_CTX_SetCRL_Cb
+ #define CyaSSL_CTX_DisableOCSP wolfSSL_CTX_DisableOCSP
+ #define CyaSSL_CTX_SetOCSP_Cb wolfSSL_CTX_SetOCSP_Cb
+#endif /* !NO_CERTS */
+
+
+/* OpenSSL Compatibility Layer */
+#define CyaSSL_get_sessionID wolfSSL_get_sessionID
+#define CyaSSL_get_peer_count wolfSSL_get_peer_count
+#define CyaSSL_get_chain_cert wolfSSL_get_chain_cert
+#define CyaSSL_get_peer_chain wolfSSL_get_peer_chain
+#define CyaSSL_get_peer_length wolfSSL_get_peer_length
+#define CyaSSL_get_chain_cert_pem wolfSSL_get_chain_cert_pem
+#define CyaSSL_use_PrivateKey_file wolfSSL_use_PrivateKey_file
+#define CyaSSL_use_certificate_file wolfSSL_use_certificate_file
+#define CyaSSL_use_RSAPrivateKey_file wolfSSL_use_RSAPrivateKey_file
+#define CyaSSL_X509_get_serial_number wolfSSL_X509_get_serial_number
+#define CyaSSL_CTX_use_RSAPrivateKey_file wolfSSL_CTX_use_RSAPrivateKey_file
+#define CyaSSL_use_certificate_chain_file wolfSSL_use_certificate_chain_file
+
+/* TLS Extensions */
+#define CYASSL_SNI_HOST_NAME WOLFSSL_SNI_HOST_NAME
+
+#define CyaSSL_UseSNI wolfSSL_UseSNI
+#define CyaSSL_CTX_UseSNI wolfSSL_CTX_UseSNI
+#define CyaSSL_SNI_SetOptions wolfSSL_SNI_SetOptions
+#define CyaSSL_SNI_GetRequest wolfSSL_SNI_GetRequest
+#define CyaSSL_UseMaxFragment wolfSSL_UseMaxFragment
+#define CyaSSL_UseTruncatedHMAC wolfSSL_UseTruncatedHMAC
+#define CyaSSL_UseSupportedCurve wolfSSL_UseSupportedCurve
+#define CyaSSL_SNI_GetFromBuffer wolfSSL_SNI_GetFromBuffer
+#define CyaSSL_CTX_SNI_SetOptions wolfSSL_CTX_SNI_SetOptions
+#define CyaSSL_CTX_UseMaxFragment wolfSSL_CTX_UseMaxFragment
+#define CyaSSL_CTX_UseTruncatedHMAC wolfSSL_CTX_UseTruncatedHMAC
+#define CyaSSL_CTX_UseSupportedCurve wolfSSL_CTX_UseSupportedCurve
+
+/* End wolfssl -> cyassl -> openssl compatibility */
+
+/* JRB macro redefinitions and api calls for cryptography for reverse compat. */
+
+#ifdef WOLFSSL_SMALL_STACK
+ #define CYASSL_SMALL_STACK
+#endif
+
+
+/*
+ * wrapper around macros until they are changed in cyassl code
+ * needs investigation in regards to macros in fips
+ */
+#define NO_WOLFSSL_ALLOC_ALIGN NO_CYASSL_ALLOC_ALIGN /* @TODO */
+
+
+/* examples/client/client.h */
+#define CYASSL_THREAD WOLFSSL_THREAD
+#ifdef WOLFSSL_DTLS
+ #define CYASSL_DTLS WOLFSSL_DTLS
+#endif
+
+/* examples/client/client.c */
+#define LIBCYASSL_VERSION_STRING LIBWOLFSSL_VERSION_STRING
+
+#ifdef __cplusplus
+ } /* extern "C" */
+#endif
+
+
+#endif /* CyaSSL_openssl_h__ */
diff --git a/ap/lib/libwolfssl/install/include/cyassl/test.h b/ap/lib/libwolfssl/install/include/cyassl/test.h
new file mode 100644
index 0000000..428b141
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/test.h
@@ -0,0 +1,3 @@
+/* test.h */
+
+#include <wolfssl/test.h>
diff --git a/ap/lib/libwolfssl/install/include/cyassl/version.h b/ap/lib/libwolfssl/install/include/cyassl/version.h
new file mode 100644
index 0000000..cc5da90
--- /dev/null
+++ b/ap/lib/libwolfssl/install/include/cyassl/version.h
@@ -0,0 +1,27 @@
+/* cyassl/version.h
+ *
+ * Copyright (C) 2006-2021 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+
+#include <wolfssl/version.h>
+
+#define LIBCYASSL_VERSION_STRING LIBWOLFSSL_VERSION_STRING
+#define LIBCYASSL_VERSION_HEX LIBWOLFSSL_VERSION_HEX
+