mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-17 02:07:48 -04:00
Update wolfSSL to the latest version(v.4.5.0) (#303)
* deleted old version wolfSSL before updating * updated wolfSSL to the latest version(v4.4.0) * updated wolfSSL to the latest version(v4.4.0) * added macros for timing resistance * Add wolfSSL-FIPS-Ready to Demo and Source * Add wolfSSL-FIPS-Ready to Demo and Source * Update README_wolfSSL_FIPS_Ready.md * Remove unused files * Update to wolfSSL-4.5.0-FIPS-Ready * Increase FIPS version number for the default * Update wolfSSL to the latest version(v.4.5.0) * Fix version number * Fix comments from github Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com> Co-authored-by: Ming Yue <mingyue86010@gmail.com> Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com> Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com> Co-authored-by: Alfred Gedeon <alfred2g@hotmail.com>
This commit is contained in:
parent
ee588710dd
commit
c44794cd11
471 changed files with 792175 additions and 60158 deletions
|
@ -31,17 +31,26 @@
|
|||
#include <wolfssl/wolfcrypt/coding.h>
|
||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
|
||||
#ifndef NO_ASN
|
||||
#include <wolfssl/wolfcrypt/asn.h> /* For PEM_LINE_SZ */
|
||||
#endif
|
||||
|
||||
enum {
|
||||
BAD = 0xFF, /* invalid encoding */
|
||||
PAD = '=',
|
||||
PEM_LINE_SZ = 64,
|
||||
BASE64_MIN = 0x2B,
|
||||
BASE16_MIN = 0x30,
|
||||
};
|
||||
|
||||
|
||||
#ifndef BASE64_LINE_SZ
|
||||
#ifdef NO_ASN
|
||||
#define BASE64_LINE_SZ 64
|
||||
#else
|
||||
#define BASE64_LINE_SZ PEM_LINE_SZ
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_BASE64_DECODE
|
||||
|
||||
static
|
||||
|
@ -91,7 +100,7 @@ int Base64_Decode(const byte* in, word32 inLen, byte* out, word32* outLen)
|
|||
{
|
||||
word32 i = 0;
|
||||
word32 j = 0;
|
||||
word32 plainSz = inLen - ((inLen + (PEM_LINE_SZ - 1)) / PEM_LINE_SZ );
|
||||
word32 plainSz = inLen - ((inLen + (BASE64_LINE_SZ - 1)) / BASE64_LINE_SZ );
|
||||
int ret;
|
||||
const byte maxIdx = (byte)sizeof(base64Decode) + BASE64_MIN - 1;
|
||||
|
||||
|
@ -132,8 +141,6 @@ int Base64_Decode(const byte* in, word32 inLen, byte* out, word32* outLen)
|
|||
e4 = in[j++];
|
||||
inLen--;
|
||||
|
||||
if (e1 == 0) /* end file 0's */
|
||||
break;
|
||||
if (e3 == PAD)
|
||||
pad3 = 1;
|
||||
if (e4 == PAD)
|
||||
|
@ -291,7 +298,7 @@ static int DoBase64_Encode(const byte* in, word32 inLen, byte* out,
|
|||
int getSzOnly = (out == NULL);
|
||||
|
||||
word32 outSz = (inLen + 3 - 1) / 3 * 4;
|
||||
word32 addSz = (outSz + PEM_LINE_SZ - 1) / PEM_LINE_SZ; /* new lines */
|
||||
word32 addSz = (outSz + BASE64_LINE_SZ - 1) / BASE64_LINE_SZ; /* new lines */
|
||||
|
||||
if (escaped == WC_ESC_NL_ENC)
|
||||
addSz *= 3; /* instead of just \n, we're doing %0A triplet */
|
||||
|
@ -328,8 +335,8 @@ static int DoBase64_Encode(const byte* in, word32 inLen, byte* out,
|
|||
|
||||
inLen -= 3;
|
||||
|
||||
/* Insert newline after PEM_LINE_SZ, unless no \n requested */
|
||||
if (escaped != WC_NO_NL_ENC && (++n % (PEM_LINE_SZ/4)) == 0 && inLen) {
|
||||
/* Insert newline after BASE64_LINE_SZ, unless no \n requested */
|
||||
if (escaped != WC_NO_NL_ENC && (++n % (BASE64_LINE_SZ/4)) == 0 && inLen) {
|
||||
ret = CEscape(escaped, '\n', out, &i, *outLen, 1, getSzOnly);
|
||||
if (ret != 0) break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue