• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

IDE/H03-May-2022-135,375117,290

IPP/H03-May-2022-

build-aux/H03-May-2022-16,45412,254

certs/H03-May-2022-20,99620,011

cmake/H03-May-2022-977826

ctaocrypt/src/H03-May-2022-15840

cyassl/H03-May-2022-4,2041,973

doc/H03-May-2022-2216

examples/H03-May-2022-15,52112,808

lib/H03-May-2022-31

linuxkm/H03-May-2022-1,3661,044

m4/H03-May-2022-11,18210,122

mcapi/H03-May-2022-4,5753,258

mplabx/H03-May-2022-1,8661,281

mqx/H03-May-2022-8,7218,291

rpm/H03-May-2022-409382

scripts/H03-May-2022-4,5693,521

src/H03-May-2022-137,041107,047

sslSniffer/H03-May-2022-1,9711,577

support/H03-May-2022-3124

tests/H03-May-2022-72,45955,502

testsuite/H03-May-2022-1,2311,022

tirtos/H03-May-2022-816641

wolfcrypt/H03-May-2022-1,070,992927,832

wolfssl/H03-May-2022-58,11643,412

wrapper/H03-May-2022-10,5776,709

zephyr/H03-May-2022-2,1331,486

AUTHORSH A D28-Dec-20210

COPYINGH A D28-Dec-202117.7 KiB340281

ChangeLog.mdH A D28-Dec-2021173.6 KiB3,4402,783

INSTALLH A D28-Dec-20219.1 KiB237173

LICENSINGH A D28-Dec-2021469 159

LPCExpresso.cprojectH A D28-Dec-202125.1 KiB267266

LPCExpresso.projectH A D28-Dec-2021845 2928

Makefile.amH A D28-Dec-202110.7 KiB310270

Makefile.inH A D28-Dec-2021530.1 KiB7,1776,277

READMEH A D28-Dec-202110.8 KiB207162

README.mdH A D28-Dec-202111.2 KiB211168

aclocal.m4H A D28-Dec-202142.8 KiB1,2001,091

config.inH A D28-Dec-20216.6 KiB244170

configureH A D28-Dec-20211,008.4 KiB35,86129,811

configure.acH A D28-Dec-2021245.8 KiB7,7956,709

fips-hash.shH A D28-Dec-2021488 2216

gencertbuf.plH A D28-Dec-202110.3 KiB309214

inputH A D28-Dec-20211.8 KiB9062

quitH A D28-Dec-20216 31

resource.hH A D28-Dec-2021386 158

stamp-h.inH A D28-Dec-20210

valgrind-bash.suppH A D28-Dec-2021108 98

valgrind-error.shH A D28-Dec-2021289 2510

wolfssl.slnH A D28-Dec-20214.5 KiB7573

wolfssl.vcprojH A D28-Dec-20217.9 KiB415414

wolfssl.vcxprojH A D28-Dec-202122.5 KiB394393

wolfssl64.slnH A D28-Dec-202110 KiB143141

README

1*** Description ***
2
3The wolfSSL embedded SSL library (formerly CyaSSL) is a lightweight SSL/TLS
4library written in ANSI C and targeted for embedded, RTOS, and
5resource-constrained environments - primarily because of its small size, speed,
6and feature set.  It is commonly used in standard operating environments as well
7because of its royalty-free pricing and excellent cross platform support.
8wolfSSL supports industry standards up to the current TLS 1.3 and DTLS 1.2
9levels, is up to 20 times smaller than OpenSSL, and offers progressive ciphers
10such as ChaCha20, Curve25519, and Blake2b. User benchmarking and feedback
11reports dramatically better performance when using wolfSSL over OpenSSL.
12
13wolfSSL is powered by the wolfCrypt library. Two versions of the wolfCrypt
14cryptography library have been FIPS 140-2 validated (Certificate #2425 and
15certificate #3389). For additional information, visit the wolfCrypt FIPS FAQ
16(https://www.wolfssl.com/license/fips/) or contact fips@wolfssl.com
17
18*** Why choose wolfSSL? ***
19
20There are many reasons to choose wolfSSL as your embedded SSL solution. Some of
21the top reasons include size (typical footprint sizes range from 20-100 kB),
22support for the newest standards (SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3,
23DTLS 1.0, and DTLS 1.2), current and progressive cipher support (including
24stream ciphers), multi-platform, royalty free, and an OpenSSL compatibility API
25to ease porting into existing applications which have previously used the
26OpenSSL package. For a complete feature list, see chapter 4 of the wolfSSL
27manual. (https://www.wolfssl.com/docs/wolfssl-manual/ch4/)
28
29*** Notes, Please read ***
30
31Note 1)
32wolfSSL as of 3.6.6 no longer enables SSLv3 by default.  wolfSSL also no longer
33supports static key cipher suites with PSK, RSA, or ECDH. This means if you
34plan to use TLS cipher suites you must enable DH (DH is on by default), or
35enable ECC (ECC is on by default), or you must enable static key cipher suites
36with
37
38    WOLFSSL_STATIC_DH
39    WOLFSSL_STATIC_RSA
40      or
41    WOLFSSL_STATIC_PSK
42
43though static key cipher suites are deprecated and will be removed from future
44versions of TLS.  They also lower your security by removing PFS.
45
46When compiling ssl.c, wolfSSL will now issue a compiler error if no cipher
47suites are available. You can remove this error by defining
48WOLFSSL_ALLOW_NO_SUITES in the event that you desire that, i.e., you're not
49using TLS cipher suites.
50
51Note 2)
52wolfSSL takes a different approach to certificate verification than OpenSSL
53does. The default policy for the client is to verify the server, this means
54that if you don't load CAs to verify the server you'll get a connect error,
55no signer error to confirm failure (-188).
56
57If you want to mimic OpenSSL behavior of having SSL_connect succeed even if
58verifying the server fails and reducing security you can do this by calling:
59
60    wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
61
62before calling wolfSSL_new();. Though it's not recommended.
63
64Note 3)
65The enum values SHA, SHA256, SHA384, SHA512 are no longer available when
66wolfSSL is built with --enable-opensslextra (OPENSSL_EXTRA) or with the macro
67NO_OLD_SHA_NAMES. These names get mapped to the OpenSSL API for a single call
68hash function. Instead the name WC_SHA, WC_SHA256, WC_SHA384 and WC_SHA512
69should be used for the enum name.
70
71*** end Notes ***
72
73
74For additional vulnerability information visit the vulnerability page at
75https://www.wolfssl.com/docs/security-vulnerabilities/
76
77See INSTALL file for build instructions.
78More info can be found on-line at https://wolfssl.com/wolfSSL/Docs.html
79
80# wolfSSL Release 5.1.0 (Dec 27, 2021)
81Release 5.1.0 of wolfSSL embedded TLS has bug fixes and new features including:
82
83### Vulnerabilities
84* \[Low\]  Potential for DoS attack on a wolfSSL client due to processing hello packets of the incorrect side. This affects only connections using TLS v1.2 or less that have also been compromised by a man in the middle attack. Thanks to James Henderson, Mathy Vanhoef, Chris M. Stone, Sam L. Thomas, Nicolas Bailleut, and Tom Chothia (University of Birmingham, KU Leuven, ENS Rennes for the report.
85* \[Low\] Client side session resumption issue once the session resumption cache has been filled up. The hijacking of a session resumption has been demonstrated so far with only non verified peer connections. That is where the client is not verifying the server’s CA that it is connecting to. There is the potential though for other cases involving proxies that are verifying the server to be at risk, if using wolfSSL in a case involving proxies use wolfSSL_get1_session and then wolfSSL_SESSION_free when done where possible. If not adding in the session get/free function calls we recommend that users of wolfSSL that are resuming sessions update to the latest version (wolfSSL version 5.1.0 or later). Thanks to the UK's National Cyber Security Centre (NCSC) for the report.
86
87### New Feature Additions
88###### Ports
89* Curve25519 support with NXP SE050 added
90* Renesas RA6M4 support with SCE Protected Mode and FSP 3.5.0
91* Renesas TSIP 1.14 support for RX65N/RX72N
92
93###### Post Quantum
94* Post quantum resistant algorithms used with Apache port
95* NIST round 3 FALCON Signature Scheme support added to TLS 1.3 connections
96* FALCON added to the benchmarking application
97* Testing of cURL with wolfSSL post quantum resistant build
98
99###### Compatibility Layer Additions
100* Updated NGINX port to NGINX version 1.21.4
101* Updated Apache port to Apache version 2.4.51
102* Add support for SSL_OP_NO_TLSv1_2 flag with wolfSSL_CTX_set_options function
103* Support added for the functions
104    - SSL_CTX_get_max_early_data
105    - SSL_CTX_set_max_early_data
106    - SSL_set_max_early_data
107    - SSL_get_max_early_data
108    - SSL_CTX_clear_mode
109    - SSL_CONF_cmd_value_type
110    - SSL_read_early_data
111    - SSL_write_early_data
112
113###### Misc.
114* Crypto callback support for AES-CCM added. A callback function can be registered and used instead of the default AES-CCM implementation in wolfSSL.
115* Added AES-OFB to the FIPS boundary for future FIPS validations.
116* Add support for custom OIDs used with CSR (certificate signing request) generation using the macro WOLFSSL_CUSTOM_OID
117* Added HKDF extract callback function for use with TLS 1.3
118* Add variant from RFC6979 of deterministic ECC signing that can be enabled using the macro WOLFSSL_ECDSA_DETERMINISTIC_K_VARIANT
119* Added the function wc_GetPubKeyDerFromCert to get the public key from a DecodedCert structure
120* Added the functions wc_InitDecodedCert, wc_ParseCert and wc_FreeDecodedCert for access to decoding a certificate into a DecodedCert structure
121* Added the macro WOLFSSL_ECC_NO_SMALL_STACK for hybrid builds where the numerous malloc/free with ECC is undesired but small stack use is desired throughout the rest of the library
122* Added the function wc_d2i_PKCS12_fp for reading a PKCS12 file and parsing it
123
124### Fixes
125###### PORT Fixes
126* Building with Android wpa_supplicant and KeyStore
127* Setting initial value of CA certificate with TSIP enabled
128* Cryptocell ECC build fix and fix with RSA disabled
129* IoT-SAFE improvement for Key/File slot ID size, fix for C++ compile, and fixes for retrieving the public key after key generation
130
131###### Math Library Fixes
132* Check return values on TFM library montgomery function in case the system runs out of memory. This resolves an edge case of invalid ECC signatures being created.
133* SP math library sanity check on size of values passed to sp_gcd.
134* SP math library sanity check on exponentiation by 0 with mod_exp
135* Update base ECC mp_sqrtmod_prime function to handle an edge case of zero
136* TFM math library with Intel MULX multiply fix for carry in assembly code
137
138###### Misc.
139* Fix for potential heap buffer overflow with compatibility layer PEM parsing
140* Fix for edge memory leak case with an error encountered during TLS resumption
141* Fix for length on inner sequence created with wc_DhKeyToDer when handling small DH keys
142* Fix for sanity check on input argument to DSA sign and verify
143* Fix for setting of the return value with ASN1 integer get on an i386 device
144* Fix for BER to DER size checks with PKCS7 decryption
145* Fix for memory leak with PrintPubKeyEC function in compatibility layer
146* Edge case with deterministic ECC key generation when the private key has leading 0’s
147* Fix for build with OPENSSL_EXTRA and NO_WOLFSSL_STUB both defined
148* Use page aligned memory with ECDSA signing and KCAPI
149* Skip expired sessions for TLS 1.3 rather than turning off the resume behavior
150* Fix for DTLS handling dropped or retransmitted messages
151
152### Improvements/Optimizations
153###### Build Options and Warnings
154* Bugfix: could not build with liboqs and without DH enabled
155* Build with macro NO_ECC_KEY_EXPORT fixed
156* Fix for building with the macro HAVE_ENCRYPT_THEN_MAC when session export is enabled
157* Building with wolfSentry and HAVE_EX_DATA macro set
158
159###### Math Libraries
160* Improvement for performance with SP C implementation of montgomery reduction for ECC (P256 and P384) and SP ARM64 implementation for ECC (P384)
161* With SP math handle case of dividing by length of dividend
162* SP math improvement for lo/hi register names to be used with older GCC compilers
163
164###### Misc.
165* ASN name constraints checking code refactor for better efficiency and readability
166* Refactor of compatibility layer stack free’ing calls to simplify and reduce code
167* Scrubbed code for trailing spaces, hard tabs, and any control characters
168* Explicit check that leaf certificate's public key type match cipher suite signature algorithm
169* Additional NULL sanity checks on WOLFSSL struct internally and improve switch statement fallthrough
170* Retain OCSP error value when CRL is enabled with certificate parsing
171* Update to NATIVE LwIP support for TCP use
172* Sanity check on PEM size when parsing a PEM with OpenSSL compatibility layer API.
173* SWIG wrapper was removed from the codebase in favor of dedicated Java and Python wrappers.
174* Updates to bundled example client for when to load the CA, handling print out of IP alt names, and printing out the peers certificate in PEM format
175* Handling BER encoded inner content type with PKCS7 verify
176* Checking for SOCKET_EPIPE errors from low level socket
177* Improvements to cleanup in the case that wolfSSL_Init fails
178* Update test and example certificates expiration dates
179
180
181
182*** Resources ***
183
184
185[wolfSSL Website](https://www.wolfssl.com/)
186
187[wolfSSL Wiki](https://github.com/wolfSSL/wolfssl/wiki)
188
189[FIPS FAQ](https://wolfssl.com/license/fips)
190
191[wolfSSL Documents](https://wolfssl.com/wolfSSL/Docs.html)
192
193[wolfSSL Manual](https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-toc.html)
194
195[wolfSSL API Reference]
196(https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-17-wolfssl-api-reference.html)
197
198[wolfCrypt API Reference]
199(https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-18-wolfcrypt-api-reference.html)
200
201[TLS 1.3](https://www.wolfssl.com/docs/tls13/)
202
203[wolfSSL Vulnerabilities]
204(https://www.wolfssl.com/docs/security-vulnerabilities/)
205
206Additional wolfSSL Examples](https://github.com/wolfssl/wolfssl-examples)
207

README.md

1<a href="https://repology.org/project/wolfssl/versions">
2    <img src="https://repology.org/badge/vertical-allrepos/wolfssl.svg" alt="Packaging status" align="right">
3</a>
4
5# wolfSSL Embedded SSL/TLS Library
6
7The [wolfSSL embedded SSL library](https://www.wolfssl.com/products/wolfssl/)
8(formerly CyaSSL) is a lightweight SSL/TLS library written in ANSI C and
9targeted for embedded, RTOS, and resource-constrained environments - primarily
10because of its small size, speed, and feature set.  It is commonly used in
11standard operating environments as well because of its royalty-free pricing
12and excellent cross platform support. wolfSSL supports industry standards up
13to the current [TLS 1.3](https://www.wolfssl.com/tls13) and DTLS 1.2, is up to
1420 times smaller than OpenSSL, and offers progressive ciphers such as ChaCha20,
15Curve25519, Blake2b and Post-Quantum TLS 1.3 groups. User benchmarking and
16feedback reports dramatically better performance when using wolfSSL over
17OpenSSL.
18
19wolfSSL is powered by the wolfCrypt cryptography library. Two versions of
20wolfCrypt have been FIPS 140-2 validated (Certificate #2425 and
21certificate #3389). FIPS 140-3 validation is in progress. For additional
22information, visit the [wolfCrypt FIPS FAQ](https://www.wolfssl.com/license/fips/)
23or contact fips@wolfssl.com.
24
25## Why Choose wolfSSL?
26
27There are many reasons to choose wolfSSL as your embedded, desktop, mobile, or
28enterprise SSL/TLS solution. Some of the top reasons include size (typical
29footprint sizes range from 20-100 kB), support for the newest standards
30(SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3, DTLS 1.0, and DTLS 1.2), current
31and progressive cipher support (including stream ciphers), multi-platform,
32royalty free, and an OpenSSL compatibility API to ease porting into existing
33applications which have previously used the OpenSSL package. For a complete
34feature list, see [Chapter 4](https://www.wolfssl.com/docs/wolfssl-manual/ch4/)
35of the wolfSSL manual.
36
37## Notes, Please Read
38
39### Note 1
40wolfSSL as of 3.6.6 no longer enables SSLv3 by default.  wolfSSL also no longer
41supports static key cipher suites with PSK, RSA, or ECDH. This means if you
42plan to use TLS cipher suites you must enable DH (DH is on by default), or
43enable ECC (ECC is on by default), or you must enable static key cipher suites
44with one or more of the following defines:
45
46```
47WOLFSSL_STATIC_DH
48WOLFSSL_STATIC_RSA
49WOLFSSL_STATIC_PSK
50```
51Though static key cipher suites are deprecated and will be removed from future
52versions of TLS.  They also lower your security by removing PFS.
53
54When compiling `ssl.c`, wolfSSL will now issue a compiler error if no cipher
55suites are available. You can remove this error by defining
56`WOLFSSL_ALLOW_NO_SUITES` in the event that you desire that, i.e., you're
57not using TLS cipher suites.
58
59### Note 2
60wolfSSL takes a different approach to certificate verification than OpenSSL
61does. The default policy for the client is to verify the server, this means
62that if you don't load CAs to verify the server you'll get a connect error,
63no signer error to confirm failure (-188).
64
65If you want to mimic OpenSSL behavior of having `SSL_connect` succeed even if
66verifying the server fails and reducing security you can do this by calling:
67
68```c
69wolfSSL_CTX_set_verify(ctx, WOLFSSL_VERIFY_NONE, NULL);
70```
71
72before calling `wolfSSL_new();`. Though it's not recommended.
73
74### Note 3
75The enum values SHA, SHA256, SHA384, SHA512 are no longer available when
76wolfSSL is built with `--enable-opensslextra` (`OPENSSL_EXTRA`) or with the
77macro `NO_OLD_SHA_NAMES`. These names get mapped to the OpenSSL API for a
78single call hash function. Instead the name `WC_SHA`, `WC_SHA256`, `WC_SHA384` and
79`WC_SHA512` should be used for the enum name.
80
81# wolfSSL Release 5.1.0 (Dec 27, 2021)
82Release 5.1.0 of wolfSSL embedded TLS has bug fixes and new features including:
83
84### Vulnerabilities
85* \[Low\]  Potential for DoS attack on a wolfSSL client due to processing hello packets of the incorrect side. This affects only connections using TLS v1.2 or less that have also been compromised by a man in the middle attack. Thanks to James Henderson, Mathy Vanhoef, Chris M. Stone, Sam L. Thomas, Nicolas Bailleut, and Tom Chothia (University of Birmingham, KU Leuven, ENS Rennes for the report.
86* \[Low\] Client side session resumption issue once the session resumption cache has been filled up. The hijacking of a session resumption has been demonstrated so far with only non verified peer connections. That is where the client is not verifying the server’s CA that it is connecting to. There is the potential though for other cases involving proxies that are verifying the server to be at risk, if using wolfSSL in a case involving proxies use wolfSSL_get1_session and then wolfSSL_SESSION_free when done where possible. If not adding in the session get/free function calls we recommend that users of wolfSSL that are resuming sessions update to the latest version (wolfSSL version 5.1.0 or later). Thanks to the UK's National Cyber Security Centre (NCSC) for the report.
87
88### New Feature Additions
89###### Ports
90* Curve25519 support with NXP SE050 added
91* Renesas RA6M4 support with SCE Protected Mode and FSP 3.5.0
92* Renesas TSIP 1.14 support for RX65N/RX72N
93
94###### Post Quantum
95* Post quantum resistant algorithms used with Apache port
96* NIST round 3 FALCON Signature Scheme support added to TLS 1.3 connections
97* FALCON added to the benchmarking application
98* Testing of cURL with wolfSSL post quantum resistant build
99
100###### Compatibility Layer Additions
101* Updated NGINX port to NGINX version 1.21.4
102* Updated Apache port to Apache version 2.4.51
103* Add support for SSL_OP_NO_TLSv1_2 flag with wolfSSL_CTX_set_options function
104* Support added for the functions
105    - SSL_CTX_get_max_early_data
106    - SSL_CTX_set_max_early_data
107    - SSL_set_max_early_data
108    - SSL_get_max_early_data
109    - SSL_CTX_clear_mode
110    - SSL_CONF_cmd_value_type
111    - SSL_read_early_data
112    - SSL_write_early_data
113
114###### Misc.
115* Crypto callback support for AES-CCM added. A callback function can be registered and used instead of the default AES-CCM implementation in wolfSSL.
116* Added AES-OFB to the FIPS boundary for future FIPS validations.
117* Add support for custom OIDs used with CSR (certificate signing request) generation using the macro WOLFSSL_CUSTOM_OID
118* Added HKDF extract callback function for use with TLS 1.3
119* Add variant from RFC6979 of deterministic ECC signing that can be enabled using the macro WOLFSSL_ECDSA_DETERMINISTIC_K_VARIANT
120* Added the function wc_GetPubKeyDerFromCert to get the public key from a DecodedCert structure
121* Added the functions wc_InitDecodedCert, wc_ParseCert and wc_FreeDecodedCert for access to decoding a certificate into a DecodedCert structure
122* Added the macro WOLFSSL_ECC_NO_SMALL_STACK for hybrid builds where the numerous malloc/free with ECC is undesired but small stack use is desired throughout the rest of the library
123* Added the function wc_d2i_PKCS12_fp for reading a PKCS12 file and parsing it
124
125### Fixes
126###### PORT Fixes
127* Building with Android wpa_supplicant and KeyStore
128* Setting initial value of CA certificate with TSIP enabled
129* Cryptocell ECC build fix and fix with RSA disabled
130* IoT-SAFE improvement for Key/File slot ID size, fix for C++ compile, and fixes for retrieving the public key after key generation
131
132###### Math Library Fixes
133* Check return values on TFM library montgomery function in case the system runs out of memory. This resolves an edge case of invalid ECC signatures being created.
134* SP math library sanity check on size of values passed to sp_gcd.
135* SP math library sanity check on exponentiation by 0 with mod_exp
136* Update base ECC mp_sqrtmod_prime function to handle an edge case of zero
137* TFM math library with Intel MULX multiply fix for carry in assembly code
138
139###### Misc.
140* Fix for potential heap buffer overflow with compatibility layer PEM parsing
141* Fix for edge memory leak case with an error encountered during TLS resumption
142* Fix for length on inner sequence created with wc_DhKeyToDer when handling small DH keys
143* Fix for sanity check on input argument to DSA sign and verify
144* Fix for setting of the return value with ASN1 integer get on an i386 device
145* Fix for BER to DER size checks with PKCS7 decryption
146* Fix for memory leak with PrintPubKeyEC function in compatibility layer
147* Edge case with deterministic ECC key generation when the private key has leading 0’s
148* Fix for build with OPENSSL_EXTRA and NO_WOLFSSL_STUB both defined
149* Use page aligned memory with ECDSA signing and KCAPI
150* Skip expired sessions for TLS 1.3 rather than turning off the resume behavior
151* Fix for DTLS handling dropped or retransmitted messages
152
153### Improvements/Optimizations
154###### Build Options and Warnings
155* Bugfix: could not build with liboqs and without DH enabled
156* Build with macro NO_ECC_KEY_EXPORT fixed
157* Fix for building with the macro HAVE_ENCRYPT_THEN_MAC when session export is enabled
158* Building with wolfSentry and HAVE_EX_DATA macro set
159
160###### Math Libraries
161* Improvement for performance with SP C implementation of montgomery reduction for ECC (P256 and P384) and SP ARM64 implementation for ECC (P384)
162* With SP math handle case of dividing by length of dividend
163* SP math improvement for lo/hi register names to be used with older GCC compilers
164
165###### Misc.
166* ASN name constraints checking code refactor for better efficiency and readability
167* Refactor of compatibility layer stack free’ing calls to simplify and reduce code
168* Scrubbed code for trailing spaces, hard tabs, and any control characters
169* Explicit check that leaf certificate's public key type match cipher suite signature algorithm
170* Additional NULL sanity checks on WOLFSSL struct internally and improve switch statement fallthrough
171* Retain OCSP error value when CRL is enabled with certificate parsing
172* Update to NATIVE LwIP support for TCP use
173* Sanity check on PEM size when parsing a PEM with OpenSSL compatibility layer API.
174* SWIG wrapper was removed from the codebase in favor of dedicated Java and Python wrappers.
175* Updates to bundled example client for when to load the CA, handling print out of IP alt names, and printing out the peers certificate in PEM format
176* Handling BER encoded inner content type with PKCS7 verify
177* Checking for SOCKET_EPIPE errors from low level socket
178* Improvements to cleanup in the case that wolfSSL_Init fails
179* Update test and example certificates expiration dates
180
181
182For additional vulnerability information visit the vulnerability page at:
183https://www.wolfssl.com/docs/security-vulnerabilities/
184
185See INSTALL file for build instructions.
186More info can be found on-line at: https://wolfssl.com/wolfSSL/Docs.html
187
188
189
190# Resources
191
192[wolfSSL Website](https://www.wolfssl.com/)
193
194[wolfSSL Wiki](https://github.com/wolfSSL/wolfssl/wiki)
195
196[FIPS 140-2/140-3 FAQ](https://wolfssl.com/license/fips)
197
198[wolfSSL Documentation](https://wolfssl.com/wolfSSL/Docs.html)
199
200[wolfSSL Manual](https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-toc.html)
201
202[wolfSSL API Reference](https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-17-wolfssl-api-reference.html)
203
204[wolfCrypt API Reference](https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-18-wolfcrypt-api-reference.html)
205
206[TLS 1.3](https://www.wolfssl.com/docs/tls13/)
207
208[wolfSSL Vulnerabilities](https://www.wolfssl.com/docs/security-vulnerabilities/)
209
210[Additional wolfSSL Examples](https://github.com/wolfssl/wolfssl-examples)
211