Compare commits

...

13774 Commits

Author SHA1 Message Date
Lealem Amedie
064aace824 Add ability to switch to STD RSA method 2025-07-02 10:03:28 -06:00
kaleb-himes
844e961ff5 Check-in FIPS 140-3 PILOT changes 2023-08-28 15:43:24 -07:00
Daniel Pouzzner
ceae7d56fa Merge pull request #4551 from ejohnstown/aes-ofb
Add AES-OFB to FIPS boundary
2021-11-15 22:56:43 -06:00
Daniel Pouzzner
cae3fcb9ce Merge pull request #4569 from masap/i386-segfault
dsa.c: fix error-path mp_clear()s on uninitialized mp_ints in wc_DsaSign() and wc_DsaVerify().
2021-11-15 22:51:23 -06:00
Masashi Honma
6086728968 Fix possible segfault occurs when mp_clear() is executed for uninitialized mp_int
If NULL is passed as the digest argument of wc_DsaSign(), mp_clear() will be
called before mp_init() is called. This can cause segmentation fault.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2021-11-16 09:57:02 +09:00
Masashi Honma
f621defefe Fix the segfault occurs when mp_clear() is executed for uninitialized mp_int on i386
test_wc_DsaSignVerify() passes the tests but causes an error.

free(): invalid pointer

If NULL is passed as the digest argument of wc_DsaVerify(), mp_clear() will be
called before mp_init() is called. On qemu-i386, the dp field of the mp_int
structure is non-null by default, which causes a segmentation fault when calling
mp_clear(). However, if WOLFSSL_SMALL_STACK is enabled, this problem does not
occur.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2021-11-16 09:56:56 +09:00
Sean Parkinson
64407bbd7d Merge pull request #4564 from rizlik/unused_ret_value_fix
woflcrypt/src/rsa.c: check memory allocation return value
2021-11-16 08:56:47 +10:00
Daniel Pouzzner
c80e63a822 Merge pull request #4566 from ejohnstown/fips-check
fips-check script update
2021-11-15 13:23:54 -06:00
John Safranek
13871cf547 Set RC10 to be the default v5 FIPS build. 2021-11-15 10:03:50 -08:00
John Safranek
0d465cf42f Add AES-OFB to FIPSv5 build as v5-RC10 (5,2) 2021-11-15 10:03:49 -08:00
David Garske
ab74bbcfee Merge pull request #4567 from SparkiDev/sp_scripts_sync_1
SP sync: Missing update
2021-11-15 07:04:08 -08:00
Sean Parkinson
79f18c7585 SP sync: Missing update 2021-11-15 08:33:14 +10:00
Sean Parkinson
d6219567c1 Merge pull request #4565 from dgarske/spelling
Fixes for spelling errors
2021-11-15 08:20:41 +10:00
John Safranek
3384159cb9 Add WCv5.0-RC10 to fips-check script. Remove some new whitespace from sniffer. 2021-11-12 14:10:58 -08:00
David Garske
25054bd87f Merge pull request #4538 from julek-wolfssl/sk_free-refactor
Refactor sk_*_free functions and stack type
2021-11-12 10:30:14 -08:00
David Garske
a626a4fb02 Fixes for spelling errors. 2021-11-12 10:27:49 -08:00
David Garske
600d562168 Merge pull request #4558 from anhu/falcon_bench
Add Falcon benchmarking.
2021-11-12 09:14:08 -08:00
Juliusz Sosinowicz
4112cd4b99 Make stack type an enum 2021-11-12 14:48:17 +01:00
Juliusz Sosinowicz
361975abbc Refactor sk_*_free functions
Use a single `wolfSSL_sk_pop_free` and `wolfSSL_sk_free` function that free's the stack and optionally free's the node content as well.
2021-11-12 13:55:37 +01:00
John Safranek
2501aef34e Merge pull request #4562 from SparkiDev/cert_suite_check 2021-11-11 15:36:12 -08:00
John Safranek
af67692e4a Merge pull request #4559 from dgarske/sniffer_ht 2021-11-11 14:44:01 -08:00
John Safranek
4e20b93e72 Merge pull request #4556 from douzzer/updateFipsHash 2021-11-11 14:23:01 -08:00
John Safranek
c702dab988 Merge pull request #4561 from haydenroche5/wc_prf_fix 2021-11-11 13:03:58 -08:00
Marco Oliverio
3ea4e35737 woflcrypt/src/rsa.c: check memory allocation return value 2021-11-11 16:25:03 +01:00
Sean Parkinson
b5fd899113 TLS 1.2: check signature algo in ServerKeyExchange 2021-11-11 18:54:30 +10:00
Hayden Roche
2f29ca1092 Make fixes/improvements to TLS PRF code.
Make `wc_PRF` return an error if it doesn't find a corresponding hash for the
passed in hash type. Currently, if `wc_PRF_TLS` is called with `NO_OLD_TLS`
defined, it will do nothing but still return success. Make it return an error
instead. These problems were uncovered when running the wolfEngine unit tests
with wolfSSL 5.0.0 FIPS Ready, which defines `NO_MD5` and `NO_OLD_TLS`.
2021-11-10 15:19:43 -08:00
David Garske
607a3bfaa7 Merge pull request #4554 from SparkiDev/mp_test_32bit
mp_test: when SP_INT_DIGITS is even calc was wrong
2021-11-10 15:07:43 -08:00
David Garske
3c1deff611 Fix falcon bench cleanup case (should not free if init fails). Fix RSA key gen keySz with ./wolfcrypt/benchmark/benchmark -asym. 2021-11-10 15:03:44 -08:00
Anthony Hu
f2465e5688 include.am 2021-11-10 18:01:40 -05:00
Anthony Hu
242847760a More appropriate file names. 2021-11-10 17:55:46 -05:00
Anthony Hu
453404a864 Get the falcon keys into wolfssl/certs_test.h 2021-11-10 17:33:24 -05:00
Anthony Hu
5fe078d7db sig1, sig5 --> sig 2021-11-10 16:52:05 -05:00
Anthony Hu
246d470956 Refactor to do proper memory management. 2021-11-10 16:42:48 -05:00
David Garske
1cadf88f26 Fixes for sniffer and handling of out-of-order situations that can occur with a saturated link. 2021-11-10 13:37:21 -08:00
Anthony Hu
6165323829 Satisfy a jenkins test. 2021-11-10 15:29:09 -05:00
Anthony Hu
237b098ba5 Add Falcon benchmarking. 2021-11-10 14:53:35 -05:00
David Garske
b2ba6f94af Merge pull request #4557 from LinuxJedi/doxygen-fixes
Fix up some Doxygen issues for 1.9
2021-11-10 11:29:47 -08:00
Andrew Hutchings
231546dacc Fix more Doxygen typos 2021-11-10 17:26:33 +00:00
Andrew Hutchings
afe8d74333 Fix up some Doxygen issues for 1.9
Some of the Doxygen content was not processed correctly by Doxygen.
This patch fixes all the issues found.
2021-11-10 16:20:13 +00:00
Daniel Pouzzner
6d55f8e42a ssl.c: fixes for C++ pointer type hygiene. 2021-11-09 22:41:06 -06:00
Daniel Pouzzner
ed0418c2a8 fix whitespace. 2021-11-09 22:17:38 -06:00
Daniel Pouzzner
313d29f752 linuxkm: in module_hooks.c, refactor WOLFSSL_LINUXKM_SIMD_X86_IRQ_ALLOWED gates to WOLFSSL_LINUXKM_SIMD_X86, and add updateFipsHash(). 2021-11-09 22:02:17 -06:00
Sean Parkinson
341bd7bbbc mp_test: when SP_INT_DIGITS is even calc was wrong 2021-11-10 09:33:14 +10:00
Sean Parkinson
8e0fdc64be Merge pull request #4522 from dgarske/static_eph
Fixes and refactor for static ephemeral key support
2021-11-10 08:22:51 +10:00
David Garske
9a83842c29 Merge pull request #4536 from luizluca/refactor_nameconstraints-permit
ASN: refactor name constraints checks
2021-11-09 10:44:17 -08:00
David Garske
bd0f6736c5 Merge pull request #4513 from masap/wpa_sup_dpp
Fix X509_PUBKEY_set() to show correct algorithm and parameters
2021-11-09 10:26:59 -08:00
David Garske
fe172ed9c1 Fix for generation of ephemeral key if static ephemeral is not set. 2021-11-09 10:14:23 -08:00
David Garske
eebed0cc1c Fix for possible ret may be used uninitialized. 2021-11-09 08:27:44 -08:00
David Garske
df82b01e68 Added x448 static ephemeral support. 2021-11-09 08:27:42 -08:00
David Garske
e91439f2eb Fixes for static ephemeral key support with threading and possible use after free. 2021-11-09 08:25:47 -08:00
David Garske
4a04e56ac8 Fix to allow calls to get TLS session random even if wolfSSL_KeepArrays has not been called. 2021-11-09 08:23:19 -08:00
David Garske
5dac25f470 Eliminate EIGHTK_BUF use in asn. Cleanup uses of 0 in set_verify for callback. 2021-11-09 08:23:19 -08:00
David Garske
1d9832c0de Merge pull request #4545 from douzzer/misc-fixes-20211105
global typographic and file mode fixes
2021-11-08 20:54:20 -08:00
Daniel Pouzzner
97557ed29b linuxkm: add --enable-benchmark switch (default yes) and BUILD_BENCHMARK conditional to configure.ac to allow build with testwolfcrypt but without benchmark; change gate in wolfcrypt/benchmark/include.am from if !BUILD_LINUXKM to if BUILD_BENCHMARK. 2021-11-08 18:25:15 -06:00
Daniel Pouzzner
03d5c4e6d3 test.c: fix whitespace. 2021-11-08 18:24:42 -06:00
Daniel Pouzzner
18e487069b src/internal.c: fix typo introduced in earlier "typographic cleanup". 2021-11-08 18:24:08 -06:00
Daniel Pouzzner
95bed1cdfd test.c: smallstack refactors for idea_test(), ed448_test(), and verifyBundle() (fixes various error-dependent leaks too). 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
25f74d4967 ssl.c: wolfSSL_UseALPN(): allocate char **token (2kB) on the heap, not the stack. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
f8565f26e2 fixes for --disable-harden. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
27d4bb304c test.c add smallstack refactor of pkcs7enveloped_run_vectors(). 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
26cc534dd2 wolfcrypt/test/test.c: fix memory leaks in pkcs7signed_run_[SingleShot]Vectors() added in smallstack refactor. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
11ffb037ba linuxkm/module_exports.c.template: remove accidentally added MSC clause. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
beebd1411d linuxkm/module_hooks.c: fix whitespace, and update code around WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE and updateFipsHash(). 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
8b3048a0ea wolfcrypt/test/test.c: smallstack refactors for pkcs7authenveloped_run_vectors(), pkcs7signed_run_vectors(), and pkcs7signed_run_SingleShotVectors(); typographic&whitespace cleanup. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
59ec9fc285 configure.ac: refactor setup for --enable-reproducible-build; remove mutex between --enable-sp-math and --enable-sp-math-all (they can now coexist); whitespace cleanup. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
0b4f34d62a typographic cleanup: fix whitespace, remove unneeded UTF-8, convert C++ comment constructs to C. 2021-11-08 17:35:05 -06:00
Luiz Angelo Daros de Luca
01335e2e1c ASN: refactor name constraints checks
Use the same logic for any type of name constraint.

It could be even cleaner if there were a altNamesByType[],
permittedNamesByType[] and excludedNamesByType[] in cert.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2021-11-08 20:29:18 -03:00
Daniel Pouzzner
8f121e7752 file modes: clear inappropriate executable bits. 2021-11-08 17:28:11 -06:00
Sean Parkinson
dd833807d8 Merge pull request #4523 from dgarske/nxp_se050_fixes
Fixes for NXP SE050 ECC create and key store id
2021-11-09 08:56:03 +10:00
David Garske
5a4577eb6c Merge pull request #4541 from SparkiDev/mp_hexchar_asm
SP, TFM: fixes
2021-11-08 14:49:02 -08:00
Sean Parkinson
49024b131e Merge pull request #4534 from JacobBarthelmeh/fuzzing
check size of values with sp_gcd
2021-11-09 08:40:21 +10:00
Masashi Honma
ee39fd079f Fix X509_PUBKEY_set() to show correct algorithm and parameters
When build with OpenSSL, trailing program outputs these messages.

algorithm: id-ecPublicKey
parameters: prime256v1

But with wolfSSL, X509_PUBKEY_get0_param() fails.
This patch fixes wolfSSL to display the same values as OpenSSL.

This program was extracted from wpa_supplicant in order to reproduce the
issue.

----------------
int main(void)
{
    EVP_PKEY *pkey;
    X509_PUBKEY *pub = NULL;
    ASN1_OBJECT *ppkalg, *poid;
    const ASN1_OBJECT *pa_oid;
    const uint8_t *pk;
    int ppklen, ptype;
    X509_ALGOR *pa;
    void *pval;
    char buf[100];
    const uint8_t data[] = {
        0x30, 0x39, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a,
        0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x22, 0x00, 0x03, 0x33, 0x6d, 0xb4, 0xe9, 0xab,
        0xf1, 0x1c, 0x96, 0x87, 0x5e, 0x02, 0xcc, 0x92, 0xaf, 0xf6, 0xe1, 0xed, 0x2b, 0xb2, 0xb7, 0xcc,
        0x3f, 0xd2, 0xb5, 0x4e, 0x6f, 0x20, 0xc7, 0xea, 0x2f, 0x3f, 0x42
    };
    size_t data_len = sizeof(data);
    const uint8_t *p;
    int res;

    p = data;
    pkey = d2i_PUBKEY(NULL, &p, data_len);
    if (!pkey) {
        fprintf(stderr, "d2i_PUBKEY() failed\n");
        return -1;
    }

    if (EVP_PKEY_type(EVP_PKEY_id(pkey)) != EVP_PKEY_EC) {
        fprintf(stderr, "invalid type\n");
        EVP_PKEY_free(pkey);
        return -1;
    }

    res = X509_PUBKEY_set(&pub, pkey);
    if (res != 1) {
        fprintf(stderr, "X509_PUBKEY_set() failed\n");
        return -1;
    }

    res = X509_PUBKEY_get0_param(&ppkalg, &pk, &ppklen, &pa, pub);
    if (res != 1) {
        fprintf(stderr, "X509_PUBKEY_get0_param() failed\n");
        return -1;
    }
    res = OBJ_obj2txt(buf, sizeof(buf), ppkalg, 0);
    if (res < 0 || (size_t) res >= sizeof(buf)) {
        fprintf(stderr, "OBJ_obj2txt() failed\n");
        return -1;
    }
    fprintf(stdout, "algorithm: %s\n", buf);

    X509_ALGOR_get0(&pa_oid, &ptype, (void *) &pval, pa);
    if (ptype != V_ASN1_OBJECT) {
        fprintf(stderr, "X509_ALGOR_get0() failed\n");
        return -1;
    }
    poid = pval;
    res = OBJ_obj2txt(buf, sizeof(buf), poid, 0);
    if (res < 0 || (size_t) res >= sizeof(buf)) {
        fprintf(stderr, "OBJ_obj2txt() failed\n");
        return -1;
    }
    fprintf(stdout, "parameters: %s\n", buf);

    X509_PUBKEY_free(pub);
    EVP_PKEY_free(pkey);
    return 0;
}

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2021-11-09 07:30:58 +09:00
David Garske
4453001fac Merge pull request #4550 from kareem-wolfssl/gh4547
Fix doAsync warning in bench_ecc.
2021-11-08 13:24:18 -08:00
David Garske
478f57b347 Merge pull request #4535 from kareem-wolfssl/zd13165
Fix building with NO_ECC_KEY_EXPORT.
2021-11-08 11:11:53 -08:00
David Garske
67a11df15b Merge pull request #4548 from anhu/TlS
Fix capitalization.
2021-11-08 11:07:00 -08:00
Kareem
2f1a37769e Fix doAsync warning in bench_ecc. 2021-11-08 11:42:05 -07:00
Anthony Hu
a28e44730c Fix capitalization. 2021-11-08 11:45:49 -05:00
David Garske
3a9be7373f Merge pull request #4532 from embhorn/zd13139
Fix mem leak in HandleTlsResumption
2021-11-08 08:39:45 -08:00
John Safranek
d46b140250 Merge pull request #4544 from dgarske/hmachash 2021-11-05 15:11:07 -07:00
David Garske
3941eea626 Fixes for peer review feedback. Improve the ECC key bit calculation. Improve the signature RS unsigned bin creation. 2021-11-05 14:53:20 -07:00
Kaleb Himes
ba291b519d Merge pull request #4543 from julek-wolfssl/server-echo-return
Check correct var for `server.c` echo return.
2021-11-05 11:26:15 -06:00
Eric Blankenhorn
d6264059ac Fix mem leak in HandleTlsResumption 2021-11-05 11:40:40 -05:00
David Garske
e9aa76b34e Merge pull request #4542 from SparkiDev/dh_enc_fix
DH encoding: use correct length for inner sequence
2021-11-05 08:50:43 -07:00
David Garske
4fe17cc143 Merge pull request #4527 from julek-wolfssl/zd13097
Fix a heap buffer overflow with mismatched PEM structure ZD13097
2021-11-05 08:50:28 -07:00
David Garske
7fca031346 Remove duplicate code in wc_HmacFree (looks like past merge error). 2021-11-05 08:20:39 -07:00
Juliusz Sosinowicz
6d89de4f11 Check correct var for server.c echo return. 2021-11-05 16:10:17 +01:00
Sean Parkinson
d01f0d7a4c DH encoding: use correct length for inner sequence
Only affect small DH keys (like 512 bits).
2021-11-05 15:02:14 +10:00
Sean Parkinson
dc911b94e7 SP, TFM: fixes
HexCharToByte must be cast to a signed char as a char is unsigned on
some platforms.
Redefine the __asm__ and __volatile__ for ICC and KEIL in sp_int.c
mp_test: don't use large bit lengths if unsupported.
2021-11-05 11:49:24 +10:00
Chris Conlon
ae84a2a326 Merge pull request #4293 from TakayukiMatsuo/set_min_proto
Add support for value zero as version parameter for SSL_CTX_set_min/max_proto_version
2021-11-04 14:59:34 -06:00
David Garske
74a32e92eb Rename the internal "Hash" structure used by Hmac as it is too generic. 2021-11-04 11:56:00 -07:00
David Garske
d8faa22194 Fix for ecc_def_curve_test test changes. 2021-11-04 11:54:09 -07:00
David Garske
16afe7ff87 Merge pull request #4540 from anhu/forLealem
Changes suggest by Lealem after he tried the instructions.
2021-11-04 11:44:18 -07:00
Anthony Hu
6f9e501f45 Changes suggest by Lealem after he tried the instructions. 2021-11-04 11:00:18 -04:00
Juliusz Sosinowicz
1faa9e66b6 Check wolfSSL_BIO_read return 2021-11-04 15:34:33 +01:00
Kareem
60a86157c7 Fix building with NO_ECC_KEY_EXPORT. 2021-11-03 16:03:26 -07:00
Jacob Barthelmeh
ca72beb688 check size of values with sp_gcd 2021-11-03 16:56:45 -06:00
Sean Parkinson
8f7df68869 Merge pull request #4533 from JacobBarthelmeh/Testing
additional checks on fp montgomery return value
2021-11-04 08:36:27 +10:00
David Garske
b84edb5c67 Fixes for NXP SE050 testing with hardware. 2021-11-03 12:47:07 -07:00
Jacob Barthelmeh
7ca95bfaca additional checks on fp montgomery return value 2021-11-03 11:40:14 -06:00
David Garske
d24bfb6bf7 Merge pull request #4530 from anhu/falcon-pqsig
The NIST round 3 Falcon Signature Scheme integration.
2021-11-03 09:35:01 -07:00
David Garske
e9fbd94150 Fix for _ecc_validate_public_key and unused parameters for partial and priv. 2021-11-03 08:10:37 -07:00
David Garske
495cac8ad7 Fixes for NXP SE050 key sizes and key id use. Related to #4526 2021-11-02 16:34:19 -07:00
Anthony Hu
dbe3e550b0 Correct the directory to pq in reference to wolfssl-examples 2021-11-02 15:35:39 -04:00
David Garske
2abb2eae7d Changed NXP SE050 to not use symmetric offloading by default. If desired use WOLFSSL_SE050_HASH and WOLFSSL_SE050_CRYPT. 2021-11-02 12:00:24 -07:00
Anthony Hu
04f27551aa Some more sensible constants. 2021-11-02 14:59:31 -04:00
David Garske
945e4a0885 Merge pull request #4529 from anhu/disable_dh
Fix for being able to build with LIBOQS but without DH
2021-11-02 08:54:40 -07:00
David Garske
b652d2e631 Merge pull request #4524 from JacobBarthelmeh/Release
bump to dev version and touch up readme
2021-11-02 08:54:14 -07:00
Anthony Hu
81def76b18 The NIST round 3 Falcon Signature Scheme integration. 2021-11-02 11:12:10 -04:00
Anthony Hu
e1cc1e831e Fix for being able to build with LIBOQS but without DH
The following configuration yielded a compile error:
./configure --with-liboqs --disable-dh

This fixes bug reported on ZD13028.
2021-11-02 10:16:38 -04:00
Juliusz Sosinowicz
23487a4532 Fix a heap buffer overflow with mismatched PEM structure ZD13097 2021-11-02 11:31:22 +01:00
Sean Parkinson
2745f394e5 Merge pull request #4525 from cconlon/sslopno
TLS 1.3: check SSL_OP_NO_TLSv1_2 in TLS 1.3 clients
2021-11-02 09:40:59 +10:00
Jacob Barthelmeh
ac5e9e5e7c bump to dev version and touch up readme 2021-11-01 15:50:03 -06:00
David Garske
7e01af0121 Merge pull request #4521 from JacobBarthelmeh/Release
prepare for release v5.0.0
2021-11-01 12:45:22 -07:00
Jacob Barthelmeh
7c3d1c7fbc update rpm spec 2021-11-01 12:24:53 -06:00
Jacob Barthelmeh
44219906e0 add kdf.c to cs+ project 2021-11-01 12:02:53 -06:00
Daniel Pouzzner
6f18ba15b0 linuxkm: accommodate printk()->_printk() renaming in kernel 5.15+. 2021-11-01 11:49:56 -06:00
Daniel Pouzzner
742492cb5e linuxkm/Makefile: fix module sign-file error handling. 2021-11-01 11:49:48 -06:00
Jacob Barthelmeh
d869c60605 prepare for release v5.0.0 2021-11-01 11:43:25 -06:00
David Garske
f63a799f18 Fix for ECC create key public export size and key size bits. Fix for key store ID vs key ID. 2021-11-01 09:52:12 -07:00
David Garske
99f44149eb Merge pull request #4520 from JacobBarthelmeh/Testing
add kdf.c file to IDE projects and cmake, few edge case fuzz reports, remove exe bit and c files
2021-11-01 08:35:11 -07:00
Jacob Barthelmeh
fb7baf28ca fix for xcode build and revert cmake change 2021-10-29 16:55:05 -06:00
Daniel Pouzzner
6ba55edd50 fix async warnings 2021-10-29 14:37:39 -06:00
Jacob Barthelmeh
1d91ccb41b remove exe bit on example.c and server.c 2021-10-29 13:12:43 -06:00
Jacob Barthelmeh
03bc45c5b1 check if private key exists before using with private key check function 2021-10-29 10:51:24 -06:00
David Garske
5ad580b233 Merge pull request #4517 from elms/cmake/kdf
cmake: Add `kdf.c` and `FIPS_V5`
2021-10-29 09:29:23 -07:00
JacobBarthelmeh
fc01723407 Merge pull request #4516 from dgarske/asn_templ_genname
Fix for ASN template general name parsing
2021-10-29 23:14:50 +07:00
David Garske
a6415493eb Merge pull request #4518 from douzzer/nestable-save-vector-registers
linuxkm: fixes for {save,restore}_vector_registers_x86().
2021-10-29 09:14:32 -07:00
David Garske
8a8a6cf17f Merge pull request #4515 from kareem-wolfssl/zd13006
wc_scrypt: Check for underflow in blocksSz calculation.
2021-10-29 08:23:37 -07:00
Daniel Pouzzner
ddf927ae41 linuxkm: fixes for {save,restore}_vector_registers_x86(). 2021-10-29 01:26:48 -05:00
Elms
49389f3074 cmake: Add kdf.c and FIPS_V5 2021-10-28 16:50:15 -07:00
David Garske
e60c2201b2 Fix for general name parsing with WOLFSSL_ASN_TEMPLATE to use right length for general names and properly NULL terminate. 2021-10-28 16:13:58 -07:00
Jacob Barthelmeh
8775823fa0 handling edge cases with ecc import and decrypt functions 2021-10-28 17:11:56 -06:00
Chris Conlon
afad1374a3 check SSL_OP_NO_TLSv1_2 in TLS 1.3 enabled client 2021-10-28 16:30:02 -06:00
Jacob Barthelmeh
e10e3a92b8 add kdf.c to cmake build 2021-10-28 16:27:45 -06:00
Jacob Barthelmeh
9ec9ace7ea adding kdf.c to IDE builds 2021-10-28 16:19:18 -06:00
Kareem
39c9fa96bc wc_scrypt: Code review feedback. 2021-10-28 15:02:53 -07:00
David Garske
6b3ff9bae2 Merge pull request #4459 from julek-wolfssl/missing-ext
Add x509 name attributes and extensions to DER parsing and generation
2021-10-28 14:30:37 -07:00
Kareem
0ecb81e74a wc_scrypt: Check for underflow in blocksSz calculation. 2021-10-28 14:18:22 -07:00
David Garske
0a26335243 Merge pull request #4446 from ejohnstown/dtls-sizing
DTLS Sizing
2021-10-28 14:15:36 -07:00
David Garske
2c42770eea Merge pull request #4508 from elms/cmake/tlsx
cmake: add SNI and TLSx
2021-10-28 14:03:59 -07:00
Juliusz Sosinowicz
9c8e4f558c Explicit cast to int 2021-10-28 21:05:19 +02:00
Juliusz Sosinowicz
adee6a86d1 Return the close notify error when expecting an error. 2021-10-28 20:53:58 +02:00
David Garske
6bb7e3900e Merge pull request #4511 from JacobBarthelmeh/Testing
build fixes and PKCS7 BER encoding fix
2021-10-28 10:52:58 -07:00
David Garske
e4e6242fde Merge pull request #4514 from SparkiDev/zephyr_fix_2
Fixes for Zephyr OS
2021-10-28 07:52:32 -07:00
Juliusz Sosinowicz
8cba5dda17 Need to free x509 in tests 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
a738c16b2f Can't have macros within macros 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
7d6f8ea255 Update wrong email in gen script 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
ef37eeaeaa Code review fixes 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
a6be157628 Gate new AKID functionality on WOLFSSL_AKID_NAME 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
cb79bc5c46 Use same code for DecodeNsCertType with templates 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
842dba7946 Put address and postal code in WOLFSSL_CERT_EXT 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
2531cd961f Code review fixes 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
d9af698aa4 Implement raw AKID with WOLFSSL_ASN_TEMPLATE 2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
c162196b27 Add x509 name attributes and extensions to DER parsing and generation
- Postal Code
- Street Address
- External Key Usage
- Netscape Certificate Type
- CRL Distribution Points
- Storing full Authority Key Identifier information
- Add new certificates to `certs/test` for testing
- Update WOLFSSL_ASN_TEMPLATE to match new features
2021-10-28 14:50:53 +02:00
Juliusz Sosinowicz
894303be59 Make the wolfSSL_GetMaxFragSize parameter meaning consistent
- Add testing for sending as much app data as possible in a single DTLS record
2021-10-28 14:46:15 +02:00
Sean Parkinson
623a84ed7b Fixes for Zephyr OS
time is not available.
Must include clock module
kdf.c missing from file list
2021-10-28 15:57:46 +10:00
Sean Parkinson
7baffd9cf1 Merge pull request #4512 from douzzer/fips-check-linuxv5-uses-tag-WCv5.0-RC9
fips-check.sh update for WCv5.0-RC9 tags
2021-10-28 14:15:55 +10:00
Sean Parkinson
0e18e9c404 Merge pull request #4502 from dgarske/async_test
Fixes for async TLS v1.3
2021-10-28 14:13:32 +10:00
David Garske
55ee5e41db Merge pull request #4510 from SparkiDev/sp_cmp_c64
SP: change to sp_c32.c now in scripts caused changes to sp_c64.c
2021-10-27 18:50:13 -07:00
Daniel Pouzzner
46ecf752b4 fips-check.sh: update wolfSSL remote & tag for linuxv5 aka linuxv5-RC9. 2021-10-27 18:17:57 -05:00
John Safranek
7cbfb27fa0 When adding cipherExtraData(), also account for TLSv1.3. 2021-10-27 15:12:31 -07:00
John Safranek
9f3f9c53fd Remove debugging printfs. Added some guards around DTLS and AEAD only things. 2021-10-27 15:12:31 -07:00
Juliusz Sosinowicz
be3b6b47ef DTLS MTU fixes 2021-10-27 15:12:31 -07:00
John Safranek
77ebd11781 Updating based on MTU. Debugging prints. 2021-10-27 15:12:31 -07:00
John Safranek
be2e7e25ac Change the calculation for the extra data size in a DTLS message when checking to see if it'll fit in an MTU. (ZD12983) 2021-10-27 15:12:31 -07:00
David Garske
c16f0db1b5 Fixes for handling WC_PENDING_E async responses in API unit test and examples. Resolves all issues with --enable-all --enable-asynccrypt --with-intelqa=. 2021-10-27 15:08:39 -07:00
David Garske
a2ad01604f Fix devId, which must be -2 or INVALID_DEVID (not 0). Fix RSA doc typo. 2021-10-27 15:08:38 -07:00
David Garske
eb56b652ca Fix for async TLS v1.3 with multiple WC_PENDING_E on client_hello and server_hello processing. Fix for not aligned NUMA. 2021-10-27 15:08:38 -07:00
Sean Parkinson
34095dfd38 Merge pull request #4509 from dgarske/fix_sesstick
Fix for session ticket handling with error cases
2021-10-28 08:07:10 +10:00
David Garske
f14bd41733 Merge pull request #4359 from douzzer/fipsv3-rebased
fips 140-3 linuxkm edition
2021-10-27 15:06:48 -07:00
Jacob Barthelmeh
f585dcd5ab adjust inSz with BER PKCS7 parsing 2021-10-27 15:12:04 -06:00
Daniel Pouzzner
f413ff8b3a tls.c: TLSX_SupportedFFDHE_Set(): add handling for malloc failures. 2021-10-27 15:11:04 -05:00
Jacob Barthelmeh
00249b70ae fix for build with WOLFSSL_SGX 2021-10-27 13:22:45 -06:00
Daniel Pouzzner
3a80ba6744 configure.ac: fixes for --enable-fips logic. 2021-10-26 22:51:59 -05:00
Daniel Pouzzner
d105256330 fips-check.sh: remap fips-ready target to be ready flavor of 140-3, temporarily with FIPS_VERSION="master"; add fips-v3-ready target with FIPS_VERSION="v4.1.1"; add linuxv5|linuxv5-RC9 target to be updated after merge with tags. 2021-10-26 20:24:29 -05:00
Daniel Pouzzner
d527b25034 configure.ac: FIPS: remap "ready" to be ready flavor of 140-3 (i.e. v5-ready); add v3-ready for ready flavor of 140-2. 2021-10-26 20:24:29 -05:00
Daniel Pouzzner
8ee49cd50c linuxkm: in module_hooks.c:wolfssl_init(), add support for WC_RNG_SEED_CB. 2021-10-26 20:24:29 -05:00
Daniel Pouzzner
071be3171e linuxkm: in module_hooks.c, fix logic+gating around CONFIG_MODULE_SIG and WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE. 2021-10-26 20:24:29 -05:00
John Safranek
9b5f8c84b0 Change the WIN10 project files to build for FIPS v5. 2021-10-26 20:24:29 -05:00
Daniel Pouzzner
073bef579b linuxkm: add missing #ifdef OPENSSL_EXTRA around openssl includes in module_exports.c.template, and add an assert to configure.ac disallowing linuxkm+opensslextra. 2021-10-26 20:24:29 -05:00
Daniel Pouzzner
ac8fbe3fbd ssl.c: fix a couple trivial rebase errors. 2021-10-26 20:24:29 -05:00
John Safranek
6e9f9c8fe8 Update the Windows user_settings for recent updates. 2021-10-26 20:24:29 -05:00
Daniel Pouzzner
7915f6acb0 linuxkm: add the remainder of known needed SAVE_VECTOR_REGISTERS() wrappers to PK algs, add DEBUG_VECTOR_REGISTERS_{EXIT,ABORT}_ON_FAIL options; add a slew of ASSERT_SAVED_VECTOR_REGISTERS() to sp_x86_64.c (autogenerated, separate scripts commit to follow). 2021-10-26 20:24:29 -05:00
John Safranek
75df6508e6 Add a read enable for private keys when in FIPS mode. 2021-10-26 20:24:29 -05:00
Daniel Pouzzner
1d07034fb9 linuxkm: fix line length in types.h, and add #ifdef _MSC_VER #pragma warning(disable: 4127) to work around MSC bug re "conditional expression is constant"; fix flub in ecc.c. 2021-10-26 20:24:29 -05:00
Daniel Pouzzner
62c1bcae8a linuxkm: {SAVE,RESTORE}_VECTOR_REGISTERS() wrappers around RSA, DH, and ECC routines that might use sp-asm. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
0eb76bcfd8 linuxkm: add missing RESTORE_VECTOR_REGISTERS() in wolfcrypt/src/poly1305.c:wc_Poly1305Update(). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
85a8c06062 linuxkm: add DEBUG_VECTOR_REGISTER_ACCESS (debug feature switch), ASSERT_SAVED_VECTOR_REGISTERS, and ASSERT_RESTORED_VECTOR_REGISTERS macros, and move the fallback no-op definitions of the SAVE_VECTOR_REGISTERS and RESTORE_VECTOR_REGISTERS to types.h. also fixed several ASCII TAB characters in types.h. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
e0395c6441 linuxkm: in wolfcrypt/src/sha{256,512}.c, remove {SAVE,RESTORE}_VECTOR_REGISTERS() wrappers around AVX implementations, as this needs to be refactored for efficiency and the underlying assembly is not yet kernel-compatible. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
ad4c200cd2 linuxkm: wolfcrypt/src/memory.c: in {save,restore}_vector_registers_x86(), allow for recursive calls (some crypto calls are recursive). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
fc73c6dbea linuxkm: fix Makefile to properly pivot module signature on CONFIG_MODULE_SIG==y; remove not-yet-kernel-compatible asm files from the ASFLAGS_FPU_DISABLE_SIMD_ENABLE list, matching the OBJECT_FILES_NON_STANDARD list, for clarity. 2021-10-26 20:24:28 -05:00
John Safranek
40e3cac695 Use correct value for pSz when setting the dhKeySize in the session. 2021-10-26 20:24:28 -05:00
John Safranek
f2c4567164 Like the public key, zero pad the front of the private key. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
bc91187063 tls.c:TLSX_KeyShare_GenDhKey(): fix typo. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
aca43cfe52 linuxkm/Kbuild: include -fno-omit-frame-pointer in HOST_EXTRACFLAGS, in case the target kernel has profiling enabled; remove the "always := $(hostprogs)" rule, as it doesn't work and causes warnings on kernel 5.10. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
8bdae98a93 fips-check.sh: temporarily arrange for "linuxv5" to be an alias of "linuxv5-ready", to arrange for Jenkins testing of wolfcrypt code in the PR in FIPS mode. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
a3435ca062 fips-check.sh: exit (fatal error) if git fails. 2021-10-26 20:24:28 -05:00
John Safranek
f1d43f6891 Add error code for the private key read lockout. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
31f13a7f41 wolfcrypt/test/test.c: when HAVE_FIPS, wrap wc_MakeRsaKey() calls in infinite iteration while ret == PRIME_GEN_E, to inhibit nondeterministic failure mode from FIPS-limited _CheckProbablePrime() iteration. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
490a1238a8 configure.ac: refactor AC_CHECK_FILES brought in by rebase, to fix warning. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
b577984574 rsa.c: fix whitespace. 2021-10-26 20:24:28 -05:00
David Garske
3fcdcbc1f9 Fix for RSA _ifc_pairwise_consistency_test to make the async blocking. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
e61d88657d WOLFSSL_ASYNC_CRYPT: in EccSharedSecret(), don't try to wolfSSL_AsyncInit() if there's no priv_key to supply an asyncDev; in RSA _ifc_pairwise_consistency_test(), disable async to force blocking crypto. 2021-10-26 20:24:28 -05:00
David Garske
303aa312a8 Fix the TLS v1.3 async key share support. Added WOLFSSL_NO_PUBLIC_FFDHE option to test without public FFDHE API's. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
75e4c0869e DH: move declaration of wc_DhPublicKeyDecode() from dh.h to asn.h (it is defined in asn.c). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
10304c9143 linuxkm: portability fix in aes.c for SAVE_VECTOR_REGISTERS() call ("embedding a directive within macro arguments is not portable"). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
c0778e5ad9 gate access to wc_Sha512.devId on !NO_SHA2_CRYPTO_CB. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
5d796ba06c settings.h: add WOLFSSL_MAKE_FIPS_VERSION(), WOLFSSL_FIPS_VERSION_CODE, and FIPS_VERSION_{LT,LE,EQ,GE,GT} macros; define NO_SHA2_CRYPTO_CB macro if HAVE_FIPS && FIPS_VERSION_LT(5,1); refactor other FIPS version dependencies in settings.h to use new macros. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
0f05a71bfb linuxkm: refactor SAVE_VECTOR_REGISTERS() macro to take a fail clause as an argument, to allow the preprocessor to completely eliminate it in non-kernel builds, and for backward compat with WCv5.0-RC8. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
6160da243d linuxkm: use EXPORT_SYMBOL_NS_GPL() for exports. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
c2c2e5b4f5 tests/api.c: post_auth_version_cb(): add missing gating on !NO_ERROR_QUEUE for wolfSSL_ERR_get_error() test. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
e4d075de20 src/internal.c: FreeX509(): remove redundant free of x509->CRLInfo. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
61df408d70 configure.ac: fix handling of ENABLED_FIPS->REPRODUCIBLE_BUILD_DEFAULT=yes; take JNI back out of from enable-all feature set because it adds -DNO_ERROR_QUEUE to flags; fix typo in FIPS test for --with-max-rsa-bits setup. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
32349749a6 internal.c: SendServerKeyExchange(): check retval from wc_DhGetNamedKeyParamSize(). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
361559ca30 settings.h: set HAVE_PUBLIC_FFDHE as in configure.ac (FIPS v2 and SELFTEST) if it isn't already set. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
342e319870 dsa.c: fix up comment spelling/typography in wc_MakeDsaKey(). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
a5c03f65e3 tests/api.c: fix test_CryptoCb_Func() to not attempt signing op on ephemeral ECC keys. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
1f6eb4648e configure.ac: remove WOLFSSL_VALIDATE_ECC_IMPORT and WOLFSSL_VALIDATE_ECC_KEYGEN from enable-all and enable-all-crypto feature sets. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
7a4ec22953 pkcs7.c: further smallstack refactor of PKCS7_EncodeSigned(). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
fb49d814c5 configure.ac and autogen.sh: fix warnings in configure.ac, and enable WARNINGS=all,error in autogen.sh. also, remove --verbose to avoid obscuring warning output. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
f60cb94b82 wolfcrypt/src/include.am and src/include.am: don't disrupt modtimes of fips/async source files if they already exist. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
ab4c96292b autogen.sh: disable WARNINGS=all until autotools config is fixed. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
e894340a64 tls13.c: mac2hash(): accommodate scenario where all hashes are gated out of the build (peer review). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
972c6c032e ssl.c: clean up MD5->SHA refactor of wolfSSL_LH_strhash() (peer review). 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
e9332c1ce4 autogen.sh: refactor to not disrupt modtimes of fips/async source files if they already exist. also, assert success on any file ops, and properly export WARNINGS to autoreconf. 2021-10-26 20:24:28 -05:00
Daniel Pouzzner
255d2d650f rsa.c: add missing WOLFSSL_ASYNC_CRYPT clauses to _ifc_pairwise_consistency_test(). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
87b965c964 include.am: in FIPS clauses, include wolfcrypt/src/aes_gcm_asm.S in src_libwolfssl_la_SOURCES when BUILD_AESNI, regardless of BUILD_INTELASM, as in the corresponding non-FIPS clause. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
0f407b4bfc test.c: fix indirection flubs in _ASYNC_CRYPT parts of ecc_test_sign_vectors(). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
f264741aa0 benchmark.c: fix -Wstringop-truncation in _ASYNC_CRYPT bench_stats_add(). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
0231446006 configure.ac: don't warn about loading real async files if async.c is present and non-empty. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
3745b1c9db linuxkm: fix clean rules/definitions to not pick up top level Makefile, and to clean up empty object directories. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
8e131620ae .gitignore: add linuxkm/libwolfssl.lds 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
14f39f07a2 fips-check.sh: add linuxv5-ready (--enable-fips=v5-ready). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
f9627e4b14 configure.ac: for --enable-fips, make v5 an alias for v5-RC8 (alias to be updated after newer lab-approved snapshots are tagged), and add v5-ready and a placeholder v5-REL. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
5ef97acbab types.h: add back missing WC_HASH_TYPE_MAX to enum wc_HashType when HAVE_FIPS_VERSION <= 2 (now WC_HASH_TYPE_BLAKE2S, since SHAKE is now excluded from the enum). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
40c32081bb types.h: rename STRINGIFY() macro to WC_STRINGIFY(). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
e3989edd39 wolfcrypt/benchmark/benchmark.c: fix typo. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
4a451caf7b src/sniffer.c: fix rebase errors. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
834efe4ff6 fips-check.sh: update to test 140-3 using --enable-fips=v5-RC8 and the WCv5.0-RC8 version tags. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
db26e0a40a Makefile.am: .build_params belongs in DISTCLEANFILES, not CLEANFILES. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
9f36df44a4 wolfssl/wolfcrypt/types.h: define WOLFSSL_NOSHA512_224, WOLFSSL_NOSHA512_256, and WOLFSSL_NO_SHAKE256 in SELFTEST/FIPS<=v2 version of enum wc_HashType definition, to assure synchrony. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
1c27654300 configure.ac and wolfssl/wolfcrypt/types.h: don't change wc_HashType for FIPS <= v2 (reverts commit 56843fbefd as it affected that definition); add -DWOLFSSL_NOSHA512_224 -DWOLFSSL_NOSHA512_256 to FIPS v2 and v3. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
aa6ca43e91 api.c: skip test_wolfSSL_EVP_PBE_scrypt() when FIPS 140-3 (test uses impermissibly short HMAC key). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
22f947edd6 configure.ac and wolfssl/wolfcrypt/asn_public.h: add --enable-fips=v5-RC8 for use with WCv5.0-RC8 codebase; add HAVE_FIPS_VERSION_MINOR, and refactor main $ENABLED_FIPS switch to set HAVE_FIPS_VERSION and if applicable HAVE_FIPS_VERSION_MINOR for use in subsequent tests and the main FIPS setup code; in asn_public.h, use HAVE_FIPS_VERSION_MINOR to exclude declaration of wc_RsaKeyToPublicDer() when building FIPS WCv5.0-RC8. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
8c3cbf84f9 add missing gating around WOLFSSL_NO_SHAKE256, WOLFSSL_NOSHA512_224, and WOLFSSL_NOSHA512_256. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
7b40cd6cef configure.ac: fips tweaks: add --enable-fips=disabled to allow non-fips build in a fips tree, for convenient testing; add ENABLED_SHAKE256=no override to fipsv5 setup; don't add an RSA_MAX_SIZE setting to AM_CFLAGS when FIPS, to avoid a conflict with old rsa.h. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
083b97c5a3 tls.c: fix rebase error in TLSX_KeyShare_FreeAll(). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
19b33d5a76 configure.ac: don't include rc2 in enable-all or enable-all-crypto (memory leaks). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
b77000bcfb add smallstack codepath to ecc_test_sign_vectors(), and add missing rc2.h include to linuxkm/module_exports.c.template. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
9e3fb73567 configure.ac: improvement for enable-all and enable-all-crypto:
remove haproxy from enable-all set, to avoid SECURE_RENEGOTIATION;

add enable-aescbc-length-checks to enable-all-crypto set, inadvertently omitted;

add enable-base16 to all (where it was implicit) and to all-crypto (where it was missing);

add ssh, rc2 and srp to all-crypto;

reorder the portion of the enable-all set that's common with enable-all-crypto, to have matching order.
2021-10-26 20:24:27 -05:00
Daniel Pouzzner
fae342940c .gitignore: add .build_params. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
d39d389c6e aes.c: in CheckAesGcmIvSize(), don't disallow GCM_NONCE_MIN_SZ for FIPS 140-3, i.e. always allow it. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
b93a18b34e src/internal.c: in SendServerKeyExchange() case diffie_hellman_kea, #ifdef HAVE_SECURE_RENEGOTIATION, enlarge buffers.serverDH_Pub.buffer to accomodate larger new key replacing smaller old key, whether or not ssl->namedGroup is set (copy-paste of existing in !ssl->namedGroup path). 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
67db7b7f32 fixes for issues identified by Jenkins run:
Makefile.am: clean .build_params file;

ecc.c: fix misplaced gat #endif in wc_ecc_shared_secret_gen_sync();

move AM_CFLAGS+=-include /.build_params to before AC_SUBST([]AM_CFLAGS);

fix new unused-label defect in wc_ecc_shared_secret_gen_sync();

fix integer.[ch] mp_exch() to return int not void (sp_exch() and TFM mp_exch() can both fail on allocations);

fix NO_INLINE ForceZero() prototype;

ecc.c: add missing if (err == MP_OKAY) in build_lut();

wolfcrypt/test/test.c: revert "rename hkdf_test to wc_hkdf_test to eliminate namespace collision", restoring unconditional static qualifier, to fix crash at return from main() on Xilinx Zynq ARM test;

ecc.c: refactor build_lut() flow control to fix uninited variable scenario found by scan-build;

WOLFCRYPT_ONLY and OPENSSL_EXTRA: fix gating to allow successful build with --enable-all-crypto, and add configure error if crypt-only and opensslall are combined.
2021-10-26 20:24:27 -05:00
Daniel Pouzzner
87578262aa wolfcrypt smallstack refactors:
rsa.c: wc_CompareDiffPQ()

dh.c: wc_DhGenerateParams()

dsa.c: wc_MakeDsaKey() wc_MakeDsaParameters()

srp.c: wc_SrpGetVerifier() wc_SrpSetPrivate() wc_SrpGetPublic()

ecc.c: build_lut() wc_ecc_mulmod_ex() wc_ecc_mulmod_ex2() wc_ecc_shared_secret_gen_sync()

test.c: GenerateNextP() dh_generate_test() GenerateP()
2021-10-26 20:24:27 -05:00
Daniel Pouzzner
0f201a7394 wolfcrypt/types.h: revert change to WOLFSSL_LINUXKM XFREE() macro added in commit "remove frivolous semicolons at end of several macro definitions." 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
947a0d6a2f autotools/Makefiles: enable reproducible build by default for FIPS, and add -DHAVE_REPRODUCIBLE_BUILD to AM_CFLAGS;
refactor the HAVE_WC_INTROSPECTION mechanism to pass build params via $output_objdir/.build_params rather than abusing autotools config.h to pass them;

add support for EXTRA_CFLAGS on the make command line;

in FIPS builds, exclude pkcallbacks from --enable-all;

linuxkm: move test.o out of PIE container (uses function pointers as operands).
2021-10-26 20:24:27 -05:00
Daniel Pouzzner
f1c1f76851 ssl.c: refactor wolfSSL_LH_strhash() to use SHA1 instead of MD5, to eliminate dependency on deprecated alg. 2021-10-26 20:24:27 -05:00
Daniel Pouzzner
ddda108de6 sp_int.c:sp_set(): use PRAGMA_GCC_* macros, not ad hoc gated __Pragmas, to mask spurious -Warray-bounds. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
cdcb8fb9da configure.ac: revert change (AC_MSG_NOTICE reverted to AC_MSG_ERROR) for "FIPS source tree used for non-FIPS build"; in enable_all set, move enable_stunnel and enable_tcpdump to the !ENABLED_LINUXKM_DEFAULTS section. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
220a255281 use WOLFSSL_BIO_ERROR, not SOCKET_INVALID (both macros have value -1), as the default/unset value of WOLFSSL_BIO.num, to avoid unnecessary dependency on HAVE_SOCKADDR. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
1e3d47af57 remove frivolous semicolons at end of several macro definitions. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
64bfe81ff5 configure.ac: test for cryptonly && opensslextra, if so error "mutually incompatible". 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
2bf711341b wolfcrypt/test/test.c: use HAVE_FIPS_VERSION, not FIPS_VERSION. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
4cf1826c8f PRAGMA_GCC_*: refactor macros to properly push a context, and refactor their use in src/tls13.c:DeriveKey() to deal with gcc context quirks that otherwise disabled the warning mask when defined(HAVE_FIPS); add a missing #ifndef NO_MD5 in ssl.c:wolfSSL_LH_strhash(). 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
cff7c5b3c0 wolfcrypt/benchmark/benchmark.c: in bench_dh(), add a missing #ifdef HAVE_PUBLIC_FFDHE around a DhParams use. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
8de8af8b43 wolfcrypt/test/test.c: disable hmac_md5_test() for FIPS 140-3, and rename hkdf_test to wc_hkdf_test to eliminate namespace collision. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
89797db946 configure.ac: enable_stunnel for enable-all only if !FIPS; add enable_tcpdump if !FIPS; add -DWOLFSSL_ECDSA_SET_K to FIPS 140-3 CFLAGS; use DEFAULT_MAX_CLASSIC_ASYM_KEY_BITS to set FP_MAX_BITS indirectly for FIPS 140-3; use AC_MSG_NOTICE() for informational notices previously echoed; gate informational output appropriately on $verbose and $silent. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
5293180566 linuxkm/module_exports.c.template: tweaks for FIPS compatibility. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
ed33315f25 wolfcrypt/src/sp_int.c: add pragma to sp_set() to suppress false positive -Warray-bounds on gcc-11. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
54b3f1b252 src/tls.c:TLSX_KeyShare_GenDhKey(): don't generate a key if one is already set. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
34e88b0605 linuxkm: properly pass {AM_,}CPPFLAGS to Kbuild, and include kdf.h in module_exports.c.template. 2021-10-26 20:24:26 -05:00
Daniel Pouzzner
b673622322 FIPS 140-3 misc fixes including fixes for rebase errors. 2021-10-26 20:24:26 -05:00
John Safranek
b615309a7b update FFDHE4096 test with the updated usage 2021-10-26 20:24:26 -05:00
John Safranek
c31ed64eb5 Add guard around the public key check for DH to skip it when we have
the condition to perform the small key test. The small key is
mathematically valid, but does not necessarily pass the SP 800-56Ar3
test for DH keys. The most recent FIPS build will add the tested file.
This change is only used in the older FIPS releases and in some rare
configurations that include the small key test.
2021-10-26 20:24:26 -05:00
John Safranek
aeb8f5bb51 For the WIN10 user_settings, remove the forced set of FIPS version to 5. 2021-10-26 20:24:26 -05:00
John Safranek
b00b95ef6c Cofactor flag in wolfcrypt test needed a guard. 2021-10-26 20:24:26 -05:00
John Safranek
f53a4db4e7 Unwind a few changes adding guards so it'll build with old FIPS. 2021-10-26 20:24:26 -05:00
John Safranek
b54459ace3 When the ECC PCT verify result is 0, the PCT fails. 2021-10-26 20:24:26 -05:00
John Safranek
175bab9a6f Add missed step in DH key pair generation. 2021-10-26 20:24:26 -05:00
John Safranek
b815939c53 Add missing settings for the Windows 10 FIPS build. 2021-10-26 20:24:26 -05:00
John Safranek
f42106201a In the RSA PCT, initialize the plain output pointer. 2021-10-26 20:24:26 -05:00
John Safranek
aa3fb6f0d0 Update visibility on a SP math function for DH. 2021-10-26 20:24:26 -05:00
John Safranek
04ffd2ab45 Fixes:
1. When enabling FIPSv5 in configure, enable WOLFSSL_WOLFSSH.
2. Appropriate size selection of DH private keys.
2021-10-26 20:24:26 -05:00
John Safranek
3eaeaf3a57 Add sign/verify PCT to ECC. 2021-10-26 20:24:25 -05:00
John Safranek
9bf36f329a Add sign/verify PCT to RSA key gen. 2021-10-26 20:24:25 -05:00
John Safranek
5d7c6dda72 Restore the PCTs to ECC and DH. 2021-10-26 20:24:25 -05:00
John Safranek
1065d2accf Fix some Windows build warnings. 2021-10-26 20:24:25 -05:00
John Safranek
9022762e5a Check to see if a pointer is nonnull that is expected to be. 2021-10-26 20:24:25 -05:00
John Safranek
908ec9b14a Modify ffdhe to not return addresses. 2021-10-26 20:24:25 -05:00
John Safranek
ebdadefb9a Update WIN10 user_settings.h for new FIPS build. 2021-10-26 20:24:25 -05:00
John Safranek
f49a09749e When building for FIPS, the unit test will run all the CASTs up front. 2021-10-26 20:24:25 -05:00
John Safranek
52432382a2 Add kdf.c to the Windows builds. 2021-10-26 20:24:25 -05:00
John Safranek
82e63cee1e Remove the unused ECDSA PCT tests in the CAST list. 2021-10-26 20:24:25 -05:00
John Safranek
ae7a2e5a48 Remove the unused RSA PCT test in the CAST list. 2021-10-26 20:24:25 -05:00
John Safranek
7af87e5b32 Restore the HKDF code to hmac.c. For compatibility between FIPS builds. 2021-10-26 20:24:25 -05:00
John Safranek
54a1b4c881 Remove redundant pairwise test from DH and ECC. 2021-10-26 20:24:25 -05:00
John Safranek
c5d575c8ae Remove RDSEED from the intel asm build. 2021-10-26 20:24:25 -05:00
John Safranek
f69b6ac5eb Add missing verify curves into configure. Copy the kdf files when building for FIPSv5. 2021-10-26 20:24:25 -05:00
John Safranek
c0e6a55aaa Skip the small key DH test for SP and FFDHE builds. 2021-10-26 20:24:25 -05:00
John Safranek
3b5c8231c2 Move the PCT down to where it used to be located as CheckKeyPair. 2021-10-26 20:24:25 -05:00
John Safranek
6cf186696e Update the BUILD_FIPS_V4 flag to V5. Consolidate the Makefile include for the flavors of FIPS. 2021-10-26 20:24:25 -05:00
John Safranek
2de6b3b2bd Move the KDF functions into their own source file. 2021-10-26 20:24:25 -05:00
John Safranek
f78887d2ab Add 'static' to the test vector arrays for the SSH KDF test. 2021-10-26 20:24:25 -05:00
John Safranek
dee2a67720 Change visibility of wc_GenerateSeed() to API. 2021-10-26 20:24:25 -05:00
John Safranek
86c040a3ae Rename the PCT error codes to remove 'FIPS' since they can be enabled without FIPS. 2021-10-26 20:24:25 -05:00
John Safranek
9c5607a677 Add guard around ECC PCT for builds without validate keygen. 2021-10-26 20:24:25 -05:00
John Safranek
7a2b661c0c Add types for the RNG seed callback and the OS_Seed. 2021-10-26 20:24:25 -05:00
John Safranek
133faea89a Hushed compiler warnings about unused variables. 2021-10-26 20:24:25 -05:00
John Safranek
a967cbcb7b 56Ar3 Testing Updates
1. Add PCTs for ECC and FFC.
2. Update the public key checks for ECC and FFC.
2021-10-26 20:24:25 -05:00
John Safranek
976402e04b RNG Update
1. When the seed callback is enabled, allow wc_GenerateSeed() to be used
   as a default callback.
2. Modify all the tests and examples to use the default seed callback if
   the seed callback is enabled.
2021-10-26 20:24:25 -05:00
John Safranek
0c6d8cfc22 If the RNG seeding callback is missing or returns an error, the RNG instantiate fails. 2021-10-26 20:24:25 -05:00
John Safranek
c6486d7392 Removed an outdated comment. 2021-10-26 20:24:25 -05:00
John Safranek
a562db82ef 1. Rename and relabel the FIPS 140-3 option as wolfCrypt v5.
2. Make sure the correct SHA assembly files are copied over for the latest FIPS build.
2021-10-26 20:24:25 -05:00
John Safranek
c47e354eed Add callback option for RNG seeding. 2021-10-26 20:24:25 -05:00
John Safranek
bffe4f64dd Add option to fips-check script to checkout specific named files from the FIPS tag. 2021-10-26 20:24:25 -05:00
John Safranek
a2f802199d DH key gen should call DH check key. 2021-10-26 20:24:25 -05:00
John Safranek
e3b2be5ea3 ECC key gen should call ECC check key. 2021-10-26 20:24:25 -05:00
John Safranek
1f67e4519c Restrict AES-GCM IV minimum size to 96-bits for newer FIPS builds. 2021-10-26 20:24:25 -05:00
John Safranek
e03b29966c Remove MD5 and old TLS from the newest FIPS build. 2021-10-26 20:24:25 -05:00
John Safranek
17a4c891ce Add CASTs for TLSv1.2, TLSv1.3, and SSH KDFs. 2021-10-26 20:24:25 -05:00
John Safranek
1fcf33b898 Fix another configure error due to rebase. 2021-10-26 20:24:25 -05:00
John Safranek
e32c58d533 Add RSA PAT. 2021-10-26 20:24:25 -05:00
John Safranek
9656b83a03 Add ECDSA-KAT CAST. 2021-10-26 20:24:25 -05:00
John Safranek
3994a6b5e7 FIPSv3
1. Remove the CAST IDs for the redundant RSA tests.
2. Remove the flags in configure.ac that enable the keys for the redundant RSA tests.
2021-10-26 20:24:25 -05:00
John Safranek
90752e89fb Restore a configure check lost in a rebase. 2021-10-26 20:24:25 -05:00
John Safranek
6dfef1400d Use the new APIs for HKDF extract with label. 2021-10-26 20:24:25 -05:00
John Safranek
e67bbf7526 1. Add flag to DH keys when using safe parameters.
2. The LN check is skipped when using safe parameters.
3. Enable all FFDHE parameter sets when building for FIPS 140-3.
2021-10-26 20:24:25 -05:00
John Safranek
7f64fc4efb Move the TLSv1.3 KDF into wolfCrypt with the other KDFs. 2021-10-26 20:24:25 -05:00
John Safranek
38064bb396 Add HMAC-SHA2-512 to the TLSv1.2 PRF. 2021-10-26 20:24:25 -05:00
John Safranek
c7ea896759 Add prototype for the ssh-kdf test in the wolfCrypt test. 2021-10-26 20:24:24 -05:00
John Safranek
de4af35f89 KDF Update
1. Move wolfSSH's KDF into wolfCrypt.
2021-10-26 20:24:24 -05:00
John Safranek
a49125e613 FIPS KDF Update
1. Copied the TLSv1.2 PRF into hmac.c since it uses it and the TLSv1.3
   HKDF is in there as well.
2. Added guard around the old TLS PRF so that it switches in correctly
   for older FIPS builds only.
2021-10-26 20:24:24 -05:00
John Safranek
a935f2f86d FIPS CAST Update
1. In the unit test, when checking the build options, also check for
   FIPSv4 to make sure 2048-bit RSA is used.
2. In the standalone SHA-1 one step hash function, wc_InitSha() wasn't
   getting called, so the FIPS flags didn't get checked. (It was using
   wc_InitSha_ex() which bypasses the FIPS checks.)
2021-10-26 20:24:24 -05:00
John Safranek
11fb1abe74 Fix a bad assignment in the configure script. 2021-10-26 20:24:24 -05:00
John Safranek
e855654fff FIPS CAST Update
1. Added a public API to run a CAST.
2. Added the other test certs for the RSA tests.
3. Added IDs for the new RSA tests and the SHA3-pairwise test.
2021-10-26 20:24:24 -05:00
John Safranek
a5032e8087 Update the fips-check script to pull the sources from GitHub rather than
from a directory on a local machine.
2021-10-26 20:24:24 -05:00
John Safranek
df859d30f3 FIPS 140-3
1. Change the internal version number for the FIPS 140-3 changes as v4.
2. Insert v3 as an alias for FIPS Ready.
3. Use the correct directory for the FIPS old files sources. (For local
   testing of 140-3 builds.)
4. Change back the check for the FIPS version in internal.c for
   EccMakeKey().
2021-10-26 20:24:24 -05:00
John Safranek
1683644e77 FIPS 140-3
1. Fix issue with FIPS Ready and FIPS 140-3. FR acts at the latest
   version in the code, but that leaves DES3 out of the build. The code
   was still including the header. Force DES3 disabled in FIPS Ready
   builds.
2021-10-26 20:24:24 -05:00
John Safranek
9e92c118ed FIPS 140-3
1. Add the old known answer test prototype back into fips_test.h for FIPSv2 builds.
2021-10-26 20:24:24 -05:00
John Safranek
f1bd79ac50 FIPS 140-3
1. Added enable option for FIPS 140-3 in configure script.
2. Modify DES3 source to disallow DES3 for the new option.
3. Added the new constants to fips_test.h.
4. Added some new test functions.
5. Added API for doing the POST.
6. Added a processing state for the CASTs.
7. Delete some unused prototypes from FIPS test API.
2021-10-26 20:24:24 -05:00
JacobBarthelmeh
d27a49b98c Merge pull request #4507 from cconlon/cavpselftest2
fix CAVP selftest v2 build error in test.c
2021-10-27 06:04:06 +07:00
JacobBarthelmeh
4825534062 Merge pull request #4500 from cconlon/errorQueueFix
fix wc_ERR_print_errors_fp() unit test with NO_ERROR_QUEUE
2021-10-27 05:56:32 +07:00
Sean Parkinson
4235602c1e SP: change to sp_c32.c now in scripts caused changes to sp_c64.c 2021-10-27 08:46:32 +10:00
Jacob Barthelmeh
3d5eea8f56 fix for disable memory build 2021-10-26 16:17:32 -06:00
elms
fdf2b711f7 cmake: add SNI and TLSx 2021-10-26 15:03:29 -07:00
Jacob Barthelmeh
583a50a3f6 account for case where XTIME returns an unsigned type 2021-10-26 15:50:11 -06:00
David Garske
a08b2db692 Fix for session ticket handling with error cases. Session ticket callback return code failures were still trying to do resumption. Behavior broken in PR #3827. 2021-10-26 11:37:01 -07:00
David Garske
9c665d7282 Merge pull request #4501 from embhorn/zd13114
Fix wolfSSL_ASN1_TIME_diff use of gmtime and 32-bit overflow
2021-10-26 10:47:59 -07:00
David Garske
87baf7818e Merge pull request #4505 from julek-wolfssl/fix-nids
Make NID's consistent v2
2021-10-26 10:29:42 -07:00
Chris Conlon
5810e45cb7 fix CAVP selftest v2 build error in test.c 2021-10-26 10:33:05 -06:00
David Garske
529f1c63dd Merge pull request #4503 from SparkiDev/opensslcoexist_ed
ED25519 and ED448 api.c tests: doesn't compile with --opensslcoexist
2021-10-26 09:19:08 -07:00
Eric Blankenhorn
19feab7850 Fix wolfSSL_ASN1_TIME_diff use of gmtime and 32-bit overflow 2021-10-26 07:14:53 -05:00
Juliusz Sosinowicz
48b304be00 Fix issues with AIA_OCSP_OID and AIA_CA_ISSUER_OID 2021-10-26 11:47:27 +02:00
Juliusz Sosinowicz
348fec3d29 wc_ClearErrorNodes is a local API that is not exported for linking 2021-10-26 09:14:48 +02:00
Juliusz Sosinowicz
fa3cf590d5 Fix NID conflicts
- `NID_sha224` conflicted with `NID_sha1WithRSAEncryption`
- `NID_commonName` conflicted with `PBE-SHA1-3DES`
- `NID_X9_62_prime239v3` conflicted with `AES128CBCb`
- `NID_md5` conflicted with `NID_surname`
- `NID_md2WithRSAEncryption` conflicted with `NID_localityName`
- `NID_md5WithRSAEncryption` conflicted with `NID_stateOrProvinceName`

NID conflicts found by examining the runtime values in `wolfssl_object_info`
2021-10-26 09:14:34 +02:00
Juliusz Sosinowicz
57b9170ac0 Make NID's consistent
- `CTC_SHAwDSA` -> `NID_dsaWithSHA1`
- `CTC_SHA256wDSA` -> `NID_dsa_with_SHA256`
- `CTC_MD2wRSA` -> `NID_md2WithRSAEncryption`
- `CTC_MD5wRSA` -> `NID_md5WithRSAEncryption`
- `CTC_SHAwRSA` -> `NID_sha1WithRSAEncryption`
- `CTC_SHA224wRSA` -> `NID_sha224WithRSAEncryption`
- `CTC_SHA256wRSA` -> `NID_sha256WithRSAEncryption`
- `CTC_SHA384wRSA` -> `NID_sha384WithRSAEncryption`
- `CTC_SHA512wRSA` -> `NID_sha512WithRSAEncryption`
- `CTC_SHA3_224wRSA` -> `NID_RSA_SHA3_224`
- `CTC_SHA3_256wRSA` -> `NID_RSA_SHA3_256`
- `CTC_SHA3_384wRSA` -> `NID_RSA_SHA3_384`
- `CTC_SHA3_512wRSA` -> `NID_RSA_SHA3_512`
- `CTC_SHAwECDSA` -> `NID_ecdsa_with_SHA1`
- `CTC_SHA224wECDSA` -> `NID_ecdsa_with_SHA224`
- `CTC_SHA256wECDSA` -> `NID_ecdsa_with_SHA256`
- `CTC_SHA384wECDSA` -> `NID_ecdsa_with_SHA384`
- `CTC_SHA512wECDSA` -> `NID_ecdsa_with_SHA512`
- `CTC_SHA3_224wECDSA` -> `NID_ecdsa_with_SHA3_224`
- `CTC_SHA3_256wECDSA` -> `NID_ecdsa_with_SHA3_256`
- `CTC_SHA3_384wECDSA` -> `NID_ecdsa_with_SHA3_384`
- `CTC_SHA3_512wECDSA` -> `NID_ecdsa_with_SHA3_512`
- `DSAk` -> `NID_dsa`
- `RSAk` -> `NID_rsaEncryption`
- `ECDSAk` -> `NID_X9_62_id_ecPublicKey`
2021-10-26 09:14:25 +02:00
Sean Parkinson
08d9b145d9 ED25519 and ED448 api.c tests: doesn't compile with --opensslcoexist
Change SSL_FATAL_ERROR to  WOLFSSL_FATAL_ERROR
2021-10-26 15:50:52 +10:00
Daniel Pouzzner
49e29eb811 Merge pull request #4504 from wolfSSL/revert-4429-fix-nids
Revert "Make NID's consistent"
2021-10-26 00:09:56 -05:00
John Safranek
a0c7c079b8 Revert "Make NID's consistent" 2021-10-25 21:57:28 -07:00
Sean Parkinson
cdf72facbf Merge pull request #4429 from julek-wolfssl/fix-nids
Make NID's consistent
2021-10-26 09:59:26 +10:00
Sean Parkinson
905683c98c Merge pull request #4496 from dgarske/sniffer_keywatch
Fix for sniffer key watch callback
2021-10-26 09:55:17 +10:00
Sean Parkinson
6070981366 Merge pull request #4490 from dgarske/static_mem_unittest
Add CTX static memory API unit tests
2021-10-26 09:52:14 +10:00
David Garske
aa72f0685d Merge pull request #4499 from SparkiDev/dec_ku_len
KeyUsage dcoding: Ensure data length is 1 or 2
2021-10-25 15:11:18 -07:00
Chris Conlon
eb0b6ca122 fix unit test for wc_ERR_print_errors_fp() when NO_ERROR_QUEUE is defined 2021-10-25 13:50:39 -06:00
David Garske
517225e135 Merge pull request #4497 from cconlon/authInfo
fix nid2oid/oid2nid for oidCertAuthInfoType
2021-10-25 09:29:09 -07:00
Sean Parkinson
8e6c6e7757 KeyUsage dcoding: Ensure data length is 1 or 2 2021-10-25 09:22:31 +10:00
David Garske
bf2b13939f Merge pull request #4329 from kaleb-himes/OE22-Porting-Changes
Oe22 porting changes
2021-10-22 16:16:26 -07:00
Chris Conlon
402ee29163 fix nid2oid/oid2nid for oidCertAuthInfoType 2021-10-22 16:53:18 -06:00
David Garske
e4da9c6f48 Fix for sniffer key callback. Fix for building sniffer without RSA. Fix for wolfCrypt test cert ext without RSA. 2021-10-22 14:29:06 -07:00
kaleb-himes
5859779ddf Check-in non-FIPS specific porting changes for OE22
Fix no new line

Change comment style in testsuite.c

Add include for proper socket header in wolfio.h

Add dc_log_printf support to benchmark application

Pull in changes for examples

Refector NETOS check in test.c

Fix format and remove settings used only for validation testing

Implement peer review feedback

Address last items noted in peer review

Add new README to include.am

Adjust comment style on TODO

Gate changes in client and server properly

Add static on customer feedback

Fix settings include

Update latest peer feedback
2021-10-22 15:01:14 -06:00
John Safranek
d83d16af59 Merge pull request #4483 from julek-wolfssl/cov-reports 2021-10-22 13:07:57 -07:00
David Garske
229f0d5fd1 Merge pull request #4485 from JacobBarthelmeh/certs
Improve permitted alternate name logic in certificate ASN handling
2021-10-22 11:59:16 -07:00
David Garske
c027fffa92 Fix for CTX free heap hint issue. With openssl extra the param and x509_store.lookup.dirs are allocated at CTX init and if heap or static pool was used depends on ctx->onHeapHint. Added test case for this and inline code comment. 2021-10-22 11:58:02 -07:00
John Safranek
734a73dd35 Add missing null-check. Fix dead store. 2021-10-22 11:17:41 -07:00
David Garske
f8178b4896 Merge pull request #4495 from utzig/fix-mmacu-sha256-warn
Fix MMCAU_SHA256 type warnings
2021-10-22 10:55:43 -07:00
David Garske
587077856e Merge pull request #4494 from utzig/fix-forcezero-comment
Fix comment that applies to fp_forcezero
2021-10-22 10:55:30 -07:00
David Garske
c54f906678 Merge pull request #4492 from haydenroche5/pem_password_cb
Rename pem_password_cb to wc_pem_password_cb.
2021-10-22 10:51:47 -07:00
John Safranek
aad230a7e3 Restore a test case. Add a missing null-check. 2021-10-22 10:36:17 -07:00
David Garske
4c0527490d Fixes for API unit test with WOLFSSL_NO_ASN_STRICT. Fix spelling error. 2021-10-22 09:59:16 -07:00
Fabio Utzig
29f4f09e6c Fix MMCAU_SHA256 type warnings
Fix warnings in the usage of MMCAU_SHA256 routines, where digest is
expected to be `uint32_t*`, but is defined as `word32*`, which results
in:

```
expected 'uint32_t *' {aka 'long unsigned int *'} but argument is of
type 'word32 *' {aka 'unsigned int *'}
```

Signed-off-by: Fabio Utzig <utzig@apache.org>
2021-10-22 09:51:14 -03:00
Fabio Utzig
a00e3024ce Fix comment that applies to fp_forcezero
Fix comment mentioning the use of `ForceZero` besides `fp_clear`, which
uses `XMEMSET`, and puts it above `fp_forcezero` where it should belong.

Signed-off-by: Fabio Utzig <utzig@apache.org>
2021-10-22 09:01:31 -03:00
Sean Parkinson
6e7dee3283 Change to compare each name to each matching type in permittedNames list. 2021-10-22 10:57:11 +10:00
Hayden Roche
0b6523d933 Rename pem_password_cb to wc_pem_password_cb.
Recently, we had a wolfEngine customer report a compilation error because
wolfSSL and OpenSSL both define the typedef pem_password_cb. The solution is to
namespace our typedef with the wc_ prefix. In order to not break existing code
that relies on wolfSSL providing pem_password_cb, if OPENSSL_COEXIST is not
defined, we define pem_password_cb as a macro that maps to wc_pem_password_cb.
2021-10-21 16:47:29 -07:00
David Garske
b5f4a0c005 Improve API unit test to use X509_NAME_get_sz and make it widely available. 2021-10-21 16:42:19 -07:00
David Garske
f17187aad9 Fixes for static memory testing. Fix clang memory sanitizer warnings. 2021-10-21 16:33:57 -07:00
David Garske
785e37790a Cleanup API test case debugging. 2021-10-21 12:35:06 -07:00
David Garske
911d95e5e4 Add CTX static memory API unit tests. Expanded crypto callback TLS tests to older SSL/TLS and DTLS. 2021-10-21 11:47:00 -07:00
David Garske
37a976b4bf Fix example server to support option 7 (which exists). Fix static mem size required with session cert (matches client now). 2021-10-21 11:41:30 -07:00
Juliusz Sosinowicz
79b738b5a6 commit-test and jenkins fixes 2021-10-21 14:29:28 +02:00
Juliusz Sosinowicz
44d8ab20e1 #456 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
f512514fd6 #450 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
a4a093ebed #449 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
9e3ff9c92c #427 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
9386a882b9 #424
Refactor d2i key API to use common code
2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
4d5dceaa4e #421 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
9d989689c6 #420 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
86f93e5c1b #419 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
70901f0626 #257 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
3894021a53 #246 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
af64d4347d #244 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
f7f12da8ec #242 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
e70dfe7265 #239 2021-10-21 14:25:06 +02:00
Juliusz Sosinowicz
3563585274 #240 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
df1d817f1f #129 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
1d5f4a6664 #118 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
81c3f4b925 #114 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
1239a7f57d #96 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
a1127be18e #95 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
2678a3b981 #67 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
e97e8bc7d0 #59 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
5bacc0c9ab In first |= op r always equals 0 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
8e6759384c #40 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
344a07051e #39 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
74cf332a8b #37 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
e82ae7b072 #17 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
79682fd30a #15 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
97c89dd072 #9 2021-10-21 14:22:54 +02:00
Juliusz Sosinowicz
4268763adb wc_ClearErrorNodes is a local API that is not exported for linking 2021-10-21 13:47:55 +02:00
Juliusz Sosinowicz
642d0e0fba Fix NID conflicts
- `NID_sha224` conflicted with `NID_sha1WithRSAEncryption`
- `NID_commonName` conflicted with `PBE-SHA1-3DES`
- `NID_X9_62_prime239v3` conflicted with `AES128CBCb`
- `NID_md5` conflicted with `NID_surname`
- `NID_md2WithRSAEncryption` conflicted with `NID_localityName`
- `NID_md5WithRSAEncryption` conflicted with `NID_stateOrProvinceName`

NID conflicts found by examining the runtime values in `wolfssl_object_info`
2021-10-21 13:01:57 +02:00
Juliusz Sosinowicz
20473ba563 Make NID's consistent
- `CTC_SHAwDSA` -> `NID_dsaWithSHA1`
- `CTC_SHA256wDSA` -> `NID_dsa_with_SHA256`
- `CTC_MD2wRSA` -> `NID_md2WithRSAEncryption`
- `CTC_MD5wRSA` -> `NID_md5WithRSAEncryption`
- `CTC_SHAwRSA` -> `NID_sha1WithRSAEncryption`
- `CTC_SHA224wRSA` -> `NID_sha224WithRSAEncryption`
- `CTC_SHA256wRSA` -> `NID_sha256WithRSAEncryption`
- `CTC_SHA384wRSA` -> `NID_sha384WithRSAEncryption`
- `CTC_SHA512wRSA` -> `NID_sha512WithRSAEncryption`
- `CTC_SHA3_224wRSA` -> `NID_RSA_SHA3_224`
- `CTC_SHA3_256wRSA` -> `NID_RSA_SHA3_256`
- `CTC_SHA3_384wRSA` -> `NID_RSA_SHA3_384`
- `CTC_SHA3_512wRSA` -> `NID_RSA_SHA3_512`
- `CTC_SHAwECDSA` -> `NID_ecdsa_with_SHA1`
- `CTC_SHA224wECDSA` -> `NID_ecdsa_with_SHA224`
- `CTC_SHA256wECDSA` -> `NID_ecdsa_with_SHA256`
- `CTC_SHA384wECDSA` -> `NID_ecdsa_with_SHA384`
- `CTC_SHA512wECDSA` -> `NID_ecdsa_with_SHA512`
- `CTC_SHA3_224wECDSA` -> `NID_ecdsa_with_SHA3_224`
- `CTC_SHA3_256wECDSA` -> `NID_ecdsa_with_SHA3_256`
- `CTC_SHA3_384wECDSA` -> `NID_ecdsa_with_SHA3_384`
- `CTC_SHA3_512wECDSA` -> `NID_ecdsa_with_SHA3_512`
- `DSAk` -> `NID_dsa`
- `RSAk` -> `NID_rsaEncryption`
- `ECDSAk` -> `NID_X9_62_id_ecPublicKey`
2021-10-21 13:01:57 +02:00
Jacob Barthelmeh
12f86b020a clean up test case memory and common name size 2021-10-20 17:13:34 -06:00
Sean Parkinson
817cd2f2a6 Merge pull request #4487 from haydenroche5/openssh
Make several changes to support OpenSSH 8.5p1.
2021-10-21 08:59:38 +10:00
Sean Parkinson
ac3612bbef Merge pull request #4469 from dgarske/android_keystore
Support for Android KeyStore compatibility API's
2021-10-21 08:30:08 +10:00
Sean Parkinson
a9f467a6b0 Merge pull request #4457 from dgarske/zd13036
Fix for sniffer to trap negative size calculation
2021-10-21 08:17:52 +10:00
John Safranek
ff8e7609f5 Merge pull request #4458 from kosmas-valianos/SkipCRLnoCDP 2021-10-20 13:45:58 -07:00
Jacob Barthelmeh
f57801c17b more name constraint test cases and adjust DNS base name matching to not require . 2021-10-20 14:25:02 -06:00
Hayden Roche
864f913454 Make several changes to support OpenSSH 8.5p1.
- Permit more wolfSSL_EC_POINT_* functions for FIPS builds. This requires one
workaround in wolfSSL_EC_POINT_mul where wc_ecc_get_generator isn't available.
- Permit more AES-GCM code in EVP code for FIPS v2 builds. It's unclear why this
code wasn't already available.
- Add EVP_CIPHER_CTX_get_iv to the compatibility layer.
- Clear any existing AAD in the EVP_CIPHER_CTX for AES-GCM when we receive the
EVP_CTRL_GCM_IV_GEN control command. OpenSSL does this, and OpenSSH is relying
on this behavior to use AES-GCM correctly.
- Modify ecc_point_test in testwolfcrypt so that it doesn't fail when doing a
FIPS build with HAVE_COMP_KEY defined.
2021-10-20 11:00:42 -07:00
John Safranek
e572c6b9d7 Merge pull request #4486 from dgarske/set_secret 2021-10-20 10:54:13 -07:00
David Garske
1d6c7b542d Update the user_settings.h template for Android, based on final testing. 2021-10-20 10:10:15 -07:00
David Garske
6d2a5fab9b Added test cases for EVP_PKCS82PKEY and EVP_PKEY2PKCS8. 2021-10-20 09:18:13 -07:00
Jacob Barthelmeh
ab6939d200 add new test cert to make dist 2021-10-19 23:34:03 -06:00
Jacob Barthelmeh
e0e43b6a16 clean up test case 2021-10-19 23:12:07 -06:00
Jacob Barthelmeh
3b73c6e3ae handle multiple permitted name constraints 2021-10-19 23:12:07 -06:00
Jacob Barthelmeh
afee92e0cf bail out when a bad alt name is found in the list of alt names 2021-10-19 23:12:07 -06:00
David Garske
e5caf5124c Merge pull request #4477 from luizluca/zero-terminate-constraints
ASN: zero-terminate name constraints strings
2021-10-19 21:16:46 -07:00
David Garske
892685ac59 Merge pull request #4472 from utzig/ksdk-port-koblitz
nxp: ksdk: add support for Koblitz curves
2021-10-19 21:14:38 -07:00
David Garske
a145f3107d Merge pull request #4481 from SparkiDev/mod_exp_even
SP int: handle even modulus with exponentiation
2021-10-19 21:09:15 -07:00
David Garske
4e7ce45a8c Allow loading public key with PK callbacks also. 2021-10-19 17:04:18 -07:00
David Garske
de8798f4be Fix API unit tests where DH 3072-bit is not enabled. 2021-10-19 17:04:18 -07:00
David Garske
a03ed32380 Support for Android KeyStore compatibility API's:
* Adds `EVP_PKCS82PKEY` and `d2i_PKCS8_PRIV_KEY_INFO`.
* Adds `EVP_PKEY2PKCS8` and `i2d_PKCS8_PRIV_KEY_INFO`.
* Adds `ECDSA_verify`.
* Fix to allow `SHA256()` and `MD5()` with FIPSv2.
* Decouple crypto callbacks and hash flags
* Fix for possible use of uninitialized when building TLS bench without TLS v1.3.
* Fix for building with `NO_CHECK_PRIVATE_KEY`. Test `./configure --disable-pkcs12 --enable-opensslextra CFLAGS="-DNO_CHECK_PRIVATE_KEY"`.
* Fix to support `RSA_public_decrypt` for PKCSv15 only with FIPS.
* Cleanup `RSA_public_encrypt`, `RSA_public_decrypt` and `RSA_private_decrypt`.
* Added instructions for building wolfSSL with Android kernel.
2021-10-19 17:04:18 -07:00
David Garske
00bdc69284 Fix for wolfSSL_set_secret with DTLS where TLS v1.3 is not defined. Function assumed ssl->arrays->preMasterSecret was allocated. 2021-10-19 16:22:39 -07:00
Sean Parkinson
f04380d624 Merge pull request #4475 from douzzer/fix-scan-build-UnreachableCode
scan-build LLVM-13 fixes and expanded coverage
2021-10-20 08:30:46 +10:00
Sean Parkinson
d880403207 SP int: handle even modulus with exponentiation
Fix testing of mp_int to only call when implementation included.
2021-10-20 08:21:26 +10:00
Sean Parkinson
7f5a3a4e74 Merge pull request #4484 from dgarske/memtest
Fix for openssl test with --enable-memtest (also DH test build edge case)
2021-10-20 08:19:30 +10:00
Sean Parkinson
41eecd37e5 Merge pull request #4471 from embhorn/zd11886
Fix build errors with NO_BIO config
2021-10-20 08:06:42 +10:00
Sean Parkinson
93f033823c Merge pull request #4482 from miyazakh/mindowngarde_staticrsa
TLS 1.3: ServerHello downgrade with no extensions fix
2021-10-20 07:58:34 +10:00
David Garske
d297a06c25 Fix for wolfCrypt test with custom curves without Brainpool. Tested all changes on NXP K82 LTC. 2021-10-19 13:12:12 -07:00
David Garske
498884eadb Fix for missing dhKeyFile and dhKeyPubFile with file system enabled, WOLFSSL_DH_EXTRA and USE_CERT_BUFFERS_2048 set. 2021-10-19 13:06:37 -07:00
David Garske
dcb2ebba39 Fix for openssl.test extraction of version and cipher suites. Fix mem tracking to use stderr. Fix client version print to use single printf with newline. 2021-10-19 13:00:25 -07:00
Eric Blankenhorn
c0b592ef82 Fix build error with WOLFSSL_USER_IO 2021-10-19 08:27:43 -05:00
Hideki Miyazaki
91cd2b1731 TLS 1.3 ServerHello additional fix for PR4439 in Static RSA case 2021-10-19 17:51:00 +09:00
Daniel Pouzzner
768496be4a scan-build LLVM-13 fixes: in examples/echoclient/echoclient.c, remove frivolous "break;", avoiding need to pragma-ignore clang -Wunreachable-code-break. 2021-10-18 21:46:10 -05:00
Daniel Pouzzner
e341291d99 scan-build LLVM-13 fixes: tests/api.c: fix -Wunused-but-set-variable for drive_len in test_wolfSSL_EVP_Cipher_extra() by removing the unused drive_len code. 2021-10-18 21:46:10 -05:00
Daniel Pouzzner
69bc801c13 scan-build LLVM-13 fixes: src/ssl.c: work around deadcode.DeadStores warning in wolfSSL_X509_REQ_sign() in a different way, avoiding WC_MAYBE_UNUSED. 2021-10-18 21:46:09 -05:00
Daniel Pouzzner
76332069ea examples/client/client.c: remove frivolous break to avoid need for PRAGMA_CLANG("clang diagnostic ignored \"-Wunreachable-code-break\""). 2021-10-18 21:46:09 -05:00
Daniel Pouzzner
a5006d580c scan-build LLVM-13 fixes: sp_int.c: drop "&& defined(SP_DEBUG_VERBOSE)" from preprocessor gates around debugging printfs. 2021-10-18 21:46:09 -05:00
Daniel Pouzzner
007f01e7ec scan-build LLVM-13 fixes: in src/tls.c TLSX_PopulateExtensions(), avoid -Wunreachable-code-return by refactoring iteration to use an array terminator (a new "WOLFSSL_NAMED_GROUP_INVALID" with value 0) rather than a compile-time-calculated constant of iteration. 2021-10-18 21:46:09 -05:00
Daniel Pouzzner
816527e826 scan-build fixes: back out all "#ifndef __clang_analyzer__" wrappers added to suppress false and frivolous positives from alpha.deadcode.UnreachableCode, and rename new macro WC_UNUSED to WC_MAYBE_UNUSED to make its meaning more precisely apparent. build is still clean with -Wunreachable-code-break -Wunreachable-code-return under scan-build-13. 2021-10-18 21:46:09 -05:00
Daniel Pouzzner
f621a93081 more scan-build LLVM-13 fixes and expanded coverage: deadcode.DeadStores in client.c and server.c (no functional changes). 2021-10-18 21:46:09 -05:00
Daniel Pouzzner
62822be6ce scan-build LLVM-13 fixes and expanded coverage: add WC_UNUSED and PRAGMA_CLANG_DIAG_{PUSH,POP} macros; deploy "#ifndef __clang_analyzer__" as needed; fix violations and suppress false positives of -Wunreachable-code-break, -Wunreachable-code-return, and -enable-checker alpha.deadcode.UnreachableCode; expand scan-build clean build scope to --enable-all --enable-sp-math-all. 2021-10-18 21:46:09 -05:00
Sean Parkinson
7447a567e1 Merge pull request #4480 from JacobBarthelmeh/fuzzing
sanity check on q value with DSA sign
2021-10-19 11:10:51 +10:00
Sean Parkinson
84b845c65b Merge pull request #4478 from maximevince/zephyr-user-settings-override
Zephyr: Rename leftover CONFIG_WOLFSSL_OPTIONS_FILE
2021-10-19 09:51:15 +10:00
David Garske
a50d1f4870 Merge pull request #4301 from julek-wolfssl/issue-4298
`mem_buf` only used with memory BIO
2021-10-18 10:29:55 -07:00
Jacob Barthelmeh
c07a7deec2 sanity check on q value with DSA sign 2021-10-18 10:17:49 -06:00
Maxime Vincent
77895ac964 Rename leftover CONFIG_WOLFSSL_OPTIONS_FILE to CONFIG_WOLFSSL_SETTINGS_FILE
Signed-off-by: Maxime Vincent <maxime@veemax.be>
2021-10-16 15:43:21 +02:00
Luiz Angelo Daros de Luca
0e3218dcd0 ASN: zero-terminate name constraints strings
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2021-10-15 20:19:05 -03:00
David Garske
b2c003d7d4 Fix for sniffer to trap negative sslBytes. Revert logic from PR 3493 blocking out of range sequence numbers. Fix ack sequence rollover logic. ZD13036 2021-10-15 11:31:53 -07:00
Daniel Pouzzner
60adf22ce1 Merge pull request #4468 from SparkiDev/sp_fixes_6
SP: regenerated SP code
2021-10-15 02:27:19 -05:00
Sean Parkinson
b2b39f01b7 Merge pull request #4474 from cconlon/includekds
include IDE/KDS in make dist archive
2021-10-15 08:33:23 +10:00
Chris Conlon
7bd92e606b Merge pull request #4473 from JacobBarthelmeh/dks7g2
Update DK-S7G2 README.md
2021-10-14 16:29:08 -06:00
Eric Blankenhorn
17e0249a26 Fixing NO_BIO and OPENSSL_ALL errrors 2021-10-14 16:03:52 -05:00
Chris Conlon
228f1e233a include IDE/KDS in make dist archive 2021-10-14 14:01:19 -06:00
Jacob Barthelmeh
82a1c4b9f1 Update DK-S7G2 README.md 2021-10-14 13:09:42 -06:00
David Garske
2aa2ef84b2 Merge pull request #4470 from LinuxJedi/md-cleanups
Cleanup markdown documentation
2021-10-14 11:04:48 -07:00
Fabio Utzig
ed243b3327 nxp: ksdk: add support for Koblitz curves
The Kinetis port implementation currently only supports SECP random
curves. This commit expands it to also support the accepted SECP
koblitz curves, based on user settings. The implementation also makes
it easy to add Brainpool curves.

Signed-off-by: Fabio Utzig <utzig@apache.org>
2021-10-14 12:33:30 -03:00
Eric Blankenhorn
61bab6f68b Fix test build errors with NO_BIO 2021-10-14 09:37:01 -05:00
Eric Blankenhorn
1396c46281 Fix build errors with NO_BIO config 2021-10-14 09:06:54 -05:00
Sean Parkinson
4c70ac73f1 Merge pull request #4467 from dgarske/smtp
Example client: fix for SMTP temp buffer size
2021-10-14 08:16:42 +10:00
Sean Parkinson
b93b7b07a9 Merge pull request #4463 from JacobBarthelmeh/fuzzing
DSA: add check on bit length of q
2021-10-14 08:06:53 +10:00
Andrew Hutchings
11e3f867b0 Cleanup markdown documentation
* Add syntax highlighting where appropriate
* Fix some markdown compliance issues
* Add some links for things
* Add some inline code quoting
* Fix some headings
* Fix copyright date in doxygen html output
2021-10-13 16:39:46 +01:00
Chris Conlon
cc63668691 Merge pull request #4445 from TakayukiMatsuo/tsip113
Add support for TSIPv1.13
2021-10-13 09:26:58 -06:00
Sean Parkinson
5748818427 SP: regenerated SP code 2021-10-13 08:37:38 +10:00
Sean Parkinson
7f1dbd8709 Merge pull request #4420 from douzzer/smallstack-ge-sp
SP, Ed25519: smallstack
2021-10-13 08:33:36 +10:00
Sean Parkinson
03d2e9ad8c Merge pull request #4466 from embhorn/zd13059
Fix for ecc_projective_*_safe visibility
2021-10-13 08:27:47 +10:00
David Garske
bc97539756 Increase the size of the temp buffer for starttls. Some SMTP servers send larger messages. 2021-10-12 15:13:38 -07:00
David Garske
b9b5661550 Merge pull request #4465 from LinuxJedi/stm32-fixes
Minor STM32F1 fixes
2021-10-12 11:57:18 -07:00
Andrew Hutchings
66c4b6d270 Improve STM32 documentation
Walk through how to create a new STM32CubeMX project for wolfSSL.
2021-10-12 17:13:41 +01:00
Eric Blankenhorn
be6bf5687b Fix for ecc_projective_*_safe visibilty 2021-10-12 11:12:42 -05:00
Andrew Hutchings
97883d78ac Minor STM32F1 fixes
* Not all STM32 RTCs support subseconds in the time struct, so this is
  now ifdef'd using the only obvious define which exists when subseconds
  exist.
* Let wc_GenerateSeed detect STM32's without RNG correctly.
* wolfCrypt test was attempting to use variables that don't exist when
  both WOLFSSL_SMALL_STACK and WC_NO_RNG is defined.
2021-10-12 16:20:36 +01:00
David Garske
f20f883e94 Merge pull request #4464 from SparkiDev/tls_hs_state_fix
TLS: don't set the handshake state to the record type
2021-10-12 08:18:17 -07:00
Daniele Lacamera
ec78b2e368 Merge pull request #4322 from dgarske/se050_branch
NXP SE050 Support
2021-10-12 07:37:58 -07:00
Sean Parkinson
6fbc9be71a Merge pull request #4462 from guidovranken/zd13048
Check return value of mp_grow in mp_mod_2d
2021-10-12 11:36:59 +10:00
Sean Parkinson
544e64f9e4 TLS: don't set the handshake state to the record type 2021-10-12 08:52:58 +10:00
Sean Parkinson
69d5405e91 Merge pull request #4350 from cconlon/pythonCompatD
OpenSSL compatibility fixes: BIO_set_nbio(), SHA3 NID, WOLFSSL_PYTHON
2021-10-12 08:14:34 +10:00
David Garske
70894383ce Fix for new SHA512 224/256 support with NXP SE050. 2021-10-11 13:01:38 -07:00
David Garske
90a51490a9 Peer review feedback. Improvements with small stack. 2021-10-11 11:54:03 -07:00
David Garske
0c1d12c224 Improve keyId logic. Fix minor compile warnings. Change wc_se050_set_config to match naming convention of other function in port. 2021-10-11 11:53:21 -07:00
Ethan Looney
09ce1e3c5f Improvements to the key id allocation 2021-10-11 11:53:21 -07:00
David Garske
185d48938d Fixes for building NXP SE050. Add support for automatic initialization of the SE050 if WOLFSSL_SE050_INIT is defined. Optionally can override the portName using SE050_DEFAULT_PORT. 2021-10-11 11:53:21 -07:00
David Garske
2028d8b63d Add missing se050_port.h. 2021-10-11 11:53:21 -07:00
David Garske
29f051e585 Fixes and cleanups for NXP SE050 support. 2021-10-11 11:53:19 -07:00
Ethan
3f76a76c46 SE050 port with support for RNG, SHA, AES, ECC (sign/verify/shared secret) and ED25519 2021-10-11 11:52:12 -07:00
Jacob Barthelmeh
63c9fa7a37 add check on bit length of q with DSA 2021-10-11 09:52:57 -06:00
Sean Parkinson
b8c4e89ea0 Merge pull request #4460 from dgarske/test_init
Refactor API unit test named initializer code for `callback_functions`
2021-10-11 08:25:38 +10:00
Sean Parkinson
511c74ea52 Merge pull request #4456 from dgarske/zd13032
Fix to not try OCSP or CRL checks if there is already an error
2021-10-11 08:20:58 +10:00
Guido Vranken
0522e19fc1 Check return value of mp_grow in mp_mod_2d
ZD13048
2021-10-10 21:02:03 +02:00
David Garske
a395305cab Refactor API unit test named initializer code for callback_functions, to avoid older g++ build issues. 2021-10-08 14:04:21 -07:00
JacobBarthelmeh
f757318eeb Merge pull request #4454 from dgarske/static_mem
Fix for `Bad memory_mutex lock` on static memory cleanup
2021-10-09 00:13:10 +07:00
Kosmas Valianos
8760f39476 Skip CRL verification in case no CDP in peer cert 2021-10-08 13:16:08 +02:00
David Garske
854512105f Merge pull request #4314 from SparkiDev/libkcapi
KCAPI: add support for using libkcapi for crypto (Linux Kernel)
2021-10-07 21:23:05 -07:00
Sean Parkinson
e0abcca040 KCAPI: add support for using libkcapi for crypto (Linux Kernel)
RSA, DH and ECC not testable as no Linux Kernel driver to use.
ECC implementation is customer specific.
2021-10-08 09:07:22 +10:00
Sean Parkinson
dd6e4093b3 Merge pull request #4448 from JacobBarthelmeh/Compatibility-Layer
remove error queue from JNI build and set a default upper bound on it
2021-10-08 08:35:03 +10:00
David Garske
668f8700a4 Fix to not try OCSP or CRL checks if there is already an error. This fix prevents an error code from being overwritten if there is already a failure. ZD13032 2021-10-07 15:30:16 -07:00
David Garske
725e503c57 Merge pull request #4451 from SparkiDev/asn_templ_fix_1
ASN template: replicate AddAltName change in template code
2021-10-07 09:23:37 -07:00
elms
8c178118a4 Configure: add option to enable alternate certificate chains (#4455) 2021-10-07 11:14:51 +10:00
David Garske
9d2082f7e1 Fixes and improvements for crypto callbacks with TLS (mutual auth) (#4437)
* This PR resolves issues with using TLS client authentication (mutual auth) with crypto callbacks. The TLS client auth will not be sent without a private key being set. The solution is to allow setting a public key only if crypto callbacks is enabled and a devId is set.

* Fix to allow using crypto callbacks with TLS mutual authentication where a private key is not available.
* Fix for ED25519 sign when only a private key is loaded.
* Fix to enable crypto callbacks for ED25519 and Curve25519 in TLS by using the _ex init functions.
* Fix for wc_PemToDer return code where a PKCS8 header does not exist.
* Remove duplicate logs in DoCertificateVerify.
* Doxygen API updates: Added crypto callback help and updated use_PrivateKey with info about public key use.

* * Added crypto callback tests for TLS client and server with mutual auth for RSA, ECC and ED25519.
* Enhanced the API unit test TLS code to allow setting CA, cert and key.

* Revert ED25519 changes. Opt to calculate public key directly when required for signing in the TLS crypto callback test. Build configuration fixes.

* Fix to use proper devId in `ProcessBufferTryDecode`.

* Various build fixes due to changes in PR. G++ issue with `missing-field-initializers`. Unused api.c func with DTLS and session export. Duplicate `eccKeyPubFile` def.

* Added crypto callback TLS tests at WOLFSSL object level. Fix for ED25519/ED448 with client mutual auth where the private key is not set till WOLFSSL object. Fix issues with  `wolfSSL_CTX_GetDevId` where devId is set on WOLFSSL object. Enable the `_id` API's for crypto callbacks.

* Proper fix for `eccKeyPubFile` name conflict. Was causing RSA test to fail (expected DER, not PEM).
2021-10-07 11:12:06 +10:00
Sean Parkinson
dfbdcf9400 ASN template: replicate AddAltName change in template code 2021-10-07 09:51:56 +10:00
Jacob Barthelmeh
34c9367cbe refactor location of error queue count and consolidate no error queue macro 2021-10-06 11:55:40 -06:00
David Garske
928f4ad430 Merge pull request #4452 from LinuxJedi/stm32-readme-fix
Fixes to STM32 README
2021-10-06 10:07:41 -07:00
David Garske
9f57345614 Fix for Bad memory_mutex lock on static memory cleanup (was free'ing mutex then trying to use it). 2021-10-05 13:46:42 -07:00
David Garske
da15356c2a Merge pull request #4444 from anhu/pq_bench
Benchmarking the supported groups.
2021-10-05 09:52:51 -07:00
JacobBarthelmeh
43ffe26133 Merge pull request #4430 from embhorn/zd12976
Add support for X9.42 header
2021-10-05 23:47:42 +07:00
Andrew Hutchings
fd54dc4838 Fixes to STM32 README
* Reordered things so that the installation of the Cube Pack comes
  before the Cube Pack usage.
* Added another way to find the pack installation menu (because I'm
  blind to the box on the screen apparently).
* Two extra steps in the Cube Pack Usage that were missing (6 & 8)
* Added syntax highlighting to the markdown.
2021-10-05 14:19:35 +01:00
David Garske
310a75ff43 Merge pull request #4449 from SparkiDev/fix_1
X509 name: remove unused variable
2021-10-04 20:01:04 -07:00
David Garske
024c59a04c Merge pull request #4439 from SparkiDev/tls13_min_down_no_ext
TLS 1.3: Check min downgrade when no extensions in ServerHello
2021-10-04 16:39:29 -07:00
Sean Parkinson
152da35ca4 X509 name: remove unused variable 2021-10-05 09:06:10 +10:00
Anthony Hu
41b9b14cfb whitespace 2021-10-04 18:35:09 -04:00
Anthony Hu
f77a5e26b5 semi-colon --> colon and use wolfTLSv1_3_server_method when NO_WOLFSSL_CLIENT. 2021-10-04 18:31:28 -04:00
Jacob Barthelmeh
b582e152ea add test case max error queue size 2021-10-04 14:52:05 -06:00
Anthony Hu
310ab6692a Drop a function brace and WOLFSSL_TLS13. 2021-10-04 13:56:01 -04:00
Jacob Barthelmeh
40ac1c4dd2 remove error queue from JNI build and put a default max on error queue size 2021-10-04 11:45:18 -06:00
Anthony Hu
0bee624ee5 Merge pull request #4447 from lealem47/oqs-doc 2021-10-04 13:03:46 -04:00
Eric Blankenhorn
1440b8966d Add test for X9.42 parsing 2021-10-04 11:05:58 -05:00
Lealem Amedie
4084928d93 Slight changes to liboqs documentation in INSTALL and example client/server 2021-10-02 13:14:32 -06:00
TakayukiMatsuo
72ea8dffe2 Add support for TSIPv1.13 2021-10-02 07:03:12 +09:00
David Garske
0abbd9b1ec Merge pull request #4438 from ejohnstown/dtls-big
DTLS Related Fixes
2021-10-01 13:04:20 -07:00
Anthony Hu
2fa0114d54 Benchmarking the supported groups. 2021-10-01 15:38:07 -04:00
David Garske
97d96c6cf8 Merge pull request #4422 from haydenroche5/cmake
Add a CMake option to build wolfcrypt test and bench code as libraries.
2021-10-01 12:32:50 -07:00
John Safranek
774bc36603 Merge pull request #4061 from JacobBarthelmeh/sessionExport 2021-10-01 10:21:42 -07:00
John Safranek
cd2bd0b7a3 Enable All Disable DTLS fixes
1. Remove mcast and jni from enable-all.
2. Add comment to DTLS section.

Testing `./configure --enable-all --disable-dtls` would leave DTLS still
enabled. enable-all was also enabling mcast, which it doesn't need to
do, that would force DTLS back on. JNI also forces DTLS on. The other
language wrappers are not included in enable-all, so leave JNI out.
2021-10-01 09:56:58 -07:00
John Safranek
faca24c00d Merge pull request #4434 from SparkiDev/armv8_nighlty_1 2021-10-01 09:06:33 -07:00
David Garske
d48dc55611 Merge pull request #4440 from SparkiDev/jenkins_powerpc_fix_1
ASN: tidy up SetAsymKeyDerPublic()
2021-10-01 08:17:12 -07:00
David Garske
a575595e5f Merge pull request #4256 from SparkiDev/arm_keil_fix
SP ARM Thumb support for Keil and performance improvements
2021-10-01 07:10:41 -07:00
Sean Parkinson
4473e9335e TLS 1.3: Check min downgrade when no extensions in ServerHello
TLS 1.3 ServerHello must have extensions, so server attempting to
downgrade, but min downgrade was not checked in that case.
2021-10-01 12:51:10 +10:00
David Garske
66a6153456 Merge pull request #4436 from elms/makefile/add_ed448
GCC makefile: Add sources files
2021-09-30 18:44:36 -07:00
Sean Parkinson
ca002b5ee9 ASN: tidy up SetAsymKeyDerPublic()
Also, nighlty PowerPC Jenkins test complained of use of uninitialized in
function. Ensure vars initialized despite not needing it.
2021-10-01 10:44:07 +10:00
Sean Parkinson
6300989937 SP: Thumb assembly for older Keil compilers and optimize
Improve the generated instructions for multiplying 32 bits by 32 bits
and squaring 32 bits with 64 bit results.
Minimize loads in montgomery reduction, mul and sqr.
Pull conditional subtract into montgomery reduction assembly code.
Added unrolled square and multiply
Define WOLFSSL_SP_LARGE_CODE to use the unrolled versions.
2021-10-01 09:52:29 +10:00
John Safranek
98b1e93429 Merge pull request #4402 from JacobBarthelmeh/Compatibility-Layer 2021-09-30 15:53:58 -07:00
elms
f1a0d00f4e GCC Makefile: wrap async and selftest 2021-09-30 15:51:19 -07:00
Jacob Barthelmeh
ed8b87306d account for test case where psk and anon is off 2021-09-30 15:48:55 -06:00
John Safranek
b0de40d10a Forgive a DTLS session trying to send too much at once. (ZD12921) 2021-09-30 14:27:21 -07:00
elms
2dfc3f308b GCC makefile: Add other missing source files 2021-09-30 14:25:15 -07:00
John Safranek
998c7a9cb9 Merge pull request #4435 from anhu/docfix 2021-09-30 09:50:38 -07:00
Jacob Barthelmeh
cb4b57c5c7 add tls 1.3 test case 2021-09-30 10:08:47 -06:00
Anthony Hu
833c9d3f71 Fix INSTALL file to specify levels. 2021-09-30 09:43:32 -04:00
Sean Parkinson
38cfec89e8 ARMv8: fix configurations
Poly1305: poly1305_block() is void for ARMv8 ASM
SHA512: explicitly include cryptocb.h.
AES: set keylen for EVP API
AES: Implement streaming AES-GCM.
2021-09-30 10:33:08 +10:00
Chris Conlon
cf1ce3f073 Add get_default_cert_file/env() stubs, SSL_get/set_read_ahead(), SSL_SESSION_has_ticket/lifetime_hint() (#4349)
* add wolfSSL_X509_get_default_cert_file/file_env/dir/dir_env() stubs

* add SSL_get_read_ahead/SSL_set_read_ahead()

* add SSL_SESSION_has_ticket()

* add SSL_SESSION_get_ticket_lifetime_hint()

* address review feedback - comments, return values

* make SSL_get_read_ahead() arg const

* add unit tests for SESSION_has_ticket/get_ticket_lifetime_hint

* test for SESSION_TICKET_HINT_DEFAULT in api.c for wolfSSL_SESSION_get_ticket_lifetime_hint()

* fix variable shadow warning in api.c
2021-09-30 08:35:23 +10:00
Chris Conlon
bcd6930581 Various OpenSSL compatibility expansion items, for Python 3.8.5 (#4347)
* make ASN1_OBJECT arg const in OBJ_obj2txt

* add ERR_LIB values to openssl/ssl.h

* add missing alert type definitions in openssl/ssl.h

* add definition for X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS, no support

* define value for X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT

* use correct CRYPTO_THREADID arg type for wolfSSL_THREADID_set_callback callback

* add handshake type defines for compat layer message callback types

* define ASN1_R_HEADER_TOO_LONG for compatibility builds

* use correct return type for wolfSSL_THREADID_set_callback, remove Qt code no longer needed
2021-09-30 08:32:49 +10:00
Chris Conlon
95b9fae605 Add DIST_POINT compatibility functions (#4351)
* add DIST_POINT compatibility functions

* switch X509_LU_* from enum to define, prevent compiler type warnings

* refactoring, adding in comments, and formating

* refactoring and a memory leak fix

* cast return value for g++ warning

* refactor wolfSSL_sk_DIST_POINT_pop_free and remove NULL assign after free

* fix get next DIST_POINT node for free function

Co-authored-by: Jacob Barthelmeh <jacob@wolfssl.com>
2021-09-30 08:27:39 +10:00
Jacob Barthelmeh
707385724e adjust macro guard around test cases 2021-09-29 13:28:20 -06:00
Jacob Barthelmeh
5f9f6fd9fa add some test cases and use allocator 2021-09-29 12:02:26 -06:00
David Garske
ecf7dea6a1 Merge pull request #4433 from anhu/unit_tests
Unit tests for post-quantum groups.
2021-09-29 10:31:00 -07:00
Jacob Barthelmeh
dd7b62d067 fix for use with idea enabled 2021-09-29 11:15:51 -06:00
elms
f46f69c1dc GCC makefile: Add ed448 files 2021-09-29 08:17:44 -07:00
Jacob Barthelmeh
ae47cb3bcd update check on is TLS, update macro guard for test case 2021-09-28 16:57:30 -06:00
Anthony Hu
a55cedd357 Fixup in response to dgarske comments 2021-09-28 18:36:18 -04:00
Anthony Hu
0e80923fb3 Unit tests for post-quantum groups.
Also, fixes for the things they caught such as:

- ssl->arrays->preMasterSecret is pre-allocated so copy into it instead of
  moving ownership of buffer.
- server does not need to save the public key.
- in TLSX_KeyShare_Parse() don't call TLSX_KeyShare_Use() because its done in
  TLSX_PopulateExtensions().
- in TLSX_KeyShare_Use(), the server generates the ciphertext while the client
  generates the public key.
- in TLSX_PopulateExtensions(), prevent client from calling TLSX_KeyShare_Use()
  because its already been done.
- Support longer curve/group names.
2021-09-28 17:16:44 -04:00
David Garske
f4be011b91 Merge pull request #4432 from haydenroche5/cmake_user_settings
Don't automatically set BUILD_ED25519_SMALL and BUILD_CURVE25519_SMALL in the  CMake build when using user_settings.h.
2021-09-28 14:01:39 -07:00
John Safranek
a4f927999f Merge pull request #4431 from haydenroche5/is_on_curve_fips
Don't compile wolfSSL_EC_POINT_is_on_curve for FIPS.
2021-09-28 09:42:08 -07:00
Hayden Roche
a9870d59a3 Don't automatically set BUILD_ED25519_SMALL and BUILD_CURVE25519_SMALL in the
CMake build when using user_settings.h.

See https://github.com/wolfSSL/wolfssl/pull/4367 for the same change to the
autotools build.
2021-09-28 09:00:50 -07:00
Hayden Roche
6a0bc995a0 Don't compile wolfSSL_EC_POINT_is_on_curve for FIPS.
This function uses wc_ecc_point_is_on_curve, which isn't in the current (v2)
FIPS module.
2021-09-27 16:08:04 -07:00
David Garske
847b8f9a1f Reduce openssl verbosity in BIO due to PEM_X509_INFO_read_bio reading 1 byte at a time. Remove duplicate PEM_X509_INFO_read_bio macro. (#4428) 2021-09-28 08:21:23 +10:00
Eric Blankenhorn
702ba65b1c Add support for X9.42 header 2021-09-27 15:37:11 -05:00
Jacob Barthelmeh
6e7c6e8a66 add comments to dox header file 2021-09-27 14:01:15 -06:00
Jacob Barthelmeh
41f3a006ac sanity check on padding size imported 2021-09-27 14:01:15 -06:00
Jacob Barthelmeh
21181f2437 canned test was made without the wolfssl_idea enum on 2021-09-27 14:01:15 -06:00
Jacob Barthelmeh
13478a94a8 sanity check on block size with block cipher type 2021-09-27 14:01:15 -06:00
Jacob Barthelmeh
8b456b90e0 add test case for tls export/import 2021-09-27 14:01:15 -06:00
Jacob Barthelmeh
1929024029 fix for getting export buffer size 2021-09-27 14:01:15 -06:00
Jacob Barthelmeh
64f53c4e1b fix macro name and make api public 2021-09-27 14:01:15 -06:00
Jacob Barthelmeh
22b6cc675a add import/export of peer info with tls 2021-09-27 14:01:15 -06:00
Jacob Barthelmeh
2871fc670f initial serialization of TLS session 2021-09-27 14:00:13 -06:00
David Garske
943c98a45e Fix some PKCS11 warnings and spelling errors. (#4427) 2021-09-27 08:23:48 +10:00
David Garske
3bdce348e9 Added NID_pkcs9_contentType and ub_ to compatibility layer (#4408)
* Added `NID_pkcs9_contentType` and `ub_` values.  ZD 11742

* Improve the API unit test. Also only include when `WOLFSSL_CERT_REQ` defined.
2021-09-27 08:21:53 +10:00
Chris Conlon
9e4ab9b638 Add BIO_up_ref(), PEM_read_DHparam(), EVP_MD_nid() (#4348)
* add BIO_up_ref

* add PEM_read_DHparams()

* add EVP_MD_nid()

* exclude PEM_read_DHparams when NO_FILESYSTEM defined

* review feedback: single threaded, indents, EVP_MD_nid
2021-09-27 08:20:37 +10:00
Juliusz Sosinowicz
32e4d5ad70 Use record size instead of buffer size to validate alert length (#4425) 2021-09-27 08:05:13 +10:00
Hayden Roche
709a84f8b5 Add support for libwolfcrypttest and libwolfcryptbench to autotools flow.
These can be built by configuring with `--enable-crypttests-libs`.
2021-09-25 10:31:06 -07:00
Hayden Roche
302938d3c6 Improve wolfcrypt test/bench library comments.
These can be built as shared libraries, too, so the comments shouldn't be
specific about static libraries.
2021-09-25 10:30:01 -07:00
John Safranek
7319627533 Merge pull request #4423 from elms/gcc_makefile_options
GCC makefile: allow overriding and provide more flexibility
2021-09-24 14:07:48 -07:00
Hayden Roche
9634a54b8f Improve CMake build option handling.
Prior to this commit, we only allowed CMake options to be specified according to
a finite set of values. For example if an option "WOLFSSL_FEATURE" was permitted
to take only the values "yes" and "no" and a user ran
`cmake -DWOLFSSL_FEATURE=ON`, that would fail because ON isn't in `[yes, no]`.
However, this behavior runs counter to CMake's way of evaluating boolean values,
which permits a variety of values that evaluate to true/false (see
https://cmake.org/cmake/help/latest/command/if.html#basic-expressions). This
commit will allow the user to specify any value for a build option. If it's not
in the predefined set of values, we use CMake's "if" logic to reduce the value
to yes or no.
2021-09-24 13:54:18 -07:00
Hayden Roche
ec857f6f62 Add a CMake option to build wolfcrypt test and bench code as static libs.
Application code can use the resulting CMake targets or the static library
artifacts directly (e.g. libwolfcrypttest.a on *nix).
2021-09-24 13:54:18 -07:00
elms
690b7d9800 GCC makefile: fix warning for hard fault format strings 2021-09-24 10:47:47 -07:00
TakayukiMatsuo
0bf832bd2a fix uninitialized variables 2021-09-24 23:22:04 +09:00
TakayukiMatsuo
5b3dfabc32 Introduce global protoVerTbl for SSL_CTX_set_min/max_proto_version 2021-09-24 16:05:55 +09:00
David Garske
8169e12975 Merge pull request #4424 from SparkiDev/rsa_dec_pkcs15
RSA: cast bitwise negate value to byte before converting to int
2021-09-23 21:47:36 -07:00
Hayden Roche
24e2eded1e Add to the OpenSSL compatibility layer. (#4404)
- X509_get_extension_flags
- X509_get_key_usage
- X509_get_extended_key_usage
- ASN1_TIME_to_tm
- ASN1_TIME_diff
- PEM_read_X509_REQ
- ERR_load_ERR_strings
- BIO_ssl_shutdown
- BIO_get_ssl
- BIO_new_ssl_connect
- BIO_set_conn_hostname
2021-09-24 12:26:53 +10:00
Sean Parkinson
d5a803d81d RSA: cast bitwise negate value to byte before converting to int 2021-09-24 09:18:49 +10:00
Anthony Hu
33cb823148 Remove legacy NTRU and OQS (#4418)
* Remove NTRU and OQS

* Keep the DTLS serialization format backwards compatible.

* Remove n from mygetopt_long() call.

* Fix over-zealous deletion.

* Resolve problems found by @SparkiDev
2021-09-24 08:37:53 +10:00
Elms
23f4aadf27 GCC makefile: allow overriding and provide more flexibility
- older GCC and additional platforms
 - `NO_EXAMPLES` to exclude building .o files
 - add FIPS optional
2021-09-23 14:55:34 -07:00
John Safranek
79787eaaa4 Merge pull request #4419 from anhu/set1_groups_list
Make quantum-safe groups available to the compatibility layer.
2021-09-23 10:28:02 -07:00
Chris Conlon
82a3d79c2f unnecessary variable init, else formatting in bio.c 2021-09-23 11:26:17 -06:00
John Safranek
a4609c612f Merge pull request #4413 from kabuobeid/wpas_keying
Add HAVE_KEYING_MATERIAL requirement to WPAS, to use wolfSSL_export_keying_material
2021-09-23 10:20:34 -07:00
John Safranek
8818df2d34 Merge pull request #4415 from elms/ppc/define_gates_64bit_literals
Define gate fixes and sha3 64bit literal definitions
2021-09-23 10:18:03 -07:00
Anthony Hu
58a02495fe Make the quantum-safe groups available to the OpenSSL compatibility layer. 2021-09-22 15:28:44 -04:00
Daniel Pouzzner
b716c88e01 smallstack refactors for ge_double_scalarmult_vartime(), sp_ModExp_4096(), and sp_DhExp_4096(). 2021-09-22 13:58:05 -05:00
Eric Blankenhorn
e6e7795140 Make subj alt name order match openSSL (#4406) 2021-09-22 10:29:57 +10:00
John Safranek
df30a88dc6 Merge pull request #4414 from JacobBarthelmeh/devcrypto
update macro guard on SHA256 transform call
2021-09-21 10:03:51 -07:00
John Safranek
63a3eef97a Merge pull request #4403 from dgarske/zd12852_sniffer
Sniffer improvements for handling TCP ack unseen and retransmission issues
2021-09-21 09:53:27 -07:00
John Safranek
7ec7faddef Merge pull request #4405 from anhu/truncating_last_char
Fix for `set1_curves_list` ignoring last character
2021-09-21 08:49:53 -07:00
David Garske
34c6e8f975 Merge pull request #4407 from douzzer/linuxkm-SIMD-IRQ
linuxkm-SIMD-IRQ
2021-09-20 14:57:38 -07:00
Elms
ef33445316 Define gate fixes and sha3 64bit literal definitions
Found when supporting PPC750
2021-09-20 13:48:34 -07:00
Daniel Pouzzner
6d715130a2 linuxkm: cleanups and smallstack refactors related to WOLFSSL_LINUXKM_SIMD_X86_IRQ_ALLOWED, associated linuxkm-SIMD-IRQ PR, and associated peer review:
smallstack refactors for wolfcrypt/src/rsa.c:wc_CheckProbablePrime_ex() and wolfcrypt/src/pwdbased.c:wc_PKCS12_PBKDF_ex();

add WARN_UNUSED_RESULT macro to types.h;

text format cleanup;

fix internal.c:LowResTimer() implementation.

refactor tls13.c:TimeNowInMilliseconds() for kernel 4.9 and 3.16 compat.

use ktime_get_coarse_real_ts64() only for kernel 5.x+.  in kernel 4.x, use its older form, current_kernel_time64(), and in 3.x, use getnstimeofday().

linuxkm/module_hooks.c: fix wolfssl_init() pie code to be compatible with kernel 4.4-;

fix allocate_wolfcrypt_irq_fpu_states() return codes to all be wolfcrypt codes, and in calling code, pass up that code (suggested by dgarske peer review).
2021-09-20 13:46:51 -05:00
Daniel Pouzzner
ec21dd6d13 miscellaneous buildability fixes:
configure.ac: fix ed25519/sha512 dependency test to not misfire when ENABLED_32BIT;

wolfssl/wolfcrypt/curve{25519,448}.h: fix redundant typedefs of curve{25519,448}_key (fixes -Wpedantic warnings);

configure.ac: fix for "ISO C forbids an empty translation unit [-Werror=pedantic]", re wolfcrypt/src/sp_c{32,64}.c;

configure.ac: fixes for --enable-32bit versus pedantic "ISO C forbids an empty translation unit", including explicit exclusion of 32bit-incompatible algorithms from enable-all and enable-all-crypto sets;

tests/api.c: fixes for a couple inadequately gated SHA2 dependencies;

tests/api.c:test_wolfSSL_set_alpn_protos(): fix prototype missing (void);

wolfcrypt/src/misc.c and wolfssl/wolfcrypt/misc.h: fix ForceZero() definition and NO_INLINE prototype to not counterfactually constify the mem ptr, to avoid -Wmaybe-uninitialized from gcc11;

wolfcrypt/src/des3.c: drop obsolete register qualifier from declaration in DesSetKey(), for c++17 compatibility;

src/ssl.c:wolfSSL_BN_mod_word(): fix cast of arg2 to mp_mod_d().
2021-09-20 13:38:52 -05:00
David Garske
753a931196 Merge pull request #4416 from SparkiDev/mp_submod_addmod_ct
SP math, TFM: constant time addmod, submod
2021-09-20 11:37:45 -07:00
David Garske
a62f103899 Merge pull request #4412 from anhu/level
Convert post-quantum algorithm group names
2021-09-20 11:27:20 -07:00
Daniel Pouzzner
83e0e19e03 linuxkm feature additions:
add build-time support for module signing using native Linux facility;

add support for alternative licenses using WOLFSSL_LICENSE macro;

improve load-time kernel log messages;

add support for sp-math-all asm/AVX2 acceleration;

add error-checking and return in SAVE_VECTOR_REGISTERS();

implement support for x86 accelerated crypto from interrupt handlers, gated on WOLFSSL_LINUXKM_SIMD_X86_IRQ_ALLOWED:

  * wolfcrypt_irq_fpu_states
  * am_in_hard_interrupt_handler()
  * allocate_wolfcrypt_irq_fpu_states()
  * free_wolfcrypt_irq_fpu_states()
  * save_vector_registers_x86()
  * restore_vector_registers_x86()

add WOLFSSL_LINUXKM_SIMD, WOLFSSL_LINUXKM_SIMD_X86, and WOLFSSL_LINUXKM_SIMD_ARM macros for more readable gating.
2021-09-20 10:27:13 -05:00
Daniel Pouzzner
2629b8b1fb wolfcrypt/src/wc_port.c LINUXKM time(): use ktime_get_coarse_real_ts64 instead of ktime_get_real_seconds, to avoid GPL-only function, and fix the calculation in the kernel 3.x codepath. 2021-09-20 10:27:13 -05:00
Daniel Pouzzner
1209908468 tests/api.c: fix key size in test_wc_ecc_shared_secret(). 2021-09-20 10:27:13 -05:00
Daniel Pouzzner
45e9872714 wolfcrypt/benchmark: fix output buffer size in bench_eccEncrypt(). 2021-09-20 10:27:13 -05:00
Anthony Hu
ebf1168240 Documenting the level meanings 2021-09-20 10:11:49 -04:00
Anthony Hu
c733be728f Trivial change to re-trigger jenkins. 2021-09-20 08:37:56 -04:00
Jacob Barthelmeh
f1ff3da47c fix for case of long type on 32bit systems 2021-09-19 21:20:58 -06:00
Hayden Roche
ec0335cdb3 Use WOLFSSL_SUCCESS instead of 1. 2021-09-19 17:20:55 -07:00
Jacob Barthelmeh
1bf4dbfa32 rename enum value 2021-09-19 17:20:55 -07:00
Jacob Barthelmeh
3f534e7e07 return macro and macro guards 2021-09-19 17:20:55 -07:00
Chris Conlon
dae4d637c9 define SSL_OP_* in openssl/ssl.h for compatibility 2021-09-19 17:20:54 -07:00
Chris Conlon
b8c90b369e bump openssl version for Python 3.8.5 port with WOLFSSL_PYTHON 2021-09-19 17:20:54 -07:00
Chris Conlon
0f344e4b64 add SHA3 NID and name info to wolfssl_object_info[] 2021-09-19 17:20:54 -07:00
Chris Conlon
f6b91f04ed BIO_set_nbio() should always return 1, check input bio for NULL before using 2021-09-19 17:20:54 -07:00
Sean Parkinson
f63fac82cd SP math, TFM: constant time addmod, submod
Improve performance of fp_submod_ct() and fp_addmod_ct().
Improve performance of sp_submod_ct() and sp_addmod_ct().
2021-09-20 10:12:21 +10:00
Kaleb Himes
9bd300e07d AESNI in FIPS mode does not support zero length inputs (#4411)
* AESNI in FIPS mode does not support zero length inputs

* Update note to specifically note AESNI
2021-09-20 08:29:15 +10:00
JacobBarthelmeh
f447e4c1fa update macro guard on SHA256 transform call 2021-09-17 15:06:13 -07:00
Kareem Abuobeid
5c3c2dd1bf Add HAVE_KEYING_MATERIAL requirement to WPAS, to use wolfSSL_export_keying_material 2021-09-17 14:53:01 -07:00
JacobBarthelmeh
989179a94a set value for number of protocols in table 2021-09-17 14:04:42 -07:00
David Garske
b14e9c1134 Sniffer improvements for handling TCP out of order, ack unseen and retransmission issues. 2021-09-17 13:16:39 -07:00
Anthony Hu
79cc6be806 Make jenkins happy 2021-09-17 15:50:06 -04:00
Jacob Barthelmeh
9ee96c484b update macro guard 2021-09-17 13:17:05 -06:00
Anthony Hu
13d4722678 Convert post-quantum algorithm group names
... from using parameter set names from the papers to NIST levels.
2021-09-17 13:28:34 -04:00
John Safranek
ffa13f314b Merge pull request #4409 from SparkiDev/tfm_submod_ct
TFM: fp_submod_ct fix check for greater
2021-09-17 08:41:20 -07:00
John Safranek
bb70fee1ec Merge pull request #4390 from anhu/hybridizing
Hybridizing NIST ECC groups with the OQS groups.
2021-09-16 22:01:39 -07:00
Sean Parkinson
9623797064 TFM: fp_submod_ct fix check for greater
a can be greater than modulus.
Update fp_montgomery_reduce_mulx() to reflect the updates to
fp_montgomery_reduce_ex().
2021-09-17 10:12:07 +10:00
JacobBarthelmeh
ff963e7259 fall back to previous version if PRF not compiled in 2021-09-16 14:08:12 -07:00
Anthony Hu
5151cc289e Make clang happy. 2021-09-16 14:41:19 -04:00
John Safranek
4380e8b94a Merge pull request #4391 from JacobBarthelmeh/Sniffer
add sanity check on buffer size
2021-09-16 09:36:48 -07:00
JacobBarthelmeh
f2bce42bbd add function wolfSSL_CTX_get_max_proto_version and handling for edge cases 2021-09-16 01:01:38 -07:00
JacobBarthelmeh
60aa7b9a62 compat layer adjustments, pseudo rand update, fix for peek with ASN1_R_HEADER_TOO_LONG 2021-09-16 00:56:44 -07:00
John Safranek
3503be2c13 Merge pull request #4362 from JacobBarthelmeh/wolfCLU
add wolfclu enable option and remove test macro guard
2021-09-15 13:57:50 -07:00
Anthony Hu
07656e371c Parameter sanity check and a unit test. 2021-09-15 16:29:55 -04:00
John Safranek
71e8d3ca3c Merge pull request #4358 from SparkiDev/arm_sha512_crypto
AARCH64 SHA512: implementation using crypto instructions added
2021-09-15 09:51:09 -07:00
Anthony Hu
4f3c55988b We were ignoring the last character of the group name. 2021-09-15 12:50:04 -04:00
Juliusz Sosinowicz
4ad8b07c1c wolfSSL_PEM_write_bio_PUBKEY needs to write only the public part (#4354)
* `wolfSSL_PEM_write_bio_PUBKEY` needs to write only the public part

The `wolfSSL_PEM_write_bio_PUBKEY` output can't contain the private portion of the key. This output could be used to distribute the public key and if it contains the private part then it gets leaked to others.

* Add heap hint to `wolfSSL_RSA_To_Der`

* Correct function name in logs
2021-09-15 17:34:43 +10:00
Sean Parkinson
17c2e9e1cd AARCH64 SHA512: implementation using crypto instructions added
Use --enable-armasm=sha512-crypto or define WOLFSSL_ARMASM_CRYPTO_SHA512
to use SHA512 cryptographic instructions.
Checks system register for the feature before using the SHA512
instructions.
Added SHA512 input data alignment test.
Add support for SHA512/224 and SHA512/256 to ARM port.
2021-09-15 12:05:48 +10:00
David Garske
d86aed210b Merge pull request #4398 from SparkiDev/cppcheck_fixes_7
cppcheck fixes and a config fix
2021-09-14 18:19:30 -07:00
Hideki Miyazaki
d9767207b7 call alpn selection call-back at server side only (#4377)
* call alpn selection call-back at server side only

* addressed review comment

* addressed jenkins failure
2021-09-15 10:02:18 +10:00
David Garske
3c21996002 Merge pull request #4353 from SparkiDev/pkcs11_static_link
PKCS #11: support static linking with PKCS #11 library
2021-09-14 15:26:52 -07:00
David Garske
4be3b2b351 Merge pull request #4401 from embhorn/gh4400
Fix overflow check in ClientMemSend
2021-09-14 12:20:32 -07:00
David Garske
9c3d3ffcd2 Merge pull request #4396 from kabuobeid/iotsafe_header
Fix exporting iotsafe functions by adding missing include in iotsafe.c.
2021-09-14 10:01:44 -07:00
Eric Blankenhorn
2274d0b773 Fix overflow check in ClientMemSend 2021-09-14 11:17:01 -05:00
Juliusz Sosinowicz
bfbb445e06 Register cleanup with atexit for OpenSSL compat layer 2021-09-14 16:45:11 +02:00
Sean Parkinson
142c7a9892 cppcheck fixes and a config fix
./configure --disable-rsa --disable-ecc --disable-dsa
--enable-curve25519 --disable-ed25519 --disable-curve448
--disable-ed448 --enable-cryptonly

suites.c, testsuite.c: ensure port is an integer for snprintf.

unit.c: make memFailCount an integer for printf.

aes.c:
  Reduce variable scope.
  Check aes is not NULL before use in GHASH implementations.
XTS check sz is greater than or equal to a AES_BLOCK_SIZE rather than
0 as another block is processed.
  wc_AesXtsEncrypt, wc_AesXtsEncrypt - simplify braces and ifdefs
wc_AesEcbEncrypt - subtracting from sz is unnecessary as is unused
after.

asn.c:
StoreKey, StoreEccKey - compiler doesn't see ret != 0 when publicKey
is NULL.
  DecodeAuthInfo - count is not used when after break.
  DecodeSubtree - don't use min and max as variables (already macros).
SetEccPublicKey - initialize pubSz and set sz regardless for
compiler's sake.
wc_EncodeName_ex - use unique variable 'namesASN'; ret isn't set after
last check.
SetEccPublicKey - simplify code by using else rather than check ret
wasn't set.
  DecodeAsymKey - ret not modified in non-template implementaiton.
  SetAsymKeyDer - ret still at initialized value here.
DecodeResponseData - ensure dataASN is freed when single->next->status
failed to allocate.

test.c:
  curve255519_der_test() can't be compiled when NO_ASN is defined.

types.h:
  cast to the appropriate type in EXIT_TEST
test.h
don't return anything when THREAD_RETURN is void and EXIT_TEST is for
threading with stack size.
2021-09-14 16:08:26 +10:00
Hideki Miyazaki
ab3bbf11e9 add ASN1_R_HEADER_TOO_LONG case (#4392)
* add ASN1_R_HEADER_TOO_LONG case

* addressed review comments
2021-09-14 12:32:30 +10:00
TakayukiMatsuo
c8bcfe4763 Add implementation to make wolfSSL_BIO_flush work for WOLFSSL_BIO_FILE (#4395) 2021-09-14 10:08:55 +10:00
Kareem
39ce723577 Fix exporting iotsafe functions by adding missing include in iotsafe.c. 2021-09-13 16:45:18 -07:00
Hideki Miyazaki
4d49ab6342 add store finished message on Tls13 (#4381)
* add to store finished message on Tls13

* addressed jenkins failure

* jenkins failures

sanity check for size before copying memory

* remove check of finishSz

* addressed review comments
2021-09-14 09:22:16 +10:00
David Garske
a65ab0c4af Merge pull request #4189 from SparkiDev/sp_calc_vfy_check_ret
SP ECC: calc vfy point not check mod_inv return
2021-09-13 11:17:50 -07:00
David Garske
f08b1c49a9 Merge pull request #4371 from anhu/doc_update
Documentation fixup to reflect that we will error out if you set a ba…
2021-09-13 11:14:25 -07:00
Jacob Barthelmeh
f06414903c fix for scan build warning and better check on size 2021-09-13 09:35:55 -06:00
David Garske
f64c22839e Merge pull request #4380 from SparkiDev/fp_submod_ct_overflow
TFM: check size of inputs
2021-09-13 07:56:54 -07:00
David Garske
05ed3dc9ea Merge pull request #4387 from SparkiDev/popen_host
Get host name: add code to use popen and the command 'host'
2021-09-13 07:55:45 -07:00
David Garske
51c1f27065 Merge pull request #4393 from SparkiDev/srp_test_1536
SRP test; increase size of N
2021-09-13 07:29:59 -07:00
David Garske
bce2c010de Merge pull request #4394 from SparkiDev/regression_fixes_2
Fixes for configurations and a cppcheck fix
2021-09-13 07:22:24 -07:00
Sean Parkinson
c42573096a Fixes for configurations and a cppcheck fix
configure --disable-shared --enable-opensslextra --enable-dsa
--enable-curve25519 --enable-ed25519 --enable-curve448 --enable-ed448
--enable-ocsp --enable-all --enable-asn=template
  GetCertName() sets raw in ASN template code too.
  GetBasicDate() not needed for template ASN.
SetAsymKeyDer() ASN template version now returns 0 when output is NULL
too.

./configure '--disable-shared' '--enable-curve25519' '--enable-ed25519'
'--disable-rsa' '--disable-ecc'
  SetBitString() is needed now.

Close the file before return in wolfSSL_save_session_cache() and
wolfSSL_restore_session_cache().
2021-09-13 10:25:19 +10:00
Sean Parkinson
33028de0de SRP test; increase size of N
SHA512 digest was sometimes too big for the 1024-bit N.
Increase N to 1536 bits to ensure no intermittent fails.
2021-09-13 09:18:26 +10:00
JacobBarthelmeh
4bd87a0c41 sanity check on pkcs7 input size (#4386) 2021-09-13 08:34:23 +10:00
Jacob Barthelmeh
602ec188ad sanity checks on ed25519 private key decode 2021-09-10 21:51:18 -06:00
Jacob Barthelmeh
ae4766ae96 add sanity check on buffer size 2021-09-10 16:49:42 -06:00
David Garske
42db91e454 Merge pull request #4389 from SparkiDev/sha512_rework
SHA512: Tidy up and have Sha512_224/256 FinalRaw return smaller digest
2021-09-10 13:01:08 -07:00
Jacob Barthelmeh
93d805352f move setting of ENABLED_MD5 2021-09-10 12:17:11 -06:00
Anthony Hu
1168d4ce49 changes to address dgarske's comments 2021-09-10 13:51:44 -04:00
Anthony Hu
c9cf39de64 Make jenkins windows happy? 2021-09-10 13:26:19 -04:00
Anthony Hu
fb733b4662 Hybridizing the OQS groups with NIST ECC groups. 2021-09-10 13:12:12 -04:00
Anthony Hu
5a5bc9c571 Remove NAMED_DH_MASK as its usage catches some OQS groups. 2021-09-10 09:44:12 -04:00
Sean Parkinson
cd8bff272c SHA512: Tidy up and have Sha512_224/256 FinalRaw return smaller digest
Make code cleaner by passing in parameters instead of determining from
type.
Remove trailing whitespace.
2021-09-10 09:52:01 +10:00
Eric Blankenhorn
5e3f7d8778 Add return value checking for FREESCALE_RNGA (#4388) 2021-09-10 08:52:34 +10:00
elms
98f286d8cb Consistent return value from SSL_CTX_load_verify_locations{,_ex} (#4341)
On any failure, return `WOLFSSL_FAILURE`

If there was a failure and a successful processing of certs from the
same directory, the return value depended on the last cert processed
which not guarenteed to be the same order. If the last cert load
failed, it would return the specific wolfSSL error code. If it
succeeded, then WOLFSSL_FAILURE would be returned as a generic failure
due to a previous cert error.
2021-09-10 08:45:13 +10:00
Eric Blankenhorn
649aa9c95f Add error handling to wolfSSL_BIO_get_len (#4385) 2021-09-10 08:15:30 +10:00
Sean Parkinson
72486333c3 Get host name: add code to use popen and the command 'host'
When compiling for QEMU, the gethostbyname call doesn't have access to
the OS DNS.
Implemented a lookup of hostname that uses the system command host.

Fix for QEMU Aarch64 where 'char' is unsigned and the -1 return is being
converted to 255 in wolfSSL_OPENSSL_hexchar2int().

Test TLSv1.3 with www.google.com if wolfSSL supports it.

CMAC: cannot cast size_t* to word32* when big-endian.

SP math all: Random prime - munge bits before moving them around for
big-endian.

BIO, no filesystem: Allow BIO_prinf to be used with mem BIO.
2021-09-09 18:32:19 +10:00
Sean Parkinson
89dd1a65ca TFM: check size of inputs
fp_submod_ct and fp_addmod_ct need modulus (c) words plus one.
Check that the modulus length is valid for fixed data array size.
Improved fp_submod_ct to only use as many words as necessary.
Added comments to fp_submod_ct and fp_addmod_ct.
2021-09-09 09:20:11 +10:00
JacobBarthelmeh
934b0ab572 free structure on error case (#4383) 2021-09-09 08:07:22 +10:00
David Garske
b6665df6a8 Fixes for sniffer handling of TCP spurious retransmission (#4372)
* Fix for sniffer to better handle spurious retransmission edge case. ZD 12852

* Fix for sniffer to not send alerts during application data processing.

* Fix for missing semi-colon on XFREE.

* Fix for `bench_stats_print` with stack variable name used in `bench_ecc`. Improve benchmark thread cleanup, CPU count calcuation and stat blocking logic.
2021-09-08 09:40:58 +10:00
JacobBarthelmeh
078e0a7379 add unlock of mutex in fail cases (#4378) 2021-09-08 08:51:34 +10:00
Hideki Miyazaki
a118de1043 copy sessionCtxSz (#4375) 2021-09-08 08:03:35 +10:00
David Garske
3ca1900528 Merge pull request #4379 from haydenroche5/cmake
Fix issue with CMake build where CMAKE_C_FLAGS is empty.
2021-09-07 14:15:18 -07:00
Hayden Roche
93d3739ae7 Fix issue with CMake build where CMAKE_C_FLAGS is empty. 2021-09-07 12:11:43 -07:00
Hideki Miyazaki
51a2f9de17 return value convention on compatibility layer (#4373)
* return value convention

* addressed review comments

* addressed review comment part2

* fix jenkins failures
2021-09-07 08:15:08 +10:00
Hideki Miyazaki
d4387493fb keep CRLInfo at own cert memory (#4374) 2021-09-07 08:11:29 +10:00
Anthony Hu
10a4cfae9d Documentation fixup to reflect that we will error out if you set a bad group identifier 2021-09-03 12:46:44 -04:00
Jacob Barthelmeh
4844f7598e account for 32bit build with ed25519 2021-09-03 10:03:37 -06:00
TakayukiMatsuo
90116a2873 Add support for wolfSSL_EVP_PBE_scrypt (#4345) 2021-09-03 15:49:02 +10:00
David Garske
35cef831bf Fix for missing heap hint with RSA PSS and WOLFSSL_PSS_LONG_SALT (#4363)
* Fix for missing heap hint with RSA PSS and `WOLFSSL_PSS_LONG_SALT`. This fix will only allocate buffer if it exceeds the local buffer. Added `wc_RsaPSS_CheckPadding_ex2` to support heap hint if required. Fixed asn.c build issue with `NO_CERTS`. Fixed several spelling errors in asn.c. ZD12855.

* Improve the dynamic memory NULL checking in `wc_RsaPSS_CheckPadding_ex2` with `WOLFSSL_PSS_LONG_SALT` defined.
2021-09-03 15:42:31 +10:00
David Garske
a3ee84bf6d Merge pull request #4355 from anhu/check_support_of_group
BUGFIX: Its possible to send a supported group that is not supported.
2021-09-02 20:03:32 -07:00
David Garske
43cb7d5ada Merge pull request #4368 from haydenroche5/cmake
Make sure CMAKE_C_FLAGS gets parsed for defines to add to options.h.
2021-09-02 20:01:08 -07:00
elms
fd77cb8918 fix wc_AesKeyWrap_ex and wc_AesKeyUnWrap_ex bound checks (#4369)
RFC3394 in must be at least 2 64-bit blocks and output is one block longer.
On Unwrapping the input must then be a minimum of 3 64-bit blocks
2021-09-03 12:48:01 +10:00
John Safranek
1662b01157 Merge pull request #4367 from julek-wolfssl/zd12834
Changes for ED25519 and `HAVE_SECRET_CALLBACK`
2021-09-02 15:46:44 -07:00
Jacob Barthelmeh
c412d23b07 add wolfclu enable option 2021-09-02 16:46:38 -06:00
Kaleb Himes
a9a1158f46 Remove test cases not supported by ARM64_ASM in FIPS mode - OE25 (#4342) 2021-09-03 08:37:34 +10:00
Anthony Hu
26c7592d4b leantls only supports secp256r1. 2021-09-02 17:38:04 -04:00
Hayden Roche
12d7487774 Make sure CMAKE_C_FLAGS gets parsed for defines to add to options.h.
For example, if a user does

```
cmake -DCMAKE_C_FLAGS="-DWOLFSSL_AESGCM_STREAM -DFP_MAX_BITS=16384" ..
```

definitions for `WOLFSSL_AESGCM_STREAM` and `FP_MAX_BITS 16384` should wind up
in options.h (same as the autotools build).
2021-09-02 13:00:24 -07:00
Anthony Hu
428fe29537 Remove authentication related logic from TLSX_ValidateSupportedCurves() 2021-09-02 14:07:06 -04:00
David Garske
03fba72027 Merge pull request #4361 from julek-wolfssl/GetASNHeader-return
Missing `GetASNHeader` return handling
2021-09-02 09:18:06 -07:00
David Garske
587389d137 Merge pull request #4366 from douzzer/cpp-anon-inline-unions
C++ HAVE_ANONYMOUS_INLINE_AGGREGATES sensing
2021-09-02 09:14:31 -07:00
Juliusz Sosinowicz
4a26b53dfc Changes for ED25519 and HAVE_SECRET_CALLBACK
- `HAVE_SECRET_CALLBACK` needs to have `wolfSSL_SSL_CTX_get_timeout` and `wolfSSL_SSL_get_timeout` available
- Call `wolfSSL_KeepArrays` for `HAVE_SECRET_CALLBACK`
- Increase the default `DTLS_MTU_ADDITIONAL_READ_BUFFER` and make it adjustable by the user
- Don't truncate application data returned to user in `wolfSSL_read_internal`
2021-09-02 15:58:30 +02:00
Juliusz Sosinowicz
abc046b5b7 Missing GetASNHeader return handling 2021-09-02 14:56:58 +02:00
TakayukiMatsuo
56843fbefd Add support for EVP_sha512_224/256 (#4257) 2021-09-02 14:05:07 +10:00
David Garske
504e27dfa7 Merge pull request #4357 from gojimmypi/patch-1
Espressif README Syntax / keyword highlighting / clarifications
2021-09-01 18:35:32 -07:00
gojimmypi
e079b357df copy missing Espressif/ESP-IDF files from wolfssl/wolfcrypt/benchmark (#4273)
* copy missing files from wolfssl/wolfcrypt/benchmark

* instead of GitHub copy, update setup to perform the copy of ESP-IDF benchmark files; add --verbose option

* update setup to perform the copy of ESP-IDF benchmark files; add --verbose option

* copy benchmark.c / benchmark.h at setup time
2021-09-01 18:34:46 -07:00
JacobBarthelmeh
bac0497c35 PKCS7 fix for double free on error case and sanity check on set serial number (#4356)
* check for error value on set serial number

* set pointer in fail case
2021-09-02 09:13:35 +10:00
Daniel Pouzzner
c8f65ec404 wolfcrypt/types.h: fix HAVE_ANONYMOUS_INLINE_AGGREGATES sensing to correctly accommodate C++ builds. 2021-09-01 17:01:55 -05:00
Anthony Hu
5e12fa3eb7 Some small bugfixes uncovered by the unit tests. 2021-09-01 16:25:04 -04:00
Anthony Hu
096db7577f Make jenkins happy. \n\nI feel like I should put the guard around the whole function but then other things break. 2021-09-01 10:54:52 -04:00
Anthony Hu
0d6d171fa4 BUGFIX; Its possible to sending a supported group that is not supported.
This change fixes that.
2021-09-01 10:54:52 -04:00
David Garske
d23b0784b3 Fix for building session tickets without TLS v1.3. Broken in PR #4275. (#4360) 2021-09-01 10:06:31 +10:00
David Garske
9b6cf56a6e Expanded support for Curve25519/Curve448 and TLS v1.3 sniffer (#4335)
* Fixes for building with Ed/Curve25519 only. Fix for IoT safe demo to exit after running once. Added `WOLFSSL_DH_EXTRA` to `--enable-all` and `--enable-sniffer`. Cleanup uses of `==` in configure.ac. Various spelling fixes.

* Fix for sniffer with TLS v1.3 session tickets.

* Fix for ASN Template Ed25519 key export (missing version / not setting OID correctly).

* Add key import/export support for Curve25519/Curve448. Refactor of the 25519/448 ASN code to combine duplicate code.

* Refactor of Curve25519 code. Improved public key export to handle generation when only private is set. Improved private scalar buffer sizing.

* Fix for static ephemeral loading of file buffer.

* Added sniffer Curve25519 support and test case.

* Fix for sniffer to not use ECC for X25519 if both are set.

* Fix Curve448 public export when only private is set.

* Fix for `dh_generate_test` for small stack size.

* Reduce stack size use on new asymmetric DER import/export functions. Cleanup pub length calc.

* Fix invalid comment.
2021-09-01 09:28:24 +10:00
gojimmypi
e25b17b108 Syntax / keyword highlighting / clarifications
See https://github.com/espressif/esp-wolfssl/issues/11
2021-08-30 17:35:17 -07:00
John Safranek
0f0ba46ac5 Merge pull request #4352 from haydenroche5/dsa_fips
Allow OpenSSL DSA sign/verify functions with FIPS.
2021-08-30 15:47:38 -07:00
John Safranek
35a917e527 Merge pull request #4337 from miyazakh/py_get_ca_certs
fix python ut, get_ca_certs
2021-08-30 14:02:05 -07:00
David Garske
4645a6917c Merge pull request #4168 from JacobBarthelmeh/wolfCLU
function additions and fixes for expansion of wolfCLU
2021-08-30 13:42:50 -07:00
John Safranek
078d49ea6f Merge pull request #4333 from dgarske/evp_devid
EVP key support for heap hint and crypto callbacks
2021-08-30 11:59:27 -07:00
John Safranek
ee07bd3fa9 Merge pull request #4331 from SparkiDev/jenkins_fixes_4
Jenkins nighlty fixes
2021-08-30 10:29:00 -07:00
John Safranek
85df95e10d Merge pull request #4324 from miyazakh/maxfragment
add set_tlsext_max_fragment_length support
2021-08-30 10:21:59 -07:00
David Garske
2a6b8f4912 Merge pull request #4275 from JacobBarthelmeh/Compatibility-Layer
add set num tickets compat function
2021-08-30 09:26:49 -07:00
Sean Parkinson
218f4c80f9 PKCS #11: support static linking with PKCS #11 library
--enable-pkcs11=static LIBS=-l<pkcs11 static library>
or
define HAVE_PKCS11_STATIC
2021-08-30 12:28:28 +10:00
Hayden Roche
3ca77bb09b Allow OpenSSL DSA sign/verify functions with FIPS. 2021-08-29 18:22:30 -07:00
Sean Parkinson
0488caed4c Merge pull request #4346 from cconlon/verifyPostHandshake
TLS 1.3: add support for WOLFSSL_VERIFY_POST_HANDSHAKE verify mode
2021-08-30 09:47:23 +10:00
David Garske
c7645a42a7 Merge pull request #4320 from anhu/liboqs_keyshare_updated
WolfSSL support for OQS's implementation of NIST Round 3 KEMs as TLS 1.3 groups
2021-08-27 17:42:25 -07:00
Chris Conlon
070029fd08 add support for WOLFSSL_VERIFY_POST_HANDSHAKE verify mode 2021-08-27 14:49:47 -06:00
JacobBarthelmeh
65cfef5337 fix for free with test case 2021-08-27 14:10:06 -06:00
Kareem
9a438ce289 liboqs integration using keyshare/supported_groups extensions in TLS 1.3 2021-08-27 13:56:53 -04:00
Jacob Barthelmeh
83d39932bb add test case for X509 EXTENSION set 2021-08-27 11:30:44 -06:00
John Safranek
412528e18b Merge pull request #4336 from elms/sp_out_of_range
sp_math: error on multiplier larger than curve order
2021-08-27 10:15:42 -07:00
John Safranek
8b79f77fb0 Merge pull request #4327 from JacobBarthelmeh/Compatibility-Layer-Part3
add implementation of AUTHORITY_INFO_ACCESS_free
2021-08-27 09:27:34 -07:00
Jacob Barthelmeh
40a4015491 add no server macro guard 2021-08-27 08:28:50 -06:00
Jacob Barthelmeh
ff9fed08a3 fix count on number of tickets sent 2021-08-26 21:17:45 -06:00
Sean Parkinson
db8f4e4f19 Jenkins nighlty fixes
wolfSSL_Rehandshake(): don't set 'ret' unless HAVE_SESSION_TICKET
defined (otherwise compiler will complain:  warning: Value stored to
'ret' is never read)

AES GCM streaming: fix 64-bit word version to compile and pass testing
Use '--enable-aesgcm=word' to get the word32 or word64 implementation
depending on the availabilty of 64-bit type.
2021-08-27 08:46:39 +10:00
Jacob Barthelmeh
a52df87c8a adjust type for max tickets variable and number sent with WOLFSSL_TLS13_TICKET_BEFORE_FINISHED macro 2021-08-26 15:45:21 -06:00
Jacob Barthelmeh
21159659cf add implementation of AUTHORITY_INFO_ACCESS_free 2021-08-26 14:48:12 -06:00
David Garske
ef0fb6520d Merge pull request #4283 from JacobBarthelmeh/Compatibility-Layer-Part2
couple more compatibility functions
2021-08-26 11:50:09 -07:00
Chris Conlon
c631cffe3d Merge pull request #4334 from miyazakh/py_store_stats
fix python unit test failure, cert_store_stats
2021-08-26 10:24:24 -06:00
Chris Conlon
b5d42eb773 Merge pull request #4318 from kojo1/i2d_RSA
arg type compatibility
2021-08-26 09:51:43 -06:00
Hideki Miyazaki
3896016121 fix python ut, get_ca_certs 2021-08-26 13:51:28 +09:00
elms
be2ad82e6d sp_math: error on multiplier larger than curve order
zd 12674
2021-08-25 14:59:51 -07:00
John Safranek
cb3f42482b Merge pull request #4332 from dgarske/zd12791
Improve CRL error codes
2021-08-25 13:57:46 -07:00
David Garske
3a9d463ef4 Fix use of hardcoded number and added comment. 2021-08-25 09:57:10 -07:00
Hideki Miyazaki
77eff68b95 addressed review comment 2021-08-25 11:07:32 +09:00
Hideki Miyazaki
9b4a635372 fix python unit test failure, cert_store_stats 2021-08-25 10:20:48 +09:00
John Safranek
3f2abef212 Merge pull request #4321 from haydenroche5/libimobiledevice
Make changes to support libimobiledevice.
2021-08-24 17:19:26 -07:00
David Garske
b8263f44f7 Added new EVP API for creating a private key for use with crypto callbacks. Improvements to heap hint and devId with EVP layer. 2021-08-24 12:14:44 -07:00
David Garske
700b1c56c1 Improve CRL error codes. Add --enable-crl=io option. ZD 12791 2021-08-24 11:12:12 -07:00
John Safranek
196e092023 Merge pull request #4328 from dgarske/zd12801
Fix for sniffer TCP sequence rollover
2021-08-24 10:05:49 -07:00
JacobBarthelmeh
3d8dc68266 free test case object 2021-08-24 10:59:38 -06:00
JacobBarthelmeh
ff521a14e4 add test case and macro mapping 2021-08-24 10:59:38 -06:00
JacobBarthelmeh
de3416998c fix for memory leak 2021-08-24 10:58:33 -06:00
Jacob Barthelmeh
80d4e0f644 function additions and fixes for expansion of wolfCLU 2021-08-24 10:58:33 -06:00
Hayden Roche
7ff1351971 Make changes to support libimobiledevice.
- `EVP_PKEY_assign_RSA` should store the private key in DER format, not the
public key.
- The last call to `infoCb` in `wolfSSL_BIO_write` should provide the length of
the data to write.
- We should be able to parse RSA public keys starting with BEGIN RSA PUBLIC KEY
and ending with END RSA PUBLIC KEY.
2021-08-24 08:52:43 -07:00
Sean Parkinson
a1e26e7bc7 Merge pull request #4308 from dgarske/sess_row_cache
Improvements to session locking to allow per-row
2021-08-24 09:07:03 +10:00
John Safranek
9c541568fc Merge pull request #4313 from SparkiDev/rsa_vfy_only
SP RSA verify only: fix to compile
2021-08-23 14:42:56 -07:00
David Garske
fe83d2d941 Fix for sniffer TCP sequence rollover. The math to detect and compute the rollover was off by one. ZD 12801. 2021-08-23 13:54:28 -07:00
Jacob Barthelmeh
da6e8d394f shift instead of multiply and add comment 2021-08-23 13:24:27 -06:00
David Garske
a13c2e2304 Fix for macro arg paren and double ampersand. Fixes building with ENABLE_SESSION_CACHE_ROW_LOCK. 2021-08-23 09:56:07 -07:00
David Garske
6ec28f508e Merge pull request #4325 from SparkiDev/jenkins_fixes_3
OpenSSL Extra builds: fixes from nightly builds failing
2021-08-23 09:30:15 -07:00
David Garske
206b4641e8 Merge pull request #4326 from danielinux/iotsafe-fix-warning
Fix compiler warnings
2021-08-23 08:35:29 -07:00
Daniele Lacamera
b56c89bb84 Fix compiler warnings (ZD12802 and others) 2021-08-23 08:12:24 +02:00
Sean Parkinson
4bfd0443a7 OpenSSL Extra builds: fixes from nightly builds failing
Prototype is required when internal.h is not included and GetCA is not
defined.

wolfSSL_EVP_CIPHER_CTX_set_iv_length() is called with CBC cipher in
api.c. Function is not specificly for GCM, though not strictly needed
for CBC.
2021-08-23 12:55:27 +10:00
Hideki Miyazaki
8808e6a3ac implement set_tlsext_max_fragment_length 2021-08-23 09:08:14 +09:00
David Garske
26cf17e602 Merge pull request #4317 from SparkiDev/math_x86_asm_fix
Maths x86 asm: change asm snippets to get compiling
2021-08-20 13:42:15 -07:00
David Garske
c8926a45ab Improvements to session locking to allow per-row. Can manually be enabled with ENABLE_SESSION_CACHE_ROW_LOCK or forcefully disabled using NO_SESSION_CACHE_ROW_LOCK. Enabled by default for Titan cache. ZD 12715. 2021-08-20 13:03:50 -07:00
Takashi Kojo
10c5e33027 arg type compatibility 2021-08-20 15:21:06 +09:00
Sean Parkinson
dbb03cb5a3 SP RSA verify only: fix to compile
Configurations:
./configure --disable-asn --disable-filesystem --enable-cryptonly
--disable-dh --disable-sha224 --disable-ecc CFLAGS=-DWOLFSSL_PUBLIC_MP
--enable-rsavfy --enable-sp=small2048 --enable-sp-math

./configure --disable-asn --disable-filesystem --enable-cryptonly
--disable-dh --disable-sha224 --disable-ecc CFLAGS=-DWOLFSSL_PUBLIC_MP
--enable-rsavfy --enable-sp=2048 --enable-sp-math

./configure --disable-asn --disable-filesystem --enable-cryptonly
--disable-dh --disable-sha224 --disable-ecc CFLAGS=-DWOLFSSL_PUBLIC_MP
--enable-rsavfy --enable-sp=small2048 --enable-sp-math-all

./configure --disable-asn --disable-filesystem --enable-cryptonly
--disable-dh --disable-sha224 --disable-ecc CFLAGS=-DWOLFSSL_PUBLIC_MP
--enable-rsavfy --enable-sp=small2048 --enable-sp-math --enable-sp-asm

./configure --disable-asn --disable-filesystem --enable-cryptonly
--disable-dh --disable-sha224 --disable-ecc CFLAGS=-DWOLFSSL_PUBLIC_MP
--enable-rsavfy --enable-sp=2048 --enable-sp-math --enable-sp-asm
2021-08-20 13:16:58 +10:00
Sean Parkinson
fa8f23284d Maths x86 asm: change asm snippets to get compiling
TFM:
  Use register or memory for c0, c1, c2 in SQRADD and SQRADD2.
SP:
  Use register or memory for vl, vh, vo in SP_ASM_MUL_ADD,
SP_ASM_MUL_ADD2 and SP_ASM_SQR_ADD.
2021-08-20 10:35:49 +10:00
John Safranek
e7ef48d2b7 Merge pull request #3869 from SparkiDev/asn1_template
ASN1 Template: stricter and simpler DER/BER parsing/construction
2021-08-19 12:47:04 -07:00
Daniel Pouzzner
3226e69649 --enable-linuxkm-pie (FIPS Linux kernel module) (#4276)
* Adds `--enable-linuxkm-pie` and associated infrastructure, to support FIPS mode in the Linux kernel module.
* Adds `tests/api.c` missing (void) arglist to `test_SSL_CIPHER_get_xxx()`.
2021-08-19 09:15:52 -07:00
John Safranek
16ad5cf3c5 Merge pull request #4315 from SparkiDev/g++_fix_3
SRP test: use proper SRP hash type for g++
2021-08-19 08:56:43 -07:00
Sean Parkinson
17a569d4dd SRP test: use proper SRP hash type for g++ 2021-08-19 11:40:43 +10:00
Sean Parkinson
d486b89c61 ASN1 Template: stricter and simpler DER/BER parsing/construction
Reduce debug output noise
2021-08-19 11:32:41 +10:00
John Safranek
63fde01e32 Merge pull request #4311 from haydenroche5/rsyslog
Make improvements for rsyslog port.
2021-08-18 16:55:32 -07:00
John Safranek
9a1233c04d Merge pull request #4312 from julek-wolfssl/DH_set_length
Implement `DH_set_length`.
2021-08-18 16:42:38 -07:00
John Safranek
eaded189ff Merge pull request #4310 from haydenroche5/dsa_fips
Don't run test_wolfSSL_DSA_SIG if HAVE_FIPS is defined.
2021-08-18 16:33:26 -07:00
John Safranek
18314e5a4f Merge pull request #4309 from dgarske/sniff_cleanups
Improved sniffer statistics and documentation
2021-08-18 16:03:38 -07:00
John Safranek
c2b88a1fca Merge pull request #4306 from dgarske/pk_tls13
Fixes for PK callbacks with TLS v1.3
2021-08-18 15:42:19 -07:00
Sean Parkinson
8df65c3fa7 Merge pull request #4270 from dgarske/zd12586
Fixes for various PKCS7 and SRP build issues
2021-08-19 08:12:15 +10:00
John Safranek
ef77cd05d4 Merge pull request #4302 from haydenroche5/libssh2
Add missing ECDSA_SIG getter/settter for libssh2.
2021-08-18 15:08:06 -07:00
David Garske
c5f9e55567 Fixes for CMAC compatibility layer with AES CBC disabled. CMAC code cleanups. Fixes for "make check" with AES CBC disabled. 2021-08-18 11:30:18 -07:00
Chris Conlon
6237a7a00d Merge pull request #4305 from TakayukiMatsuo/i2t
Add support for wolfSSL_i2t_ASN1_OBJECT
2021-08-18 10:37:08 -06:00
Juliusz Sosinowicz
162f14aaf9 Implement DH_set_length. 2021-08-18 13:24:51 +02:00
Sean Parkinson
3c06dd6fa8 SP ECC: calc vfy point not check mod_inv return
Not all implementations return an error though.
2021-08-18 10:05:29 +10:00
Sean Parkinson
8f7e09d9b5 Merge pull request #4294 from dgarske/tls13_earlydata
Fix early data max size handling in TLS v1.3
2021-08-18 08:48:42 +10:00
David Garske
d1e027b6fa Fix for pedantic warning with pre-processor in macro. 2021-08-17 14:55:42 -07:00
David Garske
f5076cad1b Added new files to include.am. 2021-08-17 13:20:34 -07:00
David Garske
d6f5f815e1 Fix for srp_test_digest return code checking. Added GCC-ARM TLS server example. 2021-08-17 11:12:40 -07:00
David Garske
95178e3bdc Use void* on heap hint test. Also previously fixed in hmac.c. 2021-08-17 10:52:50 -07:00
David Garske
89904ce82e Fixes for building without AES CBC and support for PKCS7 without AES CBC. 2021-08-17 10:47:19 -07:00
David Garske
a9b8b6d3de Fix for PKCS7 heap hint in API unit test. 2021-08-17 10:46:53 -07:00
David Garske
e1f603301b Fixes for SRP with heap hint. 2021-08-17 10:45:50 -07:00
David Garske
c598688f89 Fix for static memory with bucket size matching. 2021-08-17 10:38:27 -07:00
David Garske
69d01afd3a Merge pull request #4250 from danielinux/iotsafe
IoT-Safe with TLS demo
2021-08-17 08:26:19 -07:00
David Garske
5209e235a7 Merge pull request #4307 from SparkiDev/srp_test_digests
SRP test: increase size of N to support larger digests
2021-08-17 08:24:47 -07:00
Hayden Roche
c16127d9ab Make improvements for rsyslog port.
- Remove FP_MAX_BITS and RSA_MAX_BITS definitions from rsyslog config. A user
configuring wolfSSL for rsyslog support should set them as they see fit (i.e.
based on the key sizes they need to support).
- After testing with wolfSSL FIPS, I discovered that some functions were missing
from the compatibility layer that rsyslog needs. Notably wolfSSL_DH_generate_key
and wolfSSL_DH_set0_pqg. These were gated out of compilation based on HAVE_FIPS.
However, they only need to be compiled out if WOLFSSL_DH_EXTRA is defined. This
is because these functions call SetDhInternal, which calls wc_DhImportKeyPair
if WOLFSSL_DH_EXTRA is defined. wc_DhImportKeyPair isn't available in the FIPS
module's dh.c. So, these functions can exist in the FIPS build provided
WOLFSSL_DH_EXTRA isn't defined. This commit accounts for this scenario.
2021-08-17 08:19:43 -07:00
TakayukiMatsuo
421be50cb8 Add support for wolfSSL_i2t_ASN1_OBJECT 2021-08-17 10:52:20 +09:00
Hayden Roche
95ab6ce4b8 Don't run test_wolfSSL_DSA_SIG if HAVE_FIPS is defined.
This test calls `wolfSSL_DSA_do_sign_ex` and `wolfSSL_DSA_do_verify_ex`, both
of which don't exist if `HAVE_FIPS` is defined.
2021-08-16 17:42:00 -07:00
David Garske
5c00951f09 Do not add DH padding on failure. 2021-08-16 16:31:18 -07:00
David Garske
9898b5d82b Various spelling fixes. 2021-08-16 16:31:18 -07:00
David Garske
0ea5046b39 Improved documentation for sniffer statistics (ZD 12731). 2021-08-16 16:31:18 -07:00
Sean Parkinson
9066ab6051 SRP test: increase size of N to support larger digests
Test all digests supported by SRP.
2021-08-17 09:15:07 +10:00
David Garske
6ac03d41ef Merge pull request #4203 from SparkiDev/tls13_peek_fix_off
TLS 1.3: ability to turn peek change off
2021-08-16 15:25:58 -07:00
Hayden Roche
63d1bd13d4 Add missing ECDSA_SIG getter/settter for libssh2. 2021-08-16 14:43:13 -07:00
David Garske
c8fd5d552e IoTSafe Improvements. Use new hex to char functions in misc.c. Fix for arm-none-eabi missing nano specs. Cleanups for IoTSafe code, README.md and user_settings.h. Fix linker script to use flash at 0x8000000. Support for TLS v1.3. 2021-08-16 13:13:32 -07:00
Daniele Lacamera
490eeb4003 Support for IoT-Safe with TLS demo 2021-08-16 13:13:30 -07:00
David Garske
70535f51d5 Fixes for PK callbacks with TLS v1.3. Tested with ./configure --enable-pkcallbacks CFLAGS="-DTEST_PK_PRIVKEY -DDEBUG_PK_CB". 2021-08-16 13:09:17 -07:00
Hayden Roche
c6f0fb11d0 Merge pull request #4253 from julek-wolfssl/lighttpd-1.4.55
Implement `wolfSSL_set_client_CA_list` and add 'HIGH' cipher suite
2021-08-16 15:05:51 -05:00
David Garske
1ac95b5716 Merge pull request #4303 from haydenroche5/rsyslog
Add support for rsyslog.
2021-08-16 11:20:28 -07:00
David Garske
6a37309ece Merge pull request #4300 from julek-wolfssl/libimobiledevice
Missing API for libimobiledevice
2021-08-16 09:40:42 -07:00
Juliusz Sosinowicz
93a53d72de mem_buf only used with memory and pair BIOs 2021-08-16 13:38:51 +02:00
Hayden Roche
bbb514fa6d Add support for rsyslog.
- Add an --enable-rsyslog option to configure.ac.
- Add a few missing `WOLFSSL_ERROR` calls that were expected by rsyslog unit
  tests.
- Add better documentation around `WOLFSSL_SHUTDOWN_NOT_DONE` and define it to
  be 0 (rather than 2) when `WOLFSSL_ERROR_CODE_OPENSSL` is defined. This is in
  accordance with OpenSSL documentation. Without this change, rsyslog was
  failing to do the bidirectional shutdown properly because it was checking the
  shutdown return value against 0. I'm keeping the old value when
  `WOLFSSL_ERROR_CODE_OPENSSL` isn't defined because it's part of the public
  wolfssl interface (it's in ssl.h).
2021-08-13 23:24:28 -07:00
Juliusz Sosinowicz
0f6e564093 Rebase fixes 2021-08-14 00:35:55 +02:00
Juliusz Sosinowicz
6a5f40d698 Code review fixes. 2021-08-14 00:25:00 +02:00
Juliusz Sosinowicz
72f1d0adac Refactor client_CA API to use wolfSSL_sk_X509_NAME_* API 2021-08-14 00:24:24 +02:00
Juliusz Sosinowicz
62cab15c64 Reorganize wolfSSL_sk_X509_NAME_*
Make the `wolfSSL_sk_X509_NAME_*` API's available in OPENSSL_EXTRA for use with `client_CA_list` API's.
2021-08-14 00:24:24 +02:00
Juliusz Sosinowicz
d4391bd997 Parse distinguished names in DoCertificateRequest
The CA names sent by the server are now being parsed in `DoCertificateRequest` and are saved on a stack in `ssl->ca_names`.
2021-08-14 00:24:08 +02:00
Juliusz Sosinowicz
647e007eea Implement wolfSSL_set_client_CA_list and add 'HIGH' cipher suite 2021-08-14 00:24:08 +02:00
elms
b2380069f0 Merge pull request #4261 from dgarske/rsa_der_pub 2021-08-13 13:36:01 -07:00
Chris Conlon
ca06694bfb Merge pull request #4282 from miyazakh/SSL_CIPHER_xx
Add SSL_CIPHER_get_xxx_nid support
2021-08-13 13:48:31 -06:00
Chris Conlon
5235b7d1e6 Merge pull request #4291 from miyazakh/PARAM_set1_ip
Add X509_VERIFY_PARAM_set1_ip support
2021-08-13 13:45:33 -06:00
TakayukiMatsuo
1acf64a782 Add support for value zero as version parameter for SSL_CTX_set_min/max_proto_version 2021-08-14 02:16:34 +09:00
David Garske
ec4e336866 Merge pull request #4299 from haydenroche5/evp_pkey_dec_enc_improvements
Make improvements to wolfSSL_EVP_PKEY_encrypt and wolfSSL_EVP_PKEY_decrypt.
2021-08-13 08:10:20 -07:00
David Garske
14bbf49118 Merge pull request #3726 from julek-wolfssl/openresty
Openresty
2021-08-13 08:06:46 -07:00
Juliusz Sosinowicz
59d04efee8 Missing API for libimobiledevice 2021-08-13 16:32:53 +02:00
Hayden Roche
3be13f7358 Make improvements to wolfSSL_EVP_PKEY_encrypt and wolfSSL_EVP_PKEY_decrypt.
- Handle case where output buffer is NULL. In this case, passed in output buffer
  length pointer should be given the maximum output buffer size needed.
- Add better debug messages.
2021-08-12 18:46:15 -07:00
Juliusz Sosinowicz
7dea1dcd39 OpenResty 1.13.6.2 and 1.19.3.1 support
# New or Updated APIs
- wolfSSL_get_tlsext_status_type
- wolfSSL_X509_chain_up_ref
- wolfSSL_get0_verified_chain
- SSL_CTX_set_cert_cb
- SSL_certs_clear
- SSL_add0_chain_cert ssl_cert_add0_chain_cert
- SSL_add1_chain_cert ssl_cert_add1_chain_cert
- sk_X509_NAME_new_null
- SSL_CTX_set_cert_cb
- SSL_set0_verify_cert_store
- SSL_set_client_CA_list

# Other Changes
- Ignore gdbinit
- Add api.c tests for new API
- Add `WOLFSSL_X509_STORE* x509_store_pt` to `WOLFSSL`
- Add macro to select the `WOLFSSL` specific store when available and the associated `WOLFSSL_CTX` store otherwise. Calls to `ssl->ctx->cm` and `ssl->ctx->x509_store*` were replaced by macros.
- NO-OP when setting existing store
- Add reference counter to `WOLFSSL_X509_STORE`
- Cleanup MD5 redundant declarations
- WOLFSSL_ERROR may map to nothing so make assignment outside of it
- refMutex fields are excluded with SINGLE_THREADED macro
- Chain cert refactor
- Make `wolfSSL_add0_chain_cert` and `wolfSSL_add1_chain_cert` not affect the context associated with the SSL object
- `wolfSSL_CTX_add1_chain_cert` now updates the `ctx->certChain` on success and stores the cert in `ctx->x509Chain` for later free'ing
2021-08-12 23:58:22 +02:00
David Garske
8601c14f1c Merge pull request #4297 from anhu/master
Fix a race condition in the benchmark example and …
2021-08-12 13:51:43 -07:00
David Garske
cccb8f940a Merge pull request #4209 from julek-wolfssl/net-snmp
Add support for net-snmp
2021-08-12 13:06:21 -07:00
David Garske
96c223e585 Merge pull request #4288 from julek-wolfssl/get-date-from-cert
Add a test/example for parsing the date from a certificate
2021-08-12 12:52:52 -07:00
David Garske
93a1fe4580 Merge pull request #4205 from julek-wolfssl/wpas-include-extra-stuff
Include stuff needed for EAP in hostap
2021-08-12 11:17:23 -07:00
Chris Conlon
d4b0ec0705 Merge pull request #4290 from TakayukiMatsuo/general
Add wolfSSL_GENERAL_NAME_print
2021-08-12 09:51:28 -06:00
Anthony Hu
7c75b9836e Changes to make Jenkins happy and reduce verbosity.
- added HAVE_PTHREAD guards
- usleep ---> XSLEEP_MS
- only print polling message if verbose output requested.
2021-08-12 11:13:15 -04:00
JacobBarthelmeh
5dff4dd4e0 Merge pull request #4280 from dgarske/caam_macros
Fixes for CAAM build macros and spelling
2021-08-12 19:19:31 +07:00
Juliusz Sosinowicz
e583d0ab76 SslSessionCacheOn -> SslSessionCacheOff 2021-08-12 13:52:25 +02:00
TakayukiMatsuo
517309724a Add wolfSSL_GENERAL_NAME_print 2021-08-12 14:17:41 +09:00
Hideki Miyazaki
0b070166cb addressed review comments 2021-08-12 10:44:07 +09:00
Hideki Miyazaki
4fa69c0a3a addressed review comments 2021-08-12 07:41:24 +09:00
David Garske
9c3502bea9 Merge pull request #4285 from haydenroche5/alerts
During the handshake, make sure alerts are getting read on the client side in the event of an error.
2021-08-11 15:22:05 -07:00
David Garske
0a238483c1 Merge pull request #4296 from lealem47/fix-link
Fix broken link in examples/README.md
2021-08-11 15:21:43 -07:00
Chris Conlon
fc4e4eacba Merge pull request #4292 from kojo1/evp
EVP_CIPHER_CTX_set_iv_length
2021-08-11 16:13:26 -06:00
Anthony Hu
586317f198 Fix a race condition in the benchmark example and all output goes to stderr. 2021-08-11 17:07:01 -04:00
David Garske
9bbb32c352 Merge pull request #4295 from haydenroche5/stunnel_key_gen
Turn on key generation for --enable-stunnel.
2021-08-11 11:17:30 -07:00
elms
d39b91de27 Merge pull request #4266 from dgarske/hexchar 2021-08-11 10:56:53 -07:00
Lealem Amedie
d4d225e33f Fix broken link in examples/README.md 2021-08-11 10:49:38 -06:00
Juliusz Sosinowicz
dd4adacee8 Code review changes 2021-08-11 17:58:46 +02:00
elms
d487916557 Merge pull request #4279 from haydenroche5/pkcs12
Cleanups for PKCS8 and PKCS12 macros (always support parsing PKCS8 header)
2021-08-10 18:37:33 -07:00
Hayden Roche
65a00d9430 Turn on key generation for --enable-stunnel. 2021-08-10 17:14:06 -07:00
David Garske
0c74e18eaf Fix early data max size handling. Fixes issue with size checking around wolfSSL_CTX_set_max_early_data and wolfSSL_set_max_early_data, which was checking against the padded size. Also was adding to the earlyDataSz and checking against it with un-padded data size. ZD 12632. 2021-08-10 16:32:41 -07:00
David Garske
b258321219 Fixes for misc.c to not be included unless required. 2021-08-10 16:11:22 -07:00
David Garske
df10152b54 Refactor hex char to byte conversions. 2021-08-10 12:07:41 -07:00
David Garske
fdb6c8141e Merge pull request #4274 from haydenroche5/pyopenssl
Add support for pyOpenSSL.
2021-08-10 11:49:07 -07:00
Hayden Roche
fdc350fb52 Add a macro guard WOLFSSL_CHECK_ALERT_ON_ERR that has the client check for
alerts in the event of an error during the handshake.
2021-08-10 09:43:12 -07:00
Hayden Roche
ef5510cbcc During the handshake, make sure alerts are getting read on the client side in
the event of an error.
2021-08-09 14:26:53 -07:00
David Garske
0e4b200df1 Merge pull request #4267 from elms/key_overflow
tls13: avoid buffer overflow with size check
2021-08-09 09:19:46 -07:00
JacobBarthelmeh
1a8109f77d rename function parameter 2021-08-09 22:52:45 +07:00
David Garske
e698d08317 Merge pull request #4286 from douzzer/cryptocb-pedantic-c99
--enable-cryptocb CFLAGS='-std=c99 -pedantic'
2021-08-09 08:29:36 -07:00
Hideki Miyazaki
5c55be72ec fix jenkins failure part2 2021-08-09 10:00:35 +09:00
Takashi Kojo
c0b085dd4a EVP_CIPHER_CTX_set_iv_length 2021-08-08 14:49:28 +09:00
Hideki Miyazaki
cf9d5ea8b6 fix jenkins failure part2 2021-08-07 14:14:39 +09:00
Hideki Miyazaki
dbf0977ed0 fix fenkins failure 2021-08-07 11:42:03 +09:00
Hideki Miyazaki
a066c48f55 fix jenkins failure 2021-08-07 11:13:41 +09:00
Hideki Miyazaki
a851e13f1d implemented X509_VERIFY_PARAM_set1_ip 2021-08-07 10:50:57 +09:00
David Garske
bd6b765b17 Merge pull request #4287 from ejohnstown/ac-upd
flags update
2021-08-06 16:22:15 -07:00
John Safranek
2c62880fd2 flags update
1. Fixed typo in ifdef for HAVE_ED448.
2. Fixed typos in comments in sha512.
3. Add include config.h to bio.c.
2021-08-06 11:28:20 -06:00
Juliusz Sosinowicz
b4131f355e Add a test/example for parsing the date from a certificate 2021-08-06 14:51:57 +02:00
Daniel Pouzzner
1b2d57123f tests/api.c: add missing (void) arg lists. 2021-08-05 15:30:33 -05:00
Daniel Pouzzner
6a92db7722 add overrideable HAVE_ANONYMOUS_INLINE_AGGREGATES macro, set to 0 or 1 in wolfcrypt/types.h, and use it to conditionalize feature usage in wolfcrypt/cryptocb.h. 2021-08-05 15:30:16 -05:00
David Garske
0df28083d3 Fixes for CAAM build macros and spelling. 2021-08-05 10:12:59 -07:00
Juliusz Sosinowicz
fab227411f Free ECC cache per thread when used 2021-08-05 15:34:47 +02:00
JacobBarthelmeh
1e491993ca add a2i_IPADDRESS 2021-08-05 16:53:36 +07:00
Hideki Miyazaki
67e773db91 implement SSL_CIPHER_xxxx 2021-08-05 09:42:55 +09:00
David Garske
5465d40ee3 Attempt to move asn.c RSA API defs into asn_public.h, since ASN is not in FIPS boundary. 2021-08-04 17:42:46 -07:00
David Garske
699728c70c Fix for PKCS12 with NO_ASN. 2021-08-04 17:37:05 -07:00
Elms
d8a54e1a32 tls13: avoid buffer overflow with size check
For cases where a private key that is larger than the configured
maximum is passed.
2021-08-04 17:14:25 -07:00
Hayden Roche
35a33b2f00 Add support for pyOpenSSL.
pyOpenSSL needs the OpenSSL function X509_EXTENSION_dup, so this commit adds
that to the compatibility layer. It also needs to be able to access the DER
encoding of the subject alt names in a cert, so that's added as well.
2021-08-04 14:08:43 -07:00
David Garske
3e894a9804 Merge pull request #4277 from lealem47/ex-repo-link
Adding README.md to examples dir and links to examples github repo in…
2021-08-04 12:43:57 -07:00
David Garske
ed8edde9c4 Merge pull request #4264 from maximevince/zephyr-module-support
wolfSSL as a Zephyr module (without setup.sh)
2021-08-04 12:26:14 -07:00
Chris Conlon
fdbe3f0ff1 Merge pull request #4258 from miyazakh/evp_md_do_all
add EVP_MD_do_all and OBJ_NAME_do_all support
2021-08-04 12:17:27 -06:00
David Garske
333aa9f24b Merge pull request #4269 from JacobBarthelmeh/PKCS7
sanity check on pkcs7 stream amount read
2021-08-04 06:41:50 -07:00
JacobBarthelmeh
d39893baa0 add ctx set msg callback 2021-08-04 16:49:01 +07:00
JacobBarthelmeh
b1212ff979 set the default number of tickets to 1 2021-08-04 14:40:17 +07:00
Chris Conlon
f1377ed861 Merge pull request #4215 from lealem47/Md2HashTest
Added wc_Md2Hash() unit testing to test.c
2021-08-03 16:51:05 -06:00
Chris Conlon
d64768abff Merge pull request #4265 from miyazakh/ecc_pubkey
update der size in actual length
2021-08-03 16:41:36 -06:00
David Garske
b3c502890c Merge pull request #4263 from kabuobeid/x509StoreWpas
Fix x509_store_p compilation error in WOLFSSL_CERT_MANAGER when defining WOLFSSL_WPAS_SMALL without OPENSSL_EXTRA.
2021-08-03 15:27:11 -07:00
David Garske
45eddc68e2 Fix to always support parsing of the PKCS8 header. Improved macro logic for PKCS8 and PKCS12. Added --disable-pkcs8 option. Fix to enable PWDBASED and PKCS8 if PKCS12 is enabled. 2021-08-03 14:45:45 -07:00
Juliusz Sosinowicz
67ee3ddb0f Set explicit conversion 2021-08-03 19:29:08 +02:00
Juliusz Sosinowicz
3b366d24f2 Rebase fixes 2021-08-03 19:29:08 +02:00
Juliusz Sosinowicz
c7a6b17922 Need to free ecc cache 2021-08-03 19:29:08 +02:00
Juliusz Sosinowicz
51b6c413d3 For Windows API socklen_t = int 2021-08-03 19:29:08 +02:00
Juliusz Sosinowicz
2bbd04f10f Implement BIO_new_accept and BIO_do_accept 2021-08-03 19:29:08 +02:00
Juliusz Sosinowicz
8b4345734e net-snmp support patch 2021-08-03 19:28:53 +02:00
David Garske
9aa528d19d Merge pull request #4165 from haydenroche5/ntp
Make changes to support port of NTP from OpenSSL to wolfSSL.
2021-08-03 09:16:26 -07:00
Juliusz Sosinowicz
2cd499d2df Refactor session cache on checking into function 2021-08-03 17:52:50 +02:00
Juliusz Sosinowicz
46b061c7bc Include stuff needed for EAP in hostap
Patch that includes the API needed for EAP in hostapd and wpa_supplicant
2021-08-03 17:52:50 +02:00
Hayden Roche
ba7b1d3be0 Only compile in PKCS12 code if PKCS8 is also compiled in. 2021-08-03 07:09:34 -07:00
Maxime Vincent
ea6f81cc54 Move zephyr/include.am to toplevel Makefile.am 2021-08-03 09:43:03 +02:00
Lealem Amedie
0722fb56d8 Adding README.md to examples dir and links to wolfssl-examples github repo in client/server.c 2021-08-02 20:27:41 -06:00
Hayden Roche
dc7ae37f7a Make changes to support port of NTP from OpenSSL to wolfSSL. 2021-08-02 13:33:18 -07:00
David Garske
9f6a963c60 Merge pull request #4262 from haydenroche5/libssh2
Add support for libssh2.
2021-08-02 11:29:54 -07:00
David Garske
9600d533c1 Merge pull request #4268 from JacobBarthelmeh/ECC
fix for memset with small stack
2021-08-02 09:53:21 -07:00
JacobBarthelmeh
2479346f5c add set num tickets compat function 2021-08-02 23:47:53 +07:00
John Safranek
a5b55344b1 Merge pull request #2760 from kojo1/EVP-test
additional test on EVP_CipherUpdate/Final
2021-08-02 09:23:00 -07:00
Chris Conlon
96e4970258 Merge pull request #4271 from TakayukiMatsuo/shake
Add support for EVP_shake128/256
2021-08-02 09:40:36 -06:00
Maxime Vincent
f932736f23 Fix include.am / EXTRA_DIST 2021-08-02 16:44:07 +02:00
Hayden Roche
279b0facb5 Add support for libssh2. 2021-08-02 05:54:08 -07:00
TakayukiMatsuo
0dc98b8299 Add support for EVP_shake128/256 2021-08-02 13:00:31 +09:00
Hideki Miyazaki
b27b4768ae fix jenkins failure 2021-07-31 18:26:07 +09:00
Jacob Barthelmeh
293755917e sanity check on pkcs7 stream amount read 2021-07-30 22:11:45 +07:00
Jacob Barthelmeh
725f95364d fix for memset with small stack 2021-07-30 20:42:48 +07:00
Hideki Miyazaki
447705a2cb fix jenkins failure 2021-07-30 10:21:16 +09:00
Takashi Kojo
bad9a973b4 remove hard tabs and other minor fixes 2021-07-30 07:07:40 +09:00
Takashi Kojo
297ae23521 additional test on EVP_CipherUpdate/Final 2021-07-30 06:50:01 +09:00
John Safranek
a802c270e1 Merge pull request #4260 from dgarske/dep_rc4
RC4 Cipher Deprecation
2021-07-29 10:26:11 -07:00
John Safranek
07e0c60ce1 Merge pull request #4259 from dgarske/cleanups
Cleanups for memory docs and Arduino
2021-07-29 10:16:43 -07:00
John Safranek
2e415ccaed Merge pull request #4243 from SparkiDev/ecc_large_mul
ECC: ecc point multiply doesn't handle large multipliers
2021-07-29 09:30:09 -07:00
David Garske
c69d6d2491 Added public API wc_RsaKeyToPublicDer_ex to allow getting RSA public key without ASN.1 header (can return only seq + n + e). Related to PR #4068. Cleanup documentation for RSA and wolfIO. Consolidate duplicate code in wc_RsaPublicKeyDerSize. 2021-07-29 09:27:50 -07:00
John Safranek
6f2853ef28 Merge pull request #4251 from dgarske/openssl_all
Fixes for edge case builds with openssl all
2021-07-29 08:58:22 -07:00
David Garske
9df4312c4e Merge pull request #3823 from per-allansson/checkaltname-fix
wolfSSL_X509_check_ip_asc/CheckForAltName fixes
2021-07-29 08:08:06 -07:00
Hideki Miyazaki
2b43052f36 update pkey sz in actual length 2021-07-29 23:28:10 +09:00
Maxime Vincent
7acbf61e53 zephyr: fix CMakeLists.txt 2021-07-29 12:36:34 +02:00
Maxime Vincent
3f802d19e4 Update zephyr/README.md 2021-07-29 12:16:05 +02:00
Maxime Vincent
7532ac530a Remove IDE/zephyr/include.am from IDE/include.am for now 2021-07-29 12:03:40 +02:00
Maxime Vincent
9d562a59bc wolfSSL as a Zephyr module 2021-07-29 11:58:13 +02:00
Hideki Miyazaki
e333632ad0 add obj_name_do_all 2021-07-29 14:37:10 +09:00
Hideki Miyazaki
2abf23cbc9 fix jenkins failure 2021-07-29 09:03:38 +09:00
Hideki Miyazaki
b2b5d4e603 add evp_md_do_all 2021-07-29 08:59:26 +09:00
David Garske
0ec848e2bd Merge pull request #4255 from SparkiDev/afalg_msg_fix
AF_ALG: fix debug messages
2021-07-28 16:40:09 -07:00
Kareem
85521c2a74 Fix x509_store_p compilation error in WOLFSSL_CERT_MANAGER when defining WOLFSSL_WPAS_SMALL without OPENSSL_EXTRA. 2021-07-28 14:50:08 -07:00
Lealem Amedie
71cf55a947 Added wc_Md2Hash() unit testing to test.c 2021-07-28 13:45:02 -06:00
David Garske
2c1fed8262 Fixes for edge case builds with openssl all. Improvements to the test_wolfSSL_PKCS8_d2i. Allow forceful disable of OCSP with ./configure --enable-opensslall --disable-ocsp. 2021-07-28 12:32:08 -07:00
David Garske
50ae93071d Merge pull request #4237 from kabuobeid/dupSSL
Fix missing CBIOSend and properly guard hmac in DupSSL().
2021-07-28 10:50:17 -07:00
David Garske
27b96753e2 Disable RC4 unless forcefully enabled with --enable-rc4 or if WOLFSSL_ALLOW_RC4 is specified. Related to issue #4248 2021-07-28 10:31:15 -07:00
David Garske
c29a373308 Cleanups for Arduino examples. Resolves PR #3126 2021-07-28 09:50:37 -07:00
John Safranek
1b13eef354 Merge pull request #4254 from dgarske/zd12681
Sniffer fix for possible math issue around 64-bit pointer and 32-bit unsigned int
2021-07-28 09:16:57 -07:00
David Garske
8376a2adc2 Improved memory documentation and examples. Resolves PR #3834. 2021-07-28 09:03:40 -07:00
Per Allansson
c41f10e708 CheckForAltNames fixes
- Missing conversion from char to unsigned char caused any IP
  address with a byte > 127 to be wrong
- IPv6 address was converted to wrong format XX:YY:...
   (which also caused a buffer overrun)
- Anything that is not an IPv4 or IPv6 address should be ignored
2021-07-28 09:46:33 +02:00
Per Allansson
4da7fbb654 tests: use different IPv4 address in + add IPv6 SAN to generated cert 2021-07-28 09:36:21 +02:00
Sean Parkinson
0d0dfc3f5e Merge pull request #4238 from dgarske/xc32
Fixes for building with Microchip XC32 and ATECC
2021-07-28 09:33:01 +10:00
Sean Parkinson
f404107330 AF_ALG: fix debug messages 2021-07-28 09:30:07 +10:00
David Garske
3ea22ffa32 Remove use of assert (replace with soft failures). Note: Session hash will always return value < HASH_SIZE. 2021-07-27 12:07:08 -07:00
David Garske
3abb2b86d6 Fix possible issues with math around 64-bit pointer and unsigned int (32-bit). ZD 12681 2021-07-27 12:05:37 -07:00
Chris Conlon
2dac9a2a81 Merge pull request #4228 from miyazakh/EVP_blake2xx
add EVP_blake2 compatibility layer API
2021-07-27 11:45:37 -06:00
David Garske
d49d8a9286 Merge pull request #4204 from SparkiDev/ecies_sec1
ECIES: SEC.1 and ISO 18033 support
2021-07-27 09:43:53 -07:00
John Safranek
4f1d30d0db Merge pull request #4249 from dgarske/ecc_heap
Fix for `wc_ecc_ctx_free` and heap hint
2021-07-27 09:31:01 -07:00
David Garske
917fdfbaf7 Peer review fix (second try) 2021-07-27 08:20:22 -07:00
David Garske
f1209367d9 Peer review fix for undef. Cleanup wc_ecc_check_key return code. 2021-07-27 08:20:22 -07:00
David Garske
a92f03a11e Fixes for building with Microchip XC32 and ATECC. 2021-07-27 08:20:20 -07:00
JacobBarthelmeh
f3cb8e4ada Merge pull request #4252 from douzzer/gcc-11-fix-pedantic-fallthrough
fix FALL_THROUGH for gcc-11 -pedantic
2021-07-27 22:07:01 +07:00
JacobBarthelmeh
3ecd7262b7 Merge pull request #4236 from kabuobeid/serialSz
Fix signed comparison issue with serialSz.
2021-07-27 13:54:38 +07:00
John Safranek
8c63701577 Merge pull request #4247 from SparkiDev/dhp_to_der_fix
OpenSSL API: DH params to der
2021-07-26 17:00:34 -07:00
Sean Parkinson
31dde4706e ECIES: Support SEC 1 and ISO 18033
Default is SEC 1.
To use old ECIES implementation: --enable-eccencrypt=old or define
WOLFSSL_ECIES_OLD
To use ISO-18033 implememtation: --enable-eccencrypt=iso18033 or
define WOLFSSL_ECIES_ISO18033
Support passing NULL for public key into wc_ecc_decrypt().
Support not having public key in privKey passed into wc_ecc_encrypt() -
public key is calculated and stored in priKey.
Add decrypt KAT test for ECIES.
2021-07-27 09:30:53 +10:00
David Garske
55029acc84 Merge pull request #4244 from SparkiDev/config_fix_4
Configuration: fixes for uncommon configurations
2021-07-26 10:32:32 -07:00
Daniel Pouzzner
af3a10ed83 wolfcrypt/types.h: fix FALL_THROUGH macro to work warning-free on gcc-11. 2021-07-26 12:08:56 -05:00
David Garske
28e8f02525 Fix for wc_ecc_ctx_free and heap hint. Fixes #4246. 2021-07-26 09:56:29 -07:00
JacobBarthelmeh
028c056c55 Merge pull request #4213 from lealem47/leakFixes
Addressing possible leaks in ssl.c and api.c
2021-07-26 23:32:19 +07:00
Chris Conlon
ce7e1ef94a Merge pull request #4230 from douzzer/configure-max-bits-and-ex-data
configure options for max rsa/ecc bits and ex_data
2021-07-26 09:27:20 -06:00
Sean Parkinson
7d5271ed71 OpenSSL API: DH params to der
Fix calculation of length of encoding in ssl.c.
Fix encoding to check proper length in asn.c.
Fix tests to check for correct value (api.c).
2021-07-26 22:47:46 +10:00
Sean Parkinson
ec6ffb0583 Configuration: fixes for uncommon configurations
./configure --enable-all --disable-filesystem
./configure --enable-all CC=g++ --enable-intelasm
2021-07-26 16:34:20 +10:00
Sean Parkinson
da0fd5c6cf Merge pull request #4235 from JacobBarthelmeh/Docs
update mention of report to include CVE number and last names
2021-07-26 15:01:30 +10:00
JacobBarthelmeh
27c49b1673 Merge pull request #4075 from julek-wolfssl/bind-dns
Bind 9.17.9 and 9.11.22 Support
2021-07-26 11:24:57 +07:00
Sean Parkinson
6cb4f0fe08 ECC: ecc point multiply doesn't handle large multipliers
Detect large multiplier and return error.
2021-07-26 09:34:56 +10:00
Daniel Pouzzner
494e285cf1 configure.ac: add --with-max-rsa-bits, --with-max-ecc-bits, and --enable-context-extra-user-data[=#]; untabify and otherwise clean up whitespace; tweak api.c, ecc.h, rsa.h, and settings.h, for compatibility with new options. 2021-07-23 22:02:58 -05:00
Daniel Pouzzner
cbb013ca11 wolfssl/test.h: in wolfsentry_*(), correctly use WOLFSENTRY_MASKIN_BITS(), not WOLFSENTRY_CHECK_BITS(), to test for setness of bits. 2021-07-23 22:02:58 -05:00
Kareem
671147549f Fix missing CBIOSend and properly guard hmac in DupSSL(). 2021-07-23 12:11:30 -07:00
Kareem
8bd304e4c5 Fix signed comparison issue with serialSz. 2021-07-23 11:15:40 -07:00
kabuobeid
3bb2d55257 Merge pull request #4233 from JacobBarthelmeh/fuzzing
fix memory leak with SMIME
2021-07-23 10:26:02 -07:00
John Safranek
e8d636771f Merge pull request #4231 from haydenroche5/des3-iv-fips
Use correct DES IV size when using FIPS v2.
2021-07-23 09:38:56 -07:00
Juliusz Sosinowicz
8ee9024da9 More rebase fixes 2021-07-23 18:22:46 +02:00
Juliusz Sosinowicz
23cff71bbf Second wc_EccPrivateKeyDecode not needed now that it supports PKCS8 2021-07-23 18:14:54 +02:00
Juliusz Sosinowicz
9f7aa32662 Fix merge conflict resolution in ECC_populate_EVP_PKEY 2021-07-23 18:14:54 +02:00
Juliusz Sosinowicz
10168e093a Rebase fixes 2021-07-23 18:14:54 +02:00
Juliusz Sosinowicz
c7d6e26437 Fix DSA signature length
The length of the DSA signature is 40 bytes for N=160 but 64 bytes for N=256. New enum values are added for better clarity.
2021-07-23 18:14:18 +02:00
Juliusz Sosinowicz
142ff6d885 Bind 9.11.22 2021-07-23 18:14:18 +02:00
Juliusz Sosinowicz
553c930ecb dot system test passed 2021-07-23 18:14:18 +02:00
Juliusz Sosinowicz
763aa9b66d Fix race condition with RsaKey
When RsaKey is shared and RsaPublicEncryptEx is called simultaneously by multiple threads, the key->state may be incorrectly set in some threads. This side-steps the state logic when building for bind9.
2021-07-23 18:14:18 +02:00
Juliusz Sosinowicz
69948b3648 WIP 2021-07-23 18:14:18 +02:00
Juliusz Sosinowicz
06ebcca913 Code review and mp_int memory leak fixes 2021-07-23 18:14:18 +02:00
Juliusz Sosinowicz
b4fd737fb1 Bind 9.17.9 Support
- Add `--enable-bind` configuration option
- New compatibility API:
  - `RSA_get0_crt_params`
  - `RSA_set0_crt_params`
  - `RSA_get0_factors`
  - `RSA_set0_factors`
  - `RSA_test_flags`
  - `HMAC_CTX_get_md`
  - `EVP_MD_block_size`
  - `EC_KEY_check_key`
  - `o2i_ECPublicKey`
  - `DH_get0_key`
  - `DH_set0_key`
- Calling `EVP_MD_CTX_cleanup` on an uninitialized `EVP_MD_CTX` structure is no longer an error
- `DH_generate_parameters` and `DH_generate_parameters_ex` has been implemented
2021-07-23 18:14:12 +02:00
David Garske
9f99253a8b Merge pull request #4219 from SparkiDev/math_neg_mod_2d
Maths: mp_mod_2d supports negative value now
2021-07-23 08:40:56 -07:00
David Garske
2372ea45fb Merge pull request #4229 from SparkiDev/ssl_reorg_4
Reorg of ssl.c: CONF, BIO, RAND and EVP_CIPHER
2021-07-23 07:45:30 -07:00
David Garske
92b1f233c9 Merge pull request #4234 from SparkiDev/g++_fix_2
C++ fix: cast from void* to X509_OBJECT*
2021-07-23 07:45:05 -07:00
Jacob Barthelmeh
b80d14a872 update mention of report to include CVE number and last names 2021-07-23 21:38:58 +07:00
JacobBarthelmeh
e130da181b Merge pull request #4232 from SparkiDev/small_build_fixes
Small configurations: get compiling
2021-07-23 14:20:56 +07:00
Sean Parkinson
94373781b2 C++ fix: cast from void* to X509_OBJECT* 2021-07-23 14:56:38 +10:00
Jacob Barthelmeh
f2852dad4a fix memory leak with SMIME 2021-07-23 10:38:11 +07:00
Sean Parkinson
9452c22653 Small configurations: get compiling
./configure --enable-psk -disable-rsa --disable-dh -disable-ecc
--disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --disable-coding
--disable-filesystem CFLAGS=-DNO_WOLFSSL_SERVER

./configure --enable-psk -disable-rsa --disable-dh -disable-ecc
--disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --disable-coding
--disable-filesystem CFLAGS=-DNO_WOLFSSL_CLIENT
2021-07-23 11:55:08 +10:00
Hayden Roche
ec180f3901 Use correct DES IV size when using FIPS v2. 2021-07-22 18:17:41 -07:00
Sean Parkinson
715a8303d2 Reorg of ssl.c: CONF, BIO, RAND and EVP_CIPHER
Remove whitespace at end of lines in ssl.c.
2021-07-23 09:55:07 +10:00
David Garske
ab226e1a73 Merge pull request #4212 from SparkiDev/sp_c_perf
SP C: change number of words for RSA/DH
2021-07-22 09:33:51 -07:00
Sean Parkinson
d372f097f7 SP C: change number of words for RSA/DH
Faster small code and fast code.
Allow fixed 4096-bit FFDHE parameters in benchmark.
Convert [u]int[32|64|128]*_t types to sp_[u]int[32|64|128].
Add a div for when top bits are all 1
WOLFSSL_SP_FAST_LARGE_CODE added to make mul_add function faster on
non-embedded platforms.
Change mod_exp window sizes for same performance but less memory.
P256 with c32 now 9 words instead of 10.
2021-07-22 13:12:31 +10:00
Hideki Miyazaki
6a3ff81f2d use EVP_get_digestbyname 2021-07-22 08:17:55 +09:00
Hideki Miyazaki
b4c61b4df9 add EVP_blake2xyyy 2021-07-22 08:17:54 +09:00
Chris Conlon
ffd69f6426 Merge pull request #4141 from kaleb-himes/FIPS_ANDROID_v454
Changes to support Android app with wolfCrypt module v4.5.4
2021-07-21 11:23:42 -06:00
Chris Conlon
c544c19013 Merge pull request #4227 from miyazakh/ERR_lib_error_string
add ERR_lib_error_string compatibility layer API
2021-07-21 11:19:29 -06:00
JacobBarthelmeh
83c6688bee Merge pull request #4135 from dgarske/evp_set1_eckey
Fixes for handling PKCS8 ECC key with EVP PKEY
2021-07-22 00:17:11 +07:00
Chris Conlon
49a6c19069 Merge pull request #4216 from dgarske/cube_4.8.0
Improvements to the ST Cube pack configuration template
2021-07-21 11:16:33 -06:00
David Garske
2177430b8d Merge pull request #4224 from JacobBarthelmeh/Release
update docs for 4.8.1
2021-07-21 09:00:42 -07:00
David Garske
73ad0315ce Merge pull request #4226 from douzzer/valgrind-fixes-20210720
fixes for valgrind-detected leaks and undefined data accesses
2021-07-21 08:43:00 -07:00
David Garske
ede738b6e4 Merge pull request #4223 from SparkiDev/mem_usage_fixes_1
Memory allocation: fixes from memory usage generation
2021-07-21 08:20:09 -07:00
Hideki Miyazaki
b76d44dad9 add ERR_lib_error_string 2021-07-21 10:31:00 +09:00
Sean Parkinson
dc19ba2aa7 Memory allocation: fixes from memory usage generation
1. Configuration: If not fast math then don't set ALT_ECC_SIZE when
configuring.
2. ECC KeyShare: Key share entry's key was allocated with type
DYNAMIC_TYPE_PRIVATE_KEY, free with same type.
3. Ed25519: free the SHA-512 temporary object. WOLFSSL_SMALL_STACK_CACHE
builds have dynamicaly allocated data.
4. RSA: Don't keep allocating a new hash object in RsaMGF1 when compiled
with WOLFSSL_SMALL_STACK_CACHE.
2021-07-21 09:54:11 +10:00
Daniel Pouzzner
2014d39254 fixes for valgrind-detected leaks and undefined data accesses: wolfSSL_{SHA*,MD5}_Final (OpenSSL compat wrappers): call wc_*Free() on sha state that otherwise leaks when _SMALL_STACK_CACHE; test_wc_curve25519_shared_secret_ex(): properly initialize public_key. 2021-07-20 18:26:05 -05:00
Sean Parkinson
60288a5083 Merge pull request #4222 from TakayukiMatsuo/tk12625
SSL APIs: Add sanity check to some APIs
2021-07-21 09:00:03 +10:00
David Garske
f18344c191 Fix logic error for calculation of PKCS header size in wolfSSL_i2d_PUBKEY. 2021-07-20 15:11:32 -07:00
JacobBarthelmeh
aedd2a33db Merge pull request #4221 from douzzer/sanitizer-fixes-20210719
misc sanitizer fixes etc
2021-07-21 00:40:09 +07:00
David Garske
1a7c8ccbd1 Peer review fixes. 2021-07-20 10:02:16 -07:00
David Garske
762b384be2 Fixes for -pedantic errors. 2021-07-20 10:02:16 -07:00
David Garske
be6fd26f54 Fix for backwards compatibility for i2d_PrivateKey. 2021-07-20 10:02:16 -07:00
David Garske
b344246549 Fix the new PKCS8 header check in wc_CreatePKCS8Key to use the right input buffer. 2021-07-20 10:02:16 -07:00
David Garske
b8ed577e9a Peer review fixes and improvements. Resolves issue with public API compatibility. 2021-07-20 10:02:16 -07:00
David Garske
fd52424dd5 Improvements to PKCS8 handling.
* Fixes for handling PKCS8 in keys with EVP PKEY. Resolves QT test issues. Replacement to PR #3925.
* Improved code handling for PKCS 8 headers. Change PemToDer to not strip the PKCS8 header.
* Add support in the ECC/RSA/DH key import code to support detection / handling of the PKCS8 header.
* Fix for `wc_RsaKeyToDer` to be exposed with `OPENSSL_EXTRA`.
* Adds EVP PKCS8 test case for RSA and ECC.
* Refactor `test_wolfSSL_OPENSSL_hexstr2buf` to resolve g++ compiler warning.
* Added new `WOLFSSL_TRAP_MALLOC_SZ` build option to trap mallocs that are over a specified size.
2021-07-20 10:02:16 -07:00
David Garske
673becee74 Merge pull request #4210 from JacobBarthelmeh/Testing
handle edge case of input buffer malloc'd to location immediately aft…
2021-07-20 09:56:27 -07:00
Jacob Barthelmeh
932abbb6e6 update docs for 4.8.1 2021-07-20 21:20:15 +07:00
JacobBarthelmeh
4cdbe0e23e Merge pull request #4207 from haydenroche5/sblim-sfcb
Add support for sblim-sfcb port.
2021-07-20 20:41:46 +07:00
JacobBarthelmeh
38fd577ded Merge pull request #4218 from SparkiDev/sp_ecc_add_dbl
SP: ecc proj add point, dbl point fix
2021-07-20 18:57:48 +07:00
JacobBarthelmeh
35a0258f47 Merge pull request #4220 from SparkiDev/ecc_neg_string
ECC: where reading strings, check for neg (invalid)
2021-07-20 18:56:00 +07:00
Sean Parkinson
ed6e173fc3 Maths: mp_mod_2d supports negative value now
SRP: don't clear an mp_int that hasn't been initialized
2021-07-20 18:33:55 +10:00
TakayukiMatsuo
f630fded44 Add sanity check to some APIs 2021-07-20 13:23:16 +09:00
Daniel Pouzzner
a43cc4ebfa openssl/sha.h: enlarge WOLFSSL_SHA384_CTX.holder to accommodate wc_Sha512.{devId,devCtx}. 2021-07-19 21:41:15 -05:00
Daniel Pouzzner
fe94c36a7b configure.ac: fix wrong constructions in environment setup for ENABLED_REPRODUCIBLE_BUILD. 2021-07-19 18:31:13 -05:00
Hayden Roche
5507a07563 Add support for sblim-sfcb port. 2021-07-19 16:28:44 -07:00
Daniel Pouzzner
f8d1befdff autogen.sh: leave .git/hooks/pre-{commit,push} alone unless they don't exist, to allow for local ecosystem-dependent customizations of the hooks. 2021-07-19 16:31:22 -05:00
Daniel Pouzzner
4df6fb74b0 fix sanitizer-detected uninitialized/null data accesses: wc_SrpComputeKey(), XChaCha20Poly1305_test(). 2021-07-19 16:29:43 -05:00
John Safranek
77c9b36b5a Merge pull request #4181 from dgarske/sniffer_keycb
Sniffer fixes and new sniffer key callback support
2021-07-19 13:26:17 -07:00
JacobBarthelmeh
020e23783b Merge pull request #4180 from kaleb-himes/DEFAULT_CA_BOOL
Fix basic constraints extension present and CA Boolean not asserted
2021-07-19 23:08:27 +07:00
Sean Parkinson
5b621cf039 ECC: where reading strings, check for neg (invalid) 2021-07-19 22:58:07 +10:00
Sean Parkinson
d45e78b715 SP: ecc proj add point, dbl point fix
Set infinity field of points.
2021-07-19 12:45:52 +10:00
David Garske
bbe47a81b7 Merge pull request #4183 from douzzer/ED-streaming-verify
add streaming API to the ED verify routines
2021-07-18 14:12:42 -07:00
Daniel Pouzzner
186ff2b365 make -DNO_ED25519_KEY_{IMPORT,EXPORT} buildable, and fix api.c and suites.c so that -DNO_ED*_KEY_{IMPORT,EXPORT} pass make check. 2021-07-16 23:07:28 -05:00
Daniel Pouzzner
ac92204c15 make -DNO_ED448_KEY_{IMPORT,EXPORT} buildable 2021-07-16 18:21:30 -05:00
Daniel Pouzzner
785a8f83ed evp.c: fixes in wolfSSL_EVP_CIPHER_CTX_ctrl() from peer review. 2021-07-16 17:52:28 -05:00
David Garske
070ca6c34d Fixes to properly support sniffer with secure renegotiation. 2021-07-16 14:48:22 -07:00
Daniel Pouzzner
c97eff6e61 evp.c: add missing checks and logic in wolfSSL_EVP_CIPHER_CTX_ctrl(), and fix api.c:test_IncCtr() to exercise wolfSSL_EVP_CIPHER_CTX_ctrl() with EVP_CTRL_GCM_IV_GEN using an AES cipher, with thanks to Juliusz. 2021-07-16 15:30:23 -05:00
Daniel Pouzzner
05128968f6 fixes for null pointer accesses detected by clang sanitizer. also, gate SuiteTest() on !NO_WOLFSSL_CIPHER_SUITE_TEST in tests/unit.c, greatly reducing time to completion when not debugging cipher suites. 2021-07-16 13:49:47 -05:00
Daniel Pouzzner
5e8da2348f ED: add --enable-ed25519-stream and --enable-ed448-stream to configure.ac, disabled by default, and add them to --enable-all and --enable-all-crypto lists, along with --enable-aesgcm-stream; report AES-GCM and ED* streaming API options in feature summary rendered at end;
refactor ED routines to pivot on WOLFSSL_ED*_PERSISTENT_SHA and WOLFSSL_ED*_STREAMING_VERIFY macros, with sha state in the key struct only when WOLFSSL_ED*_PERSISTENT_SHA, otherwise on the stack as before;

add ed*_hash_init() and ed*_hash_free() local helpers;

ED* peer review: fix line lengths, remove superfluous retval checks, tweaks for efficiency, and add ED448_PREHASH_SIZE to ed448.h.
2021-07-16 13:49:47 -05:00
Daniel Pouzzner
9b43e57ccf ED: add streaming API to the ED verify routines: wc_ed*_verify_msg_init(), wc_ed*_verify_msg_update(), wc_ed*_verify_msg_final();
harmonize the ED448 API with the ED25519 API by making wc_ed448_verify_msg_ex() and wc_ed448_init_ex() public functions;

track devId and heap pointer in ed*_key.{devId,heap}, and pass them through to sha init functions;

add ed*_key.{sha,sha_clean_flag}, and ed*_hash_{reset,update,final} functions, and use them for all ED hashing ops, to support streaming API and for optimally efficient reuse for the preexisting ED calls;

add ed448_hash() akin to ed25519_hash(), and use it in place of wc_Shake256Hash(), for .sha_clean_flag dynamics.

add to wc_ed*_import_private_key() the ability to import the combined key generated by wc_ed*_export_private() without supplying the redundant public key;

add macro asserts near top of ed*.h to assure the required hash functions are available;

fix {NO,HAVE}_ED*_{SIGN,VERIFY};

wolfcrypt/test/test.c: add missing key initializations in ed*_test();

wolfcrypt/test/test.c: fix unaligned access in myDecryptionFunc() detected by -fsanitize=address,undefined.
2021-07-16 13:49:47 -05:00
David Garske
fe77e29ba0 Fix for SNI refactor handling of return codes. Fix for possible use of NULL on client array. 2021-07-16 11:23:20 -07:00
kaleb-himes
f408eeb5bb Implement peer review suggestions 2021-07-16 09:57:11 -06:00
Lealem Amedie
73323e694f Addressing possible leaks in ssl.c and api.c 2021-07-16 09:48:06 -06:00
JacobBarthelmeh
b9c707511b Merge pull request #4211 from SparkiDev/ocsp_no_check
OCSP: improve handling of OCSP no check extension
2021-07-16 16:06:41 +07:00
Sean Parkinson
f93083be72 OCSP: improve handling of OCSP no check extension 2021-07-16 12:19:39 +10:00
Sean Parkinson
8e6c31b15d ECC bench: can't use SAKKE curve with ECDH/ECDSA
Skip curve benchmarking when all curves are being benchmarked.
2021-07-16 12:06:14 +10:00
Sean Parkinson
af98e64b88 Merge pull request #4208 from dgarske/leaks
Fixes for possible leaks with ECCSI and DH test
2021-07-16 08:59:11 +10:00
David Garske
8a8b315ed8 Improvements to the ST Cube pack configuration template. 2021-07-15 14:02:56 -07:00
Jacob Barthelmeh
12a4517d6b handle edge case of input buffer malloc'd to location immediately after output buffer 2021-07-15 22:38:48 +07:00
David Garske
6c3c635be7 Merge pull request #4206 from julek-wolfssl/remove-api 2021-07-15 06:41:00 -07:00
JacobBarthelmeh
6a0809b53b Merge pull request #4185 from guidovranken/fix-gh-issue-4184
Fix compilation failure with WOLFSSL_PUBLIC_ECC_ADD_DBL
2021-07-15 16:19:30 +07:00
JacobBarthelmeh
fc6aa19eb8 Merge pull request #4200 from haydenroche5/tcpdump
Add support for tcpdump with wolfSSL.
2021-07-15 14:57:47 +07:00
JacobBarthelmeh
6458a8cedd Merge pull request #4187 from SparkiDev/sp_math_mod_red_fix
SP math: montgomery reduction edge case
2021-07-15 14:33:26 +07:00
Sean Parkinson
2959902a10 TLS 1.3: ability to turn peek change off
Allow post-handshake peeking for handshaking messages to be disabled.
Not all customers want to handle this.
Clear WOLFSSL_ERROR_WANT_READ error on entry to ReceiveData which was
set when peeking found handshake message.
2021-07-15 10:14:13 +10:00
David Garske
fbbb290d9e Fixes for possible leaks with HAVE_WOLF_BIGINT used by async in ECCSI and DH test. Fixes for GCC -fsanitize=address with --enable-all. 2021-07-14 14:57:32 -07:00
David Garske
3ff21171cb Fix for secure renegotiation, which was not keeping handshake resources. Added NULL checks for case where handshake resources might be free'd to prevent possible use of NULL. Refactor the SNI client hello processing to not assume TLS header is in prior buffer (not there for decrypted handshake packets). 2021-07-14 10:44:33 -07:00
John Safranek
f82fd01283 Merge pull request #4202 from JacobBarthelmeh/BuildOptions
fix for build with wpas and disable tls13
2021-07-14 09:07:08 -07:00
JacobBarthelmeh
b5eef78cdb Merge pull request #4176 from SparkiDev/sp_math_read_bin_max
SP math all: allow reading of bin up to max digit size
2021-07-14 16:03:32 +07:00
JacobBarthelmeh
18399091ce Merge pull request #4012 from julek-wolfssl/haproxy
HaProxy 2.4-dev18 support
2021-07-14 15:46:04 +07:00
Daniel Pouzzner
81f3f417e8 Merge pull request #4190 from SparkiDev/bench_sakke_ecdsa
ECC bench: can't use SAKKE curve with ECDH/ECDSA
2021-07-13 15:39:25 -05:00
David Garske
10987a69d7 Merge pull request #4201 from JacobBarthelmeh/Release
bump version for dev
2021-07-13 11:41:51 -07:00
JacobBarthelmeh
0d55dcaaa0 Merge pull request #4188 from guidovranken/mp_invmod_slow-check
Add missing return value check in mp_invmod_slow
2021-07-14 01:27:10 +07:00
Jacob Barthelmeh
3f22721a86 use version from wolfssl/version.h with driver 2021-07-13 22:39:39 +07:00
Jacob Barthelmeh
2592a04d8a fix for build with wpas and disable tls13 2021-07-13 15:49:40 +07:00
Jacob Barthelmeh
3bebcaaf54 bump version for dev 2021-07-13 04:18:52 +07:00
John Safranek
52b8c7b1fa Merge pull request #4192 from haydenroche5/ocsp_http_header
Improve wolfIO_HttpProcessResponse HTTP header checking logic.
2021-07-12 14:13:07 -07:00
Hayden Roche
9f8e728672 Add support for tcpdump with wolfSSL. 2021-07-12 14:06:25 -07:00
David Garske
db32570ab3 Fix for missing sp_radix_size with WC_MP_TO_RADIX. 2021-07-12 13:40:55 -07:00
John Safranek
add4a68465 Merge pull request #4199 from JacobBarthelmeh/Certs
Lighttpd build fix and gencertbuf on updated ed25519 certs
2021-07-12 09:15:50 -07:00
Jacob Barthelmeh
851c1fe1cf fix for lighttpd build 2021-07-12 16:25:50 +07:00
Jacob Barthelmeh
2f9af5f753 gencertbuf on updated ed25519 certs 2021-07-12 14:31:03 +07:00
John Safranek
30baa83a0b Merge pull request #4198 from douzzer/fix-linuxkm-for-v4.8 2021-07-09 19:15:23 -07:00
John Safranek
50d007ded8 Merge pull request #4196 from JacobBarthelmeh/Release
Release version 4.8.0
2021-07-09 14:33:26 -07:00
John Safranek
84539be656 Merge pull request #4197 from JacobBarthelmeh/Jenkins
Updates found with Jenkins tests
2021-07-09 14:32:43 -07:00
Daniel Pouzzner
15c890179f Linux kernel module: add an explicit -ffreestanding to CFLAGS in linuxkm/Makefile, and in wc_port.h ifdef WOLFSSL_LINUXKM, ignore -Wtype-limits in Linux kernel header files (needed for kernel v5.13), and suppress inclusion of stdint-gcc.h. 2021-07-09 15:23:07 -05:00
Jacob Barthelmeh
88b70a3906 update google cert that was set to expire in Dec 2021 2021-07-09 23:57:50 +07:00
JacobBarthelmeh
c01a63508a account for testing on big endian system 2021-07-09 08:18:39 -06:00
Jacob Barthelmeh
f4c4cf8afe update changelog for release 4.8.0 2021-07-09 17:02:18 +07:00
David Garske
e1b487ab9f Fix for wc_export_int with WC_TYPE_HEX_STR, which was not returning the correct length. 2021-07-08 14:36:36 -07:00
David Garske
4f055653c7 Restore TLS v1.3 hello_retry behavior with session id. Fix for SNI with default (no name) putting newline due to fgets. 2021-07-08 13:50:08 -07:00
JacobBarthelmeh
500a6c8b27 prepare for release 4.8.0 2021-07-08 12:02:40 -06:00
David Garske
4cb076f22b Cleanup to remove duplicate stat sslResumptionValid. Add print of sslResumptionInserts. 2021-07-08 09:49:13 -07:00
David Garske
ddbe0e6dab Fix for sniffer stats on resume miss. The logic for hello_retry_request will no longer try and do resume, so restore BAD_SESSION_RESUME_STR error. 2021-07-08 09:31:59 -07:00
JacobBarthelmeh
127add4bf7 include stddef for size_t type for ptr 2021-07-08 07:06:20 -06:00
Jacob Barthelmeh
7bcd0da164 warning for length used on strncpy 2021-07-08 15:51:17 +07:00
Jacob Barthelmeh
263e03748e fix issue of handling partially streamed PKCS7 input 2021-07-08 15:25:40 +07:00
JacobBarthelmeh
a250e1f23a Merge pull request #4194 from ejohnstown/to-fix
Timeout Fix
2021-07-08 14:34:42 +07:00
John Safranek
c9aa23ac7a Merge pull request #4191 from dgarske/htons
Fix for missing `XHTONS` with `WOLFSSL_USER_IO` and session tickets
2021-07-07 16:21:59 -07:00
John Safranek
00cab36b36 Timeout Fix
The macros setting up the timeout for the select used to timeout just
multiplied the ms by 1000 to make us. The BSD select used on macOS
doesn't like the us to be greater than 999999. Modified to carry the
excess us over into the seconds.
2021-07-07 16:14:48 -07:00
Sean Parkinson
849020660f Merge pull request #4182 from JacobBarthelmeh/CAAM
check return of DSA decode
2021-07-08 08:16:46 +10:00
John Safranek
b9dac74086 Merge pull request #4193 from JacobBarthelmeh/StaticAnalysisTests
Static analysis tests
2021-07-07 14:23:58 -07:00
JacobBarthelmeh
86e5287a14 Merge pull request #4032 from TakayukiMatsuo/tk11968
Make wolfSSL_CTX_set_timeout reflect to Session-ticket-lifetime-hint
2021-07-07 22:26:06 +07:00
Juliusz Sosinowicz
b7bd3766c7 Fix pedantic errors about macros in macros 2021-07-07 10:54:34 +02:00
JacobBarthelmeh
7b9d6a3f5e Merge pull request #3792 from TakayukiMatsuo/os_keylog
Add wolfSSL_CTX_set_keylog_callback
2021-07-07 15:34:33 +07:00
Hayden Roche
7422f07fb5 Improve wolfIO_HttpProcessResponse HTTP header checking logic.
Modify this function to just ensure that the response header starts with "HTTP
1.x 200" (where x is 0, 1, etc.).
2021-07-06 15:18:26 -07:00
David Garske
41ac17cdc6 Improve support for XHTONS with WOLFSSL_USER_IO and session tickets with default encryption implementation !WOLFSSL_NO_DEF_TICKET_ENC_CB. 2021-07-06 13:13:35 -07:00
Jacob Barthelmeh
b1a6d88af6 fix for memory leak 2021-07-06 23:37:35 +07:00
Juliusz Sosinowicz
fc7533fe5e Code review changes 2021-07-06 16:14:25 +02:00
Juliusz Sosinowicz
1acf906612 Code review changes 2021-07-06 15:39:23 +02:00
Juliusz Sosinowicz
6dfc702364 Correct serverDH_Pub length on renegotiation
On a renegotiation the serverDH_Pub buffer may be too short. The previous DhGenKeyPair call may have generated a key that has a shorter binary representation (usually by one byte). Calling DhGenKeyPair with this shorter buffer results in a WC_KEY_SIZE_E error.
2021-07-06 15:39:23 +02:00
Juliusz Sosinowicz
1b6b16c2c3 HaProxy 2.4-dev18 support
*This patch is dependent on https://github.com/wolfSSL/wolfssl/pull/3871 because proto version selection logic is refactored in that pull request.*
This patch contains the following changes:
- Enable more options with `--enable-haproxy`
- Compatibility layer additions
    - `STACK_TYPE_X509_OBJ`
    - `OCSP_id_cmp`
    - `X509_STORE_get0_objects`
    - `X509V3_EXT_nconf_nid`
    - `X509V3_EXT_nconf`
    - `X509_chain_up_ref`
    - `X509_NAME_hash`
    - `sk_X509_NAME_new_null`
    - `X509_OBJECT_get0_X509`
    - `X509_OBJECT_get0_X509_CRL`
    - `ASN1_OCTET_STRING_free`
    - `X509_LOOKUP_TYPE`
    - `OSSL_HANDSHAKE_STATE`
- New `OPENSSL_COMPATIBLE_DEFAULTS` define will set default behaviour that is compatible with OpenSSL
    - WOLFSSL_CTX
        - Enable all compiled in protocols
        - Allow anonymous ciphers
        - Set message grouping
        - Set verify to SSL_VERIFY_NONE
- In `SetSSL_CTX`, don't change `send` and `recv` callback if currently using `BIO`
- `ssl->peerVerifyRet`
    - Return first that occured
    - Set correct value on date error
    - Set revoked error on OCSP or CRL error
    - Save value in session and restore on resumption
    - Add to session serialization
- With `OPENSSL_EXTRA`, send an alert on invalid downgrade attempt
- Handle sni callback `SSL_TLSEXT_ERR_NOACK`
- Add `WOLFSSL_VERIFY_DEFAULT` option for `wolfSSL_CTX_set_verify` and `wolfSSL_set_verify` to allow resetting to default behaviour
2021-07-06 15:39:23 +02:00
Jacob Barthelmeh
a6ce91f3bb fix for gcc-11 build with blake2 2021-07-06 14:53:39 +07:00
Jacob Barthelmeh
ae00b5acd0 some minor changes for unintialized and null infer reports 2021-07-06 14:13:45 +07:00
Sean Parkinson
34528eb6c9 ECC bench: can't use SAKKE curve with ECDH/ECDSA
Skip curve benchmarking when all curves are being benchmarked.
2021-07-06 12:19:50 +10:00
Guido Vranken
e0f268e522 Simplify mp_invmod_slow fix 2021-07-06 02:29:31 +02:00
Guido Vranken
9783d64f7e Add missing return value check in mp_invmod_slow 2021-07-06 02:13:42 +02:00
Sean Parkinson
08ebd34f31 SP math: montgomery reduction edge case
4 and 6 word specific implementations now handle rare overflow correctly
in last mul-add of loop.
2021-07-06 10:03:24 +10:00
Guido Vranken
460b513594 Fix compilation failure with WOLFSSL_PUBLIC_ECC_ADD_DBL
Fixes https://github.com/wolfSSL/wolfssl/issues/4184
2021-07-03 19:31:29 +02:00
TakayukiMatsuo
5df0f7820a Add wolfSSL_CTX_set_keylog_callback 2021-07-03 14:51:23 +09:00
Jacob Barthelmeh
89866846d6 check return of DSA decode 2021-07-03 03:41:40 +07:00
David Garske
26789ef877 Fix variable declaration mid-code. 2021-07-02 13:24:25 -07:00
David Garske
2dd169f9a1 Added new sniffer API for callback for key use ssl_SetKeyCallback. Support indicated by WOLFSSL_SNIFFER_KEY_CALLBACK. Trace cleanup for custom error. 2021-07-02 12:18:56 -07:00
kaleb-himes
93a8f36530 Fix basic constraints extension present and CA Boolean not asserted 2021-07-02 12:16:16 -06:00
TakayukiMatsuo
567d8ed704 Make wolfSSL_set_session return success on timeout under WOLFSSL_ERROR_CODE_OPENSSL macro definition. 2021-07-02 10:50:00 +09:00
TakayukiMatsuo
aef9e560b1 Make wolfSSL_CTX_set_timeout call wolfSSL_CTX_set_TicketHint internally to change session-ticket-lifetime-hint. 2021-07-02 09:15:01 +09:00
David Garske
197b959916 Merge pull request #4177 from SparkiDev/ecc_exp_point_size
ECC: validate ordinate length before export
2021-07-01 17:07:35 -07:00
David Garske
d16e374972 Merge pull request #4160 from JacobBarthelmeh/fuzzing
better checking on length of streaming buffer
2021-07-01 17:04:49 -07:00
David Garske
43f8c5ba1b Merge pull request #4121 from JacobBarthelmeh/PKCS7
wc_PKCS7_DecodeCompressedData optionally handle a packet without cont…
2021-07-01 17:03:56 -07:00
JacobBarthelmeh
9b8142c1ff Merge pull request #4174 from SparkiDev/zephyr_2_6_99
Zephyr Project: update port to work with latest
2021-07-02 03:23:10 +07:00
Daniel Pouzzner
e9e41d3344 Merge pull request #4070 from elms/fsanitize/undefined_fixes
address errors with `-fsanitize=undefined`
2021-07-01 13:00:06 -05:00
JacobBarthelmeh
45486ac904 Merge pull request #4166 from miyazakh/supportedversion_ex_mindowngrade
not include smaller versions than minimum downgrade
2021-07-01 21:00:20 +07:00
JacobBarthelmeh
7a42096643 Merge pull request #4175 from SparkiDev/sp_thumb_clang
SP: Thumb implementaton that works with clang
2021-07-01 20:39:06 +07:00
Sean Parkinson
a992480f91 ECC: validate ordinate length before export 2021-07-01 15:50:04 +10:00
Elms
75e807abc6 Fixes for gcc-10 and -fsanitize=undefined for rabbit.c
* One introduced in #4156
* One from previous commit in this PR
2021-06-30 22:20:17 -07:00
Sean Parkinson
6694775d4b Changes to compile without XTREAM_ALIGN
Use macro to load 32 bits from input parameters key in hc128.c and input
in rabbit.c
Also fix warning about string copy.
2021-06-30 21:58:30 -07:00
Elms
56d879f422 address scan-build issues for clang 6 and 10 2021-06-30 21:58:30 -07:00
Elms
c9597ea735 sha3: align data for Sha3Update 2021-06-30 21:58:30 -07:00
Elms
dc7beab784 address errors with -fsanitize=undefined
- fix null dereferences or undefined `memcpy` calls
 - fix alignment in `myCryptoDevCb`
 - fix default dtls context assignment
 - add align configure option to force data alignment

TESTED:
 `./configure CFLAGS=-fsanitize=undefined\ -DWOLFSSL_GENERAL_ALIGNMENT=1 --enable-all`
2021-06-30 21:58:30 -07:00
Sean Parkinson
4cff893c5f SP math all: allow reading of bin up to max digit size 2021-07-01 14:29:58 +10:00
David Garske
f9cd83743a Fix include.am typo. 2021-06-30 08:42:15 -07:00
David Garske
23b573c70a Autoconf Include.am fixes, spelling and copyright. 2021-06-30 08:38:17 -07:00
David Garske
c820b5679a Merge pull request #4173 from SparkiDev/sp_int_mingw64 2021-06-30 06:57:58 -07:00
Jacob Barthelmeh
893b71e8c1 remove dead code 2021-06-30 19:54:25 +07:00
Juliusz Sosinowicz
0277fa6d7c Remove unused wolfSSL_StartSecureRenegotiation 2021-06-30 13:51:11 +02:00
Jacob Barthelmeh
23eededc36 simplify and fix max stream buffer length 2021-06-30 15:26:44 +07:00
Hideki Miyazaki
b0688688c1 addressed review comments 2021-06-30 13:52:46 +09:00
Sean Parkinson
60a520c525 SP: Thumb implementaton that works with clang 2021-06-30 13:10:29 +10:00
Sean Parkinson
d1fb736136 Zephyr Project: update port to work with latest 2021-06-30 10:29:54 +10:00
Sean Parkinson
36d534034c SP math: cast number to sp_digit rather than declare as long 2021-06-30 09:28:51 +10:00
David Garske
ae68de060a Merge pull request #4171 from SparkiDev/sp_small_fast_modexp
SP: allow fast mod_exp to be compiled for small C code
2021-06-29 13:32:55 -07:00
David Garske
0d1672dfee Merge pull request #4170 from SparkiDev/sp_mingw64
SP: Don't cast number to sp_digit rather than declare as long
2021-06-29 13:32:28 -07:00
Chris Conlon
9179071af5 Merge pull request #4153 from JacobBarthelmeh/Testing
fix for keyid with ktri cms
2021-06-29 11:40:00 -06:00
David Garske
e59cc79a1f Document new WOLFSSL_SP_FAST_MODEXP option. 2021-06-29 09:16:27 -07:00
David Garske
a748b5264e Fix for wolfcrypt/src/sp_int.c:2720:34: error: left shift count >= width of type with mingw64. 2021-06-29 09:13:32 -07:00
David Garske
b0e9531f26 Merge pull request #4169 from SparkiDev/dh_anon_tls12
TLS: Get DH anon working TLS 1.2 and below
2021-06-29 08:53:44 -07:00
Sean Parkinson
303f944935 SP: allow fast mod_exp to be compiled for small C code 2021-06-29 12:51:21 +10:00
Sean Parkinson
08e560e0a7 SP: Don't cast number to sp_digit rather than declare as long
mingw64 has numbers as 32-bit type when declarted long.
Fixup some line lengths.
2021-06-29 11:07:47 +10:00
Sean Parkinson
f56bf3d8ee TLS: Get DH anon working TLS 1.2 and below
Send the server DH parameters in ServerKeyExchange.
./configure '--enable-anon' '--disable-rsa' '--enable-oldtls'
2021-06-29 10:29:39 +10:00
David Garske
0bb66f3023 Merge pull request #4167 from danielinux/pka_readme
port/st: added mention of the PKA support in README
2021-06-28 10:35:32 -07:00
Eric Blankenhorn
33174cec5c Merge pull request #4161 from dgarske/ssl_doxy
Added inline documentation for `wolfSSL_CTX_load_verify_buffer_ex`
2021-06-28 12:35:11 -05:00
Daniele Lacamera
15080317ce port/st: added mention of the PKA support in README 2021-06-28 14:39:58 +02:00
David Garske
80480e5d1f Merge pull request #4163 from lealem47/rsa-test
Rsa test
2021-06-25 13:12:58 -07:00
David Garske
5adbcfb3be Merge pull request #4151 from SparkiDev/sp_math_all_base10
SP math all: fix read radix 10
2021-06-25 09:37:05 -07:00
David Garske
63ad5d58a2 Merge pull request #4162 from ejohnstown/abi-update
ABI Update
2021-06-25 08:36:07 -07:00
John Safranek
5437883da7 Merge pull request #4164 from dgarske/async_frag
Fix for async with fragmented packets
2021-06-25 08:33:50 -07:00
David Garske
74b9b5a8cd Merge pull request #4156 from SparkiDev/regression_fixes_1
Regression test fixes
2021-06-25 07:48:02 -07:00
Lealem Amedie
729fea6b71 unused variable fix in rsa_oaep_padding_test fix 2021-06-25 08:39:44 -06:00
Jacob Barthelmeh
5038a27cda add test cases and set content oid with decode encrypted data 2021-06-25 21:16:01 +07:00
Jacob Barthelmeh
55002c56d2 update for ber padding 2021-06-25 18:57:28 +07:00
Hideki Miyazaki
5bb52915b9 update test conf to fix jenkins failures 2021-06-25 16:31:49 +09:00
Sean Parkinson
fbe086534a SP math all: fix read radix 10
Ensure first digit is 0 when zeroing a number.
Check size of output in _sp_mul_d() - only place to be sure of overflow.
Modify callers of _sp_mul_d() to check return.
2021-06-25 15:55:32 +10:00
Hideki Miyazaki
d576e3ef96 not send smaller versions than minimum downgradable version as supportedversion ext 2021-06-25 14:51:34 +09:00
Sean Parkinson
dab6724059 Regression fixes: more configurations
./configure --disable-rsa --disable-ecc --disable-dh --enable-curve25519
&& make
./configure --disable-aescbc --disable-chacha --disable-poly1305
--disable-coding && make
2021-06-25 15:23:51 +10:00
Lealem Amedie
873f10b0cf Simplifying rsa_test() by extracting sections as separate functions 2021-06-24 20:47:14 -06:00
Sean Parkinson
1994811d24 Merge pull request #4144 from haydenroche5/pkcs8
Make a bunch of PKCS#8 improvements.
2021-06-25 12:22:11 +10:00
Sean Parkinson
dae6683803 Merge pull request #4030 from julek-wolfssl/ZD12235
Expand SHA-3 support
2021-06-25 12:18:03 +10:00
Sean Parkinson
8592053856 Regression test fixes
./configure --enable-all --disable-rsa
./configure --disable-chacha --disable-asm
./configure --disable-rsa --disable-ecc --disable-dh --enable-curve25519
--enable-cryptonly (and ed25519, curve448, ed448)
./configure --disable-tls13 --enable-psk --disable-rsa --disable-ecc
--disable-dh C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK
./configure --disable-oldtls --enable-psk -disable-rsa --disable-dh
-disable-ecc --disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK
--enable-lowresource --enable-singlethreaded --disable-asm
--disable-errorstrings --disable-pkcs12 --disable-sha3 --disable-sha224
--disable-sha384 --disable-sha512 --disable-sha --disable-md5
-disable-aescbc --disable-chacha --disable-poly1305 --disable-coding
Various build combinations with WOLFSSL_SP_MATH and WOLFSSL_SP_MATH_ALL
2021-06-25 09:18:06 +10:00
David Garske
45ef68d5c7 Fix for async with fragmented packets where inline crypto could be overwritten on reprocessing fragment. FIxes unit tests with --enable-all --enable-asynccrypt. Minor cleanup for line length and free verify RSA buffer sooner.
Reproducible with:

```
./examples/server/server -v 3 -l ECDHE-ECDSA-AES256-GCM-SHA384 -c ./certs/server-ecc.pem -k ./certs/ecc-key.pem -2
./examples/client/client -v 3 -l ECDHE-ECDSA-AES256-GCM-SHA384 -A ./certs/ca-ecc-cert.pem -F 6 -2
```
2021-06-24 16:03:12 -07:00
John Safranek
66c29ef1ca ABI Update
Add wolfSSL_CTX_set_verify to the ABI list.
2021-06-24 14:08:28 -07:00
David Garske
4ef3c5d75c Added inline documentation for wolfSSL_CTX_load_verify_buffer_ex. 2021-06-24 10:38:34 -07:00
Juliusz Sosinowicz
656e49cc3b Expand SHA-3 support
Add more support in the EVP layer as well as add signing support. The SHA-3 OID's were also added for DER algorithm identifier encoding.
2021-06-24 19:31:43 +02:00
David Garske
c59d1f2e8d Merge pull request #4155 from SparkiDev/ssl_reorg_3
Reorg of ssl.c: standard C wrappers, EX_DATA, BUF_MEM, TXT_DB
2021-06-24 09:53:53 -07:00
David Garske
1ec212be81 Merge pull request #4159 from SparkiDev/sakke_eccsi_fix_1
SAKKE: fix configurations
2021-06-24 09:48:14 -07:00
David Garske
97ab1bb013 Merge pull request #4154 from SparkiDev/hmac_update_ct
TLS hmac: handle truncated mac in Hmac_UpdateFinal_CT()
2021-06-24 09:28:22 -07:00
Jacob Barthelmeh
b826083fbf better checking on length of streaming buffer 2021-06-24 23:06:37 +07:00
Sean Parkinson
2fb6a9eacf SAKKE: fix configurations
Fix position of sp_1024_norm_18 now that div requires it:
./configure --disable-shared --enable-sakke --disable-eccsi
--enable-sp
Fix missing '{' in sp_mulmod_table_1024:
./configure --disable-shared --enable-sakke --enable-eccsi
--enable-smallstack  --enable-sp
2021-06-24 14:01:27 +10:00
Sean Parkinson
92a4e30b69 Merge pull request #4158 from dgarske/nxp_ltc_rsa2
Fixes for NXP LTC with RSA and Blinding
2021-06-24 12:14:04 +10:00
David Garske
73c90369c6 Fix for int neg being defined mid code. Fix limit check for mp_mulmod using hardware vs software. Resolves issue when using WC_RSA_BLINDING. 2021-06-23 14:45:52 -07:00
David Garske
2d1b113f51 Fix for missing wolfcrypt_mp_prime_is_prime_ex def. 2021-06-23 14:45:52 -07:00
John Safranek
ae2f2b246e Merge pull request #4148 from BrianAker/master
Fix for make distcheck, maintainer-clean, to allow distribution builds.
2021-06-23 10:33:06 -07:00
David Garske
81daf9172b Merge pull request #3872 from ejohnstown/pcExt
Policy Constraints Extension
2021-06-23 09:40:15 -07:00
Hayden Roche
b3401bd102 Make a bunch of PKCS#8 improvements.
- Add doxygen documentation for wc_GetPkcs8TraditionalOffset, wc_CreatePKCS8Key,
wc_EncryptPKCS8Key, and wc_DecryptPKCS8Key.
- Add a new API function, wc_CreateEncryptedPKCS8Key, which handles both
creation of an unencrypted PKCS#8 key and the subsequent encrypting of said key.
This is a wrapper around TraditionalEnc, which does the same thing. This may
become a first-class function at some point (i.e. not a wrapper). TraditionalEnc
is left as is since it is used in the wild.
- Added a unit test which exercises wc_CreateEncryptedPKCS8Key and
wc_DecryptPKCS8Key. Testing wc_CreateEncryptedPKCS8Key inherently also tests
TraditionalEnc, wc_CreatePKCS8Key, and wc_EncryptPKCS8Key.
- Modified wc_EncryptPKCS8Key to be able to return the required output buffer
size via LENGTH_ONLY_E idiom.
- Added parameter checking to wc_EncryptPKCS8Key and wc_DecryptPKCS8Key.
2021-06-23 08:39:20 -07:00
John Safranek
f762672a12 Merge pull request #4157 from julek-wolfssl/app-data-reason
Add a reason text for APP_DATA_READY
2021-06-23 08:30:19 -07:00
Juliusz Sosinowicz
4eff3ff3dd Add a reason text for APP_DATA_READY 2021-06-23 13:43:56 +02:00
Sean Parkinson
945acb4c2f Reorg of ssl.c: standard C wrappers, EX_DATA, BUF_MEM, TXT_DB 2021-06-23 11:28:38 +10:00
Sean Parkinson
2923d812bd Merge pull request #4058 from miyazakh/qt_oslext_cs
TLS: extend set_cipher_list() compatibility layer API
2021-06-23 10:12:11 +10:00
Sean Parkinson
5cf7e17820 TLS hmac: handle truncated mac in Hmac_UpdateFinal_CT() 2021-06-23 09:54:41 +10:00
John Safranek
a5852fe440 Merge pull request #4119 from julek-wolfssl/dtls-seq-num-refactor
Refactor `dtls_expected_peer_handshake_number` handling
2021-06-22 16:29:45 -07:00
Sean Parkinson
eccfb4f632 Merge pull request #4125 from dgarske/sniffer_etsi
TLS: Fixes for sniffer and static ephemeral keys
2021-06-23 09:17:13 +10:00
Chris Conlon
4b3bd3e384 Merge pull request #4049 from miyazakh/set_verifyDepth_3
Set verify depth limit
2021-06-22 10:23:43 -06:00
Chris Conlon
b70e028200 Merge pull request #4087 from miyazakh/get_ciphers_compat
higher priority of cipher suite is on top of stack
2021-06-22 10:22:43 -06:00
Chris Conlon
446393bcab Merge pull request #3793 from TakayukiMatsuo/os_base64
Add wolfSSL_EVP_Encode/Decode APIs
2021-06-22 10:19:30 -06:00
Chris Conlon
b050463dce Merge pull request #4059 from miyazakh/qt_unit_test
fix qt unit test
2021-06-22 10:12:48 -06:00
Jacob Barthelmeh
647bde671c macro guard on test case 2021-06-22 22:56:35 +07:00
Jacob Barthelmeh
2b1a6cfb54 add setting contentOID with decode enveloped data 2021-06-22 22:06:16 +07:00
Jacob Barthelmeh
a4b5ebb62f remove contentOID check 2021-06-22 21:59:57 +07:00
Jacob Barthelmeh
31e8784057 fix for compressedData eContent encoding with PKCS7 2021-06-22 21:59:57 +07:00
Jacob Barthelmeh
9c2de0e40a wc_PKCS7_DecodeCompressedData optionally handle a packet without content wrapping 2021-06-22 21:59:57 +07:00
Jacob Barthelmeh
3cd43cf692 fix for keyid with ktri cms 2021-06-22 21:33:12 +07:00
David Garske
67b87a8883 Merge pull request #4127 from douzzer/wolfsentry-client
outbound connection filtering and wolfSentry integration
2021-06-22 07:27:18 -07:00
David Garske
c4ea64b7fc Merge pull request #4140 from SparkiDev/set_sig_algs 2021-06-21 19:18:10 -07:00
David Garske
52582ede28 Merge pull request #4146 from SparkiDev/pkcs11_dec_final
PKCS #11: Use C_Decrypt instead of C_DecryptUpdate
2021-06-21 15:28:45 -07:00
Sean Parkinson
ab2c1e117e Merge pull request #4149 from guidovranken/wc_ecc_verify_hash_ex-alloc-check
ECC: wc_ecc_verify_hash_ex, return if ALLOC_CURVE_SPECS() fails
2021-06-22 08:24:22 +10:00
David Garske
716237c5dd Fix minor line length and spelling. 2021-06-21 15:09:39 -07:00
David Garske
4942220718 Merge pull request #4150 from elms/fix/sniffer_no_dh
Fix build with `--enable-sniffer --disable-dh`
2021-06-21 12:47:58 -07:00
Elms
a409e7c9ce Fix build with --enable-sniffer --disable-dh 2021-06-21 09:42:51 -07:00
David Garske
7491a44bb4 Fix for possible memory leak case on mp_init failure in wc_ecc_verify_hash_ex with WOLFSSL_SMALL_STACK. 2021-06-21 09:19:47 -07:00
Guido Vranken
7c600e3ebc In wc_ecc_verify_hash_ex, return if ALLOC_CURVE_SPECS() fails
This prevents a NULL pointer dereference later in the function.
2021-06-20 22:29:20 +02:00
Brian Aker
2d497d1cf5 Fix for make distcheck, maintainer-clean, to allow distribution builds.
This the second pass at this after seeing how fips is added to tree in later phases.
This allow autoreconf to be directly called which allows the Makefile to rebuild when seeing that changes have been ( having an autogen.sh is older convention which left to history in the way autotools are invoked )
This fixes "make distcheck" and "make maintainer-clean" which are required by most distributions packaging systems.

The files previously touched by autogen.sh are now properly placed into autoconf.
The include files files are generated by configure. ( There is a note placed in configure.ac as to why and reference to the automake documention for this ). Append to file was done on purpose, touch cannot be in configure safetly. Normally autoheader would be used for this but since the include files are created out of tree, care has to be taken to not overwrite those file.
For the source files, they were moved into the coresponding automake file. It is safe to use touch in automake. Since files can optionally copied from elsewhere, they have to be listed in BUILT_SOURCES. They are written srcdir in order to allow make to do VPATH builds ( which is configure by make distcheck ).
To show fips files are preserved without having the actual fips files, a C style comment can be echoed into the files.
There are a few current, but outstanding issues.
1) config.h needs to be fixed configure.ac to use autoheader in order to allow configure to know to rebuilt depencies on its changes. ( Out of scope for this patch. )
2) verion.h checked into the tree and it is a built file. A make maintainer-clean followed by "git status --ignored" will confirm this. ( Out of scope for this patch )
3) autogen.sh has not been updated to reflect fixes. I believe that for this patch, it should be left alone and checked for regression in Jenkins by itself.
4) There is an out of date .spec file for building RPM which should be updated now that distcheck is working.
5) maintainer-clean should have rule added to remove build-aux testdriver.

This has been tested on current Ubuntu testing, OSX, Fedora 34, and Debian 10.

Additionaly "make distcheck" should be added to regression testing, along with "make maintainer-check".

Other improvement possibilities:
A possible future improvement is to let autoconf handle build with optional out of dist files.
Modify fips configure.ac check to allow for an injection of comments into blank fips files in order to prove distribution of fips/non-fips builds.
Update git rules to use 'make maintainer-clean', 'autoreconf -if', 'make distcheck'.
2021-06-19 20:16:14 -07:00
Kaleb Himes
149920fc14 Merge pull request #4110 from dgarske/config_examples
Additional user_settings.h examples
2021-06-18 12:00:29 -05:00
David Garske
5a685ca37e Merge pull request #4139 from SparkiDev/etm_check_pad
TLS EtM: check all padding bytes are the same value
2021-06-18 08:14:46 -07:00
David Garske
15065175d8 Merge pull request #4145 from SparkiDev/sp_int_neg_mod
SP int negative: check size of a in mp_mod
2021-06-18 08:14:02 -07:00
Sean Parkinson
7224fcd9bc TLS: add support for user setting signature algorithms 2021-06-18 16:19:01 +10:00
Hideki Miyazaki
fbb7a40295 simplified string parse 2021-06-18 11:55:09 +09:00
Hideki Miyazaki
b52ff200de addressed code review part2 2021-06-18 11:22:23 +09:00
Hideki Miyazaki
368dd7b501 address review comments part1 2021-06-18 11:22:22 +09:00
Hideki Miyazaki
23a3c7f5f5 fixed no-termination 2021-06-18 11:22:21 +09:00
Hideki Miyazaki
1ebb4a47f6 addressed jenkins failure 2021-06-18 11:22:20 +09:00
Hideki Miyazaki
a4ff5de369 always tls13 suites in the front position 2021-06-18 11:22:20 +09:00
Hideki Miyazaki
4feedb72cc simulate set_ciphersuites comp. API 2021-06-18 11:22:19 +09:00
Sean Parkinson
699a75c211 PKCS #11: Use C_Decrypt instead of C_DecryptUpdate
Some PKCS #11 devices need final called (implicit in C_Decrypt).
2021-06-18 12:14:34 +10:00
Hideki Miyazaki
23fc810b3c added more context 2021-06-18 11:10:13 +09:00
Hideki Miyazaki
ddf2a0227f additional fix for set verify depth to be compliant with openssl limit 2021-06-18 11:00:51 +09:00
Hideki Miyazaki
2bbf7cc0fb addressed review comments 2021-06-18 10:49:24 +09:00
David Garske
3d5c5b39ac Merge pull request #4134 from embhorn/joi-cert
Update use of joi cert and add to renew script.
2021-06-17 18:28:12 -07:00
Daniel Pouzzner
b59c60db8a ssl.c: fix build gating on wolfSSL_X509_get_ex_new_index() again (fixing rebase error). 2021-06-17 20:14:54 -05:00
Daniel Pouzzner
8c75553e08 wolfSentry integration: move rest of recyclable code out of examples and into wolfsentry_setup() in wolfssl/test.h, and implement peer review corrections on error codes and string.h wrapper macros. 2021-06-17 20:05:40 -05:00
Daniel Pouzzner
55ed985c9a include error-ssl.h, not error-crypt.h, in wolfssl/test.h, and fix rebase error in src/ssl.c. 2021-06-17 20:05:40 -05:00
Daniel Pouzzner
1c9ea6228c ssl.c: fix build gating on wolfSSL_X509_get_ex_new_index(). 2021-06-17 20:05:40 -05:00
Daniel Pouzzner
93dfb4c7f4 add outbound connection filtering support to libwolfssl, add wolfSentry support to the test client, and add wolfSentry JSON config file support to the test client and server using --wolfsentry-config.
also, add mygetopt_long() to wolfssl/test.h, and add --help and Japanese counterpart options to test client and server.
2021-06-17 20:05:40 -05:00
Sean Parkinson
2fb80ceb59 Merge pull request #4133 from dgarske/crypto_cb_25519
Adds crypto callback support for Ed/Curve25519 and SHA2-512/384
2021-06-18 09:47:30 +10:00
David Garske
18fc1b7e63 Merge pull request #4006 from elms/refactor_pointer_manipulation 2021-06-17 16:37:03 -07:00
Sean Parkinson
485cfd798b SP int negative: check size of a in mp_mod
When using negative numbers, t is allocated to be one digit longer than
a->used. Fail when a->used is SP_DIGIT_MAX.
2021-06-18 09:28:51 +10:00
Hideki Miyazaki
951de64e2c set PSK at the beginning 2021-06-18 07:59:35 +09:00
Hideki Miyazaki
3386069490 add LOAD flag to be compliant with OpenSSL 2021-06-18 07:59:34 +09:00
Hideki Miyazaki
af917cc55e tell error code 2021-06-18 07:59:34 +09:00
Hideki Miyazaki
976b6ae97c not push CA, revert error code when being OpensslExtra mode 2021-06-18 07:59:33 +09:00
Hideki Miyazaki
cd73cf3d0f fix Qt unit test verifyClientCert 2021-06-18 07:59:32 +09:00
Hideki Miyazaki
8b9bf041c1 addressed review comments 2021-06-18 07:50:06 +09:00
Sean Parkinson
98ce4e901a TLS EtM: check all padding bytes are the same value
Must be constant time so as not to provide an oracle.
That is, don't leak length of data and padding.
2021-06-18 08:42:48 +10:00
Hideki Miyazaki
22430ccdd3 higher priority of cipher suite is on top of stack 2021-06-18 07:42:41 +09:00
David Garske
9181c949ae Added static ciphers and sniffer. Fixed spelling. 2021-06-17 15:19:45 -07:00
David Garske
ffb9a8b440 Improve the user_settings_template to incude Windows. Added STM32 configuration example. 2021-06-17 15:19:45 -07:00
David Garske
8b14bf2951 Additional user_settings.h examples. 2021-06-17 15:19:45 -07:00
David Garske
4bff3b6c69 Fix issue with WOLFSSL object copying CTX and object free'ing. Track ownership of the static key info. 2021-06-17 15:12:07 -07:00
David Garske
155621b611 Fix to prevent static ephemeral memory leak if WC_PK_TYPE_NONE is used for auto-detect. Add DER PK auto detect support. Add sniffer ssl_SetWatchKey_buffer support for static ephemeral. 2021-06-17 15:11:03 -07:00
David Garske
258e0c10da Merge pull request #4142 from elms/fix/memtest
test: Fix memtest callbacks
2021-06-17 14:01:21 -07:00
David Garske
5440b6c63c Fix for intel asm SHA512 where HAVE_INTEL_AVX1 or HAVE_INTEL_AVX2 is defined, but USE_INTEL_SPEEDUP is not. Fix for scan-build error with test.c ret not used. 2021-06-17 13:50:09 -07:00
Chris Conlon
bd6a353921 Merge pull request #4083 from dgarske/stm32_aes_gcm
Fix for STM32 AES GCM for HAL's that support byte sized headers
2021-06-17 13:08:15 -06:00
Elms
91f002235e make: --enable-memtest track and --enable-memtest=fail to force failure 2021-06-17 10:45:39 -07:00
Elms
ad59b8af45 test: Fix memtest callbacks 2021-06-17 10:15:11 -07:00
David Garske
c802ea7ebd Fix for unaligned authentication tag sizes when the STM32 Cube HAL supports it with CRYP_HEADERWIDTHUNIT_BYTE. 2021-06-17 08:15:44 -07:00
David Garske
b6ec698a83 Fix for FIPS case with hkdf_test. 2021-06-17 08:15:44 -07:00
David Garske
14b845a9a5 Fixes for wolfCrypt HMAC test without SHA1/SHA2. Added NO RNG option to cube pack configuration template. 2021-06-17 08:15:44 -07:00
David Garske
e8c4f857e1 Fix to use accelerated AES GCM when auth is not 4-byte aligned on platforms supporting byte header size. 2021-06-17 08:15:44 -07:00
David Garske
a1517dbfe4 Merge pull request #4138 from SparkiDev/ssl_reorg_2
Reorg of ssl.c: X509_STORE_CTX and X509_STORE APIs isolated
2021-06-17 07:38:25 -07:00
David Garske
eb7896919b Merge pull request #4137 from SparkiDev/tls13_hrr_ch_ems
TLS EMS ext: TLS13 - send in second CH if in first
2021-06-17 07:29:19 -07:00
David Garske
5751e20bcc Merge pull request #4136 from SparkiDev/tfm_size_checks
tfm: fix length check in add and mul_d
2021-06-17 07:28:40 -07:00
kaleb-himes
b29fa9bd33 Changes to support Android app with wolfCrypt module v4.5.4 2021-06-17 08:11:40 -06:00
Sean Parkinson
ad4baec0f5 Merge pull request #4090 from JacobBarthelmeh/CAAM
CAAM: add dynamic setup of entropy delay on init
2021-06-17 17:06:01 +10:00
Jacob Barthelmeh
d09b7153f2 address review items 2021-06-17 09:43:06 +07:00
Sean Parkinson
4bba282a70 TLS EMS ext: TLS13 - send in second CH if in first 2021-06-17 11:40:48 +10:00
Sean Parkinson
effa7e079d Reorg of ssl.c: X509_STORE_CTX and X509_STORE APIs isolated 2021-06-17 11:38:26 +10:00
David Garske
98147de422 Fix for wolfCrypt test not calling init for ed25519 tests. 2021-06-16 16:44:28 -07:00
David Garske
54cef64250 Merge pull request #4128 from SparkiDev/ssl_reorg_1
Reorg of ssl.c: PKCS7, PKCS12, crypto-only APIs isolated
2021-06-16 16:12:03 -07:00
Sean Parkinson
9023c4d65a tfm: fix length check in add and mul_d
Check that the overflow digit is going to fit rather than whether we are
at limit after adding digit.
2021-06-17 09:11:01 +10:00
Kaleb Himes
93ae372c55 Merge pull request #4132 from dgarske/exebits
Remove execute bit on update pem/der files
2021-06-16 17:20:53 -05:00
David Garske
0fc9c33f84 Wire up Ed25519 SHA512 to use devId. 2021-06-16 13:15:06 -07:00
David Garske
54f69079a8 Merge pull request #4131 from elms/fix/g++_enum_logical_op
fixes build with g++ automatically converting enum to int
2021-06-16 13:09:06 -07:00
Eric Blankenhorn
1307972344 Update use of joi cert and add to renew script. 2021-06-16 13:55:36 -05:00
David Garske
15d761a0c2 Added ED25519 and Curve25519 crypto callback support. 2021-06-16 11:49:24 -07:00
David Garske
9c24731e3c Added SHA2-384/512 crypto callback support. 2021-06-16 11:49:24 -07:00
David Garske
27218e1d40 Merge pull request #4129 from JacobBarthelmeh/Testing
add cert generation to renewcerts script
2021-06-16 10:21:59 -07:00
David Garske
90d894b9fd Remove execute bit on update pem/der files. 2021-06-16 10:17:20 -07:00
David Garske
852892c85b Merge pull request #4130 from embhorn/zd12463
Fix BIO_free_all return type
2021-06-16 10:06:49 -07:00
David Garske
e39fc4b6ec Merge pull request #4099 from embhorn/zd12274
Fix nonblocking ret value from crlIOCb
2021-06-16 10:05:04 -07:00
Elms
75445f7810 fixes build with g++ automatically converting enum to int 2021-06-16 09:40:20 -07:00
Eric Blankenhorn
b3bfe2d12b Fix BIO_free_all return type 2021-06-16 09:51:45 -05:00
TakayukiMatsuo
9e02655ac4 Merge remote-tracking branch 'upstream/master' into os_base64 2021-06-16 23:19:52 +09:00
Jacob Barthelmeh
d8fc01aabf add cert generation to renewcerts script 2021-06-16 14:31:33 +07:00
Sean Parkinson
2ca6550207 Reorg of ssl.c: PKCS7, PKCS12, crypto-only APIs isolated
Moved functions to bottom of file in groups.
Whitespace changed but not code.
PKCS7 APIs and wolfSSL_d2i_PKCS12_fp now protected by !NO_CERTS
2021-06-16 16:08:24 +10:00
Elms
3a885aba23 Refactor pointer manipulation to be independent of datatype width
Tested with `./configure CFLAGS="-DNO_64BIT" --disable-sha512
--disable-sha384 --enable-harden` on a 64-bit machine
2021-06-15 21:08:49 -07:00
Sean Parkinson
5bb639f6db Merge pull request #4126 from dgarske/certs_test_expired
Fixes for expired test certs
2021-06-16 11:25:54 +10:00
Sean Parkinson
d849606bba Merge pull request #4109 from guidovranken/Base64_SkipNewline-fixes
Additional length check improvements in Base64_SkipNewline
2021-06-16 08:52:32 +10:00
Sean Parkinson
b73673a218 Merge pull request #3794 from TakayukiMatsuo/os_keyprint
Add wolfSSL_EVP_PKEY_print_public
2021-06-16 08:43:41 +10:00
David Garske
1374ab7da5 Merge pull request #4123 from SparkiDev/sp_int_neg_cmp
SP math all: sp_cmp handling of negative values
2021-06-15 15:33:29 -07:00
David Garske
6d95188f4b Fixes for expired test certs. Generated using cd certs/test && ./gen-testcerts.sh. 2021-06-15 15:07:34 -07:00
Eric Blankenhorn
8900d05167 Fix nonblocking ret value from crlIOCb 2021-06-15 15:31:29 -05:00
David Garske
2f39e6c217 Merge pull request #4122 from kaleb-himes/BUGREPORT_M_W_GCOV
Address bug that fails to ignore select files generated by gcov. Thanks to M.W. for the report
2021-06-15 11:07:30 -07:00
David Garske
a9515b80eb Merge pull request #4108 from elms/fix/scripts/paths_w_spaces
tests: fix test scripts for paths with spaces
2021-06-15 08:18:08 -07:00
TakayukiMatsuo
c6680d08ba Fix coding issues 2021-06-15 11:16:38 +09:00
Sean Parkinson
cce96f5fe6 Merge pull request #4114 from dgarske/secrene_extmst
Check for insecure build combination of secure renegotiation and no extended master secret
2021-06-15 10:52:25 +10:00
Sean Parkinson
12c358bc30 Merge pull request #3979 from dgarske/tls13_async
Asynchronous support for TLS v1.3 TLSX ECC/DH key generation and key agreement
2021-06-15 10:02:19 +10:00
Sean Parkinson
b9715432f8 SP math all: sp_cmp handling of negative values 2021-06-15 09:44:06 +10:00
Sean Parkinson
07784e9f56 Merge pull request #4066 from dgarske/stm_pka
Fixes for STM32 PKA with ECC
2021-06-15 08:33:50 +10:00
David Garske
77df7d8630 Merge pull request #3968 from elms/pedantic_cleanup
Fixes for some `-pedantic` errors
2021-06-14 13:46:39 -07:00
David Garske
831e1713f1 Merge pull request #4076 from TakayukiMatsuo/st_timeout
Add session ticket timeout check in DoSessionTicket
2021-06-14 13:44:32 -07:00
David Garske
fd6b30ef32 Merge pull request #4111 from elms/silabs/fix_ecc_shared_secret_outlen
silabs: fix `wc_ecc_shared_secret` to only return x coordinate
2021-06-14 13:44:00 -07:00
kaleb-himes
eea9866967 Address bug that fails to ignore select files generated by gcov. Thanks to M.W. for the report 2021-06-14 14:40:11 -06:00
Chris Conlon
7ad4a3dffd Merge pull request #4086 from miyazakh/psk_length_zero
treats a return of zero from callback as no psk available
2021-06-14 13:54:00 -06:00
Chris Conlon
a8d185cb9e Merge pull request #4117 from TakayukiMatsuo/tk12403
Add null-parameters-test cases for SHA(), SHA224(), MD5() and MD5_xxx().
2021-06-14 13:52:01 -06:00
Chris Conlon
9d569dfeb7 Merge pull request #4116 from miyazakh/tcp_accept
fix api unit test compile failure
2021-06-14 13:49:00 -06:00
Elms
9ae021d2cb tests: server example doesn't like empty string params
But it's ok with them at the end
2021-06-14 12:01:09 -07:00
David Garske
a110f249bd Merge pull request #4118 from JacobBarthelmeh/ECC
add error return with alloc curve macro
2021-06-14 10:46:42 -07:00
David Garske
2ffc0a8392 Remove casts that are not needed. 2021-06-14 08:47:40 -07:00
David Garske
4d4b3c9e8a Fixes for return codes on STM PKA code. Fix for const warnings. 2021-06-14 08:47:40 -07:00
David Garske
98ab62ea74 Fix for STM32 PKA ECC point mapping, which is handled in hardware. 2021-06-14 08:47:38 -07:00
David Garske
7b6005d467 Remove unused STM32 cofactor. 2021-06-14 08:46:20 -07:00
David Garske
b0782cb8f8 Fix for improperly initialized PKA_ECDSASignOutTypeDef on STM32 PKA sign. 2021-06-14 08:46:20 -07:00
David Garske
839231c508 Fixes for STM32 PKA compiler warnings. 2021-06-14 08:46:20 -07:00
Jacob Barthelmeh
70063213a5 additional comments, code readability, and error check 2021-06-14 21:40:51 +07:00
Juliusz Sosinowicz
1ee0c3a7fd Refactor dtls_expected_peer_handshake_number handling
Moving the `dtls_expected_peer_handshake_number` value along has been moved to one location. It has also been changed to not keep state before a cookie exchange has been completed.
2021-06-14 15:51:04 +02:00
Jacob Barthelmeh
bba1c8b433 add error return with alloc curve macro 2021-06-14 20:33:20 +07:00
JacobBarthelmeh
64298a2c4a Merge pull request #4094 from guidovranken/DecodePolicyOID-XSNPRINTF
Improve checking of XSNPRINTF return value in DecodePolicyOID
2021-06-14 19:58:09 +07:00
Elms
ed4cf6e91c silabs: fix wc_ecc_shared_secret to only return x coordinate
secure element computes and returns the full coordinate. The wolfSSL
API should only return the x component.
2021-06-13 21:46:23 -07:00
TakayukiMatsuo
ebec2fbd25 Fixed uninitialized parameter for Base16_Encode 2021-06-14 13:45:12 +09:00
Elms
21db484f50 tests: fix test scripts for paths with spaces 2021-06-13 21:37:07 -07:00
Guido Vranken
f163a4e18f Return BUFFER_E from DecodePolicyOID if XSNPRINTF indicates insufficient buffer space 2021-06-14 03:55:13 +02:00
Guido Vranken
220bfe9926 Fix Base64_SkipNewline such that tests pass 2021-06-14 03:42:41 +02:00
Sean Parkinson
3180ec96a5 Merge pull request #3963 from dgarske/nxp_ltc_rsa
Fixes for NXP LTC ECC/RSA
2021-06-14 08:29:24 +10:00
TakayukiMatsuo
50526cfe67 Changed some logics for simplicity 2021-06-14 03:26:00 +09:00
Hideki Miyazaki
6d3b9aec80 fix api compile failure 2021-06-12 09:24:11 +09:00
David Garske
5e6b8e50c8 Fix to set groups for client benchmark test. 2021-06-11 14:12:15 -07:00
David Garske
2e4e65f518 Asynchronous support for TLS v1.3 TLSX ECC/DH key generation and key agreement
* Added async support to `SendTls13ClientHello`, `DoTls13ServerHello` and `DoTls13ClientHello`.
* Cleanup of the example client/server use key share code.
* Fix some scan-build warnings.
ZD 12065
2021-06-11 14:12:12 -07:00
David Garske
7eb840d615 Merge pull request #4115 from SparkiDev/ed25519_openssl_fix
ED25119 and SHAKE-256: fixes
2021-06-11 10:41:51 -07:00
David Garske
5f99979597 Peer review feedback and improvements. 2021-06-11 09:10:26 -07:00
David Garske
b28aab4cf9 Merge pull request #4098 from SparkiDev/san_hw_name_fix
Certs: fix leak when multiple hardware names in SAN
2021-06-11 08:25:28 -07:00
David Garske
5a78574a8a Add new scripts to include.am. 2021-06-11 08:19:23 -07:00
TakayukiMatsuo
ed5cb0a1bd Modified along the revire comments 2021-06-11 21:08:27 +09:00
TakayukiMatsuo
779e3701e6 Merge branch 'master' of github.com:wolfSSL/wolfssl into os_keyprint 2021-06-11 13:56:52 +09:00
TakayukiMatsuo
1a9b59b183 Add macro guard for LowResTimer 2021-06-11 11:58:55 +09:00
Sean Parkinson
89156908da Merge pull request #4021 from embhorn/zd12233
Fix heap-buffer-overflow issues in wolfSSL_SMIME_read_PKCS7
2021-06-11 12:38:52 +10:00
Sean Parkinson
36a9cd3010 Merge pull request #3911 from TakayukiMatsuo/tk11851
Fix SSL_read behaving differently from openSSL after bidirectional shutdown
2021-06-11 10:25:39 +10:00
Sean Parkinson
e720762b5a Merge pull request #4010 from JacobBarthelmeh/fuzzing
fix for use after free issue on error cases
2021-06-11 10:21:30 +10:00
Sean Parkinson
ed14e593c7 ED25119 and SHAKE-256: fixes
SHAKE-256 is off by default now. Make sure WOLFSSL_SHAKE256 doesn't make
it into options.h.
Fix openssl.test usage of ed25519 certificates.
Add scripts that regenerate certificates
2021-06-11 10:13:31 +10:00
David Garske
61314f3971 Added build error for insecure build combination of secure renegotiation enabled with extended master secret disabled when session resumption is enabled. 2021-06-10 16:44:23 -07:00
John Safranek
4e881a226a Merge pull request #4088 from julek-wolfssl/dtls-mtu-define
Change magic number 100 bytes to an enum define
2021-06-10 09:22:08 -07:00
David Garske
624e150c7b Merge pull request #3827 from SparkiDev/tls13_psk_hash
TLS 1.3 PSK: use the hash algorithm to choose cipher suite
2021-06-10 06:59:40 -07:00
David Garske
2fc5b03d71 Merge pull request #4102 from danielinux/psoc6-sha-fixes
[PSOC6_CRYPTO] Do not directly include psoc6 port header to prevent loops
2021-06-10 06:57:17 -07:00
Sean Parkinson
3ecb8d5a3e Merge pull request #4062 from dgarske/dh_key
DH Key and Params Export cleanups and Apache httpd fixes
2021-06-10 20:54:32 +10:00
TakayukiMatsuo
4d3f2f92fd Add test cases for SHA(), SHA224(), MD5() and MD5_xxx() to test with null parameters. 2021-06-10 16:40:51 +09:00
Sean Parkinson
56c317e1ab Merge pull request #4052 from elms/gcc11_fixes
fixes for gcc 11 compile and other whitespace
2021-06-10 15:51:04 +10:00
Sean Parkinson
7e0c372e4c TLS 1.3 PSK: use the hash algorithm to choose cipher suite
See RFC 8446: 4.2.11
With TLS 1.3 PSK callback, If the returned cipher suite isn't available,
use the hash from the cipher suite and choose from available list.
Require exact match when: WOLFSSL_TLS13_PSK_NO_MATCH_HASH

Alternative callback for client added that is passed a cipher suite
string. Called for each cipher suite that is to be negotiated.
If cipher suite to be used with PSK then return client identity.
Returning an identity based on cipher suite hash will result in
only one PSK extension being added per hash.
2021-06-10 09:55:27 +10:00
David Garske
c6c7dfd5db Merge pull request #4053 from SparkiDev/cppcheck_fixes_6
cppcheck: fixes from reviewing report
2021-06-09 12:51:30 -07:00
David Garske
a6edff7bd5 Merge pull request #4017 from SparkiDev/not_ecc_pk_cb
ECC: Disable ECC but have Curve25519/448 and PK callbacks fix
2021-06-09 12:38:37 -07:00
David Garske
c6fc709502 Merge pull request #4072 from SparkiDev/ecc_sp_c_mod_sub_fix
SP C ECC: mont sub - always normalize after sub before check for add
2021-06-09 12:36:46 -07:00
Guido Vranken
fb366f063e Additional length check improvements in Base64_SkipNewline 2021-06-09 19:16:07 +02:00
Eric Blankenhorn
a68542e6f4 Fix heap-buffer-overflow issues in wolfSSL_SMIME_read_PKCS7 2021-06-09 08:32:52 -05:00
Elms
5a54bb656b make macros for pragma to compile with gcc11 2021-06-08 19:20:20 -07:00
Sean Parkinson
d8cd7cbee1 Merge pull request #4024 from kabuobeid/zd12245
PKCS7: Check size in wc_PKCS7_InitWithCert before XMEMCPY to avoid overflow.
2021-06-09 10:06:02 +10:00
Sean Parkinson
c6646ae9c8 Merge pull request #4044 from julek-wolfssl/ZD12270
Check for XREAD when XFREAD fails
2021-06-09 09:48:25 +10:00
Sean Parkinson
50dca86dcf Merge pull request #3878 from JacobBarthelmeh/ECC
add deterministic k generation for ECC sign
2021-06-09 09:47:19 +10:00
Sean Parkinson
8fa4dedf97 Merge pull request #4096 from vaintroub/master
MSVC, ARM64  - correct 64bit detection
2021-06-09 09:40:47 +10:00
Sean Parkinson
32c215775a Merge pull request #4093 from guidovranken/DecodeResponseData-allocation-check
ASN: Catch allocation failure in DecodeResponseData
2021-06-09 09:38:53 +10:00
Sean Parkinson
9580574382 Merge pull request #3999 from dgarske/user_io
Fixes for building with `WOLFSSL_USER_IO`
2021-06-09 08:55:36 +10:00
Sean Parkinson
70d2c838bb Merge pull request #4080 from kaleb-himes/SHAKE_DEFAULT_FIX
Sync SHAKE256 default (disabled) with parent default edDSA448 (disabled) and remove WOLFSSL_NO_SHAKE256 flag
2021-06-09 08:52:05 +10:00
David Garske
ae4af3c681 Merge pull request #4071 from SparkiDev/fp_ecc_long_order
ECC FP: cached doesn't work when order has more bits than prime
2021-06-08 12:17:04 -07:00
David Garske
4a85127507 Improve wc_DhKeyToDer for public key size calculation. Fixes bug with the output too (was missing 1 byte in length for the unused bits byte in bit string). 2021-06-08 09:55:56 -07:00
David Garske
9b215c5138 Fixes for DH Pub key import/export and new test case. Improve wc_DhParamsToDer. 2021-06-08 09:27:30 -07:00
David Garske
6db0b42c7f * Refactor of DH key and param exports code (moved into asn.c) enabled with WOLFSSL_DH_EXTRA.
* Cleanup `WOLFSSL_DH_EXTRA` macro logic and do not allow with FIPS v1 or v2.
* Fixes for httpd (if `SSL_CONF_FLAG_FILE` is defined it is used to indicate support for `SSL_CONF_CTX_set_flags` and `SSL_CONF_cmd_value_type`).
* Add Curve448 and ED448 key type to `enum wc_PkType`.
* Expand `dh_ffdhe_test` to include 4096 bit.
2021-06-08 09:27:26 -07:00
David Garske
54d13f63c1 Merge pull request #4067 from haydenroche5/pkcs8
Add an API function wc_EncryptPKCS8Key to handle encrypting a DER, PKCS#8-formatted key.
2021-06-08 09:21:53 -07:00
Jacob Barthelmeh
34d8073fbd remove dead code 2021-06-08 22:45:28 +07:00
David Garske
de70681229 Improve code comments to explain FP_ECC limitation for SECP160R1, SECP160R2, SECP160K1 and SECP224K1. 2021-06-08 08:41:36 -07:00
David Garske
61eae79f71 Merge pull request #4074 from SparkiDev/ecdsa_dbl_table_point
ECDSA FP ECC: fix corner case
2021-06-08 08:35:17 -07:00
David Garske
5586bc349c Merge pull request #4056 from SparkiDev/mp_int_rem_apis
MP Integer: remove unsupported API prototypes
2021-06-08 08:08:04 -07:00
David Garske
50e8509a36 Merge pull request #4037 from SparkiDev/prime_test_err_check
TFM prime checking: check for more errors
2021-06-08 08:06:37 -07:00
David Garske
9497c74283 Merge pull request #4081 from strongX509/master
SHA3-based RSA signatures require SHA-3 hash OIDs
2021-06-08 07:46:18 -07:00
TakayukiMatsuo
0186d19aba Fix some coding style issues. 2021-06-08 16:25:28 +09:00
Daniele Lacamera
6d1981abd1 Do not directly include psoc6 port header to prevent loops 2021-06-08 08:24:43 +02:00
Sean Parkinson
88322b82a5 Merge pull request #3871 from julek-wolfssl/openvpn-master
OpenVPN additions and fixes
2021-06-08 13:54:14 +10:00
Sean Parkinson
194b494741 Merge pull request #4034 from embhorn/zd12261
Fix declarations for EVP_VerifyFinal and RSA_private_encrypt
2021-06-08 12:15:30 +10:00
Sean Parkinson
b3352648dd Merge pull request #4097 from guidovranken/blake2-init-key-fixes
Check return value in BLAKE2 key init functions
2021-06-08 11:54:29 +10:00
Sean Parkinson
8ee1dda2f9 Merge pull request #4001 from dgarske/time_long
Improve TLS v1.3 time rollover support and fixes for NO_ASN_TIME
2021-06-08 11:17:55 +10:00
Sean Parkinson
23d733f837 Merge pull request #4063 from guidovranken/zd12328
Fix length calculations in Base64_SkipNewline
2021-06-08 10:55:15 +10:00
Elms
c726cddf1b session_ticket: Add separate member to track compatCb
This resolves an error:
`ISO C forbids conversion of object pointer to function pointer type`

Instead of casting the function pointer, the extra
member contains the function pointer.
2021-06-07 15:42:38 -07:00
Elms
5c01613acb Add GCC extension to bypass select -pedantic warnings
Add wrapper macro for `__extension__` to suppress pedantic warnings
2021-06-07 15:38:15 -07:00
Jacob Barthelmeh
9fadc21e0f add version print out 2021-06-08 04:18:22 +07:00
David Garske
3e307aa626 Merge pull request #4091 from JacobBarthelmeh/Testing
add strict check on signature length
2021-06-07 11:02:02 -07:00
Guido Vranken
4e318ade36 In wc_PBKDF1_ex, break out of outer loop on error 2021-06-07 16:21:02 +02:00
Jacob Barthelmeh
f97ca1c1ca adjust test case and add useful comments 2021-06-07 19:44:05 +07:00
Sean Parkinson
e76ae2b8ac Certs: fix leak when multiple hardware names in SAN
Can only be one hardware name in SAN as this indicates the certificate
is for verifying signatures created by hardware module.
2021-06-07 12:02:23 +10:00
Guido Vranken
96b7b193d7 Check return value in BLAKE2 key init functions
If built with smallstack, allocations in `blake2s_update` and `blake2b_update` may fail,
so the error must be propagated.
2021-06-07 03:34:44 +02:00
Guido Vranken
bd7b57783d Remove excess space characters 2021-06-07 03:20:16 +02:00
Sean Parkinson
898b9d5e24 Merge pull request #4084 from dgarske/sp_math_keygen
Fix for building SP small math only (no DH) with key generation
2021-06-07 10:48:01 +10:00
Vladislav Vaintroub
29968716ea MSVC, ARM64 - correct 64bit detection
Fixes https://github.com/wolfSSL/wolfssl/issues/4095
2021-06-06 23:30:27 +02:00
Guido Vranken
1af3f482cb Catch allocation failure in ASNToHexString 2021-06-06 19:52:15 +02:00
Hideki Miyazaki
1606746d2d a return of zero from callback as no psk available 2021-06-06 11:53:02 +09:00
Guido Vranken
8cb576009d Improve bounds check in EncodePolicyOID 2021-06-06 04:07:02 +02:00
Guido Vranken
a1257429bd Improve checking of XSNPRINTF return value in DecodePolicyOID 2021-06-06 03:54:15 +02:00
Guido Vranken
76e0a8666b Catch allocation failure in DecodeResponseData 2021-06-06 03:12:53 +02:00
David Garske
5d33161032 Fixes for RSA keygen with SP (no DH). Thanks Sean. 2021-06-04 13:32:59 -07:00
Jacob Barthelmeh
c245c4a812 add strict check on signature length 2021-06-05 03:09:33 +07:00
Jacob Barthelmeh
9ef43c5aff add dynamic setup of entropy delay on init 2021-06-05 00:41:10 +07:00
David Garske
d7117cd8bb Merge pull request #4089 from danielinux/psoc6-sha-fixes
psoc6_Crypto port: fixes to sha256/sha512 objects
2021-06-04 09:16:42 -07:00
Daniele Lacamera
a5a4925370 Fixed sha256 and sha512 interface for psoc6 crypto module 2021-06-04 13:22:17 +02:00
Juliusz Sosinowicz
588a424d8d Change magic number 100 bytes to an enum define 2021-06-04 11:27:57 +02:00
Chris Conlon
961773b384 Merge pull request #4079 from lealem47/PKCS12UnitTest
Pkcs12 unit test
2021-06-03 16:07:54 -06:00
David Garske
21060afb80 Fix for building SP math only (small) with key generation. Fix for WOLFSSL_EXTRA. Fix for RSA without PSS. Fix for ed25519 spelling error. 2021-06-03 10:56:54 -07:00
Jacob Barthelmeh
66c7acb076 add use of heap hint for malloc 2021-06-03 23:38:30 +07:00
TakayukiMatsuo
195ca2b3f0 Add corner test cases for EVP_EncodeFinal and EVP_DecodeFinal 2021-06-03 20:02:48 +09:00
David Garske
eb63ab19e2 Fix for mp_mulmod with NXP LTC. 2021-06-01 16:33:58 -07:00
Chris Conlon
6cfb982740 Merge pull request #3981 from miyazakh/qt_oslext_cnf
Added compatibility layer API
2021-06-01 15:25:37 -06:00
Lealem Amedie
72fc7e62b8 Fixed spacing 2021-06-01 14:47:51 -06:00
Andreas Steffen
0caf3ba456 SHA3-based RSA signatures require SHA-3 hash OIDs
The SHA-3 ASN.1 OIDs are defined by NIST under the
nistalgorithm/hashAlgs node.
2021-06-01 22:02:23 +02:00
Kaleb Himes
a27cdc538a Fix typo 2021-06-01 13:30:32 -06:00
Kaleb Himes
3a9c6ea924 fix FIPS v2 check ($ENABLED_FIPS not set for v2) 2021-06-01 13:29:39 -06:00
kaleb-himes
94831eadf1 Sync SHAKE256 default (disabled) with parent default edDSA448 (disabled) and remove WOLFSSL_NO_SHAKE256 flag 2021-06-01 11:38:17 -06:00
Lealem Amedie
03a5395b53 Fixed casting issue 2021-06-01 09:46:30 -06:00
TakayukiMatsuo
69cf5ef266 Chage to use WOLFSSL_SESSION.bornON instead of WOLFSSL_SESSION.timestamp to hold the ticket creation time. 2021-06-01 15:30:07 +09:00
TakayukiMatsuo
5f7477980c Add session ticket timeout check in DoSessionTicket 2021-06-01 00:09:50 +09:00
Lealem Amedie
2db233d10e Added wolfssl_PKCS12_verify_mac testing in test_wolfSSL_PKCS12() function in api.c 2021-05-28 16:33:46 -06:00
Chris Conlon
15931fa199 Merge pull request #4060 from kojo1/encrypt_len
FP_MAX_BITS for ENCRYPT_LEN
2021-05-28 15:55:58 -06:00
Jacob Barthelmeh
ab07c55609 check on hmac free and add else if case for check if key is 0's 2021-05-28 16:27:54 +07:00
Sean Parkinson
9fff404313 Merge pull request #4073 from TakayukiMatsuo/tk12138
Add calling wc_FreeMutex for globalRNGMutex
2021-05-28 16:11:00 +10:00
Sean Parkinson
c69665b999 ECDSA FP ECC: fix corner case
When the same table is used for both base point and public point (which
is not a valid thing to do) then a corner case occurs when the table
point can be added to the same point. This has to be a double operation
instead.
The table point isn't able to be doubled as it has a z-ordinate of 0 and
the original point is overwritten with the invalid add result.
Fix this case by:
 - copying the table point into the result,
 - setting z-ordinate to Montgomery form of 1,
 - double the result point in place.
2021-05-28 13:06:20 +10:00
TakayukiMatsuo
54dba6a2f2 Add calling wc_FreeMutex for globalRNGMutex 2021-05-28 11:19:40 +09:00
Elms
3deb635155 skip memory callback tests with STATIC_MEMORY and LINUXKM 2021-05-27 14:46:45 -07:00
Elms
7a98c517e4 Fixes for some -pedantic errors
Some of the API with callbacks may not be compatible with pedantic
2021-05-27 14:46:45 -07:00
Jacob Barthelmeh
252971aad7 better comments on RFC steps and fixes for combining code blocks, fix for check on sign_k value 2021-05-27 17:27:15 +07:00
Sean Parkinson
4e88521a90 SP C ECC: mont sub - always normalize after sub before check for add 2021-05-27 11:08:05 +10:00
Sean Parkinson
6bf9a887e1 ECC FP: cached doesn't work when order has more bits than prime
Small curves that are not commonly used do not work with scalars that
are the length of the order when the order is longer than the prime.
The table is generated based on modulus length not order length.
Simple fix is to not allow these curves to be used with FP_ECC.
Order isn't passed into the pseudo-public APIs.
2021-05-27 09:53:03 +10:00
John Safranek
1fe445368c Merge pull request #4069 from guidovranken/zd12349
Several ASN decoder fixes
2021-05-26 16:13:54 -07:00
TakayukiMatsuo
d1e3be1f43 Replace return code from literal to value 2021-05-27 06:20:34 +09:00
Guido Vranken
1fbc3dc2d4 Heap-allocate additional CertStatus structs in DecodeResponseData 2021-05-26 21:41:47 +02:00
Guido Vranken
cfef249041 Several ASN decoder fixes
See ZD 12349
2021-05-26 20:15:32 +02:00
Hayden Roche
88370285cc Add an API function wc_DecryptPKCS8Key to handle decrypting a DER, PKCS#8
encrypted key.
2021-05-26 10:48:14 -07:00
Hayden Roche
5e4e73d6e9 Add an API function wc_EncryptPKCS8Key to handle encrypting a DER,
PKCS#8-formatted key.

There's already a function wc_CreatePKCS8Key, but this only creates the
unencrypted PKCS#8 key. TraditionalEnc exists, which takes a non-PKCS#8 key,
converts it to PKCS#8 format, and encrypts it, but this function isn't in the
public-facing API. I've modified TraditionalEnc to use wc_EncryptPKCS8Key after
wc_CreatePKCS8Key. wc_EncryptPKCS8Key is essentially the encryption portion of
TraditionalEnc moved out into its own function. wc_EncryptPKCS8Key will be in
the API going forward so that users can do PKCS#8 encryption without relying on
the non-API TraditionalEnc. Next, I'll be adding a corresponding
wc_DecryptPKCS8Key to handle decryption.
2021-05-26 10:48:11 -07:00
David Garske
8bf2cbf55e Fix for NXP LTC to not modify incoming math variables (use temp). Added build option for testing/validation of the LTC math operation. 2021-05-26 10:30:47 -07:00
David Garske
0d3530b45d Cleanup NXP LTC logic. 2021-05-25 16:49:58 -07:00
David Garske
c59349c7a7 Fix for ecc_map, which is handled in hardware. Fix for NXP LTC mp_mul N value. Fix for MMCAU cast warnings. 2021-05-25 15:58:22 -07:00
David Garske
63ac9decfc Added error response checking for NXP LTC LTC_PKHA_ModMul. Isolated the result C to it's own variable. 2021-05-25 15:58:22 -07:00
David Garske
9453f83d28 Fix bad logic flow in WC_NO_RNG case. 2021-05-25 15:58:22 -07:00
David Garske
64ae0a827c Fixes for RSA with NXP LTC. The invmod function must reduce if A > B. Added RSA Key Generation acceleration. 2021-05-25 15:58:22 -07:00
David Garske
41af3da0e3 Merge pull request #4057 from SparkiDev/no_tls12_pkcb
TLS: fix build with no TLSv12 but PK callbacks
2021-05-25 15:26:40 -07:00
Guido Vranken
360d6c8a4f Additional fix for Base64_SkipNewline 2021-05-26 00:25:27 +02:00
David Garske
3cc69ee6a0 Merge pull request #4064 from SparkiDev/evp_aes_gcm_stream_leak
EVP AES-GCM Streaming: must free Aes
2021-05-25 15:11:03 -07:00
Hideki Miyazaki
1c0fd3f1c0 addressed review comments part3 2021-05-26 06:17:33 +09:00
Hideki Miyazaki
e2284d59bf addressed review comments part2 2021-05-26 06:07:48 +09:00
Hideki Miyazaki
ae502c7a09 addressed review comments part1 2021-05-26 06:07:48 +09:00
Hideki Miyazaki
af67965f65 addressed jenkins failures part1 2021-05-26 06:07:48 +09:00
Hideki Miyazaki
33e91c577f added unit test cases for cmdline 2021-05-26 06:07:47 +09:00
Hideki Miyazaki
394c0b5cdc implemented CONF_cmd 2021-05-26 06:07:47 +09:00
Elms
7127dbeeec fixes for gcc 11 compile and other whitespace 2021-05-25 12:34:04 -07:00
Sean Parkinson
e1bc0c4447 EVP AES-GCM Streaming: must free Aes
AES streaming implementation allocates data in Aes objects, when small
stack, that needs to be freed.
Fix memory leaks in streaming test case too.
2021-05-25 15:57:09 +10:00
Guido Vranken
b7663a51b4 Fix length calculations in Base64_SkipNewline
ZD 12328
2021-05-25 03:52:16 +02:00
Chris Conlon
956a0f2b5f Merge pull request #3931 from julek-wolfssl/dsa-engine
Add more DSA parameters support
2021-05-24 14:57:02 -06:00
Chris Conlon
399ce70aba Merge pull request #4055 from JacobBarthelmeh/PKCS7
set content type parsed
2021-05-24 13:21:19 -06:00
Chris Conlon
d03ce69009 Merge pull request #4050 from julek-wolfssl/devkitpro
Add support for running `wolfcrypt/test/testwolfcrypt` on Dolphin emulator
2021-05-24 13:20:42 -06:00
Takashi Kojo
159fe1541a FP_MAX_BITS for ENCRYPT_LEN 2021-05-24 07:12:07 +09:00
Sean Parkinson
6747055d46 TLS: fix build with no TLSv12 but PK callbacks
./configure '--disable-tlsv12' '-enable-pkcallbacks'
Disable non-TLS13 cipher suite test as well.
2021-05-21 10:59:23 +10:00
Sean Parkinson
573c0fcba7 MP Integer: remove unsupported API prototypes
mp_read_signed_bin, mp_signed_bin_size, mp_to_signed_bin - not
implemented anywhere. (Removed fp versions that were commented out too.)
mp_read_raw, mp_raw_size, mp_toraw - map to unimplemented mp_*_signed_*
APIs.
2021-05-21 08:22:04 +10:00
Juliusz Sosinowicz
ceadb62d5b Add support for running wolfcrypt/test/testwolfcrypt on Dolphin emulator 2021-05-20 21:07:50 +02:00
Jacob Barthelmeh
f4959cca8d set content type parsed 2021-05-21 01:42:10 +07:00
Sean Parkinson
2c6285ccba cppcheck: fixes from reviewing report 2021-05-20 17:55:06 +10:00
Chris Conlon
0e23d40250 Merge pull request #4038 from TakayukiMatsuo/tk12254
Add test cases for wc_ShaxxxUpdate funcs
2021-05-18 15:38:02 -06:00
Eric Blankenhorn
b87af6ae89 Merge pull request #4046 from SparkiDev/coverity_1
TFM: get returned error to act on
2021-05-18 14:26:04 -05:00
Daniel Pouzzner
687736fd56 Merge pull request #4047 from elms/automake_branch_switch
make: fix timing error when switching between revisions
2021-05-18 13:50:46 -05:00
David Garske
9661677d4d Merge pull request #4041 from SparkiDev/tls13_psk_early_test_fix
TLS 1.3 PSK EarlyData testing
2021-05-18 10:00:03 -07:00
Elms
82981e9305 make: fix timing error when switching between revisions
On switching over revision that added server target specific CFLAGS,
could receive: `error: #warning "For timing resistance / side-channel
attack prevention consider using harden options"`
2021-05-18 09:43:29 -07:00
Sean Parkinson
ed5b134161 TLS 1.3 PSK EarlyData testing
Fix test to expect 3 or 5 lines with "Early Data" (release or debug
build).
2021-05-18 15:25:12 +10:00
Sean Parkinson
c1490bb91a TFM: get returned error to act on 2021-05-18 14:30:26 +10:00
Sean Parkinson
ed3a0ae694 TFM prime checking: check for more errors
Small stack can produce errors that were being ignored.
Checks for valid size in fp_exptmod was being ignored.
2021-05-18 08:51:55 +10:00
David Garske
d8312a2e61 Merge pull request #4040 from JacobBarthelmeh/CAAM
add caam header files to make install
2021-05-17 12:22:41 -07:00
David Garske
4a1907ae88 Merge pull request #3976 from rliebscher/Use_Renesas_RX_intrinsics_with_CC-RX_compiler
Renesas RX: Use intrinsics for rot[rl], revl
2021-05-17 11:05:01 -07:00
David Garske
379312d23e Merge pull request #4042 from danielinux/dcp_explicit_casts 2021-05-17 08:05:39 -07:00
Juliusz Sosinowicz
58e7d5388a Check for XREAD when XFREAD fails
On Windows we would always fail with `NOT_COMPILED_IN` when reading a  file BIO.
2021-05-17 16:57:53 +02:00
Daniele Lacamera
b09df89200 NXP DCP: add explicit casts 2021-05-17 10:35:00 +02:00
Jacob Barthelmeh
efa478c121 add caam header files to make install 2021-05-15 15:42:50 +07:00
David Garske
e18880f7dc Merge pull request #4036 from SparkiDev/sp_asm_x86_64_ifdef
SP ASM: x86_64 asm files - protect with WOLFSSL_SP_X86_64_ASM
2021-05-14 10:35:59 -07:00
TakayukiMatsuo
8c71fb4113 Add test cases for wc_ShaxxxUpdate funcs 2021-05-14 09:46:21 +09:00
Sean Parkinson
740f200156 SP ASM: x86_64 asm files - protect with WOLFSSL_SP_X86_64_ASM 2021-05-14 09:22:41 +10:00
David Garske
19526f050e Merge pull request #4035 from JacobBarthelmeh/CAAM
add macro guard on debug print
2021-05-13 12:46:11 -07:00
Jacob Barthelmeh
82a2797b56 add macro guard on debug print 2021-05-13 23:58:51 +07:00
David Garske
263105abec Merge pull request #4033 from JacobBarthelmeh/CAAM
set partition number on key import and use ocb address for free'ing d…
2021-05-13 09:39:36 -07:00
David Garske
44a9346305 Merge pull request #4025 from danielinux/hdrbg_double_include_sha256
Fix double include of sha256.h causing a build error
2021-05-13 09:15:51 -07:00
Eric Blankenhorn
9eebaaf352 Fix declarations for EVP_VerifyFinal and RSA_private_encrypt 2021-05-13 10:48:49 -05:00
Juliusz Sosinowicz
5865dc08dd Code review changes 2021-05-13 15:21:33 +02:00
Jacob Barthelmeh
311c929fe2 set partition number on key import and use ocb address for free'ing dangling partitions on close 2021-05-13 17:34:30 +07:00
Daniele Lacamera
420a48a5aa Removed unnecessary headers 2021-05-13 07:40:22 +02:00
Daniele Lacamera
563c7391ed DCP: moved guards so code is not included when building *.c 2021-05-13 07:29:33 +02:00
Daniele Lacamera
6ea5254bb9 DCP refactor: do not override wc_Sha types 2021-05-12 17:11:09 +02:00
David Garske
0a8996f467 Merge pull request #4028 from danielinux/freescale_rng
Allow use of FREESCALE hw RNG without a specific port
2021-05-12 06:41:01 -07:00
Daniele Lacamera
1dfde34852 Allow use of FREESCALE hw RNG without a specific port 2021-05-12 10:10:42 +02:00
Daniele Lacamera
f3c07e5f3f include sha256.h when required by smallstackcache 2021-05-12 09:42:41 +02:00
Daniele Lacamera
8c008b81ac random.h: removed include of sha256.h with HASHDBRG 2021-05-12 07:46:22 +02:00
Sean Parkinson
8a17e6c10e Merge pull request #4019 from dgarske/zd11435
ECC, SP math all: Add `wc_ecc_gen_k` arg checking. Fix SP math debug support (mp_dump)
2021-05-12 08:21:56 +10:00
Chris Conlon
c75830e2e8 Merge pull request #4011 from miyazakh/set_verify_depth2
fix out of bound access when peer's chain is greater than verifyDepth + 1
2021-05-11 15:38:39 -06:00
Kareem Abuobeid
cba029a436 PKCS7: Check size in wc_PKCS7_InitWithCert before XMEMCPY to avoid overflow. 2021-05-11 14:35:41 -07:00
Chris Conlon
ae0591b1db Merge pull request #4016 from miyazakh/qt_sanity_check
add sanity check
2021-05-11 15:06:54 -06:00
David Garske
64330d468e Merge pull request #4023 from danielinux/dcp_rt1060_fixes_aes
DCP port: Fixed AES, aligned key for the HW module
2021-05-11 09:55:50 -07:00
David Garske
92a524820b Merge pull request #4018 from SparkiDev/jenkins-nightly-1
Fixes from nightly builds
2021-05-11 09:11:42 -07:00
David Garske
fce9870a64 Merge pull request #4020 from ejohnstown/options-export
New Option Export/Import
2021-05-11 09:10:17 -07:00
Daniele Lacamera
d9cc013fd2 DCP port: Fixed AES, aligned key for the HW module 2021-05-11 08:27:03 +02:00
John Safranek
d74b74d156 Also adjust for v3 of export, and update the API test case. 2021-05-10 18:06:31 -07:00
David Garske
7e69277680 Improve SP mp_dump to use macro. 2021-05-10 16:27:06 -07:00
Sean Parkinson
bab0d9bd4a Merge pull request #4022 from dgarske/test_fix
Test AES CBC: Fix for the unmodified check for AesCbc test
2021-05-11 08:38:04 +10:00
David Garske
db7888ceaa Fix for the unmodified check for AesCbc test. 2021-05-10 10:04:50 -07:00
John Safranek
a608b083b4 Take into account a new flag in the DTLS state export and import. 2021-05-10 09:33:38 -07:00
David Garske
8c91a0c6b0 Support for mp_dump with SP Math ALL. 2021-05-10 09:26:33 -07:00
David Garske
f5509780c6 Add argument checking to wc_ecc_gen_k . Cleanup return codes for wc_ecc_mulmod_ex2. 2021-05-10 09:26:33 -07:00
David Garske
ead656c4db Fixes for NO_BIO related to ZD11886. Replaces PR #3888. 2021-05-10 09:19:08 -07:00
Juliusz Sosinowicz
ddbd26305f OpenVPN additions and fixes
- `SSL_CTX_set_min_proto_version` now allows setting not compiled in protocols but checks that the constraints leave any compiled in protocol available
- wolfSSL_HmacCopy return already returns `WOLFSSL_SUCCESS` or `WOLFSSL_FAILURE`
2021-05-10 12:00:18 +02:00
Sean Parkinson
0c1af66843 Fixes from nightly builds
output not read.
g++ realloc cast.
curve25519 - no fix, only format changes
2021-05-10 11:59:52 +10:00
Sean Parkinson
8779c3a884 ECC: Disable ECC but have Curve25519/448 and PK callbacks fix
Fix ed25519 certificates.
Tidy up testsuite.c
2021-05-10 10:32:55 +10:00
Hideki Miyazaki
07872189eb add sanity check 2021-05-08 13:15:50 +09:00
John Safranek
e247161b2e Merge pull request #3992 from embhorn/zd12169
Allow parsing spaces in Base64_SkipNewline
2021-05-07 14:30:24 -07:00
Daniel Pouzzner
49717328dd Merge pull request #4014 from haydenroche5/cmake
Add support for reproducible builds with CMake.
2021-05-07 15:54:01 -05:00
David Garske
aa3f9f8459 Merge pull request #4013 from kabuobeid/smime_fixes
S/MIME: Fix issue with canonSection size when adding newlines.
2021-05-07 13:12:54 -07:00
David Garske
28e2d68677 Merge pull request #4015 from embhorn/zd12221
Fix XMALLOC of sp_point_256 array
2021-05-07 13:11:41 -07:00
David Garske
3807304243 Fixes in additional places for incorrect point heap allocation size in SP ecc_mulmod with small stack or SP no malloc. 2021-05-07 09:43:17 -07:00
Eric Blankenhorn
0bc0e0f562 Fix XMALLOC of sp_point_256 array 2021-05-07 09:12:22 -05:00
Hayden Roche
051d1c2579 Add support for reproducible builds with CMake.
Unlike the autotools build, I've chosen NOT to make the build un-deterministic
if WOLFSSL_REPRODUCIBLE_BUILD is set to no (the default). Instead, I just use
whatever CMake's default is. On my system, ar and ranlib run in deterministic
mode by default, and the CMake defaults for the relevant ar and ranlib variables
are:

CMAKE_C_ARCHIVE_CREATE = <CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>
CMAKE_C_ARCHIVE_APPEND = <CMAKE_AR> q  <TARGET> <LINK_FLAGS> <OBJECTS>
CMAKE_C_ARCHIVE_FINISH = <CMAKE_RANLIB> <TARGET>

So my builds are automatically deterministic. This is normal on my system so I
wouldn't want to make them not deterministic by default, hence the decision.

I validated with md5sum on libwolfssl.a that explicitly making the build not
deterministic indeed results in different checksums across multiple runs. The
checksums are the same when flipping back to deterministic mode.
2021-05-06 23:05:33 -07:00
Kareem Abuobeid
62bb0a8527 S/MIME: Fix issue with canonSection size when adding newlines. 2021-05-06 16:35:24 -07:00
David Garske
6c131e3e8b Fix off by 1 in rollover calculation. 2021-05-06 14:46:35 -07:00
David Garske
c88afdef87 Fixes for building with WOLFSSL_USER_IO (with no built-in socket support). Related to issue #3998. 2021-05-06 11:07:05 -07:00
David Garske
1cd8bd3a94 Merge pull request #3993 from ejohnstown/actions 2021-05-06 08:32:37 -07:00
Hideki Miyazaki
2a39f1dc5c fixed memory leak 2021-05-06 16:55:51 +09:00
Hideki Miyazaki
93f04543b0 fixed unit test intermittent failure 2021-05-06 15:40:24 +09:00
Hideki Miyazaki
0539b99c86 fix boundary access when peer's chain is less than verifyDepth + 1 2021-05-06 14:54:16 +09:00
Jacob Barthelmeh
2c2f389373 set pointer to null after free 2021-05-06 12:11:52 +07:00
Jacob Barthelmeh
e185a9b7ca reset pointer on SMIME fail case 2021-05-06 11:44:46 +07:00
toddouska
4cfa6c43a5 Merge pull request #4000 from dgarske/sizeof_ctc
Fix for SIZEOF detection and issue with CTC_SETTINGS
2021-05-05 15:46:14 -07:00
toddouska
014bd21df0 Merge pull request #3983 from tmael/tls_down
TLS minimum downgrade option
2021-05-05 15:38:45 -07:00
toddouska
bc043ee358 Merge pull request #3980 from embhorn/gh3978
Fix Espressif win script
2021-05-05 15:37:04 -07:00
toddouska
0b16b33de4 Merge pull request #3973 from SparkiDev/pkcs11_sign
PKCS#11: rework RSA operations to be clearer
2021-05-05 15:35:27 -07:00
David Garske
94c0bff839 Merge pull request #3997 from tmael/minor_fixes
Fix test build
2021-05-04 08:51:30 -07:00
David Garske
ed188903e0 Merge pull request #4007 from haydenroche5/ocsp_bug
Fix test_wolfSSL_CertManagerCheckOCSPResponse.
2021-05-03 16:55:52 -07:00
Hayden Roche
822aa92fcc Fix test_wolfSSL_CertManagerCheckOCSPResponse.
This test broke once we went past the nextUpdate time in the static, raw OCSP
response being used. This change makes it so that response is valid until 2048.
2021-05-03 15:26:39 -07:00
David Garske
6e0197e171 Merge pull request #4002 from kabuobeid/smime_fixes
S/MIME: Canonicalize multi-part messages before hashing.  Improve error checking in wc_MIME_parse_headers.
2021-05-03 09:24:43 -07:00
TakayukiMatsuo
9eab854c61 Revised logic along review comments 2021-05-03 07:44:04 +09:00
Kareem Abuobeid
8071fac306 S/MIME: Add smime-test-canon.p7s to include.am 2021-04-30 15:30:55 -07:00
Kareem Abuobeid
effcecf40d S/MIME: Add non-canonicalized test case 2021-04-30 15:07:37 -07:00
David Garske
f8ecd4b441 Fixes for building with NO_ASN_TIME. If used with TLS user must supply LowResTimer and TimeNowInMilliseconds. 2021-04-30 15:04:31 -07:00
David Garske
c9634952d5 Fix to handle time rollover in TLS v1.3 diff calculation. 2021-04-30 15:04:09 -07:00
David Garske
651860dce7 Merge pull request #3991 from kaleb-himes/OE6_MINOR_PORTING_CHANGE
Implement minor port change requested by customer
2021-04-30 14:37:35 -07:00
David Garske
9e48de9d42 Merge pull request #3970 from embhorn/zd12122
Clarify that units of size parameters are in bits
2021-04-30 14:28:50 -07:00
David Garske
fa9f1f8012 Merge pull request #3977 from embhorn/zd12136
Improve PSK callback doc
2021-04-30 14:26:39 -07:00
David Garske
ea2e2994af Reversing hunk in test.c for DEOS (suspect that was in error). 2021-04-30 14:21:23 -07:00
Kareem Abuobeid
baa80284c0 S/MIME: Code review fixes 2021-04-30 14:00:59 -07:00
Chris Conlon
57e03d7e2f Merge pull request #3961 from miyazakh/qt_oslext_pskss_cb
added psk session callback compatibility layer API
2021-04-30 14:26:44 -06:00
Chris Conlon
44b7dd828e Merge pull request #3972 from TakayukiMatsuo/newindex
Add wolfSSL_CRYPTO_get_ex_new_index
2021-04-30 14:21:55 -06:00
Chris Conlon
3daafb47d5 Merge pull request #3982 from dgarske/atca_bool
Fix for ATECC on platforms where bool and int have different sizes
2021-04-30 13:59:49 -06:00
Chris Conlon
37cb24874e Merge pull request #3994 from miyazakh/esp_rsa_hw
Fixed esp32 RSA hw accelerator initialization issue
2021-04-30 13:58:24 -06:00
Kareem Abuobeid
573d51966a S/MIME: Canonicalize multi-part messages before hashing. Improve error checking in wc_MIME_parse_headers. 2021-04-30 12:50:27 -07:00
David Garske
6489d69c7c For platforms that support limits.h or windows make sure both SIZEOF_LONG_LONG and SIZEOF_LONG are set, otherwise causes issues with CTC_SETTINGS. 2021-04-30 11:06:09 -07:00
David Garske
e97692c521 Merge pull request #3926 from vppillai/vppillai-patch-2
Fix ATECC608A TNGTLS certificate size issue
2021-04-30 10:58:09 -07:00
David Garske
751cb8f43f Merge pull request #3974 from JacobBarthelmeh/sniffer
add fatal error return value for sniffer
2021-04-30 10:57:33 -07:00
David Garske
1388956a35 Merge pull request #3995 from SparkiDev/sha3_align
SHA-3: Aligned access of 64 bit value.
2021-04-30 10:54:21 -07:00
Tesfa Mael
f9a9b139ed Fix a build err 2021-04-29 16:44:51 -07:00
Sean Parkinson
1fbe0cb408 SHA-3: Aligned access of 64 bit value. 2021-04-30 08:45:05 +10:00
Vysakh P Pillai
8ede17f337 code formating changes based on PR review. 2021-04-29 07:48:31 +05:30
Hideki Miyazaki
f4935f52b5 clear PROT_RSA_PD bit in PORT_RSA_PD_CTRL_REG to be initialization and activate RSA accelerator 2021-04-29 09:20:16 +09:00
John Safranek
3aa3fc889f Add simple push and pull-request triggered build checks. 2021-04-28 16:52:54 -07:00
Sean Parkinson
985482a2ad PKCS#11: rework RSA operations to be clearer 2021-04-29 08:42:53 +10:00
Eric Blankenhorn
cdede0515c Allow parsing spaces in Base64_SkipNewline 2021-04-28 10:30:16 -05:00
kaleb-himes
0b4b0193e7 Implement minor port change requested by customer 2021-04-28 08:58:23 -06:00
TakayukiMatsuo
f652ac2a04 Removed unused macro guard. 2021-04-28 10:47:22 +09:00
TakayukiMatsuo
a56de6361d Removed the double-defined function. 2021-04-28 10:41:49 +09:00
TakayukiMatsuo
c4782a7a1c Fix macro guard for wolfSSL_CRYPTO_get_ex_new_index and get_ex_new_index. 2021-04-28 10:41:49 +09:00
TakayukiMatsuo
9c0ff73370 Add wolfSSL_CRYPTO_get_ex_new_index 2021-04-28 10:38:53 +09:00
Hideki Miyazaki
4063e33b02 addressed review comments p1 2021-04-28 10:08:22 +09:00
Hideki Miyazaki
9de3fab74c fixed jenkins failures part1 2021-04-28 10:08:21 +09:00
Hideki Miyazaki
0e40293798 added psk session callback 2021-04-28 10:08:21 +09:00
David Garske
385e0bedaa Merge pull request #3990 from haydenroche5/ocsp_bug
Fix CompareOcspReqResp.
2021-04-27 17:07:58 -07:00
Chris Conlon
edb0beb9b6 Merge pull request #3969 from TakayukiMatsuo/koyo
Add wolfSSL_DH_get0_pqg
2021-04-27 17:52:17 -06:00
Chris Conlon
6fad8c4a57 Merge pull request #3975 from TakayukiMatsuo/resumable
Add implementation for wolfSSL_SESSION_is_resumable.
2021-04-27 16:45:34 -06:00
Hayden Roche
73076940af Fix CompareOcspReqResp.
There was a bug in this function that could cause a match to be reported even
when the OCSP request and response in fact had a mismatch.
2021-04-27 13:54:43 -07:00
Chris Conlon
1bff411191 Merge pull request #3986 from miyazakh/qt_ctx_min_max_proto
add MIN/MAX_PROTO into CTX_ctrl
2021-04-27 14:54:16 -06:00
Hideki Miyazaki
6d381a6c7f do nothing when version is zero 2021-04-27 21:13:19 +09:00
Hideki Miyazaki
3b070e1bd0 add MIN/MAX_PROTO into CTX_ctrl
add unit test for min/max proto of CTX ctrl
2021-04-27 21:13:17 +09:00
Vysakh P Pillai
e716fcc635 do not reserve ATMEL_SLOT_ECDHE type for TNGTLS 2021-04-27 16:51:49 +05:30
Vysakh P Pillai
c34fcf908c code cleanup based on PR review comments 2021-04-27 12:17:23 +05:30
Sean Parkinson
7e87c01a7d Merge pull request #3987 from tmael/pss_salt
RSA: Fix RSA PSS padding check
2021-04-27 14:50:32 +10:00
Tesfa Mael
1637bd3e02 Fix RSA PSS padding 2021-04-26 19:21:23 -07:00
toddouska
b7b2347804 Merge pull request #3985 from elms/fix/dtls_no_asn
fix define gates for `AddFragHeaders` with DTLS
2021-04-26 15:13:59 -07:00
Elms
d20f7e7143 fix define gates for AddFragHeaders with DTLS
fixes build with `./configure --enable-dtls --disable-asn`
2021-04-24 07:23:50 -07:00
toddouska
3502bdc8df Merge pull request #3960 from elms/msys_build_fix
mingw/msys: fix build error with TFM
2021-04-23 15:56:10 -07:00
Tesfa Mael
f8e9f32eb8 Add a new file 2021-04-23 15:56:09 -07:00
toddouska
54b17ba465 Merge pull request #3952 from julek-wolfssl/ZD12062
Using `--enable-chacha=noasm` wouldn't actually enable chacha
2021-04-23 15:55:10 -07:00
toddouska
40fe746710 Merge pull request #3942 from dgarske/get_static_ephemeral
Added API's for getting pointer to loaded static ephemeral key
2021-04-23 15:54:46 -07:00
toddouska
47fe114a02 Merge pull request #3901 from dgarske/bio_read
Fix for BIO read callback not called
2021-04-23 15:51:38 -07:00
toddouska
bbda833909 Merge pull request #3720 from elms/deos/project_files
DEOS: Add project files for shared library
2021-04-23 15:44:33 -07:00
toddouska
91e90f7a98 Merge pull request #3604 from haydenroche5/stunnel
Make changes to get latest verison of stunnel (5.57) working with wolfSSL.
2021-04-23 15:41:22 -07:00
toddouska
c3fefc6e27 Merge pull request #3889 from douzzer/network-introspection
--enable-wolfsentry
2021-04-23 15:38:01 -07:00
Tesfa Mael
0c16ef4b29 Check for TLS downgrade 2021-04-23 14:45:35 -07:00
David Garske
fa353b1ee0 Fix for ATECC on platforms where bool and int have different sizes. Related to issue #3971 2021-04-23 11:15:36 -07:00
elms
33f9f98569 Deos: fixup readme 2021-04-23 10:15:23 -07:00
TakayukiMatsuo
2b6f623777 Add implementation for wolfSSL_SESSION_is_resumable. 2021-04-23 11:12:20 +09:00
TakayukiMatsuo
c442841e4a Fix some along review. 2021-04-23 10:53:22 +09:00
TakayukiMatsuo
d22ed7443b Fix unit test. 2021-04-23 09:47:24 +09:00
TakayukiMatsuo
568c09bcde Add guard to the unit test 2021-04-23 09:47:24 +09:00
TakayukiMatsuo
63826e227b Add wolfSSL_DH_get0_pqg 2021-04-23 09:47:24 +09:00
Chris Conlon
878e0006ad Merge pull request #3965 from miyazakh/qt_oslext_epk_param_ck
added wofSSL_EVP_PKEY_param_check for compatibility layer API
2021-04-22 15:43:47 -06:00
Chris Conlon
a83c6c68fe Merge pull request #3940 from miyazakh/qt_v5p15p2_r3
Added compatibility layer API for Qt5.15.2 part2
2021-04-22 15:36:20 -06:00
Eric Blankenhorn
cb02f46fec Fix Espressif win script 2021-04-22 16:20:34 -05:00
Eric Blankenhorn
3c0a77485e Improve PSK callback doc 2021-04-22 10:47:46 -05:00
René Liebscher
fa98477f22 Renesas RX: Use intrinsics for rot[rl], revl
For byte order reverse and rotation we have builtins
in the CC-RX compiler.
Especially when rotating registers with fixed amounts
this can be compiled efficiently into opcodes with
embedded values for shift (without needing other registers).
2021-04-22 16:44:19 +02:00
Jacob Barthelmeh
14ddfa6894 add fatal error return value for sniffer 2021-04-22 14:28:10 +07:00
Daniel Pouzzner
9c7ee3fa64 examples/server/server.c: when TEST_IPV6, set the remote address to IPv6 localhost for wolfsentry_route_insert_static(). 2021-04-22 00:20:12 -05:00
Daniel Pouzzner
1650e8b88a ssl.c: add back missing line continuation backslash. 2021-04-21 17:45:08 -05:00
Daniel Pouzzner
0cf9bacf1b WOLFSSL_WOLFSENTRY_HOOKS/HAVE_EX_DATA*: refactor wolfSSL_CRYPTO_cleanup_ex_data() to take only one arg (the WOLFSSL_CRYPTO_EX_DATA *); fix preprocessor gates on wolfSSL_set_ex_data() and wolfSSL_X509_get_ex_new_index(); fix line lengths. 2021-04-21 17:34:47 -05:00
Daniel Pouzzner
40d5aad8fe configure.ac: improve dynamics of --enable-wolfsentry and --with-wolfsentry*, including existence-checking user-supplied paths. 2021-04-21 17:28:27 -05:00
David Garske
67277d13cd Merge pull request #3937 from elms/intime/dir_pre_intimever6
INTIME: support CRL for INTIME version < 6
2021-04-21 10:42:33 -07:00
Daniel Pouzzner
0afcd4227b ssl.c/internal.c: refactor _EX_DATA_CLEANUP_HOOKS cleanup in _free() routines to use a common wolfSSL_CRYPTO_cleanup_ex_data() routine; remove superfluous WOLFSSL_API qualifiers in ssl.c. 2021-04-21 12:20:56 -05:00
Daniel Pouzzner
89d7f4faf3 tests/api.c: add missing void arglists. 2021-04-21 03:22:10 -05:00
Daniel Pouzzner
660e64cdff examples/server/server.c: clean up wolfsentry printfs. 2021-04-21 03:19:55 -05:00
Daniel Pouzzner
c874d9259c configure.ac: add --with-wolfsentry option. 2021-04-21 03:19:35 -05:00
Hideki Miyazaki
23b5447050 Qt v5.15 requires greater than version 1.1.1 2021-04-21 17:01:06 +09:00
Daniel Pouzzner
cb976db02b server.c: update for wolfSentry API changes. 2021-04-20 23:59:58 -05:00
Daniel Pouzzner
6175e11156 server.c: update wolfsentry_init() usage (hpi pointer). 2021-04-20 23:59:58 -05:00
Daniel Pouzzner
23d8df720e remove WOLFSSL_NETWORK_INTROSPECTION code; add wolfSSL_X509_STORE_set_ex_data_with_cleanup(); refactor WOLFSSL_WOLFSENTRY_HOOKS code in server.c to use HAVE_EX_DATA/HAVE_EX_DATA_CLEANUP_HOOKS. 2021-04-20 23:59:58 -05:00
Daniel Pouzzner
4458ed37c1 fix a couple stray WOLFSSL_NETWORK_INTROSPECTION gates that needed to be WOLFSSL_WOLFSENTRY_HOOKS. 2021-04-20 23:59:58 -05:00
Daniel Pouzzner
2a05fcb59a examples/server: fix wolfSentry integration to handle DTLS correctly. 2021-04-20 23:59:57 -05:00
Daniel Pouzzner
1cbe696716 checkpoint: fully functioning demo via examples/server/ and unit.test (which produces a "filtered" error on a subtest when built --enable-wolfsentry). 2021-04-20 23:59:57 -05:00
Daniel Pouzzner
734860f535 WOLFSSL_NETWORK_INTROSPECTION WIP 2021-04-20 23:59:57 -05:00
Daniel Pouzzner
ba2cc00e5d initial implementation of WOLFSSL_NETWORK_INTROSPECTION: --enable-network-introspection, struct wolfSSL_network_connection, wolfSSL_*_endpoints*(), NetworkFilterCallback_t, wolfSSL_*set_AcceptFilter(). 2021-04-20 23:59:57 -05:00
John Safranek
38ff193368 Merge pull request #3962 from julek-wolfssl/dtls-allow-future
Change default DTLS future packet behaviour
2021-04-20 17:32:42 -07:00
John Safranek
6e7b43056d Merge pull request #3956 from dgarske/zd12010
Fix in sniffer for possible use of uninitialized variable
2021-04-20 17:29:46 -07:00
John Safranek
9d387b13d0 Merge pull request #3938 from julek-wolfssl/dtls-mtu
Refactor DTLS MTU logic
2021-04-20 17:18:12 -07:00
Hideki Miyazaki
d3b41a2fed addressed review comments p1 2021-04-21 09:10:32 +09:00
Hideki Miyazaki
2f5b280d6c fixed jenkins failure part1 2021-04-21 07:53:19 +09:00
Hideki Miyazaki
e063984d17 added EVP_PKEY_param_check 2021-04-21 07:53:18 +09:00
Hideki Miyazaki
b37f1ac0c0 addressed review comments part1 2021-04-21 07:39:13 +09:00
Hideki Miyazaki
bca3cd1d49 fix jenkins failures 2021-04-21 07:39:12 +09:00
Hideki Miyazaki
89b5b90be6 added compatibility layer API stub for Qt 5.15.2 2021-04-21 07:39:12 +09:00
Sean Parkinson
31bc2e4114 Merge pull request #3967 from embhorn/zd12116
PKCS#11: Add debug for failure in wc_Pkcs11_Initialize
2021-04-21 08:06:14 +10:00
Chris Conlon
b9c52729d1 Merge pull request #3959 from kaleb-himes/WINCE_settings_update
Update WINCE for wolfEngine and turn off MD5
2021-04-20 10:15:44 -06:00
Chris Conlon
537d33d5fa Merge pull request #3951 from dgarske/stm32_aes_h7
Fix for AES GCM with STM32H7
2021-04-20 10:14:13 -06:00
Chris Conlon
f931e67cd7 Merge pull request #3946 from TakayukiMatsuo/tk11899
Add test cases for EVP_CIPHER_CTX_cleanup and BIO_free
2021-04-20 10:10:41 -06:00
Chris Conlon
c3aee06b23 Merge pull request #3939 from miyazakh/qt_v5p15p2_r1
added and modified compatibility layer APIs for Qt v5.15.2 part1
2021-04-20 10:02:27 -06:00
Chris Conlon
bd5dc0b21d Merge pull request #3948 from miyazakh/qt_unittest_cert
added favourite drink pilot attribute
2021-04-20 09:50:30 -06:00
Eric Blankenhorn
1d50962889 Clarify that units of size parameters are in bits 2021-04-20 09:28:17 -05:00
Elms
9dd5768ecc Intime: simplify and fix stat on different directory 2021-04-19 22:34:31 -07:00
Eric Blankenhorn
94eb096e42 Add debug for failure in wc_Pkcs11_Initialize 2021-04-19 17:53:21 -05:00
Daniel Pouzzner
d08a2b1761 Merge pull request #3966 from SparkiDev/arm-jenkins-2
ARMv8 ASM AES-CBC: Fix parameter validation
2021-04-19 17:06:48 -05:00
Sean Parkinson
d274c80789 ARMv8 ASM AES-CBC: Fix parameter validation 2021-04-19 16:47:34 +10:00
Sean Parkinson
d7b0b97352 Merge pull request #3955 from kaleb-himes/OE18-external-to-module-changes
non-const versions only needed when using inlined ARM assembly in the module.
2021-04-19 09:13:11 +10:00
elms
a26a19b4c8 Deos: rebase fix and add note about importing to readme 2021-04-16 16:35:30 -07:00
elms
6600a531c8 Deos: project relative include paths and ignore fips files by default 2021-04-16 15:39:24 -07:00
Elms
3e6f663a38 DEOS: update readme 2021-04-16 15:39:24 -07:00
Elms
d6a29b269d DEOS: add files to dist 2021-04-16 15:39:24 -07:00
Elms
57f4adf438 DEOS: updated memory and add DTLS
Tested: DDC-I 9.2.0r94156 and OpenArbor on PPC hardware
2021-04-16 15:39:19 -07:00
Kaleb Himes
3da32e75ad Correct commentary based on peer feedback 2021-04-16 15:12:35 -06:00
David Garske
099f88e45b Revert the change to test.c. 2021-04-16 12:02:04 -07:00
David Garske
7cfd22304e Fix to improve STM32 AES GCM with partial blocks. Use a local buffer for partial remainder and make sure remainder is zero'd. 2021-04-16 11:58:45 -07:00
Juliusz Sosinowicz
2bc2a911d7 Change default DTLS future packet behaviour
This is a better default for most users. Most users who make use of DTLS, allow messages from "too far into the future". It makes sense that DTLS may lose connection for a period of time and will lose all messages from this period. Losing connection effectively stalls the wolfSSL DTLS connection.
2021-04-16 19:27:39 +02:00
Juliusz Sosinowicz
70a3857ae8 Fragmentation for ServerKeyExchange and CeriticateVerify
- The `ssl->dtlsMtuSz` value is the maximum possible size of the DTLS record layer. We read `ssl->dtlsMtuSz + 100` in case peer has slightly different MTU set.
- The `-u` option in the examples takes the value of the MTU size.
- MTU tests are added in `tests/test-dtls-mtu.conf`
2021-04-16 17:30:51 +02:00
TakayukiMatsuo
9553188099 Added type cast to the parm of wolfSSL_BIO_write. 2021-04-16 11:51:58 +09:00
TakayukiMatsuo
1a4adab52e Changed DumpElement() so that the allocated buffer is freed in the WOLFSSL_SMALL_STACK build case. 2021-04-16 10:05:48 +09:00
Sean Parkinson
5955603c51 Merge pull request #3958 from TakayukiMatsuo/tk11969
Changed the logic for determining the group used for KeyShare in TLSX_PopulateExtensions.
2021-04-16 09:34:54 +10:00
Hideki Miyazaki
cc0359accb changed callback func name corresponding other cb func name convention 2021-04-16 08:20:12 +09:00
Elms
cc4116de24 mingw/msys: fix build error with TFM
Conditional was always true. Rule out using preprocessor.
2021-04-15 15:16:21 -07:00
David Garske
38637bb276 Merge pull request #3957 from SparkiDev/sp_div_word_fix
SP DIV word C: Add instead of OR
2021-04-15 12:20:56 -07:00
kaleb-himes
96256a3ec1 Update WINCE for wolfEngine and turn off MD5 2021-04-15 10:27:41 -06:00
David Garske
64c7830c93 Fix for possible use of invalid *sslFrame and calculated headerSz in partial case with WOLFSSL_SNIFFER_CHAIN_INPUT. 2021-04-15 09:01:11 -07:00
TakayukiMatsuo
2db06eb3b7 Changed the logic for determining the group used for KeyShare. 2021-04-15 19:30:02 +09:00
Sean Parkinson
bb75c4d610 SP DIV word C: Add instead of OR 2021-04-15 09:22:29 +10:00
David Garske
d34161e482 Fix in sniffer for possible use of uninitialized length when skipPartial is set. ZD 12010 2021-04-14 15:14:14 -07:00
Hideki Miyazaki
5a1d171236 fixed unit test failure 2021-04-14 21:25:50 +09:00
Hideki Miyazaki
03cfc3dc8f addressed review comments part1 2021-04-14 11:15:23 +09:00
kaleb-himes
88aed28a3f Refactor following peer review 2021-04-13 17:28:43 -06:00
Hideki Miyazaki
f8e7f9bf03 addressed review comment part1 2021-04-14 07:58:22 +09:00
TakayukiMatsuo
f245ba0ca1 Merge remote-tracking branch 'upstream/master' into tk11899
# Conflicts:
#	tests/api.c
2021-04-14 06:13:46 +09:00
Chris Conlon
21faeff478 Merge pull request #3916 from JacobBarthelmeh/PKCS7
fix for streaming with PKCS7
2021-04-13 14:04:06 -06:00
Chris Conlon
c129f630e2 Merge pull request #3933 from miyazakh/rand_bytes_regression
fix retrun code regression on RAND_bytes
2021-04-13 13:55:04 -06:00
Chris Conlon
71e2f191a6 Merge pull request #3947 from dgarske/nxp_ltc
Fixes for NXP LTC
2021-04-13 13:49:22 -06:00
kaleb-himes
87a2cdea31 const poisoning - gcc 4.x prefers consistency in prototypes and implementations 2021-04-13 13:29:40 -06:00
Hayden Roche
4cd3f2e826 Make changes to get latest verison of stunnel (5.57) working with wolfSSL. 2021-04-13 09:18:25 -05:00
JacobBarthelmeh
295418fa3e Merge pull request #3954 from ejohnstown/m1
M1 Update
2021-04-13 12:08:11 +08:00
David Garske
54e111aa85 Update copy/paste error in comment. 2021-04-12 17:02:35 -07:00
David Garske
89e4bae8d2 Fix for STM32 AES GCM decrypt to support partial (not multiple of 4) for auth tag calculation. 2021-04-12 16:57:57 -07:00
Chris Conlon
2739759072 Merge pull request #3953 from JacobBarthelmeh/build-tests
add option to use an engine with openssl test script
2021-04-12 13:22:52 -06:00
Juliusz Sosinowicz
c6077b6767 Refactor DTLS MTU logic
- wolfSSL_GetMaxRecordSize will now take additional cipher data into account
- The set MTU size is understood as the maximum size of a DTLS record. The WOLFSSL_MAX_MTU was adjusted to account for UDP/IP headers.
2021-04-12 21:01:15 +02:00
John Safranek
74df158c5c Update the check for 64-bit on the M1 to filter out other ARM processors. 2021-04-12 11:18:52 -07:00
David Garske
021c22c038 Merge pull request #3950 from embhorn/zd11850
Fix build error with NO_PKCS12
2021-04-12 10:46:45 -07:00
toddouska
0f1a702f58 Merge pull request #3949 from JacobBarthelmeh/StaticAnalysisTests
remove dead code, variable gn will currently always be null
2021-04-12 10:26:02 -07:00
Hideki Miyazaki
501de37cad fixed memory leak in unit test 2021-04-12 18:34:07 +09:00
Hideki Miyazaki
ad6f8e4246 added and modified compatibility layer APIs for Qt v5.15.2 part1 2021-04-12 18:34:07 +09:00
Jacob Barthelmeh
4a7434a56d add missing ret checks 2021-04-12 16:33:14 +08:00
Jacob Barthelmeh
160faa851c add deterministic k generation for ECC sign 2021-04-12 16:33:14 +08:00
JacobBarthelmeh
d44549fd77 only update OPENSSL_ENGINE_ID if already set 2021-04-12 01:47:01 -06:00
Sean Parkinson
7345b2418b Merge pull request #3944 from guidovranken/zd12039
Account for sp_sqr failure in _sp_exptmod_nct
2021-04-12 11:03:38 +10:00
Sean Parkinson
0197e133b1 Merge pull request #3929 from hicksjacobp/tls13-cbclientcert
fix: call CBClientCert for TLS 1.3 certificate requests
2021-04-12 09:25:22 +10:00
JacobBarthelmeh
ee22d27cf8 add sanity check that engine can be loaded 2021-04-11 20:48:18 +07:00
JacobBarthelmeh
c34025b186 add option to use an engine with openssl test script 2021-04-11 20:06:13 +07:00
David Garske
8538869d33 Added runtime checking for LTC big integer buffer sizes. 2021-04-09 15:51:57 -07:00
David Garske
070dfad07a Fix for NXP LTC ECC public key computation broken in PR #2859 for contstant time changes. 2021-04-09 15:51:30 -07:00
Daniel Pouzzner
04cc48b810 Merge pull request #3935 from miyazakh/x509_store_ex_data
add X509_STORE_get/set_ex_data
2021-04-08 21:51:03 -05:00
Chris Conlon
a4ebeac932 fix minor typo in function return comment 2021-04-08 16:37:16 -06:00
Elms
18eca4deff INTIME: fix check returns Find{First,Next,Close} for version <6 2021-04-08 10:23:26 -07:00
Juliusz Sosinowicz
beff4daf7e Refactor wolfSSL_BIO_BASE64_write to simplify its logic 2021-04-08 19:11:55 +02:00
TakayukiMatsuo
07022eebe7 Add a OPENSSL_EXTRA guard to call SSL_get_early_data_status 2021-04-09 01:10:45 +09:00
David Garske
f298bb9f22 Peer review feedback. 2021-04-08 08:06:45 -07:00
TakayukiMatsuo
424d97ca3d Merge remote-tracking branch 'upstream/master' into tk11899
# Conflicts:
#	src/ssl.c
2021-04-08 23:59:51 +09:00
TakayukiMatsuo
bc7191ca4c Added test cases for NULL-parameter 2021-04-08 23:11:00 +09:00
Juliusz Sosinowicz
d8dd69cf44 Using --enable-chacha=noasm wouldn't actually enable chacha 2021-04-08 12:46:05 +02:00
toddouska
3b9e7942ea Merge pull request #3908 from embhorn/zd11866
Sanity check size in TLSX_Parse
2021-04-07 16:34:56 -07:00
toddouska
b3177ffc17 Merge pull request #3945 from dgarske/ecc_nomalloc
Improve ECC with `WOLFSSL_NO_MALLOC`
2021-04-07 16:29:13 -07:00
toddouska
418e5b46d6 Merge pull request #3934 from SparkiDev/armv8-asm-sha256-fix
ARMv8 SHA-256: recalc data in SHA256 update
2021-04-07 16:22:27 -07:00
toddouska
86fe77d776 Merge pull request #3924 from dgarske/sp_math_all
Sp math all fixes
2021-04-07 16:21:58 -07:00
toddouska
de8653be35 Merge pull request #3941 from JacobBarthelmeh/Compatibility-Layer
add implementation of EC_KEY_set_group
2021-04-07 16:20:50 -07:00
toddouska
9e9506c260 Merge pull request #3919 from JacobBarthelmeh/StaticAnalysisTests_2
Static analysis tests 2
2021-04-07 16:18:37 -07:00
David Garske
acf1a9833b Fix for AES GCM with STM32H7 to use crypto hardware in all cases except IV size != 12. 2021-04-07 15:51:50 -07:00
Eric Blankenhorn
ef69a9b458 Fix build error with NO_PKCS12 2021-04-07 15:36:35 -05:00
David Garske
4747ba9ccb Fix for BIO base64 write valgrind issue. 2021-04-07 12:23:26 -07:00
Jacob Barthelmeh
f16136c29b remove dead code, variable gn will currently always be null 2021-04-07 20:56:50 +07:00
Hideki Miyazaki
8e6710e030 added favourite drink pilot attribute
fix OCSP authority access info
2021-04-07 18:44:32 +09:00
TakayukiMatsuo
7da85c6f3f Merge remote-tracking branch 'upstream/master' into tk11899 2021-04-07 12:01:39 +09:00
David Garske
786bbabbdc Improve ECC with WOLFSSL_NO_MALLOC
Tested with `./configure --enable-cryptonly --disable-examples --disable-rsa --disable-dh CFLAGS="-DWOLFSSL_NO_MALLOC -DBENCH_EMBEDDED" && make check`.
All ECC operations can work now with WOLFSSL_NO_MALLOC and variables will be on stack.
ZD 11829
2021-04-06 15:31:40 -07:00
David Garske
779dabc04e Cleanups to KSDK port for LTC. 2021-04-06 13:50:33 -07:00
David Garske
f4e1d96cfc Fixes for building K82. Fixes for warning with const mp_int* k changes. 2021-04-06 11:38:05 -07:00
Jacob Barthelmeh
4eb8265c46 add ecc guard on test case 2021-04-06 20:01:15 +07:00
TakayukiMatsuo
0a05acff09 Add test cases for EVP_CIPHER_CTX_cleanup and BIO_free 2021-04-06 14:21:53 +09:00
Guido Vranken
52e6ff7c56 Account for sp_sqr failure in _sp_exptmod_nct
ZD 12039
2021-04-06 01:34:09 +02:00
David Garske
5ebe5d071f Fixes for wolfSSL_BIO_BASE64_write changes. 2021-04-05 14:35:47 -07:00
Juliusz Sosinowicz
1a9d59c185 front may be unused and generate a warning 2021-04-05 14:35:47 -07:00
Juliusz Sosinowicz
d257cf5003 Return error when using not compiled in BIO
Refactor base64 BIO write into static function
2021-04-05 14:35:47 -07:00
David Garske
5b751d9eaa Fix for possible unused label "exit_chain". 2021-04-05 14:35:47 -07:00
David Garske
8984ce03e9 Refactor BIO read/write to use switch. 2021-04-05 14:35:47 -07:00
David Garske
072e6e010c Handle the BIO want read in BioReceive. 2021-04-05 14:35:47 -07:00
David Garske
5c762afb94 Fix for BIO with callbacks not called after PR #3824 (was always returning WANT_READ). 2021-04-05 14:35:47 -07:00
David Garske
e13c93d493 Added API's for getting pointer to load static ephemeral key. 2021-04-05 13:40:48 -07:00
David Garske
6b46669641 Merge pull request #3917 from embhorn/zd11959
Sanity check sockfd max value
2021-04-05 11:50:13 -07:00
David Garske
7935b7c485 Merge pull request #3920 from SparkiDev/sp_int_ullong
SP int: Handle ULLONG_MAX not being defined
2021-04-05 11:48:38 -07:00
David Garske
53d97d1961 Fix for DSA only case and missing sp_read_radix 2021-04-05 11:43:21 -07:00
David Garske
24d8e1b104 SP math all edge cases without RSA. 2021-04-05 11:31:55 -07:00
David Garske
eb37953061 Fix for WOLFSSL_SP_MATH_ALL typo. Plus a few other minor ones. 2021-04-05 11:31:55 -07:00
JacobBarthelmeh
63c96c3585 add implementation of EC_KEY_set_group 2021-04-05 22:22:31 +07:00
Jacob Barthelmeh
9a86f133c8 additional fixes for reports with test cases 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
71fea2bdd1 initialize hash size variable to 0 in the case that getting the digest size returns 0 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
4e8769ba6b initialize variable 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
39f34ef88b check return values 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
1c3ba77bee remove dead code path 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
fdb3221ea7 check variable is not null before use in error case 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
b4c0301f57 add sanity check on serial size 2021-04-05 21:26:52 +07:00
Jacob Barthelmeh
9ea60db80a add free of bio in error case 2021-04-05 21:26:22 +07:00
Jacob Barthelmeh
4ead19e21f check return value of hash digest size 2021-04-05 21:26:22 +07:00
Jacob Barthelmeh
75abeebaf7 free memory in test case 2021-04-05 21:26:22 +07:00
Jacob Barthelmeh
97b83a2550 free PKCS7 structure on error case 2021-04-05 21:26:22 +07:00
Jacob Barthelmeh
141d1cb5af fix for potential leak on fail case 2021-04-05 21:26:22 +07:00
Elms
379e1fb630 INTIME: support CRL for INTIME version < 6 2021-04-01 11:15:23 -07:00
Juliusz Sosinowicz
c5b6d20483 Add more DSA parameters support
- Implement wc_DsaParamsDecode and wc_DsaKeyToParamsDer
- Don't include NIDs without OpenSSL builds
2021-04-01 19:47:09 +02:00
Hideki Miyazaki
ea0f4580de add X509_STORE_get/set_ex_data 2021-04-01 17:06:02 +09:00
Sean Parkinson
e3c86f8f77 ARMv8 SHA-256: recalc data in SHA256 update 2021-04-01 17:01:21 +10:00
Sean Parkinson
fd94d05b0a Merge pull request #3932 from guidovranken/zd12012
MP integer.c: Use unsigned integers in mp_is_bit_set
2021-04-01 15:41:01 +10:00
Hideki Miyazaki
b8684f3f7e fix retrun code regression on RAND_bytes
fix jenkins fail
2021-04-01 13:35:50 +09:00
Guido Vranken
2ecaa3c4c6 Use unsigned integers in mp_is_bit_set
ZD 12012
2021-04-01 00:57:06 +02:00
toddouska
95b91d8913 Merge pull request #3886 from DKubasekRA/fix/RA/v4.7.0-coverity
RA - Fixes for Coverity issues
2021-03-31 10:41:54 -07:00
toddouska
49b29bec32 Merge pull request #3930 from JacobBarthelmeh/Testing
add link to wolfssl-examples repository in README
2021-03-31 10:10:44 -07:00
toddouska
38cec4b0d4 Merge pull request #3922 from dgarske/have_secret
Expose functions to get client/server random for have secret callback
2021-03-30 16:03:57 -07:00
toddouska
f7046ca12a Merge pull request #3906 from douzzer/AES-BAD_ALIGN_E-consistency
Adds optional AES CBC length checking
2021-03-30 16:01:29 -07:00
toddouska
4d1ad6acd6 Merge pull request #3885 from JacobBarthelmeh/StaticAnalysisTests
Static analysis fixes for items listed as high priority
2021-03-30 16:00:03 -07:00
Chris Conlon
4044b30363 Merge pull request #3915 from TakayukiMatsuo/os_ecdh
Add unit tests for OpenSSL compat APIs
2021-03-30 16:18:16 -06:00
Jacob Barthelmeh
dfb7848320 add link to wolfssl-examples repository in README 2021-03-31 01:34:14 +07:00
Jake Hicks
0ea9163253 fix: call CBClientCert for TLS 1.3 certificate requests 2021-03-30 07:25:05 -05:00
TakayukiMatsuo
56b1406a30 Fix to call wc_FreeDhKey only after wc_InitDhKey succeeds. 2021-03-30 00:18:40 +09:00
Sean Parkinson
c3fcb2e95f Merge pull request #3923 from dgarske/armv8
ARMv8: do not compile code if module is disabled
2021-03-29 08:50:41 +10:00
Vysakh P Pillai
4911977946 rename I2C address var per cryptoauthlib 3.3.0 2021-03-28 00:11:11 +05:30
Vysakh P Pillai
ccc50714d0 Fix TNGTLS certificate size issue
TNGTLS devices has shown variations in the device and signer certificate sizes causing failure.
This fix makes the size query dynamic.
2021-03-28 00:02:17 +05:30
Chris Conlon
a9ff314840 Merge pull request #3912 from miyazakh/rsa_bits_
Added RSA_bits
2021-03-26 17:00:56 -06:00
Chris Conlon
b67f270e3d Merge pull request #3910 from miyazakh/openssl_ext_unit_test
Update compatibility layer api unit test
2021-03-26 16:58:21 -06:00
David Garske
a22defec50 Fix for availability of wolfSSL_SESSION_print. 2021-03-26 15:39:55 -07:00
David Garske
95ff75c43d Fix for wolfSSL_SESSION_print 2021-03-26 13:41:11 -07:00
David Garske
724a415d51 Fix ARMv8 to not compile code if module is disabled 2021-03-26 13:28:15 -07:00
David Garske
f65e1f1f09 Expose functions to get client/server random when HAVE_SECRET_CALLBACK is defined. 2021-03-26 13:23:00 -07:00
Daniel Pouzzner
5f6b618e71 configure.ac: add --enable-aescbc-length-checks and add it to --enable-all; api.c: fix expected error code in WOLFSSL_AES_CBC_LENGTH_CHECKS path of test_wc_AesCbcEncryptDecrypt(); aes.c: add explanatory comment on WOLFSSL_AES_CBC_LENGTH_CHECKS to top of file. 2021-03-26 14:04:25 -05:00
Daniel Pouzzner
5d9ee97530 WOLFSSL_AES_CBC_LENGTH_CHECKS: add gated logic to aes.c wc_AesCbc{En,De}crypt() to return BAD_LENGTH_E when input length is not a multiple of AES_BLOCK_SIZE; add gated tests of new functionality in test_wc_AesCbcEncryptDecrypt(); fix first encrypt-decrypt-memcmp in test_wc_AesCbcEncryptDecrypt() to span all of test vector and extend test vector length to be block-multiple; add ungated logic in platform-specific wc_AesCbc{En,De}crypt() routines to return with early success when blocks == 0 (also mitigates buffer overrun on short (less-than-AES_BLOCK_SIZE) input); add BAD_LENGTH_E error code; update documentation. 2021-03-26 13:40:08 -05:00
David Garske
f201d65459 Merge pull request #3898 from elms/intime_rtos/crl_directory_fix
INTIME: add support for directory file search
2021-03-26 09:37:21 -07:00
toddouska
79fa71d600 Merge pull request #3882 from TakayukiMatsuo/tk11899
Return code differences in wolfSSL_EVP_PKEY_cmp et al.
2021-03-26 09:36:52 -07:00
toddouska
212be50a23 Merge pull request #3899 from SparkiDev/shake256_improve
SHA-3: Improve SHAKE256 change to support longer output
2021-03-26 09:35:52 -07:00
toddouska
bb7dce8b46 Merge pull request #3921 from SparkiDev/sp_modinv_win
SP MSVC: movslq -> movsxd
2021-03-26 09:34:15 -07:00
TakayukiMatsuo
f7477b932d Add return value checks and fixed typos. 2021-03-26 17:06:14 +09:00
TakayukiMatsuo
5456765dca Changed API names to call in unit tests. 2021-03-26 17:05:25 +09:00
Sean Parkinson
1b832bf8fa SHA-3: Improve SHAKE256 change to support longer output
Added tests for 1 complete block output and longer from NIST's CAVP
tests vectors.
2021-03-26 14:59:12 +10:00
Sean Parkinson
a188ef251c SP MSVC: movslq -> movsl 2021-03-26 14:12:58 +10:00
TakayukiMatsuo
4460180214 Fix implicit conv error. 2021-03-26 08:18:16 +09:00
Sean Parkinson
08be489bf5 SP int: Handle ULLONG_MAX not being defined 2021-03-26 09:03:39 +10:00
Sean Parkinson
0d995527aa Merge pull request #3918 from dgarske/fix_ecc_mulmod_fast
Fix for SP ecc_mulmod_fast
2021-03-26 08:39:48 +10:00
TakayukiMatsuo
5887c2f2e2 Fix fall through. 2021-03-26 04:45:10 +09:00
Eric Blankenhorn
23bd46bac6 Sanity check sockfd 2021-03-25 14:40:38 -05:00
TakayukiMatsuo
79837eeb8e Changed the function name to be called in the unit test to the OpeSSL function name. 2021-03-26 04:30:36 +09:00
Eric Blankenhorn
11189fe386 Sanity check size in TLSX_Parse 2021-03-25 14:16:22 -05:00
TakayukiMatsuo
da9131d30d Added return value checks and removed ToDec() 2021-03-26 04:14:14 +09:00
TakayukiMatsuo
dd6db22bc6 Changed the function name to be called in the unit test to the OpenSSL function name. 2021-03-26 04:08:02 +09:00
Elms
4eb4cecff4 INTIME: whitespace fixup and zero context in wc_ReadDirFirst 2021-03-25 10:54:05 -07:00
David Garske
c9b5806575 Fix for ecc_mulmod_fast broken in PR #3868. The "t" needs 1 extra point for "rt". 2021-03-25 09:19:17 -07:00
David Garske
06966a203b Merge pull request #3914 from SparkiDev/sp_c_sub_fixes
SP C 32/64: fix corner cases around subtraction
2021-03-25 08:11:06 -07:00
Stanislav Klima
6c7b3d806a Fixed modifying a const value. 2021-03-25 15:36:30 +01:00
Radim Smat
fd7131197f Updated fix of CID 587269. 2021-03-25 13:28:47 +01:00
Jacob Barthelmeh
a472d2af4a fix for streaming with PKCS7 2021-03-25 18:54:09 +07:00
Stanislav Klima
67d4611fda Review fixes. 2021-03-25 11:26:34 +01:00
TakayukiMatsuo
8dcaa8c4b6 Merge remote-tracking branch 'upstream/master' into os_ecdh
# Conflicts:
#	tests/api.c
2021-03-25 19:17:22 +09:00
TakayukiMatsuo
952a9b3497 Add unit tests for CONT_modules_xxx, CRYPTO_set_dynlock_xxx, CRYPTO_THREADID_xxx and ENGINE_cleanup. 2021-03-25 19:02:13 +09:00
Sean Parkinson
d8a81d0c0f SP C 32/64: fix corner cases around subtraction
Affected RSA PSS
2021-03-25 16:19:54 +10:00
Hideki Miyazaki
c9be50c3a0 added RSA_bits 2021-03-25 13:31:47 +09:00
TakayukiMatsuo
03bad1c056 Added logic to wait for TCP disconnect so that SSL_read behaves the same as OpenSSL after a bidirectional shutdown. 2021-03-25 12:54:05 +09:00
John Safranek
8bee2af550 Merge pull request #3904 from julek-wolfssl/dtls-chacha-poly-fix
Chacha-Poly AEAD fix for SCR
2021-03-24 18:53:46 -07:00
David Garske
64555cdd11 Merge pull request #3907 from JacobBarthelmeh/CAAM 2021-03-24 18:47:47 -07:00
John Safranek
662d04ce74 Merge pull request #3879 from julek-wolfssl/dtls-timeout
Let user inspect error in wolfSSL_dtls_got_timeout
2021-03-24 18:31:05 -07:00
John Safranek
f2f2976e96 Merge pull request #3837 from haydenroche5/zd11808
Fix for ZD 11808.
2021-03-24 18:24:04 -07:00
Sean Parkinson
08ea90ad94 Merge pull request #3905 from dgarske/sp_nb_sync
SP ECC: Fix for non-blocking test and synchronization of changes
2021-03-25 10:35:30 +10:00
Hideki Miyazaki
f7652d18a0 use compatibility layer API when they are enabled 2021-03-25 08:09:06 +09:00
JacobBarthelmeh
e074513d38 fix for memory management with mmap function calls 2021-03-25 01:32:37 +07:00
Jacob Barthelmeh
183917f102 change debug message type from review 2021-03-25 01:16:20 +07:00
Martin Kinčl
7f64950da4 Fixed fix of CID 576329. 2021-03-24 17:23:49 +01:00
Martin Kinčl
bf1482a2d7 Fixed another CID 529732. 2021-03-24 17:05:02 +01:00
JacobBarthelmeh
13d81f1fb9 Merge pull request #3902 from dgarske/snicb
Fix for SNI recv callback
2021-03-24 15:34:35 +07:00
David Garske
a6851a44af Fix for ECC non-blocking test R/S values not zero padded causing occasstional wolfCrypt test failures with ./configure --enable-ecc=nonblock --enable-sp=yes,nonblock CFLAGS="-DWOLFSSL_PUBLIC_MP". 2021-03-23 17:32:36 -07:00
David Garske
a6e9e71fde Synchronization of SP ECC non-blocking code. Adds WOLFSSL_ECDSA_SET_K_ONE_LOOP support to SP ECC non-block. Removes double code in verify steps. Fixes verify result logic. Spelling error. 2021-03-23 17:30:56 -07:00
toddouska
14ef517b61 Merge pull request #3884 from SparkiDev/tfm_read_bin
TFM read_unsigned_bin: endian may not be defined
2021-03-23 14:47:18 -07:00
toddouska
d539dc59be Merge pull request #3903 from SparkiDev/sha2_arm
ARMv8 SHA256, SHA512: Add wc_Sha256Transform, wc_Sha512Transform
2021-03-23 14:46:45 -07:00
toddouska
1643bec05f Merge pull request #3862 from kaleb-himes/WIN32_WCE_PORTING
_WIN32_WCE port of wolfCrypt - OE12
2021-03-23 14:40:48 -07:00
toddouska
6134de6a22 Merge pull request #3855 from miyazakh/openssl_ext_r2
Compatibility layer API addition
2021-03-23 14:37:47 -07:00
Stanislav Klima
ee79e1082a Updated fix of 58787. 2021-03-23 13:19:32 +01:00
Juliusz Sosinowicz
3abcdf059a Chacha-Poly AEAD fix for SCR
Wrong cipher material was being used when using Chacha-Poly AEAD for DTLS 1.2 with secure renegotiation
2021-03-23 10:38:48 +01:00
Sean Parkinson
089ebf277f ARMv8 SHA256, SHA512: Add wc_Sha256Transform, wc_Sha512Transform 2021-03-23 12:53:06 +10:00
David Garske
9313d59479 Fix for SNI callback
* Fix for SNI callback on server to make sure the SNI data is stored even without setting a hostname. This makes sure the SNI extension is set when there is a registered SNI recv callback.
* Fix for Apache HTTPD to include `WOLFSSL_ALWAYS_KEEP_SNI`
2021-03-22 11:28:16 -07:00
kaleb-himes
b3eb2e3ddd Implement peer review feedback
Fix items that were missed from peer review

Remove dead code

Add ret capture of return from XVSNPRINTF
2021-03-22 11:55:16 -06:00
David Garske
3accd4dd86 Merge pull request #3900 from JacobBarthelmeh/CAAM
account for leading 0's with r and s during ECC verify
2021-03-22 09:08:44 -07:00
JacobBarthelmeh
b7ac12edb6 account for leading 0's with r and s during ECC verify 2021-03-22 18:16:21 +07:00
Stanislav Klima
2e25c53111 Revert "Fixed CID 583215."
This reverts commit 26578be1a7.
2021-03-22 09:50:20 +01:00
Stanislav Klima
a8abeeb50e Fixed CID 58787. 2021-03-22 09:47:52 +01:00
Sean Parkinson
24b67599c8 Merge pull request #3896 from strongX509/wolfssl-shake256
Full implementation of SHAKE256
2021-03-22 09:57:05 +10:00
TakayukiMatsuo
53c54ab475 Added bounds checks. 2021-03-21 12:30:45 +09:00
TakayukiMatsuo
a86a638698 Fix for PRB tests. 2021-03-21 08:19:02 +09:00
TakayukiMatsuo
6bf14dfa56 Added bounds checks, smallstack pattern. 2021-03-21 07:37:02 +09:00
TakayukiMatsuo
a1ff026670 Revert the change of wolfSSL_EVP_CHIPER_CTX_cleanup. 2021-03-21 00:14:57 +09:00
Elms
c3e6195da5 INTIME: add support for directory file search
Directory support allows CRL use with undefining `NO_WOLFSSL_DIR`

Also increase stack size to avoid page fault and add
`_USE_64BIT_TIME_T` to example project to pass ASN test
2021-03-20 00:53:02 -07:00
Hideki Miyazaki
526688a1a5 adressed review comments part 5-1 2021-03-20 14:57:26 +09:00
Hideki Miyazaki
fae36f108e adressed review comments part 5 2021-03-20 12:29:42 +09:00
toddouska
14b7d70ae4 Merge pull request #3846 from kabuobeid/builtinEngsRandMethod
Add wolfSSL_RAND_set_rand_method() and document ENGINE_load_builtin_engines()
2021-03-19 14:23:03 -07:00
toddouska
a0a1406a43 Merge pull request #3894 from SparkiDev/eccsi_sakke_g++
ECCSI/SAKKE: fix for g++
2021-03-19 14:03:06 -07:00
toddouska
fc2dff0af6 Merge pull request #3895 from SparkiDev/no_dhe_psk_fix
TLS 1.3 PSK no DHE: When not doing PSK don't allow noPskDheKe to be set
2021-03-19 14:02:43 -07:00
Chris Conlon
19c321f165 Merge pull request #3891 from JacobBarthelmeh/PKCS7
adjust size when streaming with PKCS7 verify
2021-03-19 11:53:38 -06:00
David Garske
761bebc4a0 Merge pull request #3893 from SparkiDev/sp_dyn_stack
SP dyanmic stack: WOLFSSL_SP_NO_DYN_STACK disable use
2021-03-19 10:53:02 -07:00
Chris Conlon
f49e8669cd Merge pull request #3892 from dgarske/stm32g0
Adds support for STM32G0
2021-03-19 11:31:17 -06:00
Andreas Steffen
6e383cf6cd Full implementation of SHAKE256
The current SHAKE256 implementation squeezes output bytes only up
to the rate limit of 136 bytes. This has been fixed to support
the output of an unlimited amount of bytes complying with the
NIST FIPS 202 standard.
2021-03-19 11:13:54 +01:00
TakayukiMatsuo
4136dcb098 Add modifications to fix following issues:
- bounds checks
- sanity checks
- smallstack pattern
- coding standard
- typos
2021-03-19 14:58:56 +09:00
TakayukiMatsuo
491f3bc423 Add two public key files in certs folder and register them to gencertbuf.pl 2021-03-19 14:52:58 +09:00
TakayukiMatsuo
62304411dd Remove wc_EccPublicKeyDecode_ex 2021-03-19 14:48:46 +09:00
TakayukiMatsuo
1c81afcc0a Add wc_FreeDhKey in wolfSSL_d2i_PUBKEY 2021-03-19 14:23:40 +09:00
TakayukiMatsuo
364e35575c Add following modifications to unit-test:
- Modify reference data in test_wolfSSL_EVP_PKEY_print_public
- Remove test_wc_EccPublicKeyDecode_ex
- Rewrite test_wc_DhPublicKeyDecode to have Assert
2021-03-19 14:17:26 +09:00
Hideki Miyazaki
300cbf7a5b fixed NO_WOLFSSL_DIR configuration case 2021-03-19 13:13:03 +09:00
Hideki Miyazaki
ffa6a80725 addressed review comments part 4 2021-03-19 13:13:02 +09:00
Hideki Miyazaki
7b81ff1bc6 fixed api testing for hash dir 2021-03-19 13:13:01 +09:00
Hideki Miyazaki
c5327866a4 addressed review comments part 3 2021-03-19 13:13:01 +09:00
Hideki Miyazaki
84368eed3f addressed review comment part 2 moving BY_DIR_xxx functions to internal 2021-03-19 13:13:00 +09:00
Hideki Miyazaki
4650aaf4fb addressed review comments part 1 2021-03-19 13:13:00 +09:00
Hideki Miyazaki
f9c9de5855 free Mutex 2021-03-19 13:12:59 +09:00
Hideki Miyazaki
2d79578eda addressed jenkins failure
fix missing mutex initialization
2021-03-19 13:12:59 +09:00
Hideki Miyazaki
a13784abe1 fixed jenkins failure 2021-03-19 13:12:58 +09:00
Hideki Miyazaki
cb0f082e39 simplified wc_EncodeName* 2021-03-19 13:12:57 +09:00
Hideki Miyazaki
e73b06e797 add comments and description to new function and API 2021-03-19 13:12:57 +09:00
Hideki Miyazaki
39b0c4eaf8 fixed sanitize errors 2021-03-19 13:12:56 +09:00
Hideki Miyazaki
b4a573ca98 Initial implemented X509_LOOKUP_ctrl L_ADD_DIR 2021-03-19 13:12:55 +09:00
Hideki Miyazaki
ce485d99b3 implemented L_FILE_LOAD case 2021-03-19 13:12:54 +09:00
Sean Parkinson
e7472384c2 TLS 1.3 PSK no DHE: When not doing PSK don't allow noPskDheKe to be set 2021-03-19 12:11:30 +10:00
Sean Parkinson
7cacfc53e6 ECCSI/SAKKE: fix for g++
Cast XMALLOC return.
2021-03-19 10:49:34 +10:00
Sean Parkinson
f6840ca907 SP dyanmic stack: WOLFSSL_SP_NO_DYN_STACK disable use
For small code and not small stack, arrays are being defined with a size
dependent on the input parameters, where compiler supports it.
Disable this with: WOLFSSL_SP_NO_DYN_STACK
2021-03-19 09:56:56 +10:00
Sean Parkinson
a688245738 Merge pull request #3868 from dgarske/sp_nomalloc
Fixes for SP RSA/DH with `WOLFSSL_SP_NO_MALLOC`
2021-03-19 09:41:30 +10:00
David Garske
14e79a165a Merge pull request #3880 from embhorn/cov_fixes
Fix resource leak
2021-03-18 15:18:38 -07:00
toddouska
a363077b1e Merge pull request #3841 from SparkiDev/aes_gcm_stream
AES GCM: implement streaming
2021-03-18 14:36:55 -07:00
David Garske
6bf3c08634 Fixes for SP RSA/DH with WOLFSSL_SP_NO_MALLOC. Cleanup of the SP no malloc code for ECC, RSA and DH. 2021-03-18 14:00:51 -07:00
David Garske
a27a61c937 Adds support for STM32G0. 2021-03-18 11:25:48 -07:00
Kareem Abuobeid
a85e348c0e Change void return from RAND_seed back to int. 2021-03-18 11:20:56 -07:00
Kareem Abuobeid
5aa23424a4 wolfSSL_RAND_set_rand_method: Cleanup 2021-03-18 10:27:31 -07:00
Jacob Barthelmeh
de50209cdf adjust size when streaming with PKCS7 verify 2021-03-18 22:52:36 +07:00
David Garske
e7ad9b423f Merge pull request #3881 from embhorn/zd11906
Fix der struct mem leak in AddTrustedPeer
2021-03-18 07:40:27 -07:00
David Garske
89a461595f Merge pull request #3890 from douzzer/fix-linuxkm-tls13-typo
src/tls13.c: fix typo introduced in commit 697d34c80d.
2021-03-18 07:36:58 -07:00
Jacob Barthelmeh
360c961b48 fix for unused variable in dh.c from Jenkins test 2021-03-18 20:34:38 +07:00
Jacob Barthelmeh
a64bb8aef7 fix unused variable in test case from Jenkins test 2021-03-18 15:17:08 +07:00
Daniel Pouzzner
717c0089c0 src/tls13.c: fix typo introduced in commit 697d34c80d. 2021-03-18 00:04:53 -05:00
Kareem Abuobeid
832c99597c wolfSSL_RAND_set_rand_method: Code review feedback 2021-03-17 17:02:20 -07:00
David Garske
7760dcb43b Fixes and cleanups for the openssl compatibility layer RAND_ functions. For opensslextra=x509small don't include the RAND method code. Removed abandonded "ENABLED_SMALL" option in configure.ac. 2021-03-17 15:51:52 -07:00
Kareem Abuobeid
1477af9a22 Add wolfSSL_RAND_set_rand_method() and support for RAND_ callbacks. 2021-03-17 14:29:24 -07:00
toddouska
a3be049e0e Merge pull request #3883 from SparkiDev/sp_asm_config
SP config: allow asm to be an SP options (--enable-sp=asm,yes)
2021-03-17 12:53:14 -07:00
Jacob Barthelmeh
12b290cbaf remove duplicate (deadcode) for clearing mp_int's 2021-03-17 17:34:54 +07:00
Jacob Barthelmeh
6ef905c9e3 use err goto for error out 2021-03-17 17:06:03 +07:00
Jacob Barthelmeh
2732ba2bba check return value is not negative 2021-03-17 16:50:53 +07:00
Jacob Barthelmeh
1ca3604212 add check on init mutex return value 2021-03-17 16:42:16 +07:00
Jacob Barthelmeh
da56c33f48 add debug message on BIO write return value when printing out error nodes 2021-03-17 16:33:37 +07:00
Jacob Barthelmeh
d439694eb6 sanity check on length in wolfSSL_BN_rand 2021-03-17 13:41:27 +07:00
Jacob Barthelmeh
6995f6dedc help out static analyizer and memset buffer created 2021-03-17 12:34:12 +07:00
Jacob Barthelmeh
48d13bbfa5 fix for leak with wolfSSL_a2i_ASN1_INTEGER 2021-03-17 12:24:18 +07:00
Sean Parkinson
2dafb3ed96 TFM read_unsigned_bin: endian may not be defined 2021-03-17 12:10:06 +10:00
Sean Parkinson
38d268dbbb fixup 2021-03-17 11:31:03 +10:00
Sean Parkinson
7f1e63e7f5 SP config: allow asm to be an SP options (--enable-sp=asm.yes) 2021-03-17 11:24:55 +10:00
TakayukiMatsuo
3bd7127188 Wrap some long lines. 2021-03-17 06:58:51 +09:00
toddouska
cba348dbf1 Merge pull request #3853 from SparkiDev/sp_add_d
SP int neg add_d/sub_d: handle small values properly
2021-03-16 14:16:01 -07:00
TakayukiMatsuo
07807526c6 Change the following functions to behave the same as opeSSL:
- EVP_CIPHER_CTX_cleanup
- BIO_free
- EVP_PKEY_cmp
2021-03-17 05:47:45 +09:00
Eric Blankenhorn
3f8444e7ea Fix der struct mem leak in AddTrustedPeer 2021-03-16 11:57:49 -05:00
David Garske
e668b9b5d6 Merge pull request #3876 from kabuobeid/sslSuitesNullCheck
Fix missing NULL check in FreeSuites().  Fixes #3873.
2021-03-16 09:02:10 -07:00
JacobBarthelmeh
df2e0905e0 Merge pull request #3874 from dgarske/cryptocb_devctx
Fixes for for crypto callbacks (SHA1, HMAC and CMAC)
2021-03-16 21:26:50 +07:00
TakayukiMatsuo
9f6d1fe964 Merge branch 'master' of github.com:wolfSSL/wolfssl into os_keyprint 2021-03-16 15:55:51 +09:00
Sean Parkinson
35659be06f AES GCM: implement streaming
Updated EVP layer to use streaming API when enabled.
Assembly for x64 updated to include streaming.
2021-03-16 16:39:49 +10:00
David Garske
f3900be6dc Merge pull request #3877 from SparkiDev/sakke_eccsi_fixup 2021-03-15 20:18:09 -07:00
TakayukiMatsuo
9fd8fde714 Add fixes along the review commnents. 2021-03-16 11:55:18 +09:00
Sean Parkinson
9caf366a25 SP x86_64 asm: put back in lost fixes
Corner case for P-256.
ModInv P-256 AVX2 fix carry and use movslq for clang.
Get entry P-384 non-AVX2 don't assume table data is aligned.
2021-03-16 11:08:34 +10:00
Sean Parkinson
6fc0440904 SP int neg add_d/sub_d: handle small values properly 2021-03-16 10:22:48 +10:00
toddouska
5c82ef9420 Merge pull request #3858 from julek-wolfssl/x509-set-pub-key
wolfSSL_X509_set_pubkey fix
2021-03-15 17:19:30 -07:00
toddouska
5c4c101ac5 Merge pull request #3863 from JacobBarthelmeh/Testing
fix for wolfSSL_ASN1_TIME_adj set length
2021-03-15 17:17:33 -07:00
toddouska
1b8c0c73a9 Merge pull request #3851 from SparkiDev/sp_read_bin_align
SP int: read_unsigned_bin and BIG_ENDIAN
2021-03-15 17:12:23 -07:00
toddouska
3ac03d3d66 Merge pull request #3805 from JacobBarthelmeh/copyright
update copyright date to 2021
2021-03-15 16:16:50 -07:00
toddouska
5fd0950a3a Merge pull request #3654 from SparkiDev/sakke_eccsi
ECCSI and SAKKE: add support
2021-03-15 16:15:59 -07:00
Kareem Abuobeid
46b3beeccd Fix missing NULL check in FreeSuites(), with OPENSSL_ALL enabled, this was causing a segfault in when freeing a WOLFSSL object created with wolfSSL_write_dup(). 2021-03-15 16:15:21 -07:00
Juliusz Sosinowicz
0fa39a04dc Let user inspect error in wolfSSL_dtls_got_timeout 2021-03-15 19:00:11 +01:00
David Garske
2e247cc176 Merge pull request #3870 from JacobBarthelmeh/Benchmark
fix for using devId with benchmarking ECC
2021-03-15 10:09:23 -07:00
David Garske
d4d30a0078 Merge pull request #3875 from SparkiDev/sp_get_entry
SP x86_64 non-AVX2: Fix get_entry to no load table aligned
2021-03-15 10:00:27 -07:00
Sean Parkinson
0f605b2aab SP x86_64 non-AVX2: Fix get_entry to no load table aligned 2021-03-15 18:05:10 +10:00
David Garske
e2aee302ef Merge pull request #3867 from douzzer/autoconf-2.71-gcc-10.2-updates 2021-03-12 16:19:28 -08:00
David Garske
7a020e4bb6 Fix for FIPS and CMAC init. 2021-03-12 14:23:34 -08:00
Eric Blankenhorn
36f80d53aa Fix resource leak 2021-03-12 14:57:45 -06:00
Daniel Pouzzner
92854a5ddc configure.ac: advance AC_PREREQ from 2.63 (2008) to 2.69 (2012) to reflect current automated testing coverage, and to avoid intractable best-practice conflicts between 2.63 and 2.70 (2020); advance AM_INIT_AUTOMAKE from 1.11 (2009) to 1.14.1 (2013) to reflect current automated testing coverage; advance LT_PREREQ from 2.2 (2008) to 2.4.2 (2011) to reflect current automated testing coverage. 2021-03-12 13:49:29 -06:00
David Garske
697d34c80d Fix for for crypto callback devCtx on symmetric algorithms (missing for SHA1 and CMAC). Fix for HMAC to use devId for hashing. Fixes for CMAC crypto callbacks and testing. 2021-03-12 11:49:25 -08:00
John Safranek
62ec4ef3b9 Policy Constraints Extension
Read the policy constraints extension from a certificate. Save the skip value but don't do anything with it at this time.
2021-03-12 10:23:23 -08:00
Juliusz Sosinowicz
c5c80b67d2 wolfSSL_X509_set_pubkey fix
wolfSSL_X509_set_pubkey should always regenerate the key to make sure that it does not contain the private key
2021-03-12 18:13:15 +01:00
JacobBarthelmeh
e9b39c3091 fix for using devId with benchmarking ECC 2021-03-12 21:14:20 +07:00
David Garske
fa8934c5fc Merge pull request #3861 from haydenroche5/cmake_session_ticket 2021-03-11 21:05:31 -08:00
Jacob Barthelmeh
5369c133ad add macro guard around test 2021-03-12 11:44:09 +07:00
Sean Parkinson
a20b7fae32 ECCSI/SAKKE: add loop count to generation functions 2021-03-12 13:57:53 +10:00
Sean Parkinson
a55e94cf6f ECCSI and SAKKE: add support
Fixes for static code analysis included.
Added const to function parameters.
Zeroise some temporaries.
2021-03-12 09:31:22 +10:00
Daniel Pouzzner
771a7418ea fixes for compat with autoconf 2.70 and gcc-10: update m4/ax_pthread.m4 and m4/ax_tls.m4 from upstream, fix declaration syntax in tests/api.c, add AC_CANONICAL_TARGET in configure.ac, and fix two spots with bad quoting syntax in configure.ac and m4/ax_linuxkm.m4. also fix myriad whitespace flubs in api.c. 2021-03-11 17:29:12 -06:00
elms
c091b968a3 Merge pull request #3864 from cconlon/0311
api.c fix for --enable-opensslall and --enable-debug
2021-03-11 14:54:40 -08:00
Chris Conlon
e93568816e Merge pull request #3859 from TakayukiMatsuo/os_ecdh
Remove NO_WOLFSSL_STUB guard and add a comment to each API
2021-03-11 15:31:21 -07:00
elms
6241d56eec Merge pull request #3865 from haydenroche5/fix_have_aes_ecb
Change WOLFSSL_AES_ECB to HAVE_AES_ECB in api.c.
2021-03-11 14:12:46 -08:00
Hayden Roche
211eefa155 Change WOLFSSL_AES_ECB to HAVE_AES_ECB in api.c. 2021-03-11 14:03:54 -06:00
Chris Conlon
e184cf5c29 fix api.c build with --enable-opensslall and --enable-debug 2021-03-11 12:56:13 -07:00
kaleb-himes
1d5d946273 Cleanup user_settings.h 2021-03-11 06:39:39 -07:00
Jacob Barthelmeh
eb8b40c64a fix for wolfSSL_ASN1_TIME_adj set length 2021-03-11 20:34:17 +07:00
TakayukiMatsuo
b9464befb6 Merge branch 'master' of github.com:wolfSSL/wolfssl into os_keyprint 2021-03-11 16:21:09 +09:00
Jacob Barthelmeh
c729318ddd update copyright date 2021-03-11 13:42:46 +07:00
John Safranek
fceba6eb6f Merge pull request #3860 from julek-wolfssl/scr-hello-verify
SCR cookie exchange shouldn't change seq and epoch numbers
2021-03-10 16:11:03 -08:00
kaleb-himes
16d55b0b86 _WIN32_WCE port of wolfCrypt - OE12
Add user_settings.h for OE12

Restrict LPCWSTR typecast to be WINCE specific
2021-03-10 17:02:21 -07:00
toddouska
72eebd6e75 Merge pull request #3795 from JacobBarthelmeh/CAAM
Addition of QNX CAAM driver
2021-03-10 15:04:21 -08:00
toddouska
44c5ca9d39 Merge pull request #3825 from julek-wolfssl/openssl-key-wrap
Implement `AES_wrap_key` and `AES_unwrap_key`
2021-03-10 15:01:51 -08:00
toddouska
b081243af3 Merge pull request #3850 from SparkiDev/sp_x64_asm_fixes
SP ECC: Fix P-256 modinv for AVX2
2021-03-10 14:57:17 -08:00
toddouska
385ef17099 Merge pull request #3852 from SparkiDev/mp_is_bit_set
MP int: fix word range check in mp_is_bit_set()
2021-03-10 14:54:58 -08:00
David Garske
2b92abdd35 Merge pull request #3857 from embhorn/zd11865
Fix header cir ref with WPAS
2021-03-10 14:54:50 -08:00
toddouska
0bcde126d9 Merge pull request #3791 from TakayukiMatsuo/ZD11641
Causes SSL_CTX_load_verify_locations and X509_LOOKUP_load_file to return zero on failure if WOLFSSL_ERR_CODE_OPENSSL is defined
2021-03-10 14:54:14 -08:00
Chris Conlon
40b5d94db8 Merge pull request #3848 from JacobBarthelmeh/Testing
sanity check on size before compare
2021-03-10 15:18:44 -07:00
Hayden Roche
0403990cc8 Add support for session tickets in CMake.
Additionally, ensure duplicate definitions don't make it into options.h.
2021-03-10 11:48:59 -06:00
Juliusz Sosinowicz
26fb658206 SCR cookie exchange shouldn't change seq and epoch numbers 2021-03-10 18:34:09 +01:00
TakayukiMatsuo
0e699ff046 Remove NO_WOLFSSL_STUB guard and add a comment to each wolfSSL_set_dynlock_xxx API. 2021-03-11 00:04:17 +09:00
JacobBarthelmeh
4ad1b52108 Merge pull request #3824 from julek-wolfssl/ssl-bio-use-chain
WOLFSSL_BIO_SSL BIO should use remaining chain for IO
2021-03-10 18:21:09 +07:00
JacobBarthelmeh
28ae8e3e11 add include file for getting WOLFSSL_CAAM_DEVID in test case 2021-03-10 17:27:40 +07:00
Juliusz Sosinowicz
d7838155e5 WOLFSSL_BIO_SSL BIO should use remaining chain for IO
This is accomplished by passing the next BIO in the chain in to the `wolfSSL_set_bio` API.
2021-03-10 10:13:42 +01:00
David Garske
ce62a24325 Merge pull request #3856 from embhorn/gh3849
Typo in client example
2021-03-09 15:49:30 -08:00
Eric Blankenhorn
f421f949c9 Fix header cir ref with WPAS 2021-03-09 17:09:04 -06:00
Chris Conlon
23396a94c4 Merge pull request #3822 from TakayukiMatsuo/os_ecdh
Add CTX_set_ecdh_auto
2021-03-09 15:15:38 -07:00
John Safranek
fd6618170d Merge pull request #3843 from julek-wolfssl/dtls-reset-seq-num
Correctly move the Tx sequence number forward
2021-03-09 13:06:04 -08:00
Juliusz Sosinowicz
d4302cc71b Correctly reset the Tx sequence number
All DTLS records after the ClientHello should try to start from the sequence number of the ClientHello if it is available.
2021-03-09 18:30:10 +01:00
Stanislav Klima
9f9bf7345b Fixed CID 13482 2021-03-09 15:12:31 +01:00
Stanislav Klima
dc1f11666d Fixed CID 588443 2021-03-09 14:49:30 +01:00
Stanislav Klima
9e68d0d1a8 Fixed CID 586938 2021-03-09 12:30:39 +01:00
TakayukiMatsuo
153859f2b2 Merge remote-tracking branch 'upstream/master' into os_ecdh
# Conflicts:
#	tests/api.c
2021-03-09 12:00:15 +09:00
Eric Blankenhorn
5e953d5968 Typo in client example 2021-03-08 17:31:12 -06:00
Sean Parkinson
ff3325fcaf SP ECC: Fix P-256 modinv for AVX2
modinv AVX2: do quick norm on result twice and convert 32-bit signed to
64-bit signed before adding
P-256 mont_add, mont_dbl, mont_tpl, mont_sub x64: handle mul/sqr result
being greater than modulus but not greater than 1<<256.
2021-03-09 08:42:07 +10:00
Hayden Roche
b271da2954 Fix for ZD 11808. 2021-03-08 12:23:32 -06:00
David Garske
c73965b471 Merge pull request #3842 from danielinux/imx-rt1060-fixes
Fixed regressions in sha modules when compiling with WOLFSSL_IMXRT_DCP
2021-03-08 10:21:40 -08:00
Chris Conlon
7b2aa54044 Merge pull request #3801 from TakayukiMatsuo/os_bio
Add wolfSSL_BIO_tell
2021-03-08 09:56:01 -07:00
Chris Conlon
ec58765498 Merge pull request #3769 from miyazakh/openssl_ext_r1
Compatibility layer API addition
2021-03-08 09:54:07 -07:00
Sean Parkinson
419b426a1b MP int: fix word range check in mp_is_bit_set() 2021-03-08 15:45:04 +10:00
Sean Parkinson
98683bf71c SP int: read_unsigned_bin and BIG_ENDIAN
When unaligned access of sp_int_digit pointer causes segfault, define:
WOLFSSL_SP_INT_DIGIT_ALIGN
2021-03-08 15:17:12 +10:00
TakayukiMatsuo
feeb0ceb96 Change macro name to WS_RETURN_CODE and add more comments. 2021-03-08 11:57:36 +09:00
JacobBarthelmeh
2275c97602 check ret of lock and adjust return type 2021-03-06 14:21:44 +07:00
Jacob Barthelmeh
e497a8f589 sanity check on size before compare 2021-03-06 08:58:37 +07:00
Hideki Miyazaki
3b768bcb5e addressed review comments 2021-03-06 10:18:31 +09:00
Martin Kinčl
5efd0bf2a4 Fixed CID 587445. 2021-03-06 00:58:39 +01:00
Martin Kinčl
db275268a1 Fixed CID 581667. 2021-03-06 00:40:08 +01:00
Martin Kinčl
c2629d34b5 Fixed CID 577166, 577196. 2021-03-06 00:07:37 +01:00
Martin Kinčl
5841ee8efb Fixed CID 576945. 2021-03-05 23:40:49 +01:00
Martin Kinčl
7d9661d75c Fixed CID 576884. 2021-03-05 23:24:34 +01:00
Martin Kinčl
876cc9239d Fixed CID 576574. 2021-03-05 23:16:50 +01:00
toddouska
b6130513e3 Merge pull request #3844 from SparkiDev/mp_read_radix_fail
MP small: read radix set result to 0 on all errors
2021-03-05 12:09:38 -08:00
toddouska
8428823881 Merge pull request #3840 from SparkiDev/mp_neg_fixes
MP: fixes for negative
2021-03-05 12:08:45 -08:00
David Garske
b55e428795 Merge pull request #3826 from tmael/ecc_err
WOLFSSL_STATIC_MEMORY no longer requires fast math
2021-03-05 11:49:01 -08:00
Radim Smat
af7b1bd25e Fixed CID 587328. 2021-03-05 17:18:34 +01:00
Radim Smat
e76da394b7 Fixed CID 587287. 2021-03-05 15:44:00 +01:00
David Kubasek
d01d32b6ed Fixed the fix of CID 578018 2021-03-05 14:59:18 +01:00
David Kubasek
175fe250ba Merge branch 'fix/RA/v4.7.0-coverity' of https://github.com/DKubasekRA/wolfssl into fix/RA/v4.7.0-coverity 2021-03-05 14:44:10 +01:00
David Kubasek
97a9938f94 Fixed CID 584275 2021-03-05 14:43:52 +01:00
Radim Smat
9732f6e74b Fixed CID 587328. 2021-03-05 14:27:47 +01:00
Radim Smat
f7fbd0fceb Fixed CID 587287. 2021-03-05 13:35:27 +01:00
Radim Smat
8588998234 Fixed CID 586797. 2021-03-05 12:22:59 +01:00
Radim Smat
8539e8c170 Fixed CID 584000. 2021-03-05 12:10:40 +01:00
Radim Smat
0caed02db7 Fixed CID 576609. 2021-03-05 12:04:30 +01:00
David Kubasek
d2b26f66d5 Fixed CID 578018 2021-03-05 10:59:08 +01:00
David Kubasek
ad70112fd8 Fixed CID 576268 2021-03-05 10:35:14 +01:00
Radim Smat
d510c270cd Fixed CID 212170. 2021-03-05 09:44:47 +01:00
Jacob Barthelmeh
6d0dbbe1c0 add IDE/QNX/README.md and add WOLFSSL_QNX_CAAM guard 2021-03-05 14:43:23 +07:00
Sean Parkinson
298ebd6024 MP small: read radix set result to 0 on all errors 2021-03-05 10:02:07 +10:00
Sean Parkinson
046b279ae2 MP: fixes for negative
sp_int.c:
  - sp_addmod_ct(), sp_submod_ct(), sp_gcd() and sp_lcm() only support
positive numbers: updated comments.
  - sp_mod(0, neg): fix to not add 0 and neg.
  - sp_div(): set sign on rem when a is greater than d but same bit length
and fix sign setting on result when absolute values equal or
close.
  - Modular exponentation functions: compare absolute values when
determining whether base needs to be reduced.
- Fix calculation of hex string when negative: add -ve nibble before
checking for need of extra 0.
  - Fix size allocation in sp_mod when WOLFSSL_SP_INT_NEGATIVE defined
tfm.c:
  - fp_mod(0, neg): fix to not add 0 and neg.
  - fp_isone(): fixed to check for negative
  - fp_add_d(): fix small stack version to support negative numbers
integer.c:
  - mp_isone(): fixed to check for negative
2021-03-05 09:29:46 +10:00
Hideki Miyazaki
896245cae7 addressed jenkins cavp test failure 2021-03-05 08:19:25 +09:00
Hideki Miyazaki
464f82a575 addressed jenkins failure part4 2021-03-05 08:19:24 +09:00
Hideki Miyazaki
2246ea33cc addressed sanitize failure 2021-03-05 08:19:23 +09:00
Hideki Miyazaki
302c6dfe11 addressed jenkins failure part3 2021-03-05 08:19:22 +09:00
Hideki Miyazaki
9bae05525c addressed review comments 2021-03-05 08:19:22 +09:00
Hideki Miyazaki
5ddd2710d7 addressed jenkins failure part2 2021-03-05 08:19:21 +09:00
Hideki Miyazaki
cd26444e01 addressed jenkins failure part1 2021-03-05 08:19:21 +09:00
Hideki Miyazaki
5fb9aa3f9b implemented SHA512_Transform and unit test 2021-03-05 08:19:20 +09:00
Hideki Miyazaki
82fb498ed5 Implemented MD5 unit tests 2021-03-05 08:19:19 +09:00
Hideki Miyazaki
525d28f38f Implemented MD5_Transform 2021-03-05 08:19:18 +09:00
Hideki Miyazaki
502e1458f9 Implemented SHA one shot
Implemented SHA_Transform
2021-03-05 08:19:17 +09:00
Hideki Miyazaki
95cf3675e9 implemented SHA256_Transform
WIP SHA512_Transform
2021-03-05 08:19:17 +09:00
Hideki Miyazaki
cb3fa8ff9e SHA224 implementation 2021-03-05 08:19:16 +09:00
Hideki Miyazaki
141d07e21b addressed pre-review comments 2021-03-05 08:19:16 +09:00
Hideki Miyazaki
e39477c531 initial implement SSL_get_early_data_status 2021-03-05 08:19:15 +09:00
Hideki Miyazaki
44a20c8ce6 add more unit test case for load_crl_file 2021-03-05 08:19:14 +09:00
Hideki Miyazaki
544ed32893 implemented X509_load_crl_file 2021-03-05 08:19:14 +09:00
Hideki Miyazaki
2e223fb101 implemeted wolfSSL_CTX_get0/set1_param, and corresponding to sub-methods 2021-03-05 08:19:13 +09:00
JacobBarthelmeh
f15450f63e Merge pull request #3839 from cconlon/pkcs7free
fix PKCS7 dynamic content save/restore in PKCS7_VerifySignedData
2021-03-05 05:53:38 +07:00
Tesfa Mael
19fa75c6a8 static memory no longer requires fast math 2021-03-04 14:40:14 -08:00
Tesfa Mael
16f39b4e77 Fix _sp_add_d err 2021-03-04 14:40:14 -08:00
Sean Parkinson
25228cb6c0 Merge pull request #3798 from dgarske/no_hash
wolfcrypt: Fixes for building without hash or rng
2021-03-05 08:16:34 +10:00
David Garske
7983734dcb Merge pull request #3786 from tmael/cc310_ecc_importkey
Add Cryptocell wc_ecc_import_x963_ex
2021-03-04 13:59:54 -08:00
toddouska
53a7397418 Merge pull request #3828 from elms/test/fix_openssl_ticket_noaes
test: fix compile with session-ticket without AES-GCM
2021-03-04 11:15:20 -08:00
toddouska
bd57e3e4cf Merge pull request #3818 from dgarske/zd11760
Fix for InTime RTOS v5 random
2021-03-04 11:14:34 -08:00
toddouska
b8235649ea Merge pull request #3812 from haydenroche5/get-certs-refactor
Improve wolfSSL_CertManagerGetCerts.
2021-03-04 11:14:05 -08:00
toddouska
0a74fbf95f Merge pull request #3789 from fabiankeil/configure-accept-amd64
configure: When enabling --enable-sp-asm, accept host_cpu amd64
2021-03-04 11:11:13 -08:00
toddouska
12d5c6d416 Merge pull request #3783 from haydenroche5/socat
Add support for OpenSSL compatibility function SSL_CTX_get_min_proto_…
2021-03-04 11:10:17 -08:00
toddouska
90d45028cc Merge pull request #3781 from fabiankeil/NO_WOLFSSL_STUB-build-fix
Fix build with  NO_WOLFSSL_STUB
2021-03-04 11:07:26 -08:00
toddouska
447b8c9318 Merge pull request #3831 from SparkiDev/sp_int_not_inf
SP int: define errors for backward compatability
2021-03-04 11:06:15 -08:00
Martin Kinčl
ea243e0906 Merge branch 'fix/RA/v4.7.0-coverity' of https://github.com/DKubasekRA/wolfssl into fix/RA/v4.7.0-coverity 2021-03-04 18:26:20 +01:00
Radim Smat
027f05e349 Fixed CID 583215. 2021-03-04 13:40:45 +01:00
Radim Smat
f056601d26 Fixed CID 587549. 2021-03-04 11:16:40 +01:00
Radim Smat
dbaf545694 Fixed CID 587348 and CID 587349. 2021-03-04 11:08:25 +01:00
Radim Smat
86b5434dcc Fixed CID 587342. 2021-03-04 10:45:49 +01:00
TakayukiMatsuo
da75a4f803 Add comment to each added function and fix return value of wolfSSL_EVP_DecodedFinal 2021-03-04 18:39:47 +09:00
TakayukiMatsuo
5043f0229a Add comment to each added functions 2021-03-04 17:41:18 +09:00
Daniele Lacamera
7610e4989c iMX-RT1060 support: Fixed missing definition of wc_Sha256Free 2021-03-04 08:34:15 +01:00
Daniele Lacamera
791a5b4244 iMXRT1060 support: Fixed duplicate definition of wc_InitSha & wc_ShaCopy 2021-03-04 08:33:20 +01:00
TakayukiMatsuo
871933e3e8 Add s comment to wolfSSL_BIO_tell 2021-03-04 15:41:03 +09:00
TakayukiMatsuo
b141c2f4f2 Add comment for each added function 2021-03-04 15:02:53 +09:00
Martin Kinčl
d5cd9c4a7f Fixed CID 591810. 2021-03-04 01:02:11 +01:00
Chris Conlon
2be80acdd3 fix PKCS7 dynamic content save/restore in PKCS7_VerifySignedData for multiPart bundles with certs 2021-03-03 16:19:58 -07:00
Sean Parkinson
8c3b5c3402 Merge pull request #3838 from guidovranken/zd11824
Return error code from sp_cond_swap_ct
2021-03-04 08:30:19 +10:00
Martin Kinčl
b383d93274 Fixed CID 582952. 2021-03-03 21:32:34 +01:00
Martin Kinčl
3770d4c581 Fixed CID 577295. 2021-03-03 21:20:33 +01:00
Martin Kinčl
c634c6c850 Fixed CID 577188. 2021-03-03 21:09:24 +01:00
Martin Kinčl
d3314f142a Fixed CID 576946. 2021-03-03 21:04:51 +01:00
Martin Kinčl
f2b832415e Fixed CID 576799. 2021-03-03 20:57:40 +01:00
Martin Kinčl
9ea66868d8 Fixed CID 536133. 2021-03-03 20:37:29 +01:00
Martin Kinčl
05156083ec Fixed CID 529770. 2021-03-03 20:29:21 +01:00
Martin Kinčl
c27c78f9e4 Fixed CID 529748. 2021-03-03 20:12:59 +01:00
Guido Vranken
6725a4f5d2 Return error code from sp_cond_swap_ct
ZD 11824
2021-03-03 20:03:10 +01:00
Martin Kinčl
d941cb4456 Fixed CID 587279. 2021-03-03 19:48:54 +01:00
Martin Kinčl
806313ff1a Fixed CID 576473. 2021-03-03 19:43:19 +01:00
Martin Kinčl
af42e2a799 Fixed CID 576329. 2021-03-03 19:21:51 +01:00
Martin Kinčl
b47678513a Merge branch 'fix/RA/v4.7.0-coverity' of https://github.com/DKubasekRA/wolfssl into fix/RA/v4.7.0-coverity 2021-03-03 18:49:06 +01:00
Martin Kinčl
1aa718a438 Fixed CID 143658, 463100, 529732. 2021-03-03 18:49:00 +01:00
Radim Smat
061120dda6 Fixed CID 587340. 2021-03-03 17:18:24 +01:00
Radim Smat
18163c9a2a Fixed CID 587269. 2021-03-03 16:38:28 +01:00
Radim Smat
d5c3d9ca4f Fixed CID 587064. 2021-03-03 16:03:32 +01:00
Radim Smat
27c5714f11 Fixed CID 586826. 2021-03-03 15:58:55 +01:00
Radim Smat
0bdb2bf40c Fixed CID 583972. 2021-03-03 15:55:02 +01:00
Radim Smat
26578be1a7 Fixed CID 583215. 2021-03-03 15:51:22 +01:00
Radim Smat
ef34e613e8 Fixed CID 582947. 2021-03-03 15:46:37 +01:00
Radim Smat
38cfe71732 Fixed CID 576552. 2021-03-03 15:41:28 +01:00
Jacob Barthelmeh
b801a6e809 silence warning of unused parameter in certain builds 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
9db0257e2e changes after initial review 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
26a6643383 fix typo on black keymod size and set devid default with TLS 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
73349d9a83 add missing header file 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
ffbd565285 fix for cryptocb with private key check 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
79ec07f5e1 adjustment after rebase 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
69a0b643be removing some magic numbers 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
4409be2a4e some misra c changes 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
99f19b19d4 fix for valgrind ecc verify issue 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
3757e83c64 use hardset mmap device memory for flags 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
49aeafaa8d adjust dist files and fix warning 2021-03-03 18:45:40 +07:00
Jacob Barthelmeh
749425e1e8 first pre alpha code for QNX + CAAM
manual run of RNG init and JDKEK print

job ring does initial rng

is successful on some red key blob operations

caam red key blob test pass

ecdsa sign/verify

ecdsa ecdh/sign/verify with black secure key

ecdsa ecdh/sign/verify with black secure key

initial cmac addition

initial cmac addition

black blob encap

black keys with cmac

add invalidate memory

refactoring and clean up

more code cleanup

add files for dist and remove some printf's

remove unneeded macro guard

use resource manager
2021-03-03 18:45:40 +07:00
David Kubasek
5dbc6db295 Fixed CID 576149 2021-03-03 10:25:54 +01:00
TakayukiMatsuo
bbf1284112 Replace immediate value "0" with WOLFSSL_FAILURE and add comment to the RETURN_CODE macro 2021-03-03 11:23:11 +09:00
Sean Parkinson
7b78c61ed3 Merge pull request #3833 from dgarske/ecc_keydp
ECC: Improve the key ecc_set NULL checking
2021-03-03 09:47:32 +10:00
David Garske
3752347f14 Improve the random logic for the INTIME RTOS RNG. 2021-03-02 15:04:01 -08:00
David Garske
4d8068a328 Merge pull request #3813 from douzzer/configure-autotools-boilerplate-at-the-top
configure.ac: put autotools boilerplate at the top
2021-03-02 09:22:09 -08:00
elms
7e8aa99471 Merge pull request #3820 from haydenroche5/cmake-options-cleanup
Clean up CMake option strings.
2021-03-02 08:55:12 -08:00
Elms
4ff886dbda test: fix compile with session-ticket without AES-GCM
EVP compat layer doesn't support poly chacha so test shouldn't be
included to try and test it.
2021-03-02 08:40:19 -08:00
David Garske
9fe7be5ac4 Improve the key ecc_set NULL checking for possible use of key->dp == NULL cases. This is cases where the key has not been properly iniailized or loaded prior to calling from a public API. 2021-03-01 17:17:40 -08:00
David Garske
9d4d36f7fe Fix hasty copy/paste with privSz2. 2021-03-01 16:02:51 -08:00
Sean Parkinson
84d5d37f61 SP int: define errors for backward compatability 2021-03-02 08:34:23 +10:00
David Garske
14faf16955 Dismiss unused warnings for dh_test. 2021-03-01 10:14:28 -08:00
David Garske
8c1a93d9e1 Using "rand()" to seed our PRNG as its available on all INTIME RTOS versions. 2021-03-01 09:23:19 -08:00
Juliusz Sosinowicz
39a28eeec2 Add RSA_NO_PADDING to wolfSSL_RSA_private_encrypt 2021-03-01 13:21:26 +01:00
TakayukiMatsuo
42e87fa542 Add DH key initialization 2021-03-01 01:13:25 +09:00
TakayukiMatsuo
a34c5b018f Move the local variable declaration to the beginning of the function 2021-03-01 00:49:50 +09:00
TakayukiMatsuo
e72948b018 Fix for PR tests 2021-02-28 10:27:43 +09:00
Hayden Roche
265b456cac Improve wolfSSL_CertManagerGetCerts.
- Use wolfSSL_d2i_X509. wolfSSL_CertManagerGetCerts duplicated a lot of work
that wolfSSL_d2i_X509 can do for us.
- This function gets the caLock from the CertManager and then calls ParseCert.
Ultimately, ParseCert calls GetCA, which attempts to acquire the same caLock.
Deadlock ensues. The solution is to get the caLock, make a copy of all the
certs, and release the lock. Then, we use the copy of the certs to build up
the stack of X509 objects. What happens if one of the certs is removed from
the CertManager between our copying and calling wolfSSL_d2i_X509? Nothing of
consequence for this use case. ParseCertRelative won't set the DecodedCert's ca
field, but we don't need that to be set here.
2021-02-26 10:45:27 -06:00
Hayden Roche
cd9f400cf3 Clean up CMake option strings.
This commit makes all the binary CMake options (i.e. yes/no) conform to one
string convention: "yes/no." Previously, we had a mixture of yes/no and ON/OFF.
2021-02-26 10:30:46 -06:00
TakayukiMatsuo
78e2e37fd6 Remove unneccessary local variable initializations and remove local variable declarations in for-loops 2021-02-26 17:17:32 +09:00
TakayukiMatsuo
e9719595fa Removed commented-out line 2021-02-26 12:49:32 +09:00
TakayukiMatsuo
a54e3aadea Fix for PR tests 2021-02-26 12:42:42 +09:00
TakayukiMatsuo
ec471af9c5 Add following stub funcs:
- wolfSSL_THREADID_current
- wolfSSL_THREADID_hash
- wolfSSL_CTX_set_ecdh_auto
2021-02-26 11:26:10 +09:00
toddouska
4c1a94a6ad Merge pull request #3768 from SparkiDev/mp_add_d_too_big
MP small: mp_add_d doesn't support adding a digit greater than MP_DIG…
2021-02-25 16:56:23 -08:00
toddouska
e18eacfcd2 Merge pull request #3779 from embhorn/zd11711
Squelch interfering def of SHA_CTX
2021-02-25 16:05:24 -08:00
toddouska
2d13a43e71 Merge pull request #3819 from elms/fix/nightly_g++
ssl: fix g++ compile warning with explicit cast
2021-02-25 16:04:05 -08:00
toddouska
5682d61e75 Merge pull request #3817 from SparkiDev/i2d_x509_name_mv
ASN: move wolfSSL_i2d_X509_NAME to ssl.c
2021-02-25 16:03:30 -08:00
toddouska
7d002a7645 Merge pull request #3816 from SparkiDev/win_curve448
Windows Project: Include the X448 and Ed448 files
2021-02-25 16:00:53 -08:00
toddouska
dbc4c51a4e Merge pull request #3815 from SparkiDev/sp_math_keygen
SP int: get keygen working with SP math again
2021-02-25 16:00:27 -08:00
toddouska
8d37da24dc Merge pull request #3814 from SparkiDev/gcd_lcm_zero
Math: GCD(0,0) is undefined and LCM(0,*) is undefined.
2021-02-25 16:00:04 -08:00
Hayden Roche
10181b7bbf Add support for OpenSSL compatibility function SSL_CTX_get_min_proto_version.
This is needed by socat-1.7.4.1.
2021-02-25 17:04:41 -06:00
David Garske
bc585e85b6 Dismiss unused warnings for rsa_test. 2021-02-25 11:23:21 -08:00
Juliusz Sosinowicz
2eb253330f Implement AES_wrap_key and AES_unwrap_key
Add `wc_AesKeyWrap_ex` and `wc_AesKeyUnWrap_ex` API to accept an `Aes` object to use for the AES operations
2021-02-25 20:01:51 +01:00
Elms
afbe3607d7 ssl: fix g++ compile warning with explicit cast
cast OpenSSL callback to `void*` for storage as context to be used by
static callback
2021-02-25 11:01:16 -08:00
David Garske
acff0e8781 Fix for InTime RTOS v5. The arc4random_buf wasn't added until v6, so opting to use arc4random. ZD 11760. 2021-02-25 08:54:30 -08:00
David Garske
442f182c67 Merge pull request #3778 from haydenroche5/cmake_curve_ed
Add CMake support for CURVE25519, ED25519, CURVE448, and ED448.
2021-02-25 08:01:26 -08:00
Sean Parkinson
d271092aef ASN: move wolfSSL_i2d_X509_NAME to ssl.c
Move WOLFSSL_X509_NAME APIs out of asn.[ch].
2021-02-25 11:45:12 +10:00
Sean Parkinson
7bc12bb536 Windows Project: Include the X448 and Ed448 files 2021-02-25 11:10:46 +10:00
Sean Parkinson
d805a5c681 SP int: get keygen working with SP math again
./configure --enable-sp --enable-sp-math --enable-keygen
2021-02-25 10:01:27 +10:00
Sean Parkinson
982ba6c1e0 Math: GCD(0,0) is undefined and LCM(0,*) is undefined.
All integers divide 0 so there is no greatest common divisor.
0 is not in the set of numbers for LCM.
2021-02-25 09:29:21 +10:00
David Garske
5cc8979309 Review feedback for unused `pubSz2. 2021-02-24 15:09:51 -08:00
David Garske
3a3c0be43f Fixes for build warnings for CryptoCell with ECC and RSA. 2021-02-24 15:05:27 -08:00
Daniel Pouzzner
9be1e74dc3 configure.ac: move the autotools boilerplate/initializations back to the top, before --enable-distro and --enable-reproducible-build handling. 2021-02-24 17:04:33 -06:00
Elms
101b35e766 cmake: mirror configure logic for SHA3, SHAKE256, SHA224 2021-02-24 14:25:30 -08:00
David Garske
49a0f70c24 Fix errors from last commit. 2021-02-24 14:19:13 -08:00
Hayden Roche
074090049b Add CMake support for CURVE25519, ED25519, CURVE448, and ED448. 2021-02-24 13:57:34 -08:00
Eric Blankenhorn
8988f1d5a2 Squelch interfering def of SHA_CTX 2021-02-24 15:46:02 -06:00
David Garske
9ebdc8d61c Additional fixes for building without RNG. Fix for possible use of key->dp == NULL in wc_ecc_export_ex. 2021-02-24 13:21:54 -08:00
Daniel Pouzzner
c201b6801c Merge pull request #3808 from lechner/enable-base64-with-all
Enable Base64 as part of --enable-all.
2021-02-24 14:39:20 -06:00
Daniel Pouzzner
764207a9f5 Merge pull request #3806 from elms/autoconf/oot_fips_check
configure: fix for FIPS out-of-tree builds
2021-02-24 14:38:26 -06:00
toddouska
94a23c1d48 Merge pull request #3646 from julek-wolfssl/nginx-1.19.6
Add support for Nginx 1.19.6
2021-02-24 12:21:51 -08:00
toddouska
d8a053ac35 Merge pull request #3809 from embhorn/zd11773
Warnings and error fixes
2021-02-24 12:14:08 -08:00
David Garske
bf63b41465 Fixes for building without hash. If all hash algorithms are disabled wc_HashAlg could report empty union. ZD 11585. 2021-02-24 11:04:03 -08:00
Elms
36ba2e134b configure: FIPS error and compatability cleanup
Use autotools macros for case and if. Simplify validation logic.
2021-02-24 08:53:50 -08:00
Eric Blankenhorn
1d16af4f32 Warnings and error fixes 2021-02-24 09:08:15 -06:00
Felix Lechner
ae28550667 Enable Base64 as part of --enable-all.
Part of an effort to standardize build options across distributions.

When building with all options, this includes Base64, a feature that
was requested in the past.

This commit passed Debian's Salsa CI pipeline [1] as part of a larger
commit streamlining the build options for distributions. [2]

A related pull request by douzzer activated reproducible builds for
distributions by default. [3]

Thanks to David Garske for his generous contributions to this commit!

[1] https://salsa.debian.org/lechner/wolfssl/-/pipelines/233601
[2] https://salsa.debian.org/lechner/wolfssl/-/blob/debian/master/debian/patches/standardize-distro-options.patch
[3] e30b3d3554
2021-02-23 19:46:56 -08:00
David Garske
ac38e53fec Merge pull request #3804 from tmael/aws-sdk
Use Unix line endings
2021-02-23 18:33:07 -08:00
David Garske
e30b3d3554 Merge pull request #3807 from douzzer/distro-reproducible-build
--enable-distro implies --enable-reproducible-build
2021-02-23 18:32:04 -08:00
Daniel Pouzzner
9dadd02fb9 configure.ac move --enable-distro handling to top (preceding --enable-reproducible-build handling), and turn on reproducible-build by default when enable-distro; fix spelling error in reproducible-build help text. 2021-02-23 17:05:44 -06:00
Sean Parkinson
3cdbc242b4 Merge pull request #3803 from dgarske/zd11759
Fix misplaced endif and brace
2021-02-24 09:04:38 +10:00
Elms
47872224d8 configure: fix for FIPS out-of-tree builds
Check for fips files relative to source directory.
2021-02-23 14:17:35 -08:00
David Garske
7a71ec4692 Merge pull request #3802 from tmael/pkcs8err
Fix PKCS8 build config
2021-02-23 13:42:17 -08:00
Tesfa Mael
9bfbc999d9 Move variable declarations to the top 2021-02-23 13:21:50 -08:00
TakayukiMatsuo
2d0207fc60 Fix undeclared identifier errors 2021-02-24 05:38:28 +09:00
JacobBarthelmeh
0dfdf92ff7 Merge pull request #3784 from elms/cmake_curve_ed
configure: ED448 to enable SHA3 and SHAKE256 properly
2021-02-24 03:20:38 +07:00
toddouska
5eba89c3ca Merge pull request #3742 from julek-wolfssl/error-queue-per-thread
Add --enable-error-queue-per-thread
2021-02-23 12:02:16 -08:00
toddouska
ef916df1b1 Merge pull request #3761 from JacobBarthelmeh/Release
update changelog and bump version to 4.7.1 for development bundles
2021-02-23 12:00:59 -08:00
toddouska
60614ff8b1 Merge pull request #3772 from SparkiDev/sp_ecdsa_set_k
SP ECDSA sign: fix multiple loops work of generating k
2021-02-23 12:00:21 -08:00
toddouska
a1db869491 Merge pull request #3775 from haydenroche5/openldap
Add a define to openssl/ssl.h needed for openldap port.
2021-02-23 11:58:37 -08:00
toddouska
363185669a Merge pull request #3776 from cconlon/pkcs7testfix
fix wolfCrypt PKCS#7 test when PKCS7_OUTPUT_TEST_BUNDLES is defined
2021-02-23 11:58:00 -08:00
toddouska
e471cba8df Merge pull request #3780 from SparkiDev/tls13_key_up_resp
TLS 1.3: add API to tell if a KeyUpdate response is required
2021-02-23 11:57:10 -08:00
Tesfa Mael
d3c8720b56 Use Unix line endings 2021-02-23 11:54:02 -08:00
toddouska
244accece1 Merge pull request #3799 from SparkiDev/sp_gcd_protect
SP int: fix guard around sp_gcm and sp_lcm
2021-02-23 11:53:25 -08:00
David Garske
6cc137dce0 Fix misplaced endif and brace. 2021-02-23 10:22:59 -08:00
TakayukiMatsuo
760ea219a8 Fix for "unused variable" warning 2021-02-24 02:33:46 +09:00
Tesfa Mael
b199c2e444 Fix PKCS8 test 2021-02-23 09:33:14 -08:00
TakayukiMatsuo
c0a9f86de3 Move some variable declarations to the beginning of the block 2021-02-24 01:33:51 +09:00
TakayukiMatsuo
362d2a2d68 Moved int pos declaration at the top the func 2021-02-24 01:07:45 +09:00
Juliusz Sosinowicz
d074e7443f Remove default ticket cb as this will be added in another PR 2021-02-23 10:06:11 +01:00
Sean Parkinson
22349e0539 Merge pull request #3800 from dgarske/zd11759
Fixes for warnings in Windows and failing `wc_BufferKeyEncrypt` test
2021-02-23 17:07:14 +10:00
TakayukiMatsuo
9e4dcfb66c Add wolfSSL_BIO_tell 2021-02-23 11:12:12 +09:00
David Garske
b5239f97c4 Fixes for warnings in Windows. Fix for failing wc_BufferKeyEncrypt with PBKDF disabled. ZD 11759. 2021-02-22 16:51:17 -08:00
David Garske
3ac40be091 Merge pull request #3797 from tmael/builderr
Correct a build error with a non-standard configurations
2021-02-22 16:33:01 -08:00
Sean Parkinson
d2f9f4c4ce SP int: fix guard around sp_gcm and sp_lcm 2021-02-23 10:21:32 +10:00
Sean Parkinson
fc6394b923 Merge pull request #3796 from elms/fix_valgrind_fpecc
tests: fix preprocessor test for gcd/lcm
2021-02-23 09:42:35 +10:00
TakayukiMatsuo
a7cca8a99b Fix wolfSSL_EVP_PKEY_print_public 2021-02-23 07:57:45 +09:00
John Safranek
e9cdcf5bac Merge pull request #3764 from embhorn/zd11668
Fix typo
2021-02-22 14:12:12 -08:00
Tesfa Mael
243c3ceacc Fix build err 2021-02-22 13:36:21 -08:00
Elms
c4d2e7cfdb configure: split SHA3 and SHAKE256 to work with ED448
Define flags and defaults early, but set CFLAGS later to allow
override.
2021-02-22 10:14:21 -08:00
Elms
451b8ede51 tests: fix preprocessor test for gcd/lcm
Fixes `--enable-valgrind --enable-fpecc --enable-ecc` build
2021-02-22 09:53:55 -08:00
TakayukiMatsuo
b495e12179 Fix such as "for loop initial declaration" 2021-02-23 02:29:37 +09:00
TakayukiMatsuo
e25284c690 Add wolfSSL_EVP_PKEY_print_public 2021-02-22 23:51:27 +09:00
TakayukiMatsuo
49d1b859d4 Add wolfSSL_EVP_Encode/Decode APIs 2021-02-22 17:51:44 +09:00
TakayukiMatsuo
4264a49246 Causes SSL_CTX_load_verify_locations and X509_LOOKUP_load_file to return zero on failure if WOLFSSL_ERR_CODE_OPENSSL is defined 2021-02-22 08:05:11 +09:00
Sean Parkinson
41c4a25b25 Merge pull request #3785 from embhorn/zd11752
Fix ret val for wolfSSL_BIO_set_ssl
2021-02-22 08:34:47 +10:00
Fabian Keil
1b319804ad configure: When enabling --enable-sp-asm, accept host_cpu amd64 as alternative to x86_64
Allows to use --enable-sp-asm on ElectroBSD amd64.

Previouly configure failed with:
 configure: error: ASM not available for CPU. Supported CPUs: x86_64, aarch64, arm
2021-02-20 14:25:05 +01:00
Tesfa Mael
c7b1dc8f94 Fix Cryptocell ECC tests 2021-02-19 16:39:45 -08:00
Eric Blankenhorn
ebb2c7ae71 Fix ret val for wolfSSL_BIO_set_ssl 2021-02-19 16:35:01 -06:00
David Garske
078d78a884 Merge pull request #3782 from JacobBarthelmeh/Async 2021-02-19 14:24:09 -08:00
Elms
31d3dfdd4d configure: ED448 to enable SHA3 and SHAKE256 properly
SHA3 and SHAKE256 are required for ED448, but were potentially
overwritten after being set when ED448, specifically others than
x86_64/aarch64
2021-02-19 13:18:52 -08:00
Jacob Barthelmeh
3079ca4d6a add comment that use is blocking and adjust indentation 2021-02-20 02:54:10 +07:00
JacobBarthelmeh
8d7c61cf10 prep for Async release 2021-02-19 11:51:23 -07:00
Fabian Keil
2002ae9dca tests/api.c: Fix build with NO_WOLFSSL_STUB defined 2021-02-19 05:45:19 +01:00
Fabian Keil
400a1d6927 Compile wolfSSL_ASN1_TIME_set_string() independently of NO_WOLFSSL_STUB 2021-02-19 05:45:09 +01:00
Sean Parkinson
8fabb9e9bb Merge pull request #3767 from dgarske/rsapubonly
Fixes for building with RSA verify or public only
2021-02-19 10:36:00 +10:00
Sean Parkinson
fa7b5f55ee TLS 1.3: add API to tell if a KeyUpdate response is required 2021-02-19 10:21:08 +10:00
David Garske
31c76dcc1a Merge pull request #3777 from elms/cmake/configure_test_paths
cmake: configure `test_paths.h`
2021-02-18 15:02:19 -08:00
Elms
70ddaf8f2e cmake: configure test_paths.h 2021-02-18 12:17:55 -08:00
Chris Conlon
4da0328e1a fix wolfCrypt PKCS#7 test when PKCS7_OUTPUT_TEST_BUNDLES is defined 2021-02-18 12:14:48 -07:00
David Garske
10be54054e Minor fixes for build errors and bad macro names. 2021-02-18 10:55:47 -08:00
David Garske
c62b48f7d0 Fixes for building with RSA public or verify only. Fixes issue with reserved "div" keyword as variable name. ZD11585 2021-02-18 07:47:00 -08:00
Hayden Roche
2290d1b4c8 Add a define to openssl/ssl.h needed for openldap port. 2021-02-18 09:17:47 -06:00
Sean Parkinson
3bf9b49274 SP ECDSA sign: fix multiple loops work of generating k
Support only one loop of generated k.
2021-02-18 09:06:50 +10:00
Sean Parkinson
ad58478d29 Merge pull request #3765 from embhorn/zd11703
Validate name size
2021-02-18 08:42:26 +10:00
Sean Parkinson
276e090a1f Merge pull request #3763 from embhorn/zd11726
Adding wolfSSL_CTX_get_TicketEncCtx
2021-02-18 08:35:03 +10:00
Sean Parkinson
5dc6de3063 Merge pull request #3771 from JacobBarthelmeh/Testing
fix build for apache without tls 1.3
2021-02-18 08:19:29 +10:00
Eric Blankenhorn
caa39f78ae Fix from review and leak in wolfSSL_X509_get_serialNumber 2021-02-17 13:53:30 -06:00
Eric Blankenhorn
d31f184c49 Adding tests 2021-02-17 13:34:38 -06:00
Eric Blankenhorn
608083f559 Add more checks for name->sz 2021-02-17 12:19:42 -06:00
Jacob Barthelmeh
4def38dd7e fix build for apache without tls 1.3 2021-02-17 18:23:03 +07:00
Sean Parkinson
7ce3860e19 MP small: mp_add_d doesn't support adding a digit greater than MP_DIGIT_MAX 2021-02-17 09:24:22 +10:00
Sean Parkinson
80e75c3db8 Merge pull request #3766 from guidovranken/zd11733
Better error propagation in _fp_exptmod_ct
2021-02-17 08:45:43 +10:00
David Garske
cc37227f18 Merge pull request #3762 from guidovranken/zd11732
Fix memory leak in fp_gcd
2021-02-16 13:04:10 -08:00
Eric Blankenhorn
806b5d7d23 Validate name size 2021-02-16 14:58:58 -06:00
Guido Vranken
b47809e718 Better error propagation in _fp_exptmod_ct 2021-02-16 19:54:59 +01:00
Jacob Barthelmeh
3a9d533d2c update changelog with researchers names, thanks Aina and Olivier 2021-02-17 00:04:16 +07:00
Jacob Barthelmeh
5f3ee2985c bump version for development bundles 2021-02-16 23:57:47 +07:00
Guido Vranken
7bd3cccd87 Fix memory leak in fp_gcd
ZD 11732
2021-02-16 17:47:00 +01:00
Juliusz Sosinowicz
b8f841599c Add --enable-error-queue-per-thread 2021-02-16 16:08:13 +01:00
Juliusz Sosinowicz
89fd0b375b Correctly read anon cipher run-time options 2021-02-16 14:27:19 +01:00
Juliusz Sosinowicz
9265c3f71f Use native API for ticket callback 2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
0ae1a8b8c5 Jenkins fixes
- Change pushCAx509Chain to an iterative implementation
- Fix variable names shadowing global names
2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
e80158a96e Set full chain with known CA's in wolfSSL_set_peer_cert_chain 2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
b90862fa3f Free OcspEntry.status only when the struct owns the pointer 2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
26df833074 Compat layer session tickets
- OpenSSL uses an internal mechanism by default for session tickets. This is now implemented for OPENSSL_EXTRA in wolfSSL.
- Add testing of wolfSSL_CTX_set_tlsext_ticket_key_cb
2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
9a1e54cfd5 Nginx 1.19.6 Fixes 2021-02-16 14:25:45 +01:00
Juliusz Sosinowicz
b63f43a2af Nginx 1.19.6
- Implement X509_pubkey_digest
- Initialize entire WOLFSSL_X509_NAME struct to zero
- Set raw and rawLen when copying WOLFSSL_X509_NAME
2021-02-16 14:25:45 +01:00
Jacob Barthelmeh
8f88ac7442 add note about s/mime addition to changelog 2021-02-16 08:35:21 +07:00
toddouska
830de9a9fb Merge pull request #3760 from JacobBarthelmeh/Release
prepare for release v4.7.0
2021-02-15 14:29:51 -08:00
toddouska
30462fcf95 Merge pull request #3756 from SparkiDev/sp_math_dh_agree
DH SP math: return key size error with DH Agree
2021-02-15 12:26:04 -08:00
toddouska
917205442b Merge pull request #3757 from SparkiDev/sp_smallstack_fixes
sp_lcm small stack: fix size of temporary
2021-02-15 12:25:13 -08:00
toddouska
888fab501b Merge pull request #3758 from SparkiDev/sp_exch_fix
SP math all: sp_exch fixed up
2021-02-15 12:23:28 -08:00
toddouska
742731a65f Merge pull request #3759 from JacobBarthelmeh/Testing
fix for haproxy and nginx build, remove execute bit on certs
2021-02-15 12:21:56 -08:00
Jacob Barthelmeh
847938f4d6 prepare for release v4.7.0 2021-02-16 02:41:37 +07:00
Eric Blankenhorn
b7b07e1945 Adding wolfSSL_CTX_get_TicketEncCtx 2021-02-15 11:28:46 -06:00
Jacob Barthelmeh
f4519018eb remove execute bit on smime bundles 2021-02-15 23:33:31 +07:00
Jacob Barthelmeh
0b0f370384 fix for haproxy and nginx build 2021-02-15 22:09:44 +07:00
Sean Parkinson
ba1c67843a Merge pull request #3752 from JacobBarthelmeh/Jenkins
changes from nightly Jenkins test review
2021-02-15 16:32:40 +10:00
JacobBarthelmeh
c5190d1294 Merge pull request #3753 from dgarske/wpas_revert
Fixes for hostapd (revert some configure.ac changes in PR #3289)
2021-02-15 09:45:27 +07:00
Sean Parkinson
e4f8545e36 SP math all: sp_exch fixed up 2021-02-15 10:29:45 +10:00
Sean Parkinson
e187a74b1c sp_lcm small stack: fix size of temporary
Temporary sp_int needs to be allocated to be 1 digit larger than a or b
for the div operation.
Change sp_div to check sizes of r and rem when passed in.
Fix sp_invmod, sp_gcm, sp_submod to use temporary sp_int sizes that work
with calls to sp_div().
2021-02-15 09:48:18 +10:00
Sean Parkinson
4b1c89ab38 DH SP math: return key size error with DH Agree
SP math requires SP to support DH operations.
When SP doesn't support bit size, WC_KEY_SIZE_E must be returned.
2021-02-15 09:04:43 +10:00
Sean Parkinson
505514415d Merge pull request #3748 from JacobBarthelmeh/Testing
always check index into certs
2021-02-15 08:20:28 +10:00
David Garske
98b5900266 Revert of changes in PR #3289, which should not have removed the HAVE_SECRET_CALLBACK and WOLFSSL_PUBLIC_ECC_ADD_DBL. These are required for hostapd. 2021-02-12 14:11:17 -08:00
toddouska
fc005f941c Merge pull request #3750 from embhorn/buffer_conflict
Fix use of 'buffer' in test
2021-02-12 13:59:18 -08:00
Elms
bde1a2209a tests: add include for ecc.h to fix compile error
fix testsuite implicit definition of `wc_ecc_fp_free` with
`./configure --enable-fpecc --enable-ecc --enable-stacksize`
2021-02-13 01:31:01 +07:00
David Garske
f311c9a038 Merge pull request #3751 from SparkiDev/aes_gcm_type
AES-GCM type fixes: internal functions now have word32 type parameters
2021-02-12 10:12:26 -08:00
Jacob Barthelmeh
1c852f60ab fix for g++ build 2021-02-12 23:26:54 +07:00
Jacob Barthelmeh
7e72fafd44 do not turn on FP_64BIT by default on Aarch64 2021-02-12 23:16:04 +07:00
Jacob Barthelmeh
a49c867b38 increase test buffer size for updated pkcs7 bundle 2021-02-12 23:16:04 +07:00
Jacob Barthelmeh
0938a0055d always use MAX_CHAIN_DEPTH for args->certs buffer 2021-02-12 15:18:14 +07:00
Sean Parkinson
3926ccd39b AES-GCM type fixes: internal functions now have word32 type parameters
Lengths were signed int for decrypt while unsigned int for encrypt.
Use word32 across the board.
Also fix AES-NI code on Windows to cast lengths to word64 before
multiplying by 8 to avoid averflow.
2021-02-12 08:30:08 +10:00
Eric Blankenhorn
2ac826c37e Fix use of 'buffer' in test 2021-02-11 15:58:26 -06:00
toddouska
ae073b7ce2 Merge pull request #3741 from elms/test/openssl_distcheck_fix
testing: fix openssl test for `distcheck`
2021-02-11 13:53:09 -08:00
toddouska
81dcf0d28b Merge pull request #3640 from tmael/evp_rsa2
Remove EVP_PKEY_RSA2
2021-02-11 13:51:46 -08:00
toddouska
1283a4d9f0 Merge pull request #3686 from embhorn/zd11571
Fix Free/SafeRTOS with XMALLOC_USER
2021-02-11 13:50:55 -08:00
toddouska
d40ea03621 Merge pull request #3703 from SparkiDev/sp_int_malloc
SP int: Rework allocation of temporaries
2021-02-11 13:49:45 -08:00
toddouska
f0ce6ada0f Merge pull request #3702 from guidovranken/zd11603
Prevent dangling pointer in TLSX_Cookie_Use
2021-02-11 12:31:02 -08:00
toddouska
3eeeb39fb7 Merge pull request #3711 from dgarske/ecc_encrypt_rng
Fix for `--enable-eccencrypt` with timing resistance enabled
2021-02-11 12:28:13 -08:00
toddouska
80b9949052 Merge pull request #3739 from kaleb-himes/FusionRTOS-Porting-R3
Fusion RTOS porting round 3
2021-02-11 12:25:55 -08:00
JacobBarthelmeh
e87e818c6e Merge pull request #3749 from dgarske/zd11624_pkcs11
Fix another PKCS11 case where the ECC key type is not set
2021-02-12 01:36:41 +07:00
Eric Blankenhorn
2c2bdca200 Fix typo 2021-02-11 12:27:43 -06:00
toddouska
39cb84de25 Merge pull request #3697 from julek-wolfssl/openvpn-2.5-missing-stuff
OpenVPN master additions
2021-02-11 08:56:45 -08:00
David Garske
f006479645 Fix another PKCS11 case where the ECC key type is not set and causes failures. Broke in PR #3687. 2021-02-11 08:04:58 -08:00
Jacob Barthelmeh
90140fc5a4 always check index into certs 2021-02-11 21:50:51 +07:00
David Garske
d05dc921a7 Merge pull request #3745 from douzzer/enable-reproducible-build 2021-02-11 06:39:28 -08:00
Daniel Pouzzner
d64315a951 configure.ac: add --enable-reproducible-build: put ar and ranlib in deterministic mode, and leave LIBWOLFSSL_CONFIGURE_ARGS and LIBWOLFSSL_GLOBAL_CFLAGS out of the generated config.h. relates to PR #3417 . 2021-02-11 00:12:05 -06:00
Sean Parkinson
b330196c28 SP int: Rework allocation of temporaries
Allocate only as much is as needed.
Use macros to simplify code.
Don't use an sp_int if you can use an array of 'sp_int_digit's.
2021-02-11 10:34:40 +10:00
toddouska
acdc267104 Merge pull request #3718 from SparkiDev/sp_int_fast_nct
SP int: allow faster NCT exptmod to be compiled in
2021-02-10 16:14:39 -08:00
toddouska
032cc1645c Merge pull request #3713 from SparkiDev/tls_def_sess_ticket_cb
TLS Session Ticket: default encryption callback
2021-02-10 16:13:33 -08:00
toddouska
389a5e0301 Merge pull request #3684 from SparkiDev/sp_fixes_5
SP fixes: even mod testing, ECC compilation with SP
2021-02-10 16:10:21 -08:00
toddouska
6983aa9331 Merge pull request #3700 from SparkiDev/sp_math_lshb
SP math lshb: check space for result
2021-02-10 16:01:27 -08:00
toddouska
67b1280bbf Merge pull request #3545 from kabuobeid/smime
Added support for reading S/MIME messages via SMIME_read_PKCS7.
2021-02-10 15:59:32 -08:00
Sean Parkinson
0403f5f18d Merge pull request #3744 from JacobBarthelmeh/Certs
run renewcerts.sh script
2021-02-11 09:43:49 +10:00
Sean Parkinson
5151e1f749 Merge pull request #3715 from JacobBarthelmeh/Testing
openssl x509 small with req cert gen
2021-02-11 09:39:15 +10:00
Sean Parkinson
7efaf14fce Merge pull request #3727 from JacobBarthelmeh/Prime
check prime is prime with ecc compressed keys
2021-02-11 09:22:40 +10:00
Elms
d67934f6b8 scripts: remove use of realpath and fix external.test
`external.test` could fail quietly for not finding `ping.test` for
out-of-tree builds. Make it look relative to the script location.
2021-02-10 14:18:32 -08:00
JacobBarthelmeh
ac96e58928 Merge pull request #3743 from dgarske/zd11624
Fix for copy/paste error for ECC key type
2021-02-11 04:02:54 +07:00
Jacob Barthelmeh
41e5e547c4 run renewcerts.sh script 2021-02-11 03:12:54 +07:00
kaleb-himes
223ba43c2c Add debug message regarding failure 2021-02-10 12:15:43 -07:00
kaleb-himes
9e6ab4ab70 Address indendation, fix return on stub, remove warning 2021-02-10 11:26:29 -07:00
David Garske
c9c4a7ee68 Fix spelling errors. 2021-02-10 10:17:51 -08:00
David Garske
0c75099111 Fix for copy/paste error in PR 3728, which makes sure the ECC key type is specified. 2021-02-10 10:14:31 -08:00
kaleb-himes
4c171524dd Address missed CloseSocket item and revert some white space changes 2021-02-10 09:14:54 -07:00
Elms
9b6f382b2c testing: fix openssl test for distcheck
Previously missed case of cert locations for out-of-tree build. Use
relative path from script location for certificate path
2021-02-10 07:15:22 -08:00
Jacob Barthelmeh
3c0563908f openssl x509 small with req cert gen
add test for build case with x509small and add back in function

adjust macro guard for i2d_X509_NAME implementation

add macro guard on test case
2021-02-10 21:48:29 +07:00
kaleb-himes
7e428f90f2 Revert zero return, to be handled in stand-alone PR 2021-02-10 05:31:57 -07:00
kaleb-himes
15f9902e94 Address new file issue by Jenkins and peer feedback on return val of time 2021-02-10 04:16:34 -07:00
Sean Parkinson
64bc4b663d SP fixes: even mod testing, ECC compilation with SP
Even mod inversion will sometimes work with integer.c.
Don't call SP code to perform ECC ops unless WOLFSSL_HAVE_SP_ECC is
defined.
2021-02-10 14:38:58 +10:00
Sean Parkinson
794cb5c7a9 TLS Session Ticket: default encryption callback
Encrypts with ChaCha20-Poly1305 or AES-GCM.
Two keys in rotation.
Key used for encryption until ticket lifetime goes beyond expirary
(default 1 hour). If key can still be used for decryption, encrypt with
other key.
Private random used to generate keys.
2021-02-10 14:31:54 +10:00
kaleb-himes
89b97a0fbf Implement peer feedback 2021-02-09 18:42:23 -07:00
toddouska
b704c3b3f8 Merge pull request #3693 from SparkiDev/curve448_ppc64
Curve448 PPC64: 'char' is not always signed - use type 'sword8'
2021-02-09 16:08:06 -08:00
toddouska
75d0496f77 Merge pull request #3722 from SparkiDev/sp_clang_fix
test.c: don't check key NULL when not small stack
2021-02-09 16:07:04 -08:00
toddouska
157ad65a6e Merge pull request #3677 from SparkiDev/ecdsa_keep_e
ECDSA: don't modify the e mp_int (hash) value
2021-02-09 16:06:05 -08:00
toddouska
47b2e8342b Merge pull request #3698 from SparkiDev/sp_math_no_asm_fix
SP math: fix one word Montgomery Reduction for non-asm
2021-02-09 16:04:38 -08:00
toddouska
32424f715c Merge pull request #3699 from SparkiDev/sp_ecdsa_vfy_fix
SP ECC verify: check point for z=0 and set to infinity
2021-02-09 16:02:51 -08:00
toddouska
27475291b1 Merge pull request #3733 from SparkiDev/sp_int_mont_red_size
SP int: mont_red - check size of a relative to m
2021-02-09 16:00:24 -08:00
toddouska
ae3706d5e5 Merge pull request #3734 from SparkiDev/sp_int_8_bit
SP int: fixes for 8-bit digits
2021-02-09 15:59:26 -08:00
toddouska
2f47934184 Merge pull request #3735 from SparkiDev/sp_int_32_bit
SP int SP_WORD_SIZE=32: cast down explicitly
2021-02-09 15:56:49 -08:00
toddouska
fc30f379ee Merge pull request #3736 from SparkiDev/sp_int_neg_zero
SP int neg: fix handling of negative zero and mp_cond_copy
2021-02-09 15:48:21 -08:00
kaleb-himes
cfadc7e25a Merge branch 'FusionRTOS-Porting-R3' of https://github.com/kaleb-himes/wolfssl into FusionRTOS-Porting-R3 2021-02-09 16:47:44 -07:00
kaleb-himes
3472191af5 Remove ++ from VisualDSP dir, seems to be causing issues with make dist 2021-02-09 16:39:00 -07:00
toddouska
f63f0ccb94 Merge pull request #3740 from SparkiDev/tls13_one_hrr_sh
TLS 1.3: Only allow one ServerHello and one HelloRetryRequest
2021-02-09 14:59:10 -08:00
Sean Parkinson
ca3c5bf6c4 SP math lshb: check space for result 2021-02-10 08:58:58 +10:00
toddouska
33bfee0f1a Merge pull request #3717 from kaleb-himes/OE11_ACVP
XSTRNCASECMP for OE11 ACVP (CMSIS RTOS)
2021-02-09 14:52:21 -08:00
Sean Parkinson
9792e062c3 SP int: allow faster NCT exptmod to be compiled in
For small builds, this may be needed to get the right performance.
2021-02-10 08:51:32 +10:00
toddouska
9a7aba265a Merge pull request #3716 from kaleb-himes/OE10_ACVP_OE13_ACVP_WPAA
OE10 and OE13 ACVP updates for armv8 PAA
2021-02-09 14:50:42 -08:00
Kaleb Himes
73d7709724 Update comment about location for porting changes. 2021-02-09 15:39:12 -07:00
kaleb-himes
6d23728a56 Fusion RTOS porting round 3 2021-02-09 15:33:06 -07:00
toddouska
250b59f8fd Merge pull request #3688 from julek-wolfssl/correct-cert-free
Use wolfSSL_X509_free to free ourCert
2021-02-09 12:41:12 -08:00
Chris Conlon
012841bba3 Merge pull request #3738 from embhorn/cmp_layer_high
Compatibility layer API
2021-02-09 08:33:41 -07:00
David Garske
47d5f6f624 Merge pull request #3714 from SparkiDev/sp_int_rsavfy 2021-02-09 07:28:40 -08:00
Chris Conlon
71b495c422 Merge pull request #3712 from miyazakh/RND_bytes
handle size greater than RNG_MAX_BLOCK_LEN
2021-02-09 08:26:30 -07:00
Sean Parkinson
5818923762 Merge pull request #3723 from douzzer/AesCcmEncrypt-zero-inSz-null-in
AES-CCM null payload buffers with inSz zero
2021-02-09 17:22:03 +10:00
Daniel Pouzzner
bdd4ceb445 aes.c: fix overwide code text in wc_AesCcmEncrypt(). 2021-02-08 21:50:29 -06:00
Sean Parkinson
4d70d3a3c4 TLS 1.3: Only allow one ServerHello and one HelloRetryRequest 2021-02-09 12:51:53 +10:00
Sean Parkinson
539ef512fc SP int neg: fix handling of negative zero and mp_cond_copy
mp_cond_copy: copy sign when available.
Check for zero and ensure sign is MP_ZPOS.
2021-02-09 11:03:06 +10:00
Kareem Abuobeid
a4e819c60a Added support for reading S/MIME messages via SMIME_read_PKCS7. 2021-02-08 17:14:37 -07:00
Sean Parkinson
763f388471 SP int: get rsavfy and rsapub working again 2021-02-09 09:58:23 +10:00
toddouska
0d499a28e5 Merge pull request #3725 from elms/build/fix_distcheck
build: fix `make distcheck`
2021-02-08 15:57:04 -08:00
Sean Parkinson
3217c7afae Merge pull request #3732 from miyazakh/setverifydepth
issue callback when exceeding depth limit rather than error out
2021-02-09 09:51:45 +10:00
toddouska
f14f1f37d2 Merge pull request #3673 from elms/ssl_api/get_verify_mode
SSL: add support for `SSL_get_verify_mode`
2021-02-08 15:40:19 -08:00
toddouska
58f9b6ec01 Merge pull request #3676 from SparkiDev/tls13_blank_cert
TLS 1.3: ensure key for signature in CertificateVerify
2021-02-08 15:27:05 -08:00
Daniel Pouzzner
7a583d5b4b aesccm_test(): test for (and require) BAD_FUNC_ARG when in or out pointer to wc_AesCcm{En,De}crypt() is null and inSz > 0. 2021-02-08 16:43:38 -06:00
Daniel Pouzzner
b8a019dedd AES-CCM: allow null payload buffers in wc_AesCcmEncrypt() and wc_AesCcmDecrypt() when inSz is zero, and add to aesccm_test() a test for this, tolerating early BAD_FUNC_ARG (for FIPS and arch-specific 3rd party code), and a test for the zero-length string, that must succeed. 2021-02-08 16:34:09 -06:00
David Garske
dda4c3b3c4 Merge pull request #3724 from embhorn/zd11646
Move var declaration to top
2021-02-08 11:09:28 -08:00
Elms
12eddee104 scripts: fix tests for out of tree distcheck
Copying or using certs from directory relative to scripts source directory.
2021-02-08 10:43:31 -08:00
Eric Blankenhorn
6cff3f8488 Adding X509_LOOKUP_ctrl 2021-02-08 12:17:14 -06:00
Eric Blankenhorn
47b9c5b054 Adding X509_STORE_CTX API 2021-02-08 08:25:14 -06:00
Eric Blankenhorn
de47b9d88a Adding X509_VERIFY_PARAM API 2021-02-08 08:25:14 -06:00
Jacob Barthelmeh
812b44d58e guard check on prime with macro WOLFSSL_VALIDATE_ECC_IMPORT 2021-02-08 20:25:01 +07:00
Sean Parkinson
36d124ed2f Merge pull request #3730 from guidovranken/zd11650
SP math: Better error propagation
2021-02-08 14:17:43 +10:00
Sean Parkinson
c3cc36c55f SP int SP_WORD_SIZE=32: cast down explicitly 2021-02-08 13:20:12 +10:00
Sean Parkinson
7986b37aa5 SP int: fixes for 8-bit digits
Fix mask type in mp_cond_copy to be at least 16 bits to handle 'used'
being larger than 8-bit but mp_digit being 8-bit.
When large numbers are used with 8-bit words, mul/sqr partial sums will
overflow a word. Fix implementations to handle this.
2021-02-08 12:24:28 +10:00
Hideki Miyazaki
f13186827a issue callback when exceeding depth limit rather than error out 2021-02-08 11:01:45 +09:00
Sean Parkinson
aefddaf2b8 SP int: mont_red - check size of a relative to m 2021-02-08 10:07:15 +10:00
Jacob Barthelmeh
cced2038b8 conditional compile and check on idx 2021-02-08 06:10:04 +07:00
Guido Vranken
358dbd5090 _sp_exptmod_base_2: Break out of loops on error 2021-02-08 00:09:29 +01:00
Sean Parkinson
2933db8915 Merge pull request #3729 from guidovranken/zd11649
SHA 256,512: Only write hash if no error has occurred
2021-02-08 08:47:51 +10:00
Sean Parkinson
ea4b3110e8 Merge pull request #3728 from dgarske/zd11624
Fix for PKCS11 not properly exporting the public key due to a missing key type field
2021-02-08 08:32:04 +10:00
Guido Vranken
bc707d67c3 SP math: Better error propagation
ZD 11650
2021-02-06 09:09:41 +01:00
Guido Vranken
3fd2647383 SHA 256,512: Only write hash if no error has occurred
ZD 11649
2021-02-06 08:15:30 +01:00
Jacob Barthelmeh
644636e0f8 only check prime value with custom curves 2021-02-06 05:46:19 +07:00
Elms
e26f1529c0 build: revert change so make generates testsuite.test
A change to `include.am` caused `make check` to generate, but `make`
without arguments to not generate it.`
2021-02-05 14:39:07 -08:00
Elms
c17597a4fb build: arbitrary path for make check
To support builds in other directories, unit.test and wolfcrypt test
must be aware of the source and build directory.
2021-02-05 12:10:32 -08:00
David Garske
70b382e6cf Fix for PKCS11 not properly exporting the public key due to a missing key type field. This broke due to changes in PR #3687. Also resolved mismatch of enum types for the key type check. 2021-02-05 11:49:31 -08:00
Jacob Barthelmeh
c2be5dbe2b check prime is prime with ecc compressed keys 2021-02-06 01:54:25 +07:00
Elms
93ea355217 build: fix make distcheck
Need to check if `unit.test` was run from make process and set
different path to run unit test executable.

Writing files in the dist is not allowed during distcheck so write
files to subdirectory used build during distmake
2021-02-05 07:25:07 -08:00
Eric Blankenhorn
e4d79bf49e Move var declaration to top 2021-02-05 08:41:42 -06:00
Sean Parkinson
c4afce76f7 test.c: don't check key NULL when not small stack 2021-02-05 14:57:00 +10:00
kaleb-himes
4ade6eb802 XSTRNCASECMP for OE11 ACVP (CMSIS RTOS) 2021-02-03 16:03:20 -07:00
kaleb-himes
776964f7c7 OE10 and OE13 ACVP updates for armv8 PAA 2021-02-03 15:38:08 -07:00
Hideki Miyazaki
431e1c8ffe handle size greater than RNG_MAX_BLOCK_LEN 2021-02-03 12:23:36 +09:00
David Garske
714aa97490 Merge pull request #3710 from cconlon/0202
fix and update README.md markdown
2021-02-02 16:15:53 -08:00
David Garske
72a8a1069a Fix to only set missing RNG if needed. Resolves unit test, which already sets the RNG on the private key and the incoming context is not provided (use local). 2021-02-02 14:16:21 -08:00
David Garske
04e7fa3657 Fix for --enable-eccencrypt with timing resistance enabled. The ECC shared secret was missing the RNG. Fixes https://github.com/wolfSSL/wolfssl-examples/issues/243 2021-02-02 13:55:42 -08:00
Chris Conlon
7eb71b1bb1 Merge pull request #3344 from guidovranken/PKCS7_EncodeSigned-leak-fix
Check the right size before freeing flatSignedAttribs in PKCS7_EncodeSigned
2021-02-02 13:53:20 -07:00
Guido Vranken
f833d96ba3 Check the right size before freeing flatSignedAttribs in PKCS7_EncodeSigned 2021-02-02 10:15:00 -08:00
Chris Conlon
30c1c4a4f8 fix and update README.md markdown 2021-02-02 10:38:09 -07:00
Juliusz Sosinowicz
542e0d79ec Jenkins Fixes
- explicit conversions
- not all curves available for wolfSSL_CTX_set1_groups_list
- group funcs depend on HAVE_ECC
- `InitSuites` after `ssl->suites` has been set
2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
8a669615f8 Generate correct GCM tag 2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
921fd34876 Detect version even if not compiled in 2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
69dca4fd08 Rebase fixes
- wolfSSL_CTX_set1_groups_list and wolfSSL_set1_groups_list should use wolfSSL_CTX_set1_groups and wolfSSL_set1_groups respectively because it converts to correct groups representation
- Change to using "SHA1" as main name for SHA1
2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
46821196ab Fix call to wolfSSL_connect when in wolfSSL_connect_TLSv13
If a client is:
- TLS 1.3 capable
- calls connect with wolfSSL_connect_TLSv13
- on an WOLFSSL object that allows downgrading
then the call to wolfSSL_connect should happen before changing state to HELLO_AGAIN. Otherwise wolfSSL_connect will assume that messages up to ServerHelloDone have been read (when in reality only ServerHello had been read).

Enable keying material for OpenVPN
2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
ff43d39015 GCC complains about empty if 2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
f5cf24dbdc SHA1 should not be called SHA. Leave alias for compatibility. 2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
5d5d2e1f02 Check that curves in set_groups functions are valid 2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
c18701ebe7 Implement RFC 5705: Keying Material Exporters for TLS 2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
fdde2337a4 Add static buffer to wolfSSL_ERR_error_string
Add ED448 and ED25519 to wolfssl_object_info
Add more error messages
2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
6ed45a23d9 Fix getting cipher suites in compat layer 2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
294e46e21a Set options when creating SSL 2021-02-02 12:06:11 +01:00
Juliusz Sosinowicz
3494218d98 Implement missing functionality for OpenVPN 2.5 2021-02-02 12:06:11 +01:00
David Garske
5577a2215f Merge pull request #3708 from JacobBarthelmeh/Testing 2021-02-01 10:11:16 -08:00
David Garske
ab5f9831ab Merge pull request #3707 from douzzer/test-openssl-small-stack
wolfcrypt/test/test.c: smallstack refactor of openssl test routines.
2021-02-01 09:30:04 -08:00
Jacob Barthelmeh
a7066a9be2 add stdint to test.c if using non blocking ecc test 2021-02-01 23:07:03 +07:00
Jacob Barthelmeh
fd01f79f86 add guard for rsa public only 2021-01-31 23:43:53 +07:00
Daniel Pouzzner
d14f4f8451 wolfcrypt/test/test.c: smallstack refactor of openssl test routines. 2021-01-30 00:01:15 -06:00
David Garske
f5f19fda42 Merge pull request #3704 from douzzer/aesgcm-table-small-stack
--enable-aesgcm=table --enable-smallstack
2021-01-29 19:53:08 -08:00
Daniel Pouzzner
d0b20f90d5 wolfcrypt/test/test.c: use HEAP_HINT, not NULL, for XREALLOC() too. 2021-01-29 20:16:51 -06:00
Daniel Pouzzner
8c0100e60e blake2b.c/blake2s.c: refactor so that smallstack code paths match performance of !smallstack path. 2021-01-29 17:19:42 -06:00
Daniel Pouzzner
a332cf36b5 add DYNAMIC_TYPE_AES and DYNAMIC_TYPE_CMAC to enum in types.h, and use these where appropriate;
in test.c: use use HEAP_HINT, not NULL in XMALLOC/XFREE calls;

fix a couple typos in aes_test() re WOLFSSL_ASYNC_CRYPT;

add various missing WOLFSSL_SMALL_STACK_STATIC qualifiers;

and streamline old smallstack refactor on-stack declarations declarations to use the much neater [1] construct.
2021-01-29 17:17:31 -06:00
David Garske
eae4124908 Merge pull request #3705 from lechner/repology-packaging-status
Show packaging status across Linux distributions in README.md
2021-01-29 14:48:26 -08:00
Felix Lechner
2033970369 Show packaging status across Linux distributions in README.md (from Repology)
Repology offers badges for wolfSSL's packaging status across all known
Linux distributions. [1] In Markdown documents, the HTML version with
a right-hand alignment uses up less space. It is added here.

The badge itself provides a hyperlink to more information [2]
including repositories in which wolfSSL is not yet represented.

[1] https://repology.org/project/wolfssl/badges
[2] https://repology.org/project/wolfssl/versions
2021-01-29 10:40:32 -08:00
Daniel Pouzzner
0f6ae330da wolfcrypt: smallstack refactors of AES code for lkm compatibility with --enable-aesgcm=table. 2021-01-28 22:51:28 -06:00
Sean Parkinson
91299c5abd Merge pull request #3701 from dgarske/pkcs7_devId
Fixes for PKCS7 with crypto callback (devId) with RSA and RNG
2021-01-29 10:56:41 +10:00
David Garske
4f6deb8ae9 Merge pull request #3594 from haydenroche5/zd10911
Fix issue with DoHandShakeMsgType/ShrinkInputBuffer when encryption i…
2021-01-28 16:55:04 -08:00
Hayden Roche
fc845da9f0 Fix issue with DoHandShakeMsgType/ShrinkInputBuffer when encryption is on (e.g.
during renegotiation).

This issue was brought to light by ZD 10911. When encryption is on (indicated
by the return value of IsEncryptionOn), DoHandShakeMsgType will finish up by
incrementing the input buffer index past the padding and MAC (if encrypt-then-
mac is enabled). In ProcessReply, if there are more messages to be read, the
index is decremented back before the padding and MAC. The issue arises when
ShrinkInputBuffer is called in between and copies data from the dynamic input
buffer to the static one. That function will get called with the index post-
increment, and thus the padding and MAC won't get copied into the static buffer,
which isn't what we want, since ProcessReply is going to decrement the index
since it thinks the padding and MAC are still there. This commit makes it so
the padding and MAC get included in the call to ShrinkInputBuffer when
encryption is on.
2021-01-28 15:37:00 -06:00
Guido Vranken
3da6b8364e Prevent dangling pointer in TLSX_Cookie_Use
ZD 11603
2021-01-28 18:53:35 +01:00
David Garske
2bd63d27bf Fixes for PKCS7 with crypto callback (deviceId), where it was not being used for RSA and RNG. ZD 11163. 2021-01-28 09:52:13 -08:00
David Garske
311a0d25dd Merge pull request #3696 from JacobBarthelmeh/Testing
fix for tested x509 small build
2021-01-28 06:59:26 -08:00
Sean Parkinson
590597a0e2 SP ECC verify: check point for z=0 and set to infinity 2021-01-28 14:43:51 +10:00
Sean Parkinson
0ccb0d5fce SP math: fix one word Montgomery Reduction for non-asm
Set the word size for x86.
2021-01-28 09:54:58 +10:00
Jacob Barthelmeh
bbcb98a8f7 fix for tested x509 small build 2021-01-27 23:00:24 +07:00
Sean Parkinson
7486cad291 Curve448 PPC64: 'char' is not always signed - use type 'sword8'
Ensure type 'sword8' is signed.
2021-01-27 18:16:25 +10:00
Sean Parkinson
c739b4d474 ECDSA sign: cleanup comments and variables
Remove mod at end as mulmod does this.
Change mp_add to mp_addmod_ct to keep the size of numbers to less than
order for mp_mulmod.
2021-01-27 09:39:11 +10:00
John Safranek
a1e083b5b1 Merge pull request #3689 from douzzer/fips-option-check-source
configure.ac: check compatibility of chosen FIPS option with source
2021-01-26 12:29:52 -08:00
John Safranek
d0e2566ad8 Merge pull request #3679 from julek-wolfssl/dtls-window
Correct old DTLS msg rcv update
2021-01-26 12:20:59 -08:00
Juliusz Sosinowicz
3d4f836c00 Correctly insert out of order msgs to queue 2021-01-26 15:12:08 +01:00
Juliusz Sosinowicz
4da9ade290 Use wolfSSL_X509_free to free ourCert 2021-01-26 11:32:05 +01:00
Daniel Pouzzner
a89087ed2d configure.ac: check compatibility of chosen FIPS option with the source tree, for early prevention of accidental attempts to build FIPS with non-FIPS source, or non-FIPS with FIPS source. 2021-01-25 17:56:28 -06:00
toddouska
6e0e507dad Merge pull request #3660 from dgarske/sess_ticket_aes_gcm
Added support for AES GCM session ticket encryption
2021-01-25 15:00:03 -08:00
toddouska
f91dcb950c Merge pull request #3670 from dgarske/keil
Fix for ARM Keil MDK compiler issue with `DECLARE_VAR_INIT`.
2021-01-25 14:57:05 -08:00
toddouska
27ef5b9a3d Merge pull request #3675 from SparkiDev/tls_no_ticket
TLS Session Ticket: Option to disable for TLS 1.2 and below
2021-01-25 14:54:10 -08:00
toddouska
f35f57c378 Merge pull request #3683 from SparkiDev/sp_int_mont_red_1
SP math all: fix 1 word Montgomery Reduce
2021-01-25 14:47:35 -08:00
toddouska
d201820e3a Merge pull request #3687 from guidovranken/x963-export-reject-invalid-keys
Reject undefined keys (eg. state is ECC_STATE_NONE) from X963 export …
2021-01-25 14:46:59 -08:00
toddouska
cf9e4f0caf Merge pull request #3518 from julek-wolfssl/openssh-fixes-v2
Fixes for openssh
2021-01-25 14:45:56 -08:00
Elms
234bf0c209 SSL: add const for *get_verify_mode to match openSSL 2021-01-25 10:37:50 -08:00
Elms
a2917ae29c SSL: cleanup verify_mode coding style 2021-01-25 10:29:36 -08:00
David Garske
05e1ee1694 Cleanup to use fixed sizes from defines for DECLARE_VAR. Resolves issue with Visual Studio and using a variable (even const) to declare an array size. 2021-01-25 09:14:12 -08:00
Guido Vranken
29f7eebef7 Reject undefined keys (eg. state is ECC_STATE_NONE) from X963 export functions
Additionally, harmonize the failure conditions of wc_ecc_export_x963 and
wc_ecc_export_x963_compressed.
2021-01-25 16:22:21 +01:00
Eric Blankenhorn
f7408560c6 Fix Free/SafeRTOS with XMALLOC_USER 2021-01-25 09:10:15 -06:00
Sean Parkinson
4f0ed55232 SP math all: fix 1 word Montgomery Reduce
May have 3 words in partial result before shifting down.
2021-01-25 10:19:27 +10:00
David Garske
fb9836ed28 Merge pull request #3678 from guidovranken/zd11556
Fix wc_ecc_sign_hash memory leak. ZD 11556.
2021-01-22 18:06:56 -08:00
Tesfa Mael
d29518ecac Remove duplicate macro 2021-01-22 13:02:30 -08:00
Elms
21ac86adb3 SSL: refactor SSL verify mode to be more compatible
This follows the bit flag pattern closer. Still doesn't support
`SSL_VERIFY_CLIENT_ONCE` and maybe other flags.
2021-01-22 12:17:07 -08:00
David Garske
13468d34e3 Apply same VS fixes to api.c as well. 2021-01-22 10:50:18 -08:00
David Garske
46aee19de3 Fix for Visual Studio issue with non-cost in array declaration. 2021-01-22 10:44:38 -08:00
toddouska
920c443864 Merge pull request #3250 from JacobBarthelmeh/Benchmark
add brainpool benchmark
2021-01-22 10:08:21 -08:00
David Garske
cd4dae8f09 Merge pull request #3674 from ejohnstown/alerts
Alerts
2021-01-22 09:16:56 -08:00
Juliusz Sosinowicz
b918fb9efe Correct old DTLS msg rcv update 2021-01-22 14:33:33 +01:00
Jacob Barthelmeh
6fa1556daf guard -ecc-all with HAVE_SELFTEST macro 2021-01-22 16:13:31 +07:00
Guido Vranken
905f0b1f5a Fix wc_ecc_sign_hash memory leak. ZD 11556. 2021-01-22 09:55:30 +01:00
Sean Parkinson
a84f1c813a TLS Session Ticket: Option to disable for TLS 1.2 and below
Customer may want session ticket supported with TLS 1.3 but not TLS 1.2
and below.
2021-01-22 13:19:29 +10:00
Sean Parkinson
9c34ecc130 ECDSA: don't modify the e mp_int (hash) value
Multiple loops of generating signatures require the same e value.
2021-01-22 12:51:21 +10:00
Sean Parkinson
fad1e67677 TLS 1.3: ensure key for signature in CertificateVerify 2021-01-22 11:54:53 +10:00
David Garske
9012317f5b Fix copy/paste typo. 2021-01-21 17:41:11 -08:00
David Garske
1ee40ad7bd Fix to always init the variable (not just when from heap). Cleanup of the DECLARE_ uses to make sure all allocations succeeded. 2021-01-21 17:12:29 -08:00
John Safranek
6f21995ec5 Alerts
Expand the guard around sending the PSK identity alert with a more limited option than enabling it with all the other alerts.
2021-01-21 16:42:54 -08:00
David Garske
4b47bf7b4e Merge pull request #3090 from lechner/utf8
Convert a header file to UTF-8 encoding.
2021-01-21 16:32:27 -08:00
David Garske
2017de1b0f Merge pull request #3617 from haydenroche5/cmake_user_settings
Add support for user settings to CMake.
2021-01-21 16:21:55 -08:00
David Garske
07f459b8d7 Merge pull request #3650 from kojo1/RsaSetRNG
add wc_RsaSetRNG to doc
2021-01-21 16:21:00 -08:00
David Garske
830b3cb676 Merge pull request #3653 from kojo1/fopen_binMode
binary mode, fopen
2021-01-21 16:20:07 -08:00
David Garske
aa64a8e835 Merge pull request #3672 from embhorn/zd11547
Fix FIPS compile errors
2021-01-21 16:08:53 -08:00
Elms
95d83c9856 SSL: refactor to allow session override or mode 2021-01-21 16:03:02 -08:00
toddouska
1acd6dfab2 Merge pull request #3635 from SparkiDev/hmac_openssl_fix
HMAC OpenSSL API: initialise HMAC ctx on new and allow key length of 0
2021-01-21 15:57:30 -08:00
toddouska
a8cfc23683 Merge pull request #3642 from SparkiDev/ecdsa_set_k_one_loop
ECDSA set k: WOLFSSL_ECDSA_SET_K_ONE_LOOP only tries k and fails when…
2021-01-21 15:56:36 -08:00
toddouska
5837d5e8de Merge pull request #3649 from dgarske/stm_aesgcm_perf
STM32 AES GCM crypto hardware performance improvements
2021-01-21 15:55:58 -08:00
toddouska
85f08466f9 Merge pull request #3655 from SparkiDev/ext_cache_sess
SESSION: internal cache sessions can't be freed same as external
2021-01-21 15:54:16 -08:00
toddouska
e9e96dff6a Merge pull request #3662 from embhorn/gh3659
Check method for NULL
2021-01-21 15:50:58 -08:00
toddouska
7b12dddf75 Merge pull request #3666 from SparkiDev/tls13_tick_before_group
TLS 1.3: don't group and wait on send session ticket
2021-01-21 15:49:52 -08:00
toddouska
22e6d52b7b Merge pull request #3667 from SparkiDev/sp_fixes_4
SP int: fix _sp_mul_d inclusion checks
2021-01-21 15:49:03 -08:00
toddouska
b825e51d23 Merge pull request #3664 from SparkiDev/sp_math_all_ppc64
SP math all: Fixes for PPC64 compiler
2021-01-21 15:48:34 -08:00
toddouska
848ae3e514 Merge pull request #3668 from SparkiDev/jenkins_fixes_2
Compress: fix unused vars
2021-01-21 15:46:30 -08:00
toddouska
344ad2a3f8 Merge pull request #3625 from SparkiDev/disable_alg_fix
Disable algs: fix code to compile with various algs off/on
2021-01-21 15:45:29 -08:00
John Safranek
fe7be3e15f Alerts
Alerts the server sends between receiving the client's CCS message and before it sends its own CCS message should not be encrypted.
2021-01-21 14:48:10 -08:00
Elms
7112a6dd78 SSL: add test and fix SSL_get_verify_mode 2021-01-21 14:20:27 -08:00
David Garske
fbe5fe1945 Merge pull request #3669 from embhorn/gh3657
Protect use of globalRNG
2021-01-21 14:09:59 -08:00
Elms
af3d842663 SSL: add support for SSL_get_verify_mode 2021-01-21 13:45:20 -08:00
John Safranek
3e4c3d13fe Merge pull request #3671 from julek-wolfssl/dtls-scr-2
DTLS secure renegotiation fixes
2021-01-21 13:37:05 -08:00
Eric Blankenhorn
fd8527c15e Fix FIPS compile errors 2021-01-21 15:27:42 -06:00
Jacob Barthelmeh
b418936f72 account for FIPS and g++ builds 2021-01-22 04:21:23 +07:00
Jacob Barthelmeh
177f4aecb6 add all curves to benchmark 2021-01-22 03:20:41 +07:00
Jacob Barthelmeh
e3fa462d72 add brainpool benchmark of key generation 2021-01-22 02:55:26 +07:00
JacobBarthelmeh
fe37137f12 add brainpool benchmark 2021-01-22 02:44:11 +07:00
Juliusz Sosinowicz
d8a01c6f8b DTLS: client re-send on duplicate HelloRequest as well 2021-01-21 12:45:16 +01:00
Juliusz Sosinowicz
969de38764 Reset dtls_start_timeout on a timeout 2021-01-21 12:45:16 +01:00
Juliusz Sosinowicz
774fdc9fd6 Free HS data on rehandshake
When we call _Rehandshake before we receive application data and the receive application data during the renegotiation process then it is possible for the send queue to be preemptively deleted
2021-01-21 12:45:16 +01:00
David Garske
17f101ef13 Fix for ARM Keil MDK compiler issue with DECLARE_VAR_INIT. 2021-01-20 16:57:30 -08:00
Eric Blankenhorn
02114e7739 Protect use of globalRNG 2021-01-20 16:30:18 -06:00
Eric Blankenhorn
a3cbcf255f Fix from review 2021-01-20 11:34:02 -06:00
David Garske
57b06f700d Merge pull request #3656 from haydenroche5/windows_rsa_public_decrypt
Allow wolfSSL_RSA_public_decrypt on Windows.
2021-01-20 09:09:49 -08:00
Hayden Roche
12abb5191d Allow wolfSSL_RSA_public_decrypt on Windows. 2021-01-20 06:57:59 -06:00
Sean Parkinson
55be60a63e Compress: fix unused vars
configure: C_EXTRA_FLAGS="-fdebug-types-section -g1" --disable-memory
--enable-mcapi --enable-ecc --enable-sha512 --with-libz
2021-01-20 13:09:43 +10:00
Sean Parkinson
e3182ff06e SP int: fix _sp_mul_d inclusion checks
configuration: --disable-asn --disable-filesystem --disable-shared --enable-cryptonly --enable-sp=smallrsa2048 --enable-sp-math --disable-dh --disable-ecc --disable-sha224 --enable-rsavfy --enable-rsapss
2021-01-20 12:38:10 +10:00
Sean Parkinson
7ec8d70eee TLS 1.3: don't group and wait on send session ticket
The state machine goes on and frees the handshake resources which frees
the digest for the client Finished message.
2021-01-20 10:57:37 +10:00
David Garske
9044f709c1 Add support for STM32_AESGCM_PARTIAL build option to speedup platforms that allow AAD header sizes that are not a multiple of 4 bytes. ZD 11364. 2021-01-19 13:54:53 -08:00
David Garske
ea5af87de3 Revert of uint32_t and uint8_t changes in PR #3658, which caused warnings. 2021-01-19 13:54:26 -08:00
David Garske
9ea5041d9d Benchmark for GMAC (AES GCM GHASH). 2021-01-19 13:42:25 -08:00
John Safranek
eaa1bc1ace Merge pull request #3595 from julek-wolfssl/dtls-only-resend-on-timeout
Only resend previous flight on a timeout from the network layer
2021-01-19 10:43:13 -08:00
David Garske
59305e9346 Fix for new include to pull in the AES GCM IV sizes in FIPS mode. 2021-01-19 07:53:36 -08:00
David Garske
8d1d616b39 Cleanup for the AES GCM IV and CCM IV sizes, which are missing with some FIPS builds. 2021-01-19 07:53:36 -08:00
David Garske
219cbd47eb Added support for AES GCM session ticket encryption. If ChaCha/Poly is disabled it will use AES GCM. Thanks Sean for the code in ZD 11511. 2021-01-19 07:53:36 -08:00
Sean Parkinson
523119289b SP math all: Fixes for PPC64 compiler 2021-01-19 21:30:36 +10:00
David Garske
209c4c08e1 Merge pull request #3663 from SparkiDev/sp_int_fixes_3
SP int: make sp_copy more available
2021-01-18 22:02:34 -08:00
Sean Parkinson
7d869a43b4 ECDSA set k: WOLFSSL_ECDSA_SET_K_ONE_LOOP only tries k and fails when it fails 2021-01-19 14:07:03 +10:00
Sean Parkinson
949af909bf SP int: make sp_copy more available 2021-01-19 11:01:00 +10:00
Sean Parkinson
6a5e802cc4 Disable algs: fix code to compile with various algs off/on
benchmark.c: Only X25519/Ed25519/X448/Ed448 now compiles
asn.c/asn.h: Only DSA now compiles
2021-01-19 09:54:21 +10:00
toddouska
a13e9bde29 Merge pull request #3599 from julek-wolfssl/nginx-mem-leak
Fix memory leaks
2021-01-18 15:31:50 -08:00
toddouska
5b7e6ccc14 Merge pull request #3613 from SparkiDev/sp_rand_prime_len
SP rand_prime: fix length check
2021-01-18 15:23:15 -08:00
toddouska
279c3f4c1b Merge pull request #3614 from SparkiDev/aes_test_fix
AES test: Remove unneeded loop
2021-01-18 15:22:06 -08:00
toddouska
78d2b3b440 Merge pull request #3616 from SparkiDev/sp_int_funcs
SP int: Hide func decls if only available with WOLFSSL_SP_MATH_ALL
2021-01-18 15:21:39 -08:00
toddouska
267b00e0a2 Merge pull request #3620 from haydenroche5/zd11434
Clamp the normalization value at the end of sp_mont_norm.
2021-01-18 15:21:03 -08:00
toddouska
85faf974aa Merge pull request #3621 from SparkiDev/sp_mac_arm64
SP arm64 MAC: stop non-ct mod inv from using x29
2021-01-18 15:19:46 -08:00
toddouska
87a0ee5ef4 Merge pull request #3622 from SparkiDev/sp_int_fixes_2
SP math all: doco fix and don't assign 0 to o
2021-01-18 15:19:06 -08:00
toddouska
4b5d7d0595 Merge pull request #3624 from SparkiDev/tls13_set_groups
TLS 1.3 key share: add a key share from supported list
2021-01-18 15:18:14 -08:00
toddouska
8ae609d078 Merge pull request #3626 from SparkiDev/tls13_middlebox_fix
TLS send change cipher: Don't set keys when negotiating TLS 1.3
2021-01-18 15:14:58 -08:00
toddouska
1e9394d5a8 Merge pull request #3627 from elms/EVP/ofb_rc4_size
EVP: return proper cipher type and block size
2021-01-18 15:13:55 -08:00
Eric Blankenhorn
50843b22cd Check method for NULL 2021-01-18 16:18:49 -06:00
toddouska
563e3c6b60 Merge pull request #3628 from SparkiDev/even_mp_test
RSA/DH test: even number error check fixup
2021-01-18 13:39:54 -08:00
toddouska
cd78a5dfb2 Merge pull request #3630 from SparkiDev/no_fs_all
X509 API no file system: hide wolfSSL_X509_NAME_print_ex_fp
2021-01-18 13:39:21 -08:00
toddouska
d514cc31b3 Merge pull request #3631 from SparkiDev/rsa_vfy_only_sp_fixes
RSA: verify only build fixes
2021-01-18 13:38:52 -08:00
toddouska
5a7e79cbfd Merge pull request #3632 from SparkiDev/all_not_tls13_fix
Configuration: enable all, disable TLS 1.3 - turn off TLS 1.3 only op…
2021-01-18 13:37:34 -08:00
toddouska
3bae6e2dc2 Merge pull request #3633 from SparkiDev/ecc_gen_z_fix
ECC gen z: convert blinding value to Montgomery form before using
2021-01-18 13:36:13 -08:00
toddouska
fff3c77568 Merge pull request #3644 from dgarske/zd11476
Fix for sniffer with TLS v1.2 static ECDH ciphers
2021-01-18 13:32:57 -08:00
toddouska
b1c8825e74 Merge pull request #3647 from dgarske/zd11424
Fix for TLS v1.3 early data mac digest
2021-01-18 13:31:44 -08:00
toddouska
67d4f7c37b Merge pull request #3658 from SparkiDev/curve25519_uint64_t
Curve25519: replace uint64_t with word64
2021-01-18 13:29:16 -08:00
Sean Parkinson
ac76ef8ee7 Curve25519: replace uint64_t with word64
Remove usages of stdint.h types
Added a sword type for signed words.
2021-01-18 17:30:36 +10:00
Sean Parkinson
eda1b52ee2 TLS 1.3 integrity only: initialize HMAC
Ensure the HMAC object is initialized when allocated.
2021-01-15 11:27:26 +10:00
Sean Parkinson
878f797a2b SESSION: internal cache sessions can't be freed same as external
refMutex is initialized for external sessions but not internal.
Differentiate by ensuring the refCount is always 1 or more for external
and 0 for internal.
2021-01-15 11:02:34 +10:00
John Safranek
0ac43bb095 Merge pull request #3618 from haydenroche5/ocsp_self_signed_issue
Modify ParseCertRelative to ensure issuerKeyHash gets parsed and copi…
2021-01-14 14:22:06 -08:00
Takashi Kojo
d72f0a50f4 binary mode fopen to avoid auto expand to CR/LF on Widonws 2021-01-15 06:05:55 +09:00
Takashi Kojo
e21fddf553 add wc_RsaSetRNG to doc 2021-01-14 10:42:49 +09:00
Sean Parkinson
5a4dfc1a29 Don't set encrypt side if sending early data
Make check to see if early data has been or is going to be sent.
Last message encrypted with this key is EndOfEarlyData message.
2021-01-14 09:44:09 +10:00
David Garske
22ce25afba Merge pull request #3648 from douzzer/disable-ecc-enable-dsa
--disable-ecc --enable-dsa
2021-01-13 14:00:20 -08:00
Daniel Pouzzner
1e49bc2e82 asn.c/asn.h: fix --disable-ecc --enable-dsa. 2021-01-13 13:55:06 -06:00
David Garske
d7aa8e1795 Fix for issue where mac digest changes between early data and server_hello, which can leave section of response uninitialized. ZD11424 2021-01-13 11:10:12 -08:00
Sean Parkinson
382deb1f86 Merge pull request #3645 from douzzer/sp_copy_pedantic_error_handling
sp_copy() pedantic error handling
2021-01-13 10:05:35 +10:00
Daniel Pouzzner
f8013580df sp_int.c: fix 4 instances of "Value stored to 'o' is never read" found by LLVM9 scan-build. 2021-01-12 15:01:28 -06:00
Daniel Pouzzner
fb82114866 sp_int.c: pay attention to the return value from sp_copy(), for general hygiene and to eliminate an inlining-related warning in sp_todecimal(). 2021-01-12 14:58:29 -06:00
David Garske
aaec9832e4 Fix for sniffer with TLS v1.2 static ECDH ciphers. The sniffer will now correctly try using the key for ECC if the RSA key decode fails. ZD 11476. 2021-01-12 09:49:32 -08:00
Sean Parkinson
129f3fd13f HMAC OpenSSL API: initialise HMAC ctx on new and allow key length of 0 2021-01-12 09:16:24 +10:00
Elms
8fec1de07c EVP: address CTR block size 2021-01-11 12:03:01 -08:00
Elms
3b07f5d8e3 EVP: expand tests for EVP_CIPHER_block_size 2021-01-11 12:03:01 -08:00
Elms
a6535528f3 EVP: add tests for openssl block size (including RC4) 2021-01-11 12:03:01 -08:00
Elms
0cccf58fec EVP: return proper cipher type for AES OFB 2021-01-11 12:03:01 -08:00
David Garske
88faef9bd9 Merge pull request #3641 from JacobBarthelmeh/Testing
add ca-cert-chain.der to renewcerts.sh, update ed25519 certs and gen …
2021-01-11 11:00:55 -08:00
Jacob Barthelmeh
e2b411805d add ca-cert-chain.der to renewcerts.sh, update ed25519 certs and gen script 2021-01-12 00:40:15 +07:00
Hayden Roche
a3cc4110b0 Clamp the normalization value at the end of sp_mont_norm. 2021-01-11 09:59:11 -06:00
Hayden Roche
798d9ed0d5 Various CMake changes.
- Add support for user settings to CMake.
- Update version number.
- Add an option to enable/disable generation of config.h and the HAVE_CONFIG_H
  define.
2021-01-08 12:15:58 -06:00
Juliusz Sosinowicz
a745947498 Code review changes 2021-01-08 15:27:30 +01:00
Juliusz Sosinowicz
23a4d64caf wolfSSL_EVP_PKEY_set1_EC_KEY should generate PKCS8 internal DER buffer
This PKCS8 buffer should include both the private and the public parts of the key.
2021-01-08 15:27:30 +01:00
Juliusz Sosinowicz
cd4affddac Set ecc_key.rng when using ECC_TIMING_RESISTANT
Set ecc_key.rng to either a local rng struct or the globalRNG object when using ECC_TIMING_RESISTANT
Add helpful logs to some ecc functions
2021-01-08 15:18:00 +01:00
Juliusz Sosinowicz
0fe3efb8b4 Add option to only resend previous DTLS flight on a network read timeout 2021-01-07 19:13:35 +01:00
Chris Conlon
c57fee136a Merge pull request #3568 from miyazakh/espidf_unittest
fix wolfssl unit test on ESP-IDF
2021-01-07 09:18:18 -07:00
Sean Parkinson
f955c92008 ECC gen z: convert blinding value to Montgomery form before using 2021-01-07 11:30:58 +10:00
David Garske
209ad82df2 Merge pull request #3629 from ejohnstown/aarch64
M1 Support
2021-01-06 14:12:45 -08:00
David Garske
931dc5b29f Merge pull request #3619 from tmael/fuzz_math
Fix for OSS-Fuzz issue #29103: out-of-bounds read in TLSX_CSR_Parse()
2021-01-06 14:10:28 -08:00
John Safranek
d4e13796c2 M1 Support
We separate out 64-bit desktop support based on the Intel check. With
the advent of the new Apple chip, ARM can also be a desktop processor.
Detect it like we do the Intel 64-bit, and treat it similarly with
respect to fast and normal math.
2021-01-06 09:21:07 -08:00
Sean Parkinson
fa86c1aa91 Configuration: enable all, disable TLS 1.3 - turn off TLS 1.3 only options
configuration: --enable-all --disable-tls13
Post-handshake authentication and HRR cookie are enable with
'--enable-all' but disabling TLS 1.3 caused configure to fail.
Don't enable these TLS 1.3 only options when TLS 1.3 is disabled.

Also fix up tests that don't work without TLS 1.3 enabled.
2021-01-06 14:19:57 +10:00
Sean Parkinson
cd0670cbd7 RSA: verify only build fixes
configuration: --disable-ecc --disable-dh --disable-aes --disable-aesgcm
--disable-sha512 --disable-sha384 --disable-sha --disable-poly1305
--disable-chacha --disable-md5 --disable-sha3 --enable-cryptonly
--disable-inline --enable-rsavfy --disable-asn --disable-oaep
--disable-rng --disable-filesystem --enable-sp=rsa2048 --enable-sp-math
Fixes to make code build again.
2021-01-06 11:58:15 +10:00
Sean Parkinson
5accd57c21 X509 API no file system: hide wolfSSL_X509_NAME_print_ex_fp
configuration: --enable-all --disable-filesystem
wolfSSL_X509_NAME_print_ex_fp has XFILE as a parameter and cannot be
compiled with --disable-filesystem
2021-01-06 11:05:58 +10:00
Sean Parkinson
10722fba14 RSA/DH test: even number error check fixup
Configuration: --enable-sp=3072
Test only enabled when SP is used.
Return codes checked are those we expect from SP.
Code, with configuration, is compiled so that 2048-bit operations are
not going to SP and the error returns were not correct.
2021-01-06 09:39:24 +10:00
Hideki Miyazaki
b8997d0b47 revert test_wolfssl.c changes
add test.c as src target
2021-01-05 16:20:42 +09:00
Hideki Miyazaki
99d4a7417a fix wolfssl unit test on ESP-IDF 2021-01-05 16:08:05 +09:00
Sean Parkinson
a6b69b6864 TLS send change cipher: Don't set keys when negotiating TLS 1.3 2021-01-05 14:32:48 +10:00
Sean Parkinson
f196c60c66 TLS 1.3 key share: add a key share from supported list 2021-01-05 13:08:48 +10:00
Sean Parkinson
1b94309a6c SP math all: doco fix and don't assign 0 to o
o is not used after that point so no need to zero it.
2021-01-05 10:40:34 +10:00
Sean Parkinson
2a2b194d71 SP arm64 MAC: non-ct mod inv not use so many registers 2021-01-05 10:23:14 +10:00
Tesfa Mael
46e260dd61 Correct unsigned arithmetic 2021-01-04 15:48:27 -08:00
Chris Conlon
54f072fd8d Merge pull request #3607 from douzzer/WOLFSSL_TEST_SUBROUTINE
test.c: add WOLFSSL_TEST_SUBROUTINE macro to make subtests optionally static
2021-01-04 10:10:56 -07:00
Hayden Roche
96ece3ac7d Modify ParseCertRelative to ensure issuerKeyHash gets parsed and copied into the
decoded cert for self-signed CA certs.

The bit of code that does this copy was previously inside a conditional that's
only entered if the certificate is not self-signed. The primary purpose of this
conditional is to set the maxPathLen field. It's possible that the copying of
the issuerKeyHash was mistakenly included in the "else" block here, when it
should be outside.
2021-01-04 10:34:09 -06:00
Sean Parkinson
b5403fe6b9 SP int: Hide func decls if only available with WOLFSSL_SP_MATH_ALL 2021-01-04 16:39:51 +10:00
Sean Parkinson
413bde9146 Merge pull request #3608 from tmael/sp_squre
Fix SP integer square
2021-01-04 16:29:40 +10:00
Sean Parkinson
faf7d307b4 Merge pull request #3606 from dgarske/zd11438
Fix for possible ECC sign memory leak with custom "k"
2021-01-04 15:39:53 +10:00
Tesfa Mael
01c27068c1 Correct SP x->used with sp_clamp() 2021-01-03 20:08:06 -08:00
Sean Parkinson
68c2e36ad5 AES test: Remove unneeded loop 2021-01-04 12:43:34 +10:00
Sean Parkinson
40ab08be45 SP rand_prime: fix length check
-ve length indicates to use a BBS prime (last two bits set)
2021-01-04 12:31:59 +10:00
John Safranek
ef56bc09f1 Merge pull request #3596 from julek-wolfssl/dtls-multiple-hellorequest
Calling wolfSSL_Rehandshake during renegotiation should not be an error
2020-12-31 13:53:32 -08:00
David Garske
fbb3e9fca3 Merge pull request #3605 from tmael/cm_free
Free mutex and fix tls13.test script
2020-12-31 08:40:35 -08:00
David Garske
c9ac64d77d Merge pull request #3609 from douzzer/lkm_kvmalloc
use kvmalloc()/kvfree() for heap allocations in the linuxkm build
2020-12-31 08:37:53 -08:00
Daniel Pouzzner
9dc8721032 linuxkm: on kernels >= 4.12, use kvmalloc()/kvfree() and a partial implementation of realloc() leveraging them, rather than kmalloc()/kfree()/krealloc(). this makes large allocations possible and relatively safe. note that the realloc() implementation fails gracefully when the supplied pointer is larger than the page size, but otherwise works normally. 2020-12-31 00:30:35 -06:00
Daniel Pouzzner
a2dec7ce9c test.c: work around toolchain/ecosystem bug on aarch64 linux 4.14.0-xilinx-v2018.3. 2020-12-30 20:03:13 -06:00
Tesfa Mael
9598c03716 Free mutex and fix test script 2020-12-30 17:40:15 -08:00
Daniel Pouzzner
3d88676ff1 test.c: add WOLFSSL_TEST_SUBROUTINE macro to qualify all previously global subtest handlers, defaulting to the empty string. this restores the version<=4.5 test.c namespace allowing end users to call the tests directly piecemeal. --enable-linuxkm[-defaults] sets -DWOLFSSL_TEST_SUBROUTINE=static for extra namespace hygiene. 2020-12-30 16:12:08 -06:00
David Garske
060ebd1ca2 Fix for possible ECC sign memory leak when using WOLFSSL_ECDSA_SET_K and wc_ecc_sign_set_k, where the k is not valid. ZD 11438. 2020-12-30 09:54:54 -08:00
David Garske
7fb2c0f63f Merge pull request #3603 from haydenroche5/zd11434
Ensure that all leading zeros are skipped in sp_tohex.
2020-12-30 08:28:52 -08:00
David Garske
1b6a988dc0 Merge pull request #3601 from tmael/mp_rand_p
Add parameter check in sp_rand_prime()
2020-12-30 08:20:18 -08:00
Hayden Roche
81f70fba5f Ensure that all leading zeros are skipped in sp_tohex. 2020-12-30 08:32:01 -06:00
Tesfa Mael
d366ca74af Review comments and cast 2020-12-29 19:48:45 -08:00
John Safranek
c482d16029 Merge pull request #3544 from haydenroche5/ocsp_stapling_bug
Fix bug where OCSP stapling wasn't happening even when requested by client
2020-12-29 14:23:10 -08:00
Chris Conlon
da007ecd7b Merge pull request #3409 from kojo1/mqx
add IDE/MQX
2020-12-29 13:53:37 -07:00
David Garske
c6abb59343 Merge pull request #3593 from tmael/sp_cast
casting fix for clang-12
2020-12-29 09:51:37 -08:00
tmael
837e9856f5 Merge pull request #3590 from dgarske/stcube_rel
Fixes for STM Cube Pack rename
2020-12-29 09:37:39 -08:00
David Garske
dc21d56545 Merge pull request #3600 from douzzer/low-resources-fixes
--enable-lowresource --enable-sp-math-all
2020-12-29 08:01:51 -08:00
Daniel Pouzzner
2bd0d4c467 wolfcrypt/src/evp.c: fix wolfSSL_EVP_CipherUpdate_GCM() to not fail when inl is zero, to properly handle realloc implementations that return NULL for zero-size allocations. 2020-12-28 23:49:48 -06:00
Daniel Pouzzner
fbcfc6adbf test.c: rehab fail codes in ecc_test_curve_size(). 2020-12-28 21:56:39 -06:00
Daniel Pouzzner
b0ca598d59 sp_int.h and ecc.h: add one more to SP_INT_DIGITS and FP_SIZE_ECC, to accommodate extra digit used by sp_mul(), sp_mulmod(), sp_sqr(), and sp_sqrmod(). 2020-12-28 18:06:18 -06:00
Tesfa Mael
cedec3ae28 Add parameter check 2020-12-28 15:53:56 -08:00
Daniel Pouzzner
764b3cf09d examples/client/client.c: add missing !defined(NO_SESSION_CACHE) gate around wolfSSL_get_session() for "print out session" code. 2020-12-28 17:49:58 -06:00
Juliusz Sosinowicz
8c07aafc43 Fix memory leaks
- Freeing the session object depends on the callback return
- The session object is malloc'ed when ssl->options.internalCacheOff
- wolfSSL_CTX_use_certificate needs to own the cert when KEEP_OUR_CERT because either it is up ref'ed or copied
2020-12-28 22:33:01 +01:00
Juliusz Sosinowicz
54479359f3 Calling wolfSSL_Rehandshake during renegotiation should not be an error
If we call wolfSSL_Rehandshake during a renegotiation then it should not result in a SECURE_RENEGOTIATION_E. wolfSSL_Rehandshake might be called when multiple HelloRequest messages are processed or the user could call this API during renegotiation. Either way wolfSSL should not treat this as an error if renegotiation is enabled.
2020-12-24 12:10:04 +01:00
David Garske
8b517975d1 Fixes from peer review. 2020-12-23 16:54:29 -08:00
elms
4280861af0 Merge pull request #3591 from dgarske/wolftpm
Added helper configure option '--enable-wolftpm`
2020-12-23 12:22:44 -08:00
Tesfa Mael
5c4011b3b4 cast to int 2020-12-23 12:09:35 -08:00
David Garske
b2155e6e26 Merge pull request #3592 from douzzer/verbose-heap-instrumentation
--enable-trackmemory=verbose
2020-12-23 11:40:45 -08:00
Daniel Pouzzner
d5dd35c739 add --enable-trackmemory=verbose, and add WOLFSSL_TEST_MAX_RELATIVE_HEAP_{BYTES,ALLOCS} and -m/-a (runtime counterparts) to wolfcrypt_test(). also add -h to wolfcrypt_test() to print available options. 2020-12-23 12:03:06 -06:00
David Garske
daa6833f37 Added helper configure option '--enable-wolftpm` to enable options used by wolfTPM. This enables (cert gen/req/ext, pkcs7, cryptocb and aes-cfb). 2020-12-23 08:09:24 -08:00
David Garske
e0f36baebe Fixes for STM Cube Pack rename. 2020-12-23 07:02:12 -08:00
Daniel Pouzzner
542ad0a81b linuxkm/module_hooks.c: separate cleanup into static libwolfssl_cleanup(), and call it from wolfssl_init() if wolfcrypt_test() fails. 2020-12-22 21:57:17 -06:00
David Garske
9c87f979a7 Merge pull request #3586 from tmael/cc310_tests
Fix Cryptocell and revert test.c use of static const
2020-12-22 16:58:25 -08:00
Daniel Pouzzner
f06361ddf6 add WOLFSSL_SMALL_STACK_STATIC macro, and use it to conditionally declare const byte vectors in test.c static for stack depth control -- currently only enabled for linuxkm, but should be compatible with any target with a TLB (virtual memory). 2020-12-22 17:12:57 -06:00
David Garske
90b14e260d Merge pull request #3588 from JacobBarthelmeh/Release
fix regression of --enable-wpas=small build
2020-12-22 14:32:33 -08:00
Tesfa Mael
56071ac21f Fix for Cryptocell tests 2020-12-22 16:23:16 -06:00
Jacob Barthelmeh
81980aa7b6 fix regression of --enable-wpas=small build 2020-12-23 01:30:34 +07:00
Chris Conlon
85d0a71747 Merge pull request #3587 from JacobBarthelmeh/Release
add blog link to README and adjust for nginx build
2020-12-22 08:50:21 -07:00
Jacob Barthelmeh
8ecc2f1771 add blog link to README and adjust for nginx build 2020-12-22 20:14:38 +07:00
toddouska
5eddcb24dd Merge pull request #3584 from JacobBarthelmeh/Release
prepare for release 4.6.0
2020-12-21 14:20:14 -08:00
toddouska
8b48353c18 Merge pull request #3585 from dgarske/async_rel
Fixes in preparation for release
2020-12-21 14:15:45 -08:00
David Garske
53e79f1053 Fix for mp_radix_size with radix 2 and mp_int equal to zero. Fix applies to normal and fast math only. ZD11419. 2020-12-21 12:41:32 -08:00
Jacob Barthelmeh
47c186df34 prepare for release 4.6.0 2020-12-22 02:33:58 +07:00
David Garske
b4111e2f65 Fix for possible leaks with wc_ecc_sign_set_k when building with WOLFSSL_CUSTOM_CURVES enabled. ZD11416. 2020-12-21 11:27:14 -08:00
Chris Conlon
476a3e5d4f fix wc_curve25519_generic() ifdef on NXP LTC builds 2020-12-21 23:57:39 +07:00
David Garske
1c0a6b92ad Fix RSA hash warning for operations with no hash specified. 2020-12-21 08:37:15 -08:00
David Garske
28420b6e4d Fix for building with --with-intelqa and custom curves disabled. 2020-12-21 08:36:48 -08:00
David Garske
e6c71a1465 Merge branch 'master' into mqx 2020-12-21 07:28:26 -08:00
Jacob Barthelmeh
8c16bd2450 fix for infer memory leak report and for clang unused warning 2020-12-21 17:24:35 +07:00
Jacob Barthelmeh
5bd9c1b60d fix for haproxy build 2020-12-21 17:24:35 +07:00
Jacob Barthelmeh
4de1c1b037 add cert gen to lighty build for function wolfSSL_PEM_write_bio_X509 2020-12-21 17:24:35 +07:00
Jacob Barthelmeh
4ef5956757 fix for declaring variable with Windows build 2020-12-21 17:24:35 +07:00
Jacob Barthelmeh
f30d4c1b0b fix for nightly g++ build test 2020-12-21 17:24:35 +07:00
JacobBarthelmeh
9c64630c56 Merge pull request #3582 from douzzer/scan-build-fix-20201218
fix deadstore in ssl.c warned by LLVM11 scan-build.
2020-12-21 17:23:13 +07:00
Daniel Pouzzner
4d1d891a34 src/ssl.c: fix deadstore in wolfSSL_PEM_X509_X509_CRL_X509_PKEY_read_bio() warned by LLVM11 scan-build. 2020-12-18 17:30:25 -06:00
toddouska
0df41d865f Merge pull request #3580 from douzzer/fix-mp-read-bin-bit-accounting
fix mp_read_unsigned_bin() calculation of mp_int.used_bits
2020-12-18 14:41:16 -08:00
toddouska
fcf060b19b Merge pull request #3581 from cconlon/releasefixes_selftest
Release fixes for CAVP selftest builds
2020-12-18 14:15:53 -08:00
toddouska
ea3c385021 Merge pull request #3579 from SparkiDev/sp_math_all_4096
SP math all: enable 4096-bit support by default for x64
2020-12-18 14:14:36 -08:00
toddouska
7e5f838f48 Merge pull request #3577 from dgarske/releasefixes_async
Release fixes for asynchronous crypto
2020-12-18 14:10:01 -08:00
toddouska
fe92d29eb5 Merge pull request #3574 from cconlon/releasefixes
Release fixes for Jenkins tests, example client
2020-12-18 14:06:27 -08:00
toddouska
cdc0753bfb Merge pull request #3571 from JacobBarthelmeh/Testing
Some initial testing and clean up
2020-12-18 14:05:26 -08:00
toddouska
814ed3f5a6 Merge pull request #3439 from julek-wolfssl/libest
Compatibility layer additions for cisco/libest
2020-12-18 14:03:34 -08:00
toddouska
bdd4799400 Merge pull request #3578 from SparkiDev/x509_len
ASN X509: Don't allow any more data after signature
2020-12-18 09:54:39 -08:00
Chris Conlon
a222be1fa3 rename dup to dupl, fix variable shadow warning on i386 selftest compiler 2020-12-18 10:53:55 -07:00
Chris Conlon
ae984508cc fix CAVP selftest v2 build, issue with pkcs7.h 2020-12-18 10:26:19 -07:00
Juliusz Sosinowicz
6226edb394 Use CSR with smaller key size 4096 -> 2048 2020-12-18 12:48:25 +01:00
Daniel Pouzzner
b0ec2bf058 wolfcrypt/src/integer.c: fix mp_read_unsigned_bin() accounting on mp_int.used_bits to avoid spurious .used > .alloc condition at loop exit. 2020-12-18 02:05:18 -06:00
Sean Parkinson
7f5a85ae85 Reduce stack usage 2020-12-18 13:15:50 +10:00
Sean Parkinson
e452b74470 SP math all: enable 4096-bit support by default for x64 2020-12-18 10:20:33 +10:00
David Garske
e49409b13a Fix api.c tests using "free()" instead of "XFREE" causing issues with custom allocators. 2020-12-17 16:08:46 -08:00
Sean Parkinson
a4f8a21b9b ASN X509: Don't allow any more data after signature 2020-12-18 10:02:38 +10:00
David Garske
ce0a2f3bc9 Fixes for Cavium Nitrox and Intel QuickAssist. 2020-12-17 15:53:28 -08:00
David Garske
73a5ee5ffb Fix for async post handshake auth. The re-handshake was not resetting the processReply state. 2020-12-17 15:10:11 -08:00
Chris Conlon
420a040774 fix WOLFSSL_ASYNC_CRYPT usage in test.c, test_wolfSSL_OBJ_ln() in api.c 2020-12-17 11:08:36 -07:00
Jacob Barthelmeh
97bc5e870c fix for default OCSP cmp value and fix for WOLFSSL_NO_CLIENT_AUTH build 2020-12-18 00:36:00 +07:00
Chris Conlon
e8785666c4 fix NXP LTC build with wc_curve25519_generic(), only supports single basepoint 2020-12-17 09:50:18 -07:00
toddouska
b11b08bb10 Merge pull request #3543 from WKJay/master
Port for RT-Thread
2020-12-17 08:36:09 -08:00
Juliusz Sosinowicz
f2694134b0 Fix after rebase 2020-12-17 17:28:29 +01:00
Chris Conlon
71c6654687 Merge pull request #3573 from douzzer/scripts-nix-unportable-timeout-wrapper
scripts/: nix `timeout` wrappers in ocsp-stapling[2].test
2020-12-17 09:13:43 -07:00
Juliusz Sosinowicz
c03744db61 Refactor wc_CheckPrivateKey
- Change wc_CheckPrivateKey to wc_CheckPrivateKeyCert and wc_CheckPrivateKey
- wolfSSL_X509_check_private_key no longer needs to decode cert to check key
- Fix scope in api.c
2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
dc266bc524 Call X509_REQ_get_extensions and X509_get_ext_by_NID on a CSR object 2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
383df620bf Add CSR test with Extension Request attribute 2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
24b89928dc Code review names changes and refactoring 2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
3231cfe9e0 Refactor extension stack generation 2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
8b9f8029a8 Sanity check protocol version. 2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
22ae66dfe1 wolfSSL_BIO_do_connect should look for a socket bio in the chain 2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
2dd28ec5b3 Check if downgrading is allowed in SetSSL_CTX
Pkcs7 cert limit based on build
2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
77c730361e Jenkins fixes 2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
25f5427bdd Rebase and test fixes 2020-12-17 14:27:46 +01:00
Juliusz Sosinowicz
b528a1a344 Plug memory leaks 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
7df8f2e2bb Internal unit tests 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
f5c463148f check null 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
031ce68546 Differentiate between server and client sessions
This is important is the client and server share memory space. If a server and client both save the same session in SessionCache it may cause inconsistencies. The hash of the sessionID will be the same causing one of the sides to overwrite the other. A possible problem is that the peer certificate will be incorrect for one of the sides.
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
8edeaae3e2 Add DSA support to x509 certs 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
031ca80fe7 Fix max SSL version handling for client
Enable CRL when adding one to store
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
2197748a51 Implement wolfSSL_X509_check_private_key 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
cb84213ffd Support more extensions 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
cd20512b90 wolfSSL_X509_REQ_add1_attr_by_txt for libest 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
911d5968b4 Store more certs in PKCS7 struct 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
acf3156fac Dynamically allocate memory in wolfSSL_i2d_PKCS7_bio 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
c405c3477f Protect against invalid write in RsaPad_PSS 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
2a9bb906a9 Implement wolfSSL_BIO_*_connect and wolfSSL_BIO_set_conn_port
Forgot to commit csr.dsa.pem for api.c
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
78a20ec3ae Extension manipulation 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
65c6a71bde Init wolfSSL_X509_REQ_add_extensions 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
6a635b339c Fixes
- Fix challengePw copy in ReqCertFromX509
- Proper header length in wolfSSL_PEM_X509_X509_CRL_X509_PKEY_read_bio
- Special case for extended key usage in wolfSSL_OBJ_cmp
- Numerical input in wolfSSL_OBJ_txt2obj can just be encoded with EncodePolicyOID. Searching for the sum can return wrong values since they are not unique.
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
b808124a47 Add DSA support to ConfirmSignature and add DSAwithSHA256 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
2a20896e44 Add CRL loading to wolfSSL_PEM_X509_INFO_read_bio 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
86d2177876 wolfSSL_X509_resign_cert updates x509 der buffer as well 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
932ef25e79 Set default digest NID 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
2689d499b9 Tests starting to pass 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
ff7b8d3715 Don't attempt TLS 1.3 if server options disable it 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
2e2beb279d WIP 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
8e62bf2588 Pass libest estclient_simple example 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
aaba7ed286 OpenSSL Compat layer
Implement/stub:
- wolfSSL_X509V3_EXT_add_nconf
- wolfSSL_EVP_PKEY_copy_parameters
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
ff2574b3cb OpenSSL Compat layer
Implment/stub:
- wolfSSL_X509_NAME_delete_entry
- wolfSSL_X509_get_ext_by_OBJ
- wolfSSL_a2i_ASN1_INTEGER
- X509V3_parse_list
- wolfSSL_TXT_DB_write
- wolfSSL_TXT_DB_insert
- wolfSSL_EVP_PKEY_get_default_digest_nid
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
753a3babc8 OpenSSL Compat layer
Implement/stub:
- wolfSSL_NCONF_get_number
- wolfSSL_EVP_PKEY_CTX_ctrl_str
- wolfSSL_PKCS12_verify_mac
- wc_PKCS12_verify_ex
- wolfSSL_BIO_new_fd
- wolfSSL_X509_sign_ctx
- wolfSSL_ASN1_STRING_cmp
- wolfSSL_ASN1_TIME_set_string
- X509V3_EXT_add_nconf
- X509V3_set_nconf
Implement TXT_DB functionality:
- wolfSSL_TXT_DB_read
- wolfSSL_TXT_DB_free
- wolfSSL_TXT_DB_create_index
- wolfSSL_TXT_DB_get_by_index
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
e7f1d39456 OpenSSL Compat layer
Implement WOLFSSL_CONF_VALUE:
- wolfSSL_CONF_VALUE_new
- wolfSSL_CONF_VALUE_new_values
- wolfSSL_CONF_add_string
- wolfSSL_X509V3_conf_free
- wolfSSL_sk_CONF_VALUE_push
- wolfSSL_NCONF_load
- wolfSSL_NCONF_free
- wolfSSL_CONF_new_section
- wolfSSL_CONF_get_section
Implment some buffer functions
- wolfSSL_strlcat
- wolfSSL_strlcpy
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
42d4f35a98 Implement OpenSSL Compat API:
- Implement lhash as a stack with hash members
- wolfSSL_lh_retrieve
- wolfSSL_LH_strhash
- IMPLEMENT_LHASH_COMP_FN
- IMPLEMENT_LHASH_HASH_FN
- wolfSSL_sk_CONF_VALUE_new
- wolfSSL_sk_CONF_VALUE_free
- wolfSSL_sk_CONF_VALUE_num
- wolfSSL_sk_CONF_VALUE_value
- wolfSSL_NCONF_new
- wolfSSL_NCONF_get_string
- wolfSSL_NCONF_get_section
- wolfSSL_lh_WOLFSSL_CONF_VALUE_retrieve
- wolfSSL_CONF_modules_load
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
be98404b3b Implement wolfSSL_X509_REQ_verify 2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
4aa30d0bde Add CSR parsing capabilities to ParseCertRelative and wc_GetPubX509
- wolfSSL_BIO_get_mem_data now returns the last memory BIO in the chain
- Change wolfSSL_BIO_pending calls to wolfSSL_BIO_get_len calls to get accurate length depending on BIO
- Refactor X509 and X509_REQ functions to reuse similar code
- X509 and X509_REQ i2d functions now generate their DER outputs instead of returning the input DER
- Signature generated by wolfSSL_X509_resign_cert is now saved in the x509->sig buffer and added when calling *i2d
- Add test_wolfSSL_d2i_X509_REQ
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
1a50d8e028 WIP
- wolfSSL_BIO_ctrl_pending ignore BASE64 bio's as well now
- Save the last Finished messages sent or received in the WOLFSSL struct
- Implement wolfSSL_CTX_set_max_proto_version
- wolfSSL_d2i_X509_bio now uses wolfSSL_BIO_read so that the entire chain is properly read from the BIO
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
a7ec58003e PKCS7 changes
- Allow PKCS7_EncodeSigned to be called with a zero content length
- wc_HashUpdate now doesn't error out on zero length data
- First cert in wolfSSL_PKCS7_encode_certs is treated as main cert and the PKCS7 struct is initialized with it
- wolfSSL_BIO_get_mem_data returns the buffer from the last bio in chain
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
85b1196b08 Implement/stub:
- X509_REQ_print_fp
- X509_print_fp
- DHparams_dup
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
728f4ce892 Implement/stub:
- wc_DhKeyCopy
- SSL_CTX_set_srp_strength
- SSL_get_srp_username
- X509_REQ_get_attr_by_NID
- X509_REQ_get_attr
- X509_ATTRIBUTE
- wolfSSL_DH_dup
Add srp.h file with SRP_MINIMAL_N
2020-12-17 14:26:49 +01:00
Juliusz Sosinowicz
b52e11d3d4 Implement/stub the following:
- X509_get0_extensions
- X509_to_X509_REQ
- i2d_X509_REQ_bio
- X509v3_get_ext_count
- i2d_PKCS7_bio
Additional changes:
- Added a wc_PKCS7_VerifySignedData call to wolfSSL_d2i_PKCS7_bio to populate the PKCS7 struct with parsed values
- wc_PKCS7_VerifySignedData_ex -> wc_PKCS7_VerifySignedData
2020-12-17 14:26:30 +01:00
Juliusz Sosinowicz
3721d80e84 Implement wolfSSL_PKCS7_to_stack and wolfSSL_d2i_ASN1_OBJECT
- I also implemented wolfSSL_c2i_ASN1_OBJECT which was previously a stub.
- More configure.ac flags added to libest option
2020-12-17 14:26:30 +01:00
Juliusz Sosinowicz
1e26238f49 Implement/stub the following functions:
- X509_REQ_sign_ctx
- X509_REQ_get_subject_name
- X509_REQ_set_version
- X509_NAME_print_ex_fp
- X509_STORE_CTX_get0_parent_ctx
- wolfSSL_PKCS7_encode_certs

Add cms.h file to avoid including the OpenSSL version.
2020-12-17 14:26:30 +01:00
Juliusz Sosinowicz
777bdb28bc Implement/stub the following:
- `NID_pkcs9_challengePassword` - added
- `wolfSSL_OPENSSL_cleanse` - implemented
- `wolfSSL_X509_REQ_add1_attr_by_NID` - stubbed
- `wolfSSL_c2i_ASN1_OBJECT` - stubbed
2020-12-17 14:26:30 +01:00
Juliusz Sosinowicz
7bd0b2eb44 Implement ASN1_get_object 2020-12-17 14:26:30 +01:00
Juliusz Sosinowicz
a9d502ef85 Add --enable-libest option to configure.ac
Refactoring and adding defines for functions
2020-12-17 14:26:30 +01:00
WKJay
641a2a8cb0 update RTTHREAD/readme.md 2020-12-17 08:44:45 +08:00
WKJay
498e3eb6fe Add include.am 2020-12-17 08:42:53 +08:00
Chris Conlon
6d9cf6b31e fix for wc_AesFeedbackCFB8() on big endian platforms 2020-12-16 16:38:38 -07:00
toddouska
b4fddf3f24 Merge pull request #3572 from dgarske/zd11381
Fix for `wc_SetAltNamesBuffer`
2020-12-16 15:33:12 -08:00
Daniel Pouzzner
eeefe043ec scripts/: nix timeout wrappers in ocsp-stapling.test and ocsp-stapling2.test, for portability. 2020-12-16 17:31:53 -06:00
Chris Conlon
7e1a066963 Merge pull request #3555 from kojo1/doc-PSS_Sign-Verify
Doc wc_RsaPSS_Sign/Verify/CheckPadding
2020-12-16 15:18:24 -07:00
David Garske
51c3f87811 Fix for wc_SetAltNamesBuffer broken in PR #2728. The SetAltNames was changed in PR 2728 to rebuild the SAN OID, so only the flattened list of DNS entries is required. Fix is in SetAltNamesFromDcert to use already has a parsed DecodedCert and flatten the alt names DNS_Entry list. ZD 11381 2020-12-16 12:28:28 -08:00
Chris Conlon
502e471cde fix spelling of Nitrox in configure option summary 2020-12-16 13:08:32 -07:00
Chris Conlon
f375cff685 enable AES-CTR for libsignal build 2020-12-16 12:44:01 -07:00
Chris Conlon
16ce8e077a only call wolfSSL_UseKeyShare() in example client with TLS 1.3 2020-12-16 12:06:35 -07:00
Jacob Barthelmeh
9a968bdf53 disable XChaCha with armasm 2020-12-17 01:58:36 +07:00
Jacob Barthelmeh
a948066f86 some infer fixes 2020-12-17 01:49:48 +07:00
JacobBarthelmeh
f6c3eae1de g++ build fix 2020-12-16 15:05:33 -05:00
toddouska
5f30727b32 Merge pull request #3531 from vppillai/patch-1
support TNGTLS certificate loading for Harmony3
2020-12-16 09:21:28 -08:00
toddouska
7f20b97927 Merge pull request #3569 from SparkiDev/cppcheck_fixes_5
cppcheck: fixes
2020-12-16 09:04:59 -08:00
toddouska
cee91c91f5 Merge pull request #3532 from julek-wolfssl/nginx-1.7.7
Changes for Nginx 1.7.7
2020-12-16 09:01:27 -08:00
toddouska
b0464c93e2 Merge pull request #3542 from SparkiDev/sp_mod_odd
SP: ensure modulus/prime is odd before performing RSA/DH/ModExp ops
2020-12-16 08:51:10 -08:00
Vysakh P Pillai
3063264f00 formatting updates 2020-12-16 18:05:58 +05:30
Vysakh P Pillai
63f8fbe92f update formatting 2020-12-16 17:59:36 +05:30
Sean Parkinson
6dc06993bf SP: ensure modulus/prime is odd before performing RSA/DH/ModExp ops 2020-12-16 21:49:09 +10:00
Sean Parkinson
75c062a298 cppcheck: fixes 2020-12-16 17:28:20 +10:00
Takashi Kojo
010c8db54e duplicated \ingroup, missing closing comment 2020-12-16 08:52:12 +09:00
Sean Parkinson
922ca916a9 Merge pull request #3554 from ejohnstown/psk-fix
PSK Alert
2020-12-16 09:40:04 +10:00
toddouska
bab2f55661 Merge pull request #3563 from SparkiDev/base64_cr
Base64: Cache attack resistant decode
2020-12-15 15:16:09 -08:00
Hayden Roche
c47b98bca1 Allow OCSP stapling and NO_WOLFSSL_CLIENT to coexist. 2020-12-15 16:56:21 -06:00
Hayden Roche
eb6473b00f Fix bugs that made it so client side wasn't verifying certificate status. 2020-12-15 16:56:21 -06:00
Hayden Roche
801aa18b9e Fix bug where OCSP stapling wasn't happening even when requested by client.
The OCSP request that we created didn't have a URL for the OCSP responder, so
the server couldn't reach out to the responder for its cert status.
2020-12-15 16:56:21 -06:00
Daniel Pouzzner
7f44247954 Merge pull request #3567 from SparkiDev/sp_math_fix
SP math all: fixes for different compilers and configs
2020-12-15 15:37:25 -06:00
Juliusz Sosinowicz
575f4ba140 Nginx 1.7.7 changes
- Push error when decryption fails
- If wolfSSL_CTX_use_certificate keeps passed in cert then it should either copy it or increase its reference counter
- Make wolfSSL_PEM_read_bio_DHparams available with FIPS
2020-12-15 19:32:55 +01:00
JacobBarthelmeh
e0b0c329b3 build fix for --enable-afalg 2020-12-15 10:50:57 -07:00
Jacob Barthelmeh
c048ce5f99 build fix for --enable-ip-alt-name 2020-12-15 23:56:04 +07:00
toddouska
38a11368e0 Merge pull request #3557 from JacobBarthelmeh/Cert-Report2
Strict alt names check with DIR name constraint
2020-12-15 08:51:55 -08:00
toddouska
f362c6ecf5 Merge pull request #3562 from SparkiDev/session_mutex
SESSION mutex: copying a session overwrote mutex
2020-12-15 08:50:57 -08:00
Vysakh P Pillai
aa2e02807d Avoid conversions to PEM and register DER certificate chain 2020-12-15 16:15:36 +05:30
Sean Parkinson
356b419532 SP math all: fixes for different compilers and configs 2020-12-15 17:37:59 +10:00
Sean Parkinson
972d6cfefc Base64: Cache attack resistant decode 2020-12-15 17:22:02 +10:00
Sean Parkinson
52f63ca44b SESSION mutex: copying a session overwrote mutex
New session creation function, NewSession, that doesn't initialize
mutex.
Calling functions, wolfSSL_SESSION_new() and wolfSSL_SESSION_copy(),
initialize the mutex.
2020-12-15 17:20:40 +10:00
Sean Parkinson
65d0cc62fd Merge pull request #3566 from douzzer/STACK_SIZE_CHECKPOINT_WITH_MAX_CHECK-decl-order
C89 decl order in STACK_SIZE_CHECKPOINT_WITH_MAX_CHECK()
2020-12-15 17:01:22 +10:00
WKJay
4f15cfde16 Add rt-thread porting files 2020-12-15 14:49:49 +08:00
Daniel Pouzzner
87e5b55033 don't special case get_digit_count for SP, i.e. eliminate sp_get_digit_count(), to fix -Waddress in sp_get_digit_count macro use in api.c:test_get_digit_count() (sp_get_digit_count() was a non-inline function before commit 91d23d3f5a (sp-math-all)). 2020-12-14 20:14:39 -06:00
John Safranek
123c713658 Key Change
Move the setting of the key in the handshake from right before
sending the finished message to between building change cipher spec
and sending it. This way there won't be any opportunity to send a
message after the change cipher spec that won't be encrypted.
2020-12-14 18:13:26 -08:00
John Safranek
f8e674e45d PSK Alert
When the server cannot match the client's identity, the server sends a unknown_psk_identity alert to the client.
2020-12-14 17:56:19 -08:00
toddouska
7fe24daf6c Merge pull request #3561 from dgarske/st_cube_rel
ST Cube Pack Fixes
2020-12-14 16:20:18 -08:00
toddouska
3f6a444bef Merge pull request #3564 from SparkiDev/tls13_add_sess
TLS 1.3: Don't add a session without a ticket
2020-12-14 16:09:52 -08:00
toddouska
43182b9389 Merge pull request #3548 from gstrauss/HAVE_SNI
put all SNI code behind simpler preprocessor directive HAVE_SNI
2020-12-14 16:08:53 -08:00
Daniel Pouzzner
70808647ef move decl of _ret to top in STACK_SIZE_CHECKPOINT_WITH_MAX_CHECK(), for C89 happiness. 2020-12-14 17:50:28 -06:00
toddouska
bd871280d7 Merge pull request #3497 from elms/erf32/se_acceleration
ERF32: HW acceleration
2020-12-14 15:43:15 -08:00
toddouska
56e2c0e268 Merge pull request #3534 from douzzer/linuxkm-cryptonly
--enable-linuxkm --enable-cryptonly
2020-12-14 15:14:54 -08:00
David Garske
428c6b4301 Merge pull request #3523 from SparkiDev/pkcs11_fixes_2
Pkcs11 fixes 2
2020-12-14 14:09:26 -08:00
David Garske
032b289835 Merge pull request #3559 from tmael/cc310_ecc_k
Fix Cryptocell ecc build err
2020-12-14 10:50:30 -08:00
Sean Parkinson
fb5b415e83 TLS 1.3: Don't add a session without a ticket
TLS 1.3 doesn't support resumption with PSK (session ticket or with the
PSK callback).
2020-12-14 14:03:31 +10:00
David Garske
337e95e52b Fix for AES GCM with hardware crypto and missing wc_AesSetKeyLocal. Broken in PR #3388. 2020-12-13 13:59:30 -08:00
David Garske
757c07801a Updates to v4.5.1. 2020-12-13 13:59:30 -08:00
Takashi Kojo
203b7739c9 fix paths, add download site in README 2020-12-13 19:42:20 +09:00
Takashi Kojo
d3aacf4934 add IDE/MQX 2020-12-13 17:41:14 +09:00
Takashi Kojo
6154f29a31 Merge https://github.com/wolfssl/wolfssl 2020-12-13 17:27:53 +09:00
Tesfa Mael
4ee5ae0115 Fix Cryptocell ecc build err 2020-12-11 15:12:42 -08:00
Takashi Kojo
b2a66a10f4 add XXX_ex APIs, corret spelling, descriptions 2020-12-12 07:29:24 +09:00
John Safranek
0e9926bd83 Merge pull request #3553 from haydenroche5/cert_status_fix
Fix OCSP cert status check in internal.c
2020-12-11 13:27:29 -08:00
Daniel Pouzzner
2804cb2521 wolfcrypt/test/test.c: more smallstack refactoring in aes_test(). 2020-12-11 14:17:25 -06:00
Daniel Pouzzner
0b42f3ae72 wolfcrypt/src/dsa.c: disable MSVC warning C4127 (compiler bug) as in wolfcrypt/src/tfm.c and src/internal.c. 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
f2e1595eef wolfcrypt/src/dsa.c: use do{}while(0) with break, rather than goto, for top level flow control in wc_DsaSign() and wc_DsaVerify() smallstack refactor. 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
53c6d33695 test.c:aes_test(): add WOLFSSL_SMALL_STACK codepaths for WOLFSSL_AESNI test. 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
1c0df61247 wolfssl/test.h and wolfcrypt/test/test.c: add STACK_SIZE_CHECKPOINT_WITH_MAX_CHECK(), recognize macro WOLFSSL_TEST_MAX_RELATIVE_STACK_BYTES, and add to wolfcrypt_test() runtime settability of relative cumulative stack depth assert threshold using "-s stacksize". 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
2ed75402b8 wc_DsaSign(): removal several redundant mp_clear()s preceded by mp_forcezero()s. 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
bfff28ab28 ecc.c: fix mp_init_multi() vs mp_clear() dynamics in wc_ecc_verify_hash_ex() and mp_sqrtmod_prime(). 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
ec96e5ad74 wolfSSL_BN_is_odd(): fix function signature to match header (unsigned long reverted to WOLFSSL_BN_ULONG). 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
525382fb13 test.c:pkcs7authenveloped_run_vectors(): small stack refactor, and reenable for WOLFSSL_LINUXKM. 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
18984abc9e configure.ac: replace --enable-stacksize-verbose with --enable-stacksize=verbose, and change _LINUXKM_DEFAULTS ENABLED_SP_DEFAULT and ENABLED_SP_MATH_ALL_DEFAULT from small to yes. 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
4efa85dc03 linuxkm/module_hooks.c: add support for WOLFCRYPT_ONLY. 2020-12-11 14:16:44 -06:00
Daniel Pouzzner
f73fc23282 ecc.c: add smallstack codepaths to ecc_mul2add(). 2020-12-11 14:16:44 -06:00
David Garske
cb8c6608f3 Merge pull request #3558 from douzzer/fix-mp_mod_2d-sub-byte-clearing
fix mp_mod_2d() for DIGIT_BIT != sizeof(mp_digit)*8
2020-12-11 08:43:51 -08:00
Elms
40087f1fd0 SiLabs: AES return code fixup and comment cleanup 2020-12-10 22:56:11 -08:00
Sean Parkinson
8b2bd1277a Merge pull request #3551 from douzzer/fix-unit-test-EVP-arc4-32-bit
32 bit targets vs test_wolfSSL_EVP_X_STATE_LEN()
2020-12-11 16:46:10 +10:00
Sean Parkinson
3e8e7aa17f Merge pull request #3550 from douzzer/sp-math-all-sp-word-typo
sp_int.c: fix typos in _sp_mul_4() and _sp_sqr_4().
2020-12-11 16:16:48 +10:00
Daniel Pouzzner
ef1284165f wolfcrypt/src/integer.c: fix sub-byte clearing step of mp_mod_2d() to work when DIGIT_BIT != sizeof(mp_digit)*8. 2020-12-10 23:50:30 -06:00
Jacob Barthelmeh
04e22b0747 add restriction to excluded DIR name constraint 2020-12-11 10:00:11 +07:00
Jacob Barthelmeh
f00263889b add test case 2020-12-11 08:20:48 +07:00
Sean Parkinson
a075540343 Merge pull request #3552 from tmael/shiftNeg
Check shift value
2020-12-11 10:19:27 +10:00
Tesfa Mael
9042843e42 Fix shift and clear digits 2020-12-10 16:13:30 -08:00
toddouska
2c652151ac Merge pull request #3510 from SparkiDev/sp_modinv_nct
SP modinv: add non-constant time modinv
2020-12-10 16:06:12 -08:00
toddouska
cb61dc7d2f Merge pull request #3522 from douzzer/cleanups-20201119
misc cleanups re sp-math-all, FIPS, smallstack
2020-12-10 15:58:33 -08:00
Takashi Kojo
47f7e46ffe Add wc_RsaPSS_Sign/Verify/CheckPadding 2020-12-11 07:58:39 +09:00
Jacob Barthelmeh
17f32c3e05 add strict check on name constraints with DIR alt names 2020-12-11 05:22:46 +07:00
Daniel Pouzzner
e9a79b2e0d configure.ac: fix rebase error, re enable-sp-asm on ARM. 2020-12-10 14:46:22 -06:00
Glenn Strauss
59cefd2c99 match preproc defs around wolfSSL_ctrl()
match preproc defs around wolfSSL_ctrl() in src/ssl.c
2020-12-10 15:46:20 -05:00
Glenn Strauss
9d095066eb wrap SNI-related code with HAVE_SNI
perhaps some of this code should additionally be wrapped in
-  #ifndef NO_WOLFSSL_SERVER

It is fragile and ugly to litter the code with the likes of
-  #if defined(OPENSSL_ALL) || (defined(OPENSSL_EXTRA) && (defined(HAVE_STUNNEL) || \
-                               defined(WOLFSSL_NGINX) || defined(HAVE_LIGHTY) || \
-                               defined(WOLFSSL_HAPROXY) || defined(WOLFSSL_OPENSSH) ))
while it is much clearer and much more maintainable to wrap SNI-related
code with an SNI-specific feature-define HAVE_SNI (and possibly further
restrict with feature-define #ifndef NO_WOLFSSL_SERVER).
2020-12-10 15:46:20 -05:00
Daniel Pouzzner
f4af6c053c wolfssl/openssl/aes.h: restore ALIGN16 attribute to pad member of struct WOLFSSL_AES_KEY. 2020-12-10 14:21:19 -06:00
Daniel Pouzzner
0fa4bde5b5 configure.ac: move --enable-sp-asm handling to follow --enable-sp-math-all handling, so that $ENABLED_SP requirement is properly met. 2020-12-10 14:21:08 -06:00
Daniel Pouzzner
f277339528 add explicit casts to XMALLOC()s, even for (void *), to avoid warnings in C++ and MSVC/MSVS builds, and to avoid false positives on simple text searches. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
f47cdfcaed wolfcrypt/test/test.c: fix skipped initialization warned by LLVM11 scan-build. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
3b8e7d546a sp_int.h: force C linkage, so that enable-sp-math-all is compatible with CC=g++. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
741098c108 sp_int.c, srp.c: fixes for 5 deadcode.DeadStores found by LLVM11 scan-build. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
f49e9bf954 dsa.c, srp.c, wolfcrypt/test/test.c: smallstack refactors: wc_DsaExportKeyRaw(), wc_DsaSign(), wc_SrpSetKey(), ecc_test_cdh_vectors(), ecc_test_custom_curves(). 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
1fc2c7714c hmac.c: include wc_port.h rather than settings.h, to pick up WOLFSSL_LINUXKM namespace tweaks. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
f4ecaf05c0 openssl/aes.h: refactor WOLFSSL_AES_KEY typedef to inline sizeof(Aes) long words, rather than computing the size of Aes from its members. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
b723c7ddbe bn.h and ssl.c: define WOLFSSL_BN_ULONG to be target-native unsigned long, revert *_word() bn.h API functions to use WOLFSSL_BN_ULONG, and change wolfSSL_BN_get_word() to return WOLFSSL_BN_ULONG rather than unsigned long, for consistency. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
27a6de2c2f configure.ac, wolfssl/wolfcrypt/settings.h, wolfssl/wolfcrypt/wc_port.h: update linuxkm defaults and settings for compatibility with sp-math-all, and change linuxkm default math from sp-math to sp-math-all; refactor enable-all and enable-all-crypto logic to allow piecemeal exclusion of options from the command line. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
78b2b3ca3b ssl.c:wolfSSL_BN_get_word_1(): remove dead logic inadvertently retained. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
f7bf0a78fb test.c:ecc_test_curve_size(): use a macro, not a static const size_t, for size of exportBuf, to make MS Visual Studio happy. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
89e6b1eebc wc_ecc_mulmod_ex(): be more careful freeing temp key. 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
e6b587772f fix pointer type clash in wolfSSL_BN_mod_word(); restore accidentally removed WOLFSSL_KEY_GEN gate in dsa_test(). 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
cbc190f13c wolfcrypt/src/ecc.c: smallstack refactors of wc_ecc_mulmod_ex() and mp_sqrtmod_prime(). 2020-12-10 14:16:21 -06:00
Daniel Pouzzner
ad2cb67047 wolfcrypt/test/test.c: _SMALL_STACK refactors of dsa_test(), srp_test(), openssl_pkey1_test(), and ecc_test_curve_size(); add missing FIPS gates. 2020-12-10 14:16:20 -06:00
Daniel Pouzzner
5286cb1a46 optimize domain check in wolfcrypt/src/integer.c and wolfcrypt/src/tfm.c. 2020-12-10 14:16:20 -06:00
Daniel Pouzzner
53cfa55941 src/ssl.c and wolfssl/openssl/bn.h: refactor _word mp routines to consistently accept/return target-native unsigned long type, for compatibility with sp-math-all. needed because WOLFSSL_BN_ULONG can, surprisingly, be only 16 bits, when sp-math-all in a 32 bit build. 2020-12-10 14:16:20 -06:00
Daniel Pouzzner
7cfe1e2143 sha3.h: rename struct Sha3 to struct wc_Sha3 for consistency, and compatibility with FIPS source. 2020-12-10 14:16:20 -06:00
Daniel Pouzzner
cfc08cc13f configure.ac: remove smallstackcache from linuxkm default options; add several feature exclusions to enable-all and enable-all-crypto to make them compatible with fips=ready; render the FIPS option in the feature summary at end. 2020-12-10 14:16:20 -06:00
Daniel Pouzzner
2a2ba896ec documentation typo: wc_InitSha356() sounds like an interesting algorithm but, alas, we will have to settle for wc_InitSha256(). 2020-12-10 14:16:20 -06:00
Daniel Pouzzner
c5e2ccabb1 fix --enable-stacksize-verbose: relocate declarations for HAVE_STACK_SIZE_VERBOSE global variables from wolfssl/test.h to wolfssl/wolfcrypt/logging.h, matching their location in wolfcrypt/src/logging.c. 2020-12-10 14:16:20 -06:00
toddouska
b93109cf1c Merge pull request #3540 from SparkiDev/int_toradix_fix
MP integer: fix map string for toradix and read_radix
2020-12-10 12:01:45 -08:00
toddouska
cd3b91a8fe Merge pull request #3536 from SparkiDev/arm64_rev
ByteReverseWord32 AARCH64: Use proper instruction - REV32
2020-12-10 11:59:00 -08:00
Elms
9ba78eb825 SiLabs: Clarify comments and fix sig buffer size 2020-12-10 10:45:55 -08:00
Hayden Roche
a6378de4f0 Fix OCSP cert status check in internal.c
I missed one line in internal.c when I recently modified the OCSP ASN code.
2020-12-10 10:32:30 -06:00
Tesfa Mael
4bd49d2b28 Update with a proper check 2020-12-09 17:05:56 -08:00
Elms
93fc37f87b SiLabs: add cleanup and address PR comments 2020-12-09 16:28:39 -08:00
Sean Parkinson
2862a9ce56 SP modinv: add non-constant time modinv
Can only be used in ECC verify - sign operation must be constant time.
Not used for small code.
2020-12-10 09:24:22 +10:00
Tesfa Mael
44903ff8ae Check shift value 2020-12-09 15:04:28 -08:00
John Safranek
ad1118326b Merge pull request #3546 from dgarske/gh_no_rng
Fix for `WC_NO_RNG` with GreenHills
2020-12-09 14:30:44 -08:00
Chris Conlon
21625ab0c2 Merge pull request #3533 from JacobBarthelmeh/PKCS7
fix for PKCS7 decompress
2020-12-09 14:00:42 -07:00
Elms
586a75302b SiLabs: extra check on importing key to se_key buffer 2020-12-09 12:54:24 -08:00
Daniel Pouzzner
181f439028 api.c: in test_wolfSSL_EVP_X_STATE_LEN(), fix assert on size of EVP state to work on 32 bit targets. 2020-12-09 14:04:16 -06:00
Daniel Pouzzner
2de261c2de sp_int.c: fix typos in _sp_mul_4() and _sp_sqr_4(). 2020-12-09 12:10:46 -06:00
toddouska
f31b41fcca Merge pull request #3495 from haydenroche5/httpd
Add OpenSSL compatibility functions for latest version of Apache httpd
2020-12-09 09:55:13 -08:00
toddouska
b7aa0ebf57 Merge pull request #3458 from julek-wolfssl/EVP_Cipher-api
EVP_Cipher should return length written.
2020-12-09 09:52:44 -08:00
toddouska
367f28b917 Merge pull request #3443 from SparkiDev/tls13_psk_no_dhe
TLS 1.3: PSK only
2020-12-09 09:45:34 -08:00
toddouska
7834dee991 Merge pull request #3503 from SparkiDev/dtls_mtu_write
DTLS MTU: check MTU on write
2020-12-09 09:42:44 -08:00
toddouska
6c62899ea8 Merge pull request #3535 from SparkiDev/sp_fixes_4
SP: change implicit casting downs to be explicit
2020-12-09 09:25:57 -08:00
toddouska
0b78137dfa Merge pull request #3537 from SparkiDev/sp_int_configs
SP math all: fixes for configurations that don't specify size
2020-12-09 09:16:46 -08:00
toddouska
cbf8e754e0 Merge pull request #3541 from SparkiDev/rsavfy_sp
SP: Get RSA verify only to build with DH
2020-12-09 09:15:45 -08:00
toddouska
b726ec52d2 Merge pull request #3547 from haydenroche5/benchmarking_tput
Fix RX/TX throughput reporting in example server.
2020-12-09 09:15:00 -08:00
David Garske
ec6163c0f6 Merge pull request #3549 from ejohnstown/sniffer-fix
Sniffer Test Filename Fix
2020-12-09 08:18:51 -08:00
John Safranek
3e8bad7ae9 Sniffer Test Filename Fix
1. When using multiple filenames, keep the original entered string
   around so it may be reused for each IP address.
2. Strip the trailing newline from the entered filename list.
2020-12-08 17:16:34 -08:00
Sean Parkinson
d34b0072a2 ARM: identify ARM CPU for Thumb and Cortex
Better detailed check of CPU architecture for 32-bit byte reversal asm
2020-12-09 08:54:18 +10:00
Hayden Roche
5fdc4cf6e1 Fix RX/TX throughput reporting in example server.
- I observed that client TX throughput < client RX throughput, but server TX
  throughput > server RX throughput. Turns out this is just a typo in the
  printing of the stats. The RX stat was being printed as the TX stat and vice-
  versa.
- I added a note to scripts/benchmark.test about a 2 second sleep we do waiting
  for the server to come up. If you were to time this script with the time
  command, you'll see that 2 seconds in the result, which might be confusing
  if you didn't realize the sleep was there.
2020-12-08 16:49:09 -06:00
Elms
ef4db5b808 SiLabs: simplify init 2020-12-08 13:16:13 -08:00
Elms
620fe2da14 SiLabs: Fix tests and wc_ecc_import_private_key 2020-12-08 12:22:35 -08:00
David Garske
9ced741ef3 Fix for WC_NO_RNG with GreenHills. 2020-12-08 12:16:41 -08:00
Jacob Barthelmeh
bc50b7b836 fix order of arguments with PKCS7 decompression 2020-12-08 23:11:59 +07:00
Jacob Barthelmeh
081cea7405 set optional limit on max decompression buffer size 2020-12-08 20:16:27 +07:00
Elms
919c2a2dfb SiLabs: address PR comments to cleanup 2020-12-07 16:16:11 -08:00
Elms
3abc4719ae SiLabs: cleanup TODOs 2020-12-07 15:32:44 -08:00
Elms
44243278a5 SiLabs: renable ecc_ssh_test and disable AES non-12Byte IV 2020-12-07 15:04:00 -08:00
WKJay
227faedcc7 Port for RT-Thread 2020-12-07 16:22:28 +08:00
Sean Parkinson
9b894048fd PKCS #11: only open/close session when performing op, use C_Sign for RSA
Was opening and closing sessions when operations not compiled in were
being attempted (e.g. hashing during certificate signing).
C_Sign can be used with X509 RSA (raw) as it does the same operations as
C_Decrypt. Use the function matching hig level operation where
supported.
Make debugging functions take a CK_ULONG rather than an int - to avoid
casting.
2020-12-07 10:15:43 +10:00
Sean Parkinson
dbe4ce0e24 SP: Get RSA verify only to build with DH
Fix configuration: --enable-rsavfy --enable-sp --enable-cryptonly
[--enable-sp-asm]
2020-12-07 09:46:14 +10:00
Sean Parkinson
9bbef90546 MP integer: fix map string for toradix and read_radix 2020-12-07 09:12:53 +10:00
Glenn Strauss
034248b964 add more missing HAVE_LIGHTY 2020-12-05 15:52:17 -05:00
Sean Parkinson
281ba96bd0 SP math all: fixes for configurations that don't specify size 2020-12-04 16:47:11 +10:00
Sean Parkinson
d475463c91 Merge pull request #3528 from JacobBarthelmeh/Testing
fix build with ARM64 SP, FP_ECC and WC_NO_CACHE_RESISTANT
2020-12-04 12:17:24 +10:00
Sean Parkinson
a72393eb33 ByteReverseWord32 AARCH64: Use proper instruction - REV32 2020-12-04 12:05:33 +10:00
Sean Parkinson
56cb4c8ea7 SP: change implicit casting downs to be explicit 2020-12-04 11:52:39 +10:00
Hayden Roche
03c7e52f5f Add OpenSSL compatibility functions for Apache httpd's OCSP module. 2020-12-03 11:22:43 -06:00
Hayden Roche
bca43654df Make changes to OCSP ASN code.
- Use OcspEntry in OcspResponse instead of CertStatus. OcspEntry is more
  analogous to an OCSP SingleResponse, which contains issuer name and key
  hashes. Correspondingly, remove these hashes from OcspResponse, since they'll
  now be stored per SingleResponse in an OcspEntry.
- Add a hashAlgoOID to OcspEntry (corresponds to hashAlgorithm in CertId in RFC
  6960). This makes OcspEntry more closely resemble an OCSP SingleResponse.
- Change WOLFSSL_OCSP_CERTID to map to OcspEntry. OcspEntry contains all the
  information that an OCSP CertID contains, and is a better fit than
  OcspRequest.
- Add a pointer to the raw CertId in an OCSP SingleResponse to OcspEntry, along
  with a size field to indicate how many bytes the CertId occupies. This will
  be used in an OpenSSL compatibility function, i2d_OCSP_CERTID, which yields
  the raw bytes of the CertId.
2020-12-03 11:22:43 -06:00
Vysakh P Pillai
c31f20706b use const variable as the size for an array 2020-12-03 22:25:28 +05:30
Jacob Barthelmeh
fbf56bcf96 fix for PKCS7 decompress 2020-12-03 18:57:25 +07:00
Vysakh P Pillai
376cac5ab1 Implement review comments 2020-12-03 08:25:40 +05:30
toddouska
69d642206d Merge pull request #3513 from SparkiDev/ecc_vfy_r_s_check
ECC verify: validate r and s before any use
2020-12-02 14:33:38 -08:00
toddouska
9f5141a333 Merge pull request #3524 from SparkiDev/ocsp_resp_free
OCSP callback: call embed free in test callback
2020-12-02 13:48:09 -08:00
toddouska
b4c7b5e6ce Merge pull request #3525 from SparkiDev/tls13_session
TLS 1.3: always add session when sending finished message
2020-12-02 13:47:38 -08:00
toddouska
36b73b738b Merge pull request #3526 from SparkiDev/aes_prefetch
AES: When not X86_64, PreFetch*() not used
2020-12-02 13:28:58 -08:00
toddouska
d75a983766 Merge pull request #3527 from SparkiDev/ecc_safe
ECC add and dbl point: always use safe add and dbl
2020-12-02 13:28:10 -08:00
toddouska
0be45e731b Merge pull request #3529 from SparkiDev/ocsp_single_ext
OCSP: Handle extensions in singleResponse
2020-12-02 13:26:46 -08:00
Vysakh P Pillai
3a2675fb63 implement additional review comments 2020-12-02 22:30:02 +05:30
Vysakh P Pillai
9e475b01be implement review comments 2020-12-02 22:15:02 +05:30
Kaleb Himes
fd158411e8 Merge pull request #3494 from JacobBarthelmeh/CSharp
pin the C# verify callback
2020-12-02 06:08:41 -07:00
Vysakh P Pillai
ecc6ec4d97 support TNGTLS certificate loading for Harmony3
Changes to atmel.c file that lets a user to
1. Use Harmony3 generated configurations to initialize the device in atmel_init().
2. Read the device   certificate chain from ECC608 TNGTLS and initialize the ctx with it to use as device certificate. 
    - This is the true purpose of going with TNGTLS
2020-12-02 13:53:46 +05:30
Sean Parkinson
3d9b4f10f0 AES: When not X86_64, PreFetch*() not used
When WC_INLINE is defined then compiler doesn't mind. Otherwise, this is
a warning.
2020-12-02 09:04:48 +10:00
Juliusz Sosinowicz
0d87dfa493 EVP_Cipher should return length written. 2020-12-01 18:36:36 +01:00
Elms
dbcb42e509 SiLabs: fix unused variable #if 2020-12-01 08:56:01 -08:00
Sean Parkinson
9b5b9fd85d OCSP: Handle extensions in singleResponse 2020-12-01 16:41:20 +10:00
Elms
099ed25da8 SiLabs: fixing compiler warnings and better error checking 2020-11-30 21:01:49 -08:00
Elms
e1e8ca48c3 SiLabs: README and include updates 2020-11-30 21:01:49 -08:00
Elms
9f7ef0b3e6 SiLabs: Add ECC hardware acceleration support 2020-11-30 21:01:49 -08:00
Elms
a9f8b6e5b7 SiLabs: TRNG hardware acceleration 2020-11-30 21:01:49 -08:00
Elms
e501346047 SiLabs: add AES-CCM hardware acceleration support 2020-11-30 21:01:49 -08:00
Elms
79c31a5f2c SiLbs: SHA and AES-{GCM,CBC} hardware acceleration using se_manager 2020-11-30 21:01:49 -08:00
Elms
1899a72d27 Micrium: benchmark fixes
* Time update for v5.8 to avoid rollover issues
 * define `XSNPRINTF`
 * `printf` based on Micrium version
2020-11-30 16:32:30 -08:00
Elms
6e21f547ff Micrium: fix compiler warnings 2020-11-30 16:32:30 -08:00
Elms
0cbf8c7f28 Micrium: readme url fix and add additional link to k70 example with TCP 2020-11-30 16:32:30 -08:00
Elms
165cb443e7 Micrium v5.8 support
* OS error type change from uc OS3 to v5
 * detect if network or TCP is available
 * XMEMCMP change workaround
2020-11-30 16:32:30 -08:00
John Safranek
6fc64263f2 Merge pull request #3519 from julek-wolfssl/scr-timeout
Adapt wolfSSL_dtls_got_timeout to secure renegotiation usage
2020-11-30 11:40:35 -08:00
JacobBarthelmeh
42a63e8cc8 fix build with ARM64 SP, FP_ECC and WC_NO_CACHE_RESISTANT 2020-11-29 20:26:55 -08:00
Sean Parkinson
6bb38a1066 ECC add and dbl point: always use safe add and dbl
Can be using basepoint or public key at any time. Can't tell difference.
Always use the safe versions.
For private key operations, only working on the basepoint and will never
do any timinig different operations.
No impact on performance.
2020-11-30 11:44:50 +10:00
Sean Parkinson
22a8be412b TLS 1.3: always add session when sending finished message 2020-11-27 09:46:02 +10:00
Sean Parkinson
40154d69cf OCSP callback: call embed free
Leaks memory if not called.

Configuration:
	./configure --disable-shared --enable-ocsp --enable-sni
C_EXTRA_FLAGS="-DWOLFSSL_NONBLOCK_OCSP"
Leaking test:
	valgrind ./examples/client/client -X -C -h www.globalsign.com -p
443 -A certs/external/ca-globalsign-root.pem -g -o -N -v d -S
www.globalsign.com
2020-11-27 09:16:24 +10:00
Sean Parkinson
35acfa0f42 SP ECC: check the length of public key ordinates and private key
Do quick bit length check before loading the MP integers into fixed size
arrays.
Changed ECC to use SP key check function if SP enabled and not only with
SP Math.
2020-11-27 08:49:30 +10:00
Sean Parkinson
38740a1caa Fix dynamic type name 2020-11-27 08:37:16 +10:00
Sean Parkinson
5ca8e8f87c PKCS#11: Label fixes and add support for checking private key
Check private key matches the public key passed in.
Need to use a new API to pass in the token to use to perform PKCS #11
operations with.
2020-11-27 08:37:16 +10:00
Sean Parkinson
43aeac4cf4 PKCS #11 SSL: detect key size when certificate set 2020-11-27 08:31:45 +10:00
Sean Parkinson
19f10cd382 PKCS #11: implement identifying keys by label 2020-11-27 08:31:45 +10:00
toddouska
84a9e16805 Merge pull request #3388 from SparkiDev/aesgcm_4bit_table
AES-GCM: GMULT using 4-bit table
2020-11-25 15:45:28 -08:00
toddouska
86bbaad7fa Merge pull request #3505 from kojo1/EVP-gcm
set tag for zero inl case 2
2020-11-25 15:43:27 -08:00
toddouska
dc76a4d522 Merge pull request #3511 from cconlon/zd11268
return err from fp_invmod_slow() when fp_add() fails
2020-11-25 15:41:12 -08:00
toddouska
e882159a02 Merge pull request #3516 from cconlon/zd11287
wc_ecc_rs_to_sig(): move r and s zero check before StoreECC_DSA_Sig()
2020-11-25 15:36:30 -08:00
David Garske
9f07f3e96e Merge pull request #3520 from ejohnstown/vrf-fix
Verify Callback Fix
2020-11-25 11:37:06 -08:00
JacobBarthelmeh
1668b7060c Merge pull request #3500 from cconlon/zd11011v2
PKCS#7: verify extracted public key in wc_PKCS7_InitWithCert
2020-11-26 02:26:08 +07:00
JacobBarthelmeh
719403cd0c Merge pull request #3509 from kojo1/openssl-version
OPENSSL_VERSION_NUMBER to be defined by the user
2020-11-26 02:10:24 +07:00
toddouska
a0cd75081d Merge pull request #3514 from SparkiDev/aesni_sse4
AESNI compile flags: clang doesn't need -msse4
2020-11-25 08:55:35 -08:00
Sean Parkinson
ca5ffc0743 AESNI compile flags: clang can't have -msse4
Setting the SSE4 architecture with clang creates executables that can't
run on old machines.
2020-11-25 10:32:42 +10:00
Sean Parkinson
d0703f8931 AES-GCM: GMULT using 4-bit table
When 64-bit data type available and not big endian code is faster.
--enable-aesgcm=4bit
2020-11-25 08:47:50 +10:00
John Safranek
4baf923218 Verify Callback Fix
1. Removed a flag set that would force all certificates in a chain
   to be verified. There was a compile time option to make that happen
   already.
2. Replace some options for some test failure test cases that were added
   and immediately removed.
(ZD 11292)
2020-11-24 11:46:10 -08:00
Juliusz Sosinowicz
95132b1c55 Make renegotiation information available outside of OPENSSL_EXTRA 2020-11-24 17:03:40 +01:00
Juliusz Sosinowicz
41d58465c0 Adapt wolfSSL_dtls_got_timeout to secure renegotiation usage
Reset DTLS stored messages on a FreeHandshakeResources call even if secure renegotiation is enabled. Without this, in a server initiated rehandshake, the server would keep old messages (ChangeCipherSpec and Finished) even when it sent a HelloRequest message.
2020-11-24 16:06:35 +01:00
Sean Parkinson
b1f9aba0ca SP div: stop overflow on divide 2020-11-24 16:14:14 +10:00
Sean Parkinson
b9a2725429 ECC verify: validate r and s before any use
SP code assumes r and s are valid values.
Code for ATECC508A, ATECC608A and CRYPTOCELL assumes that the r and s
are the size of the key when converting to byte arrays.
2020-11-24 16:14:14 +10:00
John Safranek
f5c2bef78f Merge pull request #3492 from julek-wolfssl/dtls-scr-optimizations
Save the HelloRequest message just like other handshake mesasges
2020-11-20 11:50:51 -08:00
Juliusz Sosinowicz
69bea008dd Save the HelloRequest message just like other handshake mesasges
Implement a timeout mechanism for non-blocking sockets
2020-11-20 11:41:19 +01:00
John Safranek
2d79e38436 Merge pull request #3485 from julek-wolfssl/dtls-scr-seq-correct-num
Fix overlapping sequence number error.
2020-11-19 14:19:13 -08:00
Chris Conlon
64429693ff add MP_ZERO_E unit tests for wc_ecc_rs_to_sig() 2020-11-19 14:41:02 -07:00
Chris Conlon
f8fd3f8bc1 wc_ecc_rs_to_sig: check r,s for zero before StoreECC_DSA_Sig() 2020-11-19 14:35:35 -07:00
Chris Conlon
1d599272e7 add unit test for wc_PKCS7_InitWithCert() with malformed cert 2020-11-19 14:19:55 -07:00
David Garske
d4c59e369e Merge pull request #3335 from julek-wolfssl/RSA-PSS-padding-in-EVP_Digest-API
Enable RSA-PSS padding in EVP_Digest* API
2020-11-19 09:31:12 -08:00
toddouska
43f8eac8ba Merge pull request #3362 from SparkiDev/sp_math_all
Implement all relevant mp functions in sp_int
2020-11-19 08:10:11 -08:00
Sean Parkinson
91d23d3f5a Implement all relevant mp functions in sp_int 2020-11-19 11:58:14 +10:00
toddouska
aa9ed17afa Merge pull request #3512 from dgarske/openssl_pem
Fix for missing `wolfSSL_PEM_write_bio_PrivateKey` with WebRTC
2020-11-18 16:17:46 -08:00
toddouska
de6f1c1ae2 Merge pull request #3508 from JacobBarthelmeh/DH
fix for no filesystem build with DH test case
2020-11-18 16:15:42 -08:00
toddouska
3808865f57 Merge pull request #3504 from SparkiDev/fp_div_oob_read
TFM div: fix initial value of size in q so clamping doesn't OOB read
2020-11-18 16:15:08 -08:00
toddouska
ca281f976e Merge pull request #3493 from dgarske/zd11245
Sniffer fixes for handling TCP `out-of-range sequence number`
2020-11-18 16:14:09 -08:00
Takashi Kojo
7c68136a8b OPENSSL_VERSION_NUMBER to be defined by the user 2020-11-19 09:13:05 +09:00
toddouska
a280df1892 Merge pull request #3488 from kabuobeid/x509_objtxt_lname
Return long names instead of short names in wolfSSL_OBJ_obj2txt().
2020-11-18 16:10:46 -08:00
toddouska
6860d419c6 Merge pull request #3483 from SparkiDev/mp_rshb_word
rshb: handle cases of shift amount being multiple of DIGIT_BIT
2020-11-18 16:07:57 -08:00
toddouska
b0979f4225 Merge pull request #3476 from dgarske/sniffer_hrr
Fixes for TLS sniffer with v1.3 (HRR and Certs)
2020-11-18 16:07:11 -08:00
toddouska
3adeff672b Merge pull request #3472 from SparkiDev/pickhashsigalgo_rework
TLS PickHashSigAlgo: rework
2020-11-18 15:58:59 -08:00
toddouska
dedde4c058 Merge pull request #3456 from JacobBarthelmeh/Certs
strict certificate version allowed from client
2020-11-18 15:55:50 -08:00
toddouska
9183c35fb8 Merge pull request #3446 from haydenroche5/client_want_write_sim
Add an option to the example client to simulate WANT_WRITE errors.
2020-11-18 15:54:09 -08:00
toddouska
9bde34ef5b Merge pull request #3438 from douzzer/harmonize-CCM8-cipher-names
add "CCM8" variants to cipher_names "CCM-8" ciphers, for OpenSSL compat
2020-11-18 15:52:52 -08:00
Chris Conlon
f02187eef7 fix additional err returns in fp_invmod_slow() 2020-11-18 16:29:13 -07:00
Sean Parkinson
d8b58286d1 TLS 1.3: PSK only
Support building with only TLS 1.3 and PSK without code for (EC)DHE and
certificates.
Minimise build size for this configuration.
2020-11-19 09:21:24 +10:00
Chris Conlon
fa08930921 Merge pull request #3498 from ethanlooney/30th_branch
Added unit tests for blake2b
2020-11-18 13:34:21 -07:00
David Garske
4cfe5a1bc1 Fix for missing wolfSSL_PEM_write_bio_PrivateKey with WebRTC. If keygen or certgen is not specified this was incorrectly being excluded with opensslextra or opensslall. 2020-11-18 11:30:53 -08:00
Chris Conlon
68744c4da0 return err from fp_invmod_slow() when fp_add() fails 2020-11-18 10:25:15 -07:00
tmael
3b552fecc9 Merge pull request #3481 from dgarske/no_ecc
Fixes for various build configurations
2020-11-17 17:11:27 -08:00
Sean Parkinson
c17f8b58e4 Merge pull request #3506 from dgarske/sp_check_ecc
Fixes for SP math only with ECC check key
2020-11-18 09:19:54 +10:00
Ethan Looney
3692c760b9 Changed key to size BLAKE2B_KEYBYTES 2020-11-17 14:03:08 -07:00
Chris Conlon
3640bf241c Merge pull request #3507 from ethanlooney/32nd_branch
Doxygen - Removed link/button to annotated.html page as it is currently broken
2020-11-17 13:40:27 -07:00
Juliusz Sosinowicz
a0a3a2b74c Review changes 2020-11-17 19:15:12 +01:00
David Garske
508ba85b69 Fixes for SP math only with ECC check key. Fix SP math when loading an ECC public only and calling wc_ecc_check_key. Fix for missing ecc_check_privkey_gen with SP math only. Applies to: /configure --enable-sp --enable-sp-math CFLAGS="-DWOLFSSL_VALIDATE_ECC_IMPORT". 2020-11-17 08:13:08 -08:00
David Garske
8fe6186621 Merge pull request #3496 from haydenroche5/pre_commit_stash_fix
Modify pre-commit.sh to only stash and stash pop if there are modified files not add to the index
2020-11-17 07:54:50 -08:00
Juliusz Sosinowicz
b4754d5706 CAVP, Windows, and FIPS tests 2020-11-17 15:06:35 +01:00
Juliusz Sosinowicz
d18e2d7386 Refactoring and use salt length discover if available 2020-11-17 15:06:35 +01:00
Juliusz Sosinowicz
fa03113460 enum wc_HashType switch
switch needs to handle all possible enum values or else the compiler generates warnings
2020-11-17 15:04:57 +01:00
Juliusz Sosinowicz
248dd12993 Enable RSA-PSS padding in EVP_Digest* API 2020-11-17 15:04:57 +01:00
Jacob Barthelmeh
9cdbff8ee7 fix for no filesystem build with DH test case 2020-11-17 18:27:32 +07:00
Ethan Looney
7467b4c456 Removed link/button to annotated.html page as it is currently broken 2020-11-16 14:25:22 -07:00
Ethan Looney
549c446aaa Removed leftovers from merge conflict 2020-11-16 13:17:49 -07:00
David Garske
710cb7c9f5 Fixes for ECC tests with WOLFSSL_NO_MALLOC defined. 2020-11-16 12:17:30 -08:00
David Garske
e5a0a264b3 Fix for coverity report with possible use of uninitialized value "err" in WC_ECC_NONBLOCK case. More fixes for building with WOLFSSL_NO_MALLOC. 2020-11-16 12:17:28 -08:00
David Garske
40387ab0a0 Fixes for building with WOLFSSL_NO_MALLOC and/or NO_ASN_CRYPT defined. 2020-11-16 12:17:28 -08:00
David Garske
f3b176d7e3 Fix for unused parameter with NO_ASN in ECC. 2020-11-16 12:17:28 -08:00
David Garske
4a790cd024 Fixes for building with --disable-ecc and --disable-dh. 2020-11-16 12:17:27 -08:00
Ethan Looney
48f2d917b9 Added unit tests for blake2b 2020-11-16 13:06:51 -07:00
Chris Conlon
4e37036cba Merge pull request #3499 from ethanlooney/31st_branch
Added blake2s unit tests
2020-11-16 09:37:31 -07:00
JacobBarthelmeh
4efbb2fc70 Merge pull request #3418 from cconlon/zd11003
PKCS#7: check PKCS7 VerifySignedData content length against total bundle size
2020-11-16 18:14:41 +07:00
Takashi Kojo
10380c6850 (ctx->gcmBuffer != NULL && ctx->gcmBufferLen == 0) 2020-11-16 15:48:39 +09:00
Sean Parkinson
a00c75c51b DTLS MTU: check MTU on write 2020-11-16 09:30:04 +10:00
Sean Parkinson
837de435ba TFM div: fix initial value of size in q so clamping doesn't OOB read 2020-11-16 09:29:13 +10:00
David Garske
e9f0cb234b Merge pull request #3425 from haydenroche5/cmake
CMake improvements
2020-11-14 08:35:54 -08:00
Chris Conlon
c436bc44e6 verify extracted public key in wc_PKCS7_InitWithCert 2020-11-13 17:23:40 -07:00
Ethan Looney
0541a59edd Added blake2s unit tests 2020-11-13 14:43:50 -07:00
Hayden Roche
cd61fbd0fe Modify pre-commit.sh to only stash and stash pop if there are modified files not
added to the index.

Before this change, if there was nothing to stash, the last thing you stashed
would get popped at the end of the script.
2020-11-13 13:38:58 -06:00
Kareem Abuobeid
da06ef8c3f Return long names instead of short names in wolfSSL_OBJ_obj2txt(). 2020-11-13 12:03:26 -07:00
David Garske
d4e1340027 Merge pull request #3486 from douzzer/refactor-gccish-macros
sha256.c/sha512.c: refactor 4 instances of gccism ({}) to WC_INLINE functions
2020-11-13 09:26:00 -08:00
Hayden Roche
8f6c21d600 CMake improvements.
- Begin adding options to enable/disable different features.
- Increase minimum CMake version to 3.2.
- Support installation of the built files.
- Add checks for necessary include files, functions etc.
- Generate options.h and config.h.
- Use GNUInstallDirs to support installation, which is designed to be somewhat
  cross-platform.
- Export wolfssl CMake target during installation, so others using CMake can
  link against wolfssl easily.
- Disallow in-source builds.
- Place the generation of BUILD_* flags (controlled with AM_CONDITIONALs
  in configure.ac) in a separate function in functions.cmake,
  generate_build_flags.
- Implement the logic to conditionally add source files from
  src/include.am in a function in functions.cmake, generate_lib_src_list.
- Exclude tls_bench from Windows. Doesn't compile with MSVC. WIP.
- Update INSTALL with latest CMake build instructions.
- Add a cmake/include.am to ensure CMake files get added to the distribution.
2020-11-13 11:25:04 -06:00
David Garske
7f559b1d1a Merge pull request #3487 from ejohnstown/sbf
Scan-Build Fixes
2020-11-13 09:24:17 -08:00
Hayden Roche
3d5c747ed5 Modify a couple tests to use WANT_WRITE simulation. 2020-11-13 10:35:56 -06:00
Hayden Roche
2fc594d319 Modify example server to be resilient to WANT_WRITE errors. 2020-11-13 10:33:10 -06:00
Hayden Roche
e035eb8f8a Add an option to the example client to simulate WANT_WRITE errors.
- Add this option as "-6."
- Turn on non-blocking mode if WANT_WRITE simulation is enabled.
- Create a send IO callback that gets registered when this option is turned on.
  This callback alternates between letting the TX through and returning a
  WANT_WRITE error.
2020-11-13 10:30:24 -06:00
John Safranek
28be1d0cb3 Scan-Build Fixes
1. Fix some potential uninitialized pointer errors in the functions sp_RsaPublic_2048, sp_RsaPublic_3072, and sp_RsaPublic_4096 for small stack builds.

To recreate:
    $ scan-build ./configure --enable-sp=small --enable-smallstack --enable-smallstackcache CPPFLAGS="-DECC_CACHE_CURVE -DHAVE_WOLF_BIGINT"
2020-11-12 20:58:25 -08:00
John Safranek
1e348b991d Scan-Build Fixes
1. Fix a potential dereference of NULL pointer.

To recreate:
    $ scan-build ./configure --enable-sp --enable-sp-asm --enable-sp-math
2020-11-12 20:58:17 -08:00
Jacob Barthelmeh
3773d33070 pin the C# verify callback 2020-11-13 11:57:20 +07:00
JacobBarthelmeh
a8333b09a0 memory cleanup with test case 2020-11-12 20:24:47 -08:00
David Garske
f02cc650a2 Fixes for handling TCP out-of-range sequence number. 2020-11-12 16:09:09 -08:00
David Garske
c7053e9a36 Fix scenario where FreeHandshakeResources is called and server hello is recevied and WOLFSSL arrays is NULL. 2020-11-12 16:09:00 -08:00
Chris Conlon
53c6698678 Merge pull request #3445 from kojo1/EVP-gcm
set tag for zero inl case
2020-11-12 15:49:45 -07:00
Chris Conlon
735fb19ea9 break out on error parsing PKCS#7 SignedData inner OCTET_STRING 2020-11-12 15:44:25 -07:00
David Garske
b931b1bd4d Fix to not allow free for globally cached sessions. Resolves a false-positive scan-build warning. 2020-11-12 12:51:41 -08:00
John Safranek
38867ae2bf Scan-Build Fixes
1. Added a check to see if the "d" in sp_div() ended up with a negative used length. Return error if so.

To recreate:
    $ scan-build ./configure --enable-sp --enable-sp-asm --enable-sp-math
2020-11-12 10:24:11 -08:00
David Garske
cdf44f6ff6 Pass static ephemeral keys for TLS v1.2 as well. 2020-11-12 09:18:24 -08:00
John Safranek
e996a7d15b Scan-Build Fixes
1. Fixed a couple possible 0 byte allocations.
2. Fixed a couple missed frees due to error conditions.
3. Fixed a possible double free.

To recreate:
    $ scan-build ./configure --disable-shared --enable-opensslextra=x509small --disable-memory
    $ scan-build ./configure --disable-shared --enable-opensslextra --disable-memory
2020-11-12 09:06:59 -08:00
David Garske
a6f2081af1 Fixes for key loading errors in snifftest application. 2020-11-12 08:59:11 -08:00
David Garske
a53b734c83 Fix for client_hello keyshare with multiple entries. Fix for change_cipher_spec after finished. 2020-11-12 08:59:11 -08:00
David Garske
ea21ddf540 Fix to only free existing key in SetStaticEphemeralKey if the incoming algorithm type has been specified. 2020-11-12 08:59:11 -08:00
David Garske
5cda549d00 Allow passing multiple keys (comma separated) with the sniffer test tool. This allows setting both DH and ECC static ephemeral keys. Do not fail on resume not found. 2020-11-12 08:59:11 -08:00
David Garske
720919198f Fix for Scan-buld and when building without ECC or DH. 2020-11-12 08:59:11 -08:00
David Garske
71d9f1e9bd Static ephemeral refactor to support loading both DHE and ECDHE keys. Added ability to specify key using snifftest input at run-time. Improved snifftest key loading for named keys and static ephemeral. 2020-11-12 08:59:11 -08:00
David Garske
1c87f3bdc1 Improve sniffer resume logic. 2020-11-12 08:59:10 -08:00
David Garske
d208779974 Added test case for TLS v1.3 with HRR (hello_retry_request) 2020-11-12 08:59:10 -08:00
David Garske
b74f0fb6b8 Fixes for sniffer with hello_retry_request. Fix for TLS v1.3 certificate processing. 2020-11-12 08:59:10 -08:00
David Garske
c7bb602a30 Merge pull request #3482 from douzzer/scan-build-fixes-20201110
scan-build fixes -- 1 null deref, 34 unused results
2020-11-12 07:45:45 -08:00
Daniel Pouzzner
1cbc2e8608 openssl.test: recognize TLS13-AES128-CCM-8-SHA256 and TLS13-AES128-CCM8-SHA256 as equivalent while iterating through $wolf_ciphers. 2020-11-11 23:23:28 -06:00
Daniel Pouzzner
7850d71ccb add wolfSSL_get_cipher_suite_from_name(); add flags arg to GetCipherSuiteFromName(); fix GetCipherSuiteFromName() to prevent spurious substring matching; add SUITE_ALIAS() macros for use defining CipherSuiteInfo, and add CipherSuiteInfo.flags slot and associated logic, to allow alternative cipher names to be recognized; add "CCM8" cipher name variants wherever applicable, including the unit.test conf files, to recognize and test the OpenSSL variants; add tests in client_test() and server_test() to confirm correct forward and backward mapping of cipher names/aliases. 2020-11-11 22:47:47 -06:00
Daniel Pouzzner
68ebca8573 wolfcrypt/test/test.c: fix typos in aesgcm_test() malloc checks. 2020-11-11 22:47:47 -06:00
toddouska
d3e3b21c83 Merge pull request #3393 from dgarske/zd11104
Fix for TLS ECDH (static DH) with non-standard curves
2020-11-11 14:22:37 -08:00
toddouska
197c85289b Merge pull request #3468 from SparkiDev/sp_c_mul_d
SP C32/64 mul_d: large div needs mul_d to propagate carry
2020-11-11 14:06:25 -08:00
Daniel Pouzzner
f96fbdb7d1 sha256.c/sha512.c: refactor 4 instances of gccism ({}) to WC_INLINE functions. 2020-11-11 13:44:26 -06:00
Daniel Pouzzner
5fe1586688 fix 34 deadcode.DeadStores detected by llvm11 scan-build. 2020-11-11 13:04:14 -06:00
JacobBarthelmeh
fe2dcf76fe Merge pull request #3413 from cconlon/zd11011
PKCS#7: check PKCS7 SignedData private key is valid before using it
2020-11-11 22:55:03 +07:00
Jacob Barthelmeh
4705ebde88 add guard on test case for cert gen 2020-11-11 21:53:52 +07:00
Juliusz Sosinowicz
d49038ae24 Fix overlapping sequence number error.
wolfSSL wants to use the same sequence number for the ServerHello as the ClientHello. This is an issue when this sequence number is already taken.
2020-11-11 15:35:05 +01:00
Jacob Barthelmeh
979216d595 add test case for rejecting version 2 x509 2020-11-11 18:57:09 +07:00
Sean Parkinson
5f0d788bfb TLS PickHashSigAlgo: rework
Make default to pick lowest hash with RSA and ECC (TLS 1.2 and lower).
WOLFSSL_STRONGEST_HASH_SIG picks the strongest hash.
WOLFSSL_ECDSA_MATCH_HASH will pick the hash to match the ECC curve.
2020-11-11 10:06:09 +10:00
Sean Parkinson
f5561b926c rshb: handle cases of shift amount being multiple of DIGIT_BIT
tfm.c and integer.c fixed
2020-11-11 10:04:14 +10:00
Takashi Kojo
d7ea8b953b fold long lines 2020-11-11 08:43:16 +09:00
Takashi Kojo
eab3bf9ab4 Add a test case for zero len plain text 2020-11-11 08:43:16 +09:00
Takashi Kojo
417ff1b0f2 set tag for zero len case 2020-11-11 08:43:16 +09:00
Takashi Kojo
1d2eb44bfb Merge https://github.com/wolfssl/wolfssl 2020-11-11 08:34:03 +09:00
David Garske
68209f91fb Merge pull request #3465 from kaleb-himes/DOX_UPDATE_wc_RsaPublicEncrypt
Address report on issue #3161
2020-11-10 14:52:20 -08:00
David Garske
fcd73135f5 Merge pull request #3479 from tmael/ocsp_NULL
Check <hash> input parameter in GetCA
2020-11-10 14:46:05 -08:00
Daniel Pouzzner
958fec3b45 internal.c:ProcessPeerCerts(): fix a core.NullDereference detected by llvm9 and llvm11 scan-builds. 2020-11-10 16:40:28 -06:00
Chris Conlon
7b50cddf8c Merge pull request #3387 from ethanlooney/27th_branch
Added unit test for evp.c
2020-11-10 13:27:33 -07:00
David Garske
8645e9754e Only set ssl->ecdhCurveOID if not already populated. 2020-11-10 09:47:38 -08:00
David Garske
1d531fe13b Peer review fixes. 2020-11-10 09:47:37 -08:00
David Garske
fa1af37470 Fix for FIPS ready CAVP tests. For now it requires ECC 192-bit. 2020-11-10 09:47:37 -08:00
David Garske
5de80d8e41 Further refactor the minimum ECC key size. Adds --with-eccminsz=BITS option. Fix for FIPSv2 which includes 192-bit support. If WOLFSSL_MIN_ECC_BITS is defined that will be used. 2020-11-10 09:47:37 -08:00
David Garske
b13848e568 Fix tests to handle ECC < 224 not enabled. 2020-11-10 09:47:37 -08:00
David Garske
6bd98afdd0 Only allow TLS ECDH key sizes < 160-bits if ECC_WEAK_CURVES is defined. 2020-11-10 09:47:37 -08:00
David Garske
c697520826 Disable ECC key sizes < 224 bits by default. Added --enable-eccweakcurves or ECC_WEAK_CURVES to enable smaller key sizes. Currently this option is automatically enabled if WOLFSSL_MIN_ECC_BITS is less than 224-bits. 2020-11-10 09:47:36 -08:00
David Garske
62dca90e74 Fix for server-side reporting of curve in wolfSSL_get_curve_name if client_hello includes ffdhe, but ECC curve is used. 2020-11-10 09:47:36 -08:00
David Garske
d7dee5d9e6 Fix for ECC minimum key size, which is 112 bits. 2020-11-10 09:47:36 -08:00
David Garske
6ac1fc5cff Fix include.am typo. 2020-11-10 09:47:36 -08:00
David Garske
10f459f891 Added TLS v1.2 and v1.3 test cases for ECC Koblitz and Brainpool curves (both server auth and mutual auth). Cipher suites: ECDHE-ECDSA-AES128-GCM-SHA256, ECDH-ECDSA-AES128-GCM-SHA256 and TLS13-AES128-GCM-SHA256. 2020-11-10 09:47:36 -08:00
David Garske
fb9ed686cb Fix for TLS with non-standard curves. The generted ECC ephemeral key did not use the same curve type as peer. Only the server was populating ssl->ecdhCurveOID. Now the curveOID is populated for both and as a fail-safe the peer key curve is used as default (when available). 2020-11-10 09:47:36 -08:00
David Garske
045fc4d686 Fixes to support overriding minimum key sizes for examples. 2020-11-10 09:47:36 -08:00
David Garske
bfb6138fc5 Merge pull request #3480 from douzzer/fix-sniffer-printf-null-Wformat-overflow
TraceSetNamedServer() null arg default vals; FIPS wc_MakeRsaKey() PRIME_GEN_E retries; external.test config dependencies
2020-11-10 09:37:36 -08:00
Daniel Pouzzner
5625929c83 scripts/external.test: skip test when -UHAVE_ECC. 2020-11-10 01:27:45 -06:00
Daniel Pouzzner
196ae63eb2 scripts/external.test: skip test when -DWOLFSSL_SNIFFER (staticCipherList in client.c is incompatible). 2020-11-10 00:03:02 -06:00
Daniel Pouzzner
bd38124814 ssl.c: refactor wolfSSL_RSA_generate_key() and wolfSSL_RSA_generate_key_ex() to retry failed wc_MakeRsaKey() on PRIME_GEN_E when -DHAVE_FIPS, matching non-FIPS behavior, to eliminate exposed nondeterministic failures due to finite failCount. 2020-11-09 21:24:34 -06:00
toddouska
3050f28890 Merge pull request #3467 from cconlon/rc2vs
rc2.c to Visual Studio projects, fix warnings
2020-11-09 13:52:03 -08:00
David Garske
f02c3aab2e Merge pull request #3475 from ejohnstown/nsup
Hush Unused Param Warning
2020-11-09 11:04:05 -08:00
Daniel Pouzzner
4b1a779fcc tests: fix for fips-test -Wunused-variable on "rng" 2020-11-09 11:54:49 -06:00
David Garske
7e3efa3792 Merge pull request #3474 from douzzer/lighttpd-update-1.4.56
lighttpd support update for v1.4.56
2020-11-09 09:24:58 -08:00
Tesfa Mael
a5caf1be01 Check for NULL 2020-11-09 08:45:48 -08:00
Daniel Pouzzner
22bcceb2d3 src/sniffer.c: guard against null arguments to TraceSetNamedServer(), to eliminate -Werror=format-overflow= warnings from gcc. 2020-11-06 17:40:12 -06:00
Chris Conlon
c0c452b0a1 reset content length in PKCS7_VerifySignedData for multiPart OCTET_STRING bundles 2020-11-06 16:36:58 -07:00
Kaleb Himes
937a7ce8ce Merge pull request #3448 from dgarske/crypto_cb
Improve the crypto callback for ASN
2020-11-06 15:26:11 -07:00
John Safranek
884a9b59ab Merge pull request #3461 from dgarske/fips_ready_wopensslextra
Fix for FIPS ready with openssl compat
2020-11-06 13:14:06 -08:00
Ethan Looney
a6e0d3eb29 Changed hardcoded values to variables, changed where some variables were defined, etc 2020-11-06 14:04:27 -07:00
Chris Conlon
ac4c8a0112 Merge pull request #3419 from ethanlooney/29th_branch
Added case for Logging.c unit test
2020-11-06 13:10:24 -07:00
toddouska
4110297b62 Merge pull request #3473 from embhorn/zd11198
wc_SetIssuerRaw should copy raw subject to issuer
2020-11-06 10:48:37 -08:00
toddouska
b4e7f196df Merge pull request #3470 from SparkiDev/config_fix_3
TLS configurations fixes
2020-11-06 10:35:51 -08:00
toddouska
3f25cda354 Merge pull request #3469 from SparkiDev/cpuid_sp_asm
cpuid and SP ASM: ensure WOLFSSL_X86_64_BUILD is defined
2020-11-06 10:34:40 -08:00
John Safranek
abd6f6ce18 Hush Unused Param Warning
Removed a guard check for NO_WOLFSSL_STUB from wolfSSL_X509_print_ex().
To recreate:

    $ ./configure --enable-opensslextra CPPFLAGS="-DNO_WOLFSSL_STUB"
    $ make
2020-11-06 10:30:47 -08:00
toddouska
f3d961b1b1 Merge pull request #3453 from dgarske/ZD11159
Fix for possible memory leak when overriding error for verify callback
2020-11-06 10:18:52 -08:00
toddouska
f9ec7c472a Merge pull request #3440 from ejohnstown/ntf3
Nightly Test Fix
2020-11-06 10:15:23 -08:00
Hayden Roche
2cad844d29 Merge pull request #3421 from dgarske/apache_httpd
Apache httpd w/TLS 1.3 support
2020-11-06 12:14:58 -06:00
David Garske
0d2e28ce80 Fix for error: unused function 'MonthStr' 2020-11-06 10:11:48 -08:00
Daniel Pouzzner
dcff103c84 tests/api.c: fixes for compilability re NO_BIO 2020-11-05 22:19:16 -06:00
Daniel Pouzzner
4030523eb5 ssl.c: remove duplicate definition of wolfSSL_CTX_check_private_key(). 2020-11-05 21:57:33 -06:00
Glenn Strauss
f9e48ee361 build updates for lighttpd: recommend -DNO_BIO
(cherry picked from commit bfe12839e18ccc3ab95cfc33b34c875ebe55c14a)
2020-11-05 20:40:43 -06:00
Glenn Strauss
92c3296e13 preprocessor -DNO_BIO to omit OpenSSL BIO API 2020-11-05 20:40:43 -06:00
Glenn Strauss
030eb9347c lighttpd: allow ssl3, tls1.0 if explicitly enabled 2020-11-05 20:40:43 -06:00
Glenn Strauss
7cee131e37 restore --enable-lighty with --enable-all
protect lighttpd recommendations (and recommended restrictions)
to when building wolfSSL specifically for use by lighttpd, and
omit these optional settings when building `--enable-all`
2020-11-05 20:40:43 -06:00
David Garske
a9a495270c Fix to disable CRL monitor for single threaded or lighttpd. Do not set --enable-lighty with --enable-all. 2020-11-05 20:40:43 -06:00
Glenn Strauss
daca327ba3 expose (get|set)_(app|ex)_data with HAVE_EX_DATA
when OPENSSL_EXTRA_X509_SMALL is set
2020-11-05 20:40:43 -06:00
Glenn Strauss
d01616a357 unhide some non-fs funcs hidden by NO_FILESYSTEM 2020-11-05 20:40:43 -06:00
Glenn Strauss
bcf1f0375b build updates for lighttpd: recommended flags 2020-11-05 20:40:43 -06:00
Glenn Strauss
f4e2db831e enable SNI_Callback for lighttpd 2020-11-05 20:40:43 -06:00
Glenn Strauss
be7592fb43 implement wolfSSL_dup_CA_list()
wolfSSL_dup_CA_list() duplicates a WOLF_STACK_OF(WOLFSSL_X509_NAME)

(replaces stub function)
2020-11-05 20:40:43 -06:00
Glenn Strauss
e5ed227a87 build updates for lighttpd: -DOPENSSL_ALL
avoid potential for WolfSSL to silently omit expected functionality
2020-11-05 20:40:43 -06:00
Glenn Strauss
503de43cbd build updates for lighttpd
Update configure.ac and various #ifdefs to enable WolfSSL to
build features for use by lighttpd.

Change signature of wolfSSL_GetVersion() to take const arg.
Pass (const WOLFSSL*) to wolfSSL_GetVersion() for use with
SSL_CTX_set_info_callback(), where OpenSSL callback takes (const SSL *)
2020-11-05 20:40:43 -06:00
kaleb-himes
182a3e6bc2 Also addressing opensslall, pkcs7 and combinations 2020-11-05 17:29:30 -07:00
Ethan Looney
232ac03bbe Changed it to only the inverse 2020-11-05 14:38:23 -07:00
Ethan Looney
0aee4b78cd Changed md5 to sha256 in DigestFinal_ex function 2020-11-05 14:36:42 -07:00
Eric Blankenhorn
a92e31f6cb Fix from review 2020-11-05 14:47:10 -06:00
David Garske
d784bd61cd Merge pull request #3462 from kabuobeid/wolfrand_freescale_ecc_fix
Fix build issue when building wolfrand on a Freescale platform.
2020-11-05 12:29:49 -08:00
Ethan Looney
06f1a1870d Added inverse case 2020-11-05 13:05:15 -07:00
David Garske
1dc7293b19 Fix the return code. openssl uses void on these, but let's go ahead and do a return code. 2020-11-05 09:31:12 -08:00
David Garske
063fb2cfa0 Merge pull request #3455 from douzzer/linuxkm-install-rules
add "module", "modules_install", and "clean_module" rules for linuxkm
2020-11-05 09:09:35 -08:00
Kaleb Himes
648c5e4735 Merge pull request #3471 from douzzer/fix-scan-build-20201104
fix various possibly spurious scan-build null deref reports.
2020-11-05 09:36:42 -07:00
Eric Blankenhorn
fa9a0a4b49 Copy raw subject to issuer 2020-11-05 09:06:02 -06:00
Daniel Pouzzner
5751319e00 fix various possibly spurious scan-build null deref reports. 2020-11-04 23:11:42 -06:00
Kaleb Himes
b40543b342 Merge pull request #3466 from douzzer/fix-benchmark-dh-key-size
fix bench_dh() key size initialization
2020-11-04 20:33:06 -07:00
Sean Parkinson
78309cd7aa SP C32/64 mul_d: large div needs mul_d to propagate carry
Change implementation to pre-calc products to allow for reordering of
operations.
2020-11-05 12:50:33 +10:00
Sean Parkinson
8a42ee7ffd TLS configurations fixes
--enable-leanpsk --disable-tls13:
    ensure WriteSEQ is defined when !WOLFSSL_NO_TLS12 (tls.c)

CFLAGS=-DWOLFSSL_NO_CLIENT_AUTH -disable-tls13"
TLS server was expecting certificate from peer when verifyPeer is
set. Fix with checks for !WOLFSSL_NO_CLIENT_AUTH.
2020-11-05 12:21:19 +10:00
Sean Parkinson
2588fe366e cpuid and SP ASM: ensure WOLFSSL_X86_64_BUILD is defined
WOLFSSL_X86_64_BUILD is defined only when fast math is enabled.
Define it when SP ASM is enabled and on an x86_64 host.
Undo cpuid code being enabled when WOLFSSL_SP_ASM as it shouldn't for
non-Intel CPUs.
2020-11-05 11:16:27 +10:00
Kareem Abuobeid
37952b2776 Fix build issue when building wolfrand on a Freescale platform. 2020-11-04 16:52:59 -07:00
David Garske
3b4ec74174 Fixes for openssl compatibility. Added SSL_CTX_set_post_handshake_auth and SSL_set_post_handshake_auth API's for enabling or disabling post handshake authentication for TLS v1.3. 2020-11-04 15:05:50 -08:00
David Garske
eb19306f16 Merge pull request #3459 from haydenroche5/sniffer_fixes
Fix a couple of issues related to the sniffer.
2020-11-04 14:09:43 -08:00
Daniel Pouzzner
2d149b1bef benchmark.c: backport fixes to bench_dh() DH key size initialization from SparkiDev:sp_math_all. 2020-11-04 15:35:58 -06:00
Daniel Pouzzner
3858bda7e9 add "module", "modules_install", and "clean_module" rules to BUILD_LINUXKM section of Makefile.am, and add working install rule to linuxkm/Makefile, so that "make module" and "make modules_install" now work when --enable-linuxkm; fix "make dist" logic in Makefile.am and scripts/include.am to be unaffected by --enable-linuxkm; don't build wolfcrypt/benchmark or testwolfcrypt when --enable-linuxkm and --enable-crypttests. 2020-11-04 14:13:39 -06:00
Chris Conlon
6953049305 fix Visual Studio type conversion warnings 2020-11-04 11:11:40 -07:00
Chris Conlon
83b0847e66 add rc2.c to Visual Studio projects 2020-11-04 10:37:47 -07:00
kaleb-himes
288ad68b4d Address report on issue #3161 2020-11-04 10:37:46 -07:00
Hayden Roche
3b1c536418 Fix a couple of issues related to the sniffer.
- Fix an issue in sniffer.c where some pointer math was giving a warning.
- Fix an issue in snifftest.c where a local variable was never read.
- Ignore non-TCP/IP packets in snifftest.c. Fixes some tests with pcaps with
  other types of packets.
2020-11-04 10:46:11 -06:00
David Garske
00dd22adc4 Merge pull request #3464 from SparkiDev/sha512_valgrind_fix
SHA-512 AVX2: use register for wk other than rsp
2020-11-04 07:15:04 -08:00
Sean Parkinson
235ea98b90 SHA-512 AVX2: use register for wk other than rsp
Valgrind thinks that stack values are uninitialised when the stack
pointer is added to.
The asm code was moving rsp around rather than use another register.
Put length to hash onto stack and use that register instead.
2020-11-04 12:02:34 +10:00
toddouska
b76ac0b842 Merge pull request #3442 from SparkiDev/config_fix_2
Configuration fixes
2020-11-03 14:48:49 -08:00
toddouska
e52efc7a8a Merge pull request #3441 from SparkiDev/ecdsa_vfy_safe
ECDSA verification: handle doubling of infinity
2020-11-03 14:47:45 -08:00
toddouska
2acef1c114 Merge pull request #3436 from haydenroche5/chacha_msvc_fix
Fix MSVC compile issue in chacha.c.
2020-11-03 14:44:43 -08:00
toddouska
63bf5dc56c Merge pull request #3426 from SparkiDev/rsa_pss_fix
RSA-PSS: Handle edge case with encoding message to hash
2020-11-03 14:43:56 -08:00
toddouska
3cce86d7a8 Merge pull request #3420 from dgarske/small_pk
ECC memory reductions with key and signature parsing
2020-11-03 14:42:43 -08:00
toddouska
9f9901e10e Merge pull request #3417 from douzzer/fix-ipv6-ocsp-tests
Fix ipv6 ocsp tests
2020-11-03 14:38:32 -08:00
David Garske
d6b219bd38 Fix for ./configure --enable-fips=ready --enable-opensslextra. 2020-11-03 14:23:08 -08:00
Ethan Looney
813a94ab9a Added bad and good case to EVP_DigestFinal_ex test 2020-11-03 14:57:30 -07:00
Jacob Barthelmeh
39d0b032e8 strict certificate version allowed from client 2020-11-03 19:30:56 +07:00
David Garske
f8176dd646 Merge pull request #3454 from SparkiDev/sp_def_fix
SP C64/32: Fix define check
2020-11-02 17:07:56 -08:00
Sean Parkinson
b3f6c483bf SP C64/32: Fix define check
WOLFSSL_SP_DH -> WOLFSSL_HAVE_SP_DH
2020-11-03 08:42:55 +10:00
Ethan Looney
48073fb678 Removed unnecessary test 2020-11-02 14:22:01 -07:00
Ethan Looney
cf05a060f7 Removed cases that caused fips test to fail 2020-11-02 14:16:02 -07:00
Ethan Looney
05d01dcccd Added if defined checks for rc4 and fips 2020-11-02 14:11:07 -07:00
Ethan Looney
251f3e15d4 Added fips check for specific size 2020-11-02 14:11:07 -07:00
Ethan Looney
7412374496 Changed from hardcoded values, changed types and deleted comments 2020-11-02 14:11:07 -07:00
Ethan Looney
8122c031bf Added ifdef's, changed key sizes to relevant sizes 2020-11-02 14:11:07 -07:00
Ethan Looney
b46f87ffe6 Added unit test for evp.c 2020-11-02 14:11:07 -07:00
David Garske
89c39dcfe5 Fix for possible memory leak when overriding error for verify callback on cert 0 (peer) if OPENSSL_EXTRA or OPENSSL_EXTRA_X509_SMALL and KEEP_PEER_CERT is not defined. 2020-11-02 12:04:56 -08:00
John Safranek
29c7351fe0 Merge pull request #3383 from kaleb-himes/ACVP_TESTING_UPDATE
In ACVP testing NIST needs to see failed decryption output
2020-11-02 10:42:28 -08:00
Chris Conlon
87abb5257e Merge pull request #3447 from dgarske/microchip
Fixes for building with Microchip
2020-11-02 10:09:13 -07:00
JacobBarthelmeh
a411dab74f Merge pull request #3410 from cconlon/zd11001
PKCS#7: Reset variables correctly in VerifySignedData
2020-11-02 11:33:52 +08:00
John Safranek
d24add10f2 Nightly Test Fix
When performing a fast_mp_montgomery_reduce(), scan-build didn't like
that the destination buffer was fully zeroed out. We were only zeroing
what was expected to be used. This zeroes only the expected to be used
section of the output buffer.
2020-11-01 18:58:05 -08:00
David Garske
0df5079f8b Fixes for building with Microchip. The min/max patch allows non PIC32MZ parts to build in MPLABX. The cryptoauthlib already defines SHA_BLOCK_SIZE, so undef to prevent redef error. 2020-10-30 12:46:14 -07:00
Ethan Looney
8728eaf93f Removed duplicate return check and added return check 2020-10-30 13:19:12 -06:00
David Garske
64b081f3c9 Improve the SHA256 crypto callback for ASN, so a wc_Sha/wcSha256 context exists for certificate hashing. 2020-10-30 12:18:19 -07:00
Chris Conlon
54fe98716d Merge pull request #3415 from kojo1/config-options
Config options
2020-10-30 11:55:11 -06:00
Takashi Kojo
22816b53de set tag for zero len case 2020-10-30 16:13:37 +09:00
David Garske
e4f3f8b80a Further tuning of the zero trim / is leading set logic for new ECC signature encoding/decoding API's. 2020-10-29 15:59:51 -07:00
Sean Parkinson
bd3841c7d1 Merge pull request #3444 from julek-wolfssl/aad-reset
AAD should be reset on Init call
2020-10-30 08:11:26 +10:00
David Garske
95c8a48285 Trim leading zero's first, then check for MSB being set. 2020-10-29 08:38:55 -07:00
Juliusz Sosinowicz
aff14091e0 AAD should be reset on Init call 2020-10-29 12:13:35 +01:00
Sean Parkinson
320afab227 Configuration fixes
--enable-sp --enable-sp-asm --disable-fastmath:
    cpuid.h - check for WOLFSSL_SP_ASM as well

-enable-curve448 --enable-ed448 --disable-rsa --disable-dh
--enable-tls13 --disable-ecc --enable-certgen --enable-keygen:
    api.c - certificate loaded that was RSA but RSA disabled

--enable-sp --enable-sp-asm --enable-sp-math:
    cpuid.c - check for WOLFSSL_SP_ASM as well

--disable-shared --disable-ecc --disable-dh --enable-cryptonly
--enable-rsavfy --disable-asn --disable-rng --disable-filesystem:
    test.c - rsa_test()

'CC=clang -fsanitize=address' '-enable-distro' '--enable-stacksize':
testsuit.c - echoclient_test_wrapper needs to free ECC FP cache when
it is in a separate thread
2020-10-29 16:21:06 +10:00
Sean Parkinson
32ea0910de ECDSA verification: handle doubling of infinity 2020-10-29 12:12:01 +10:00
David Garske
ef7a987759 Peer review fixes. 2020-10-28 17:09:15 -07:00
Daniel Pouzzner
7d177e78d7 don't include wolfssl/options.h in logging.c, use AM_CFLAGS (not wolfssl/options.h) to communicate HAVE_WC_INTROSPECTION to the compiler, and use config.h (not wolfssl/options.h) to communicate LIBWOLFSSL_CONFIGURE_ARGS and LIBWOLFSSL_GLOBAL_CFLAGS to the compiler (for logging.c). 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
fda84576b0 name the new introspection routines wolfSSL_configure_args() and wolfSSL_global_cflags() for consistency, and move the prototypes to logging.h. 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
139b0431cb ocsp-stapling*.test: prefix waited servers with "timeout 60" to avoid deadlock failure modes; grep output from "openssl s_client" in "test interop fail case" for expected error message ("self signed certificate in certificate chain"). 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
a5d96721ac wolfcrypt/src: remove wc_debug.c and move its contents to logging.c. 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
0568ec304f pass -4 flag to openssl and nc only when IPV6_SUPPORTED. 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
94a3f86dcd scripts/ocsp-stapling*.test: check if IPv6 is supported by the installed openssl and nc executables, and if not, don't attempt to wrestle the version. with no IPv6 support, and an --enable-ipv6 wolfssl build, skip the test entirely. also, restore a couple -b (bind-all-interfaces) flags to examples/server/server recipes in case that's useful. 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
94d4ea3a57 examples/client/client.c:client_usage_msg[][]: add correct sensing and reporting of WOLFSSL_SP_4096. 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
1ba0883f4c introspection tweaks: rename wolfcrypt/src/debug.c to wolfcrypt/src/wc_debug.c; restore BUILD_WC_DEBUG gating for autotools inclusion of wc_debug.o and disable opportunistically when ENABLED_LEANTLS, ENABLED_LEANPSK, or ENABLED_LOWRESOURCE; add HAVE_WC_INTROSPECTION gate for libwolfssl_configure_args() and libwolfssl_global_cflags(). 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
f37c25f9c0 wc_XChaCha20Poly1305_crypt_oneshot(): use ForceZero, not XMEMSET(), to safely clear the AEAD state before return. 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
7a5cbaa9bc fix scripts/ocsp-stapling*.test to accommodate IPv6 examples/ client/server build. 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
b918e1fd4c examples/: add -@ and -# flags to client and server, printing libwolfssl_configure_args() and libwolfssl_global_cflags() respectively. 2020-10-28 17:28:05 -05:00
Daniel Pouzzner
8be2d7690a add API functions libwolfssl_configure_args() and libwolfssl_global_cflags() to retrieve build parameters at runtime. 2020-10-28 17:28:01 -05:00
toddouska
931eea30f5 Merge pull request #3397 from cconlon/rc2
RC2 ECB/CBC and PKCS#12 Integration
2020-10-28 15:06:47 -07:00
Hayden Roche
90258b6f34 Fix MSVC compile issue in chacha.c.
Use XMEMSET instead of initializing with {}.
2020-10-28 14:57:59 -05:00
toddouska
112cce8cf2 Merge pull request #3407 from SparkiDev/pkcs11_sign_vfy
PKCS #11: changes for signing and loading RSA public key from private
2020-10-28 12:53:58 -07:00
toddouska
6a98601895 Merge pull request #3427 from SparkiDev/ecdsa_shamir_precomp
ECC Shamir's Trick: infinity in precomp
2020-10-28 12:08:40 -07:00
toddouska
3a9758f257 Merge pull request #3433 from dgarske/sniffer_sni
Fix for Sniffer with SSLv3 where SNI is not supported
2020-10-28 12:06:37 -07:00
David Garske
a15769b12e Merge pull request #3435 from ejohnstown/ntf2
Nightly Test Fix 2
2020-10-28 06:39:15 -07:00
Hayden Roche
91f0d8bfef Fix MSVC compile issue in chacha.c.
MSVC generates a syntax error when you initialize
an array with {}. {0} has the same effect and compiles.
2020-10-27 21:14:15 -05:00
David Garske
4277ec62f9 Merge pull request #3431 from kaleb-himes/NO_FILESYSTEM_FIX
Remove file system constraint on wolfSSL_CTX_check_private_key()
2020-10-27 15:25:59 -07:00
John Safranek
6a77a8d8d6 Compatibility Layer
When making a AUTHORITY KEY object, if the ASN1 OBJECT fails, the key object is leaked.
2020-10-27 14:51:35 -07:00
David Garske
a43d239271 Fix for Sniffer with SSLv3 where SNI is not supported. ZD 11169. 2020-10-27 11:26:02 -07:00
David Garske
76e84e0830 Merge pull request #3423 from ejohnstown/nightly-test-fix
Nightly Scan-Build Test Fixes
2020-10-27 08:31:19 -07:00
kaleb-himes
f934fb03bd Remove file system constraint on wolfSSL_CTX_check_private_key() 2020-10-27 08:57:46 -06:00
Sean Parkinson
fb2288c46d RSA-PSS: Handle edge case with encoding message to hash
When the key is small relative to the digest (1024-bit key, 64-byte
hash, 61-byte salt length), the internal message to hash is larger than
the output size.
Allocate a buffer for the message when this happens.
2020-10-27 12:39:06 +10:00
John Safranek
7dbd6102d2 Compatibility Layer
When wolfSSL_X509_NAME_ENTRY_create_by_txt() needs to make a new ASN.1 object ID, actually store it in the name entry.
2020-10-26 16:10:44 -07:00
David Garske
2ebb47ec32 Merge pull request #3424 from douzzer/fix-save-vector-registers-gating
wc_port.h: improve/fix gating on {SAVE,RESTORE}_VECTOR_REGISTERS()
2020-10-26 15:33:00 -07:00
Daniel Pouzzner
fd5a309a47 wc_port.h: improve gating on {SAVE,RESTORE}_VECTOR_REGISTERS() to assure no-op fallback definitions in non-autotools builds. 2020-10-26 12:06:18 -05:00
Sean Parkinson
74b834a78c Merge pull request #3422 from ejohnstown/ecc-name
Tautological Name Fix
2020-10-26 10:12:51 +10:00
John Safranek
9c1049f112 Compatibility Layer
1. Changed the ASN1_OBJECT member of the X509_NAME_ENTRY to be a pointer
   rather than an object. It could lead to a double free on the name
   entry.
2. The ASN1_OBJECT allocator should set the dynamic flag, as the
   deallocator is the one that uses it.
3. General changes to treat the member as a pointer rather than a
   member.
4. In the api test, we were iterating over the name members in the name
   checking the NIDs. After the loop we freed the name member object.
   This led to a double free error.
2020-10-25 14:38:07 -07:00
John Safranek
f5f883597e RSA PSS Fix
1. Change the utility function in wc_encrypt that returns the size of a
   hash to initialize the size to HASH_TYPE_E, like the other utility
   functions.
2. When getting the hash size returns an error, RSA-PSS verify inline
   should return a BAD_FUNC_ARG error.
2020-10-24 13:06:42 -07:00
John Safranek
3f5620089e PKCS7: In EncodeEncryptedData, free the attribs and flattenedAttribs if
they were allocated, not based on if they should be allocated.
2020-10-24 12:41:10 -07:00
John Safranek
bfccf35eaf Tautological Name Fix
Depending on the build option WOLFSSL_ECC_CURVE_STATIC, the name in the
ecc_set may be a pointer (default) or an array. With the above set with
the CFLAG -Wtautological-pointer-compare you'll get a build error.
Changed the comparison in the for loop with this problem to check the
name's pointer only if appropriate.
2020-10-23 15:23:16 -07:00
Takashi Kojo
277edbb514 fix for --disable-tls13 --enable-sniffer 2020-10-24 07:14:43 +09:00
Takashi Kojo
02536461e6 fix for --enable-opensslall --disable-sha224 2020-10-24 07:06:24 +09:00
David Garske
685a35e097 Add missing stdint.h reference. 2020-10-23 13:42:25 -07:00
Chris Conlon
e24ac4211d Merge pull request #3405 from kojo1/EVP-gcm-zero
set tag including if(inl == 0) case
2020-10-23 14:35:47 -06:00
Ethan Looney
a5f86729f9 Deleted comment 2020-10-23 13:52:06 -06:00
David Garske
a50e88430f Add OPENSSL_init_crypto and OPENSSL_init_ssl API's. 2020-10-23 12:13:08 -07:00
David Garske
6dbc1cb75d Add support for TLS v1.3 compatibility API SSL_verify_client_post_handshake for the server-side to support rehandshake. Required for Apache v2.4.39 with TLS v1.3. 2020-10-23 12:13:08 -07:00
David Garske
589057245f Improvement to ECC wc_ecc_rs_raw_to_sig to reduce memory use (avoid the mp_int). Additional test cases. Fixes for previous function changes. 2020-10-23 11:00:46 -07:00
Chris Conlon
c27d5f57c4 check PKCS7 content length is not larger than bundle if not using separate header/footer 2020-10-23 09:56:34 -07:00
John Safranek
a7b325f542 Merge pull request #3414 from kabuobeid/wolfrand_build_fix
Fix wolfrand build failure.
2020-10-22 22:54:05 -07:00
Sean Parkinson
24af0497b5 PKCS #11: changes for signing and loading RSA public key from private 2020-10-23 14:02:59 +10:00
David Garske
ff092c02d2 Merge pull request #3396 from SparkiDev/fips_armasm
FIPS ARMASM: get build working
2020-10-22 15:26:24 -07:00
David Garske
05094460b2 Merge pull request #3353 from douzzer/XChaCha
XChaCha
2020-10-22 15:25:56 -07:00
Kareem Abuobeid
42583b5270 Fix wolfrand build failure, caused by defining NO_ASN without NO_CERTS. 2020-10-22 14:48:37 -07:00
Ethan Looney
2bd761bb4c Added a case for logging.c unit test with debug not enabled 2020-10-22 14:51:07 -06:00
David Garske
0065756efc Improvement to ECC wc_ecc_sig_to_rs to reduce memory use (avoid the mp_int). 2020-10-22 13:34:19 -07:00
David Garske
cb8e625e32 Fix to allow import of private key with ATECC. Its okay to load private key material into ecc_key struct. 2020-10-22 13:26:00 -07:00
tmael
6265006553 Merge pull request #3403 from elms/cppcheck/cleaup_fixes
Address some cppcheck issues
2020-10-22 12:56:19 -07:00
David Garske
be8e4d1949 Fix to reduce memory use with small stack on ECC key import. 2020-10-22 12:41:49 -07:00
Chris Conlon
1ced948391 check PKCS7 SignedData private key is valid before using it 2020-10-22 10:37:11 -07:00
Chris Conlon
df382f382f fix case in PKCS7_VerifySignedData where pkiMsgSz may not be set correctly 2020-10-22 09:23:32 -07:00
David Garske
f75dc4727d Merge pull request #3408 from ejohnstown/opt-fix
Example Client OCSP Option Fix
2020-10-22 09:00:04 -07:00
Chris Conlon
5e78a0107d check Rc2EcbEncrypt/Decrypt returns during CBC ops 2020-10-22 09:57:34 -06:00
Chris Conlon
d1f13a6570 rearrange Rc2 struct for optimal alignment 2020-10-22 09:43:40 -06:00
John Safranek
e28303b40a In DoServerKeyExchange(), when reading the DH key from the server, the
client was checking it too strictly. The pubkey value should be checked
as strictly as the generator, for too large. The public key value is
checked mathematically elsewhere.
2020-10-21 21:47:32 -07:00
Daniel Pouzzner
81849e64b8 scripts/openssl.test: for "-psk" cases, use "-psk key", not "-psk=key", for OpenSSL 1.0.2 compatibility. 2020-10-21 23:30:14 -05:00
John Safranek
ca7161a86f Example Client OCSP Option Fix
1. Before checking to see if the must staple flag is on the 'W' option,
   check the length of myoptarg.
2020-10-21 23:23:45 -05:00
John Safranek
d2dac8e4b8 Example Client OCSP Option Fix
1. Before checking to see if the must staple flag is on the 'W' option,
   check the length of myoptarg.
2020-10-21 13:30:51 -07:00
Daniel Pouzzner
b468ea77ea linuxkm: use EXPORT_SYMBOL_NS(x, WOLFSSL) if available, else fall back to EXPORT_SYMBOL(x). 2020-10-21 14:37:43 -05:00
Daniel Pouzzner
c910c94824 rename API wc_XChaCha20Poly1305_{encrypt,decrypt}_oneshot to wc_XChaCha20Poly1305_{Encrypt,Decrypt} for consistency; remove stray debugging printf in XChaCha20Poly1305_test(). 2020-10-21 14:36:46 -05:00
Daniel Pouzzner
299e88a993 minor fixes and commentary. 2020-10-21 14:08:41 -05:00
Daniel Pouzzner
99b76241bd wolfcrypt/test/test.c: remove debugging printf in XChaCha20Poly1305_test(). 2020-10-21 14:08:41 -05:00
Daniel Pouzzner
e1d3f2c7b4 chacha20_poly1305.c: add _SMALL_STACK code in wc_XChaCha20Poly1305_crypt_oneshot(). 2020-10-21 14:08:41 -05:00
Daniel Pouzzner
1949378d61 wc_Chacha_purge_current_block(): init "scratch" buffer to zeros, to avoid "garbage value" warnings. 2020-10-21 14:08:41 -05:00
Daniel Pouzzner
f65947ae09 rename wc_XChaCha_init() to wc_XChacha_SetKey() for consistency, and add a counter argument to provide for future random access scenarios; refactor wc_Chacha_purge_current_block() to use a dummy wc_Chacha_Process() call for intrinsically correct counter dynamics. 2020-10-21 14:08:41 -05:00
Daniel Pouzzner
6142c22948 add wc_XChaCha_init(), wc_XChaCha20Poly1305_Init(), wc_XChaCha20Poly1305_encrypt_oneshot(), wc_XChaCha20Poly1305_decrypt_oneshot(), and wc_Poly1305_EncodeSizes64(). also, remove redundant arg check (typo) in wc_Poly1305Update(). 2020-10-21 14:08:41 -05:00
Elms
c3dba3f9af Add additional checks to sp_ecc_point_new 2020-10-21 09:59:39 -07:00
Sean Parkinson
00ee24b998 ECC Shamir's Trick: infinity in precomp
Code now handles generating and having infinity in the precomp.
2020-10-21 11:58:31 +10:00
toddouska
e4eda3e125 Merge pull request #3384 from SparkiDev/tls13_sess_tick_compat
TLS session tickets: cannot share between TLS 1.3 and TLS 1.2
2020-10-20 15:56:03 -07:00
toddouska
7aae784a53 Merge pull request #3399 from dgarske/zd11128
Fix for TLS sniffer with non-standard curves
2020-10-20 15:14:53 -07:00
toddouska
7c38be407c Merge pull request #3398 from dgarske/async_test
Fixes for `--enable-asynccrypt` tests
2020-10-20 15:13:51 -07:00
toddouska
a1afc6ca4f Merge pull request #3389 from tmael/ocsp_status
Process multiple OCSP responses
2020-10-20 15:11:42 -07:00
toddouska
1e43d65d2a Merge pull request #3392 from SparkiDev/ocsp_must_staple
TLS OCSP Stapling: MUST staple option
2020-10-20 15:07:08 -07:00
Sean Parkinson
ffd55ac1fe Merge pull request #3406 from ejohnstown/dh-fix-2
DH Fix 2
2020-10-21 08:05:42 +10:00
toddouska
c863ca54a3 Merge pull request #3308 from julek-wolfssl/thread-safety
Introduce thread safety to unsafe functions in wolfSSL
2020-10-20 14:56:04 -07:00
toddouska
7c89d10e53 Merge pull request #3260 from julek-wolfssl/non-blocking-scr
(D)TLS non-blocking SCR with example
2020-10-20 13:45:19 -07:00
John Safranek
2c5a4ba508 DH Fix 2
1. Add some missing frees for the error cases when the server DH public
   key is rejected.
2020-10-20 10:32:09 -07:00
David Garske
a575403ca3 Merge pull request #3404 from haydenroche5/cmake
Tweak CMakeLists.txt
2020-10-20 06:58:00 -07:00
Takashi Kojo
6767646e54 set tag for zero len case 2020-10-20 19:11:35 +09:00
Sean Parkinson
ebde736ee7 Merge pull request #3400 from ejohnstown/dh-fix
DH Fix
2020-10-20 11:45:18 +10:00
David Garske
fb35013bf2 Merge pull request #3402 from douzzer/lkm-kernel_time_t
Linux __kernel_time_t version test
2020-10-19 17:28:48 -07:00
Hayden Roche
06977ebbdf Tweak CMakeLists.txt
- Change minimum CMake version from 2.6 to 3.0, which has support for targets.
- Favor explicit file lists in CMakeLists.txt over globs.
- Use target_compile_options to specify -DNO_MAIN_DRIVER for the unit_test target.
2020-10-19 16:38:51 -05:00
Hayden Roche
31b6c507f9 Tweak CMakeLists.txt
- Add generated CMake files/directories to .gitignore.
- Use lowercase for CMake commands, UPPERCASE for variables.
- Favor the CMake "option" command over SET(... CACHE BOOL ...).
- Use CMAKE_CURRENT_SOURCE_DIR in place of CMAKE_CURRENT_BINARY_DIR.
- Use CMAKE_USE_PTHREADS_INIT instead of CMAKE_HAVE_PTHREAD_H.
- Use target_include_directories on the wolfssl library target instead of include_directories.
2020-10-19 16:07:48 -05:00
Elms
86b2118550 Address some cppcheck issues 2020-10-19 11:47:53 -07:00
Daniel Pouzzner
48f4b927f6 wc_port.h: fix threshold of change in __kernel_time_t typedef from kernel 5.0.0 to 5.5.0 to accommodate Ubuntu 20.02 (kernel 5.4) -- see 2a785996cc (diff-2cd5bedb19d5e0a575d6f73a6c3290ecf8d9c01eb7567ba6fa282cb1b0ce2d54) 2020-10-19 13:27:00 -05:00
John Safranek
cd05ed3347 iDH Fix
1. Changed the bounds of checking the key from comparisons to constants
   to comparisons against WOLFSSL object settings for the DH key bounds.
2. Removed redundant bounds check on the server's prime.
2020-10-19 08:08:04 -07:00
Chris Conlon
79dea1c85c add test-servercert-rc2.p12 to include.am 2020-10-19 08:01:19 -06:00
Juliusz Sosinowicz
147cb8e60c Jenkins scope fixes 2020-10-19 12:46:11 +02:00
Sean Parkinson
f0d400a506 Merge pull request #3401 from kojo1/EVPcipher_tbl
cipher_tbl for EVP_get_cipherbyname
2020-10-19 14:28:59 +10:00
Takashi Kojo
a87f7c9185 cipher_tbl for EVP_get_cipherbyname 2020-10-19 06:17:15 +09:00
John Safranek
4f8c2b971f Move the binSz check variable to a spot where it is only declared in the same condition it is used and initialize it to zero. 2020-10-17 19:07:44 -07:00
John Safranek
fc86e6a960 Fix a double error return. 2020-10-16 18:18:47 -07:00
John Safranek
ec0aab1a23 DH Fix
1. Check the length values for the DH key domain and public key in the
   server key exchange message to make sure they are within the bounds
   set by the configuration. (Minimum key size is 2048 bits for DH.)
2020-10-16 16:28:27 -07:00
David Garske
85b4170047 Fix for TLS sniffer with non-standard curves. If curve not provided in key share data, then use private key curve. ZD 11128. 2020-10-16 16:13:42 -07:00
David Garske
fbd98be7af Fixes for --enable-asynccrypt tests after PR #3244. 2020-10-16 15:55:17 -07:00
John Safranek
4364700c01 DH Fix
These changes fix several fuzz testing reports. (ZD 11088 and ZD 11101)
1. In GetDhPublicKey(), the DH Pubkey is owned by the SSL session. It
   doesn't need to be in the check for weOwnDh before freeing. There
   could be a chance it leaks.
2. In GeneratePublicDh() and GeneratePrivateDh(), the size of the
   destination buffer should be stored at the location pointed to by the
   size pointer. Check that before writing into the destination buffer.
3. Ensure the size of the private and public key values are in the size
   value before generating or getting the DH keys.
2020-10-16 15:35:23 -07:00
Chris Conlon
d4bbe529fb switch RC2 struct name to Rc2 for consistent camel case across algorithms 2020-10-16 15:19:47 -06:00
Chris Conlon
062df01737 add PKCS12 RC2 test case, example p12 bundle 2020-10-16 12:02:20 -06:00
Chris Conlon
2c0f4b619e add RC2-40-CBC support to PKCS#12 parsing 2020-10-16 12:02:20 -06:00
Chris Conlon
0854efe168 add API unit tests for RC2 2020-10-16 12:02:20 -06:00
Chris Conlon
a6923ff100 initial implementation of RC2-CBC 2020-10-16 12:02:16 -06:00
Chris Conlon
4c75037bdb initial implementation of RC2-ECB 2020-10-16 12:00:56 -06:00
David Garske
b58ea5842a wolfSSL RC2 template. 2020-10-16 11:46:40 -06:00
Juliusz Sosinowicz
24030d5f32 Move globalRNG and co to ssl.c 2020-10-16 17:33:28 +02:00
David Garske
ab88ab160c Merge pull request #3395 from douzzer/misc-fixes-20201015
misc fixes for coverage and buildability
2020-10-16 07:28:48 -07:00
Sean Parkinson
aeb44c5352 FIPS ARMASM: get build working 2020-10-16 16:41:18 +10:00
Sean Parkinson
07e69829d7 TLS 1.3 PSK: fix for session ticket timeout
Return straightaway if the ticket is out of date.
Need to fallback to full handshake.
2020-10-16 14:48:29 +10:00
Sean Parkinson
a595e3cc48 Merge pull request #3394 from ejohnstown/wolfssh-update
wolfSSH Update
2020-10-16 09:08:37 +10:00
Sean Parkinson
60b0b0170b TLS OCSP Stapling: MUST staple option
Can enable OCSP Must Staple option to mean that if the client sends a
request for an OCSP Staple then it must receive a response.
2020-10-16 09:03:27 +10:00
David Garske
9793414d78 Merge pull request #3381 from SparkiDev/ecc_ct_fix
ECC mulmod: some curves can't do order-1
2020-10-15 14:46:46 -07:00
Daniel Pouzzner
eb7a79aa5e misc fixes for coverage and buildability: add MD2 to --enable-all*; fix spelling of "Sno" to "no" for $ENABLED_BLAKE2S default; when ENABLED_QSH add -DWOLFSSL_STATIC_DH -DWOLFSSL_STATIC_PSK (relates to ZD11073); add missing gating for !defined(WOLFSSL_DEVCRYPTO) in api.c:test_wc_Sha256FinalRaw(); fix tests/api.c:IsValidCipherSuite() to build under gcc10 (relates to ZD11073). 2020-10-15 15:05:29 -05:00
John Safranek
69ac13c2e9 wolfSSH Update
Originally, wolfSSH required some algorithms to be enabled in wolfCrypt
to work correctly. wolfSSH is now more flexible with how wolfCrypt is
configured, and these combinations do not have to be restricted.
2020-10-15 11:37:31 -07:00
David Garske
49b3fb21c8 Merge pull request #3391 from ejohnstown/autoconf-fix
Automake Fixes
2020-10-15 10:12:27 -07:00
Sean Parkinson
134e1be189 TLS session tickets: cannot share between TLS 1.3 and TLS 1.2
When parsing ticket, check TLS version to see whether they are version
compatible.
2020-10-15 13:02:06 +10:00
John Safranek
c2bb359eb4 Automake Fixes
1. A couple cert scripts don't need to be included in the makefile or the distribution.
2020-10-14 17:23:58 -07:00
toddouska
f69fa13e02 Merge pull request #3357 from guidovranken/StoreECC_DSA_Sig-fix
Improve StoreECC_DSA_Sig bounds checking
2020-10-14 16:53:46 -07:00
David Garske
b18d43abb9 Fix for possible uninitialized use of prev. 2020-10-14 15:52:51 -07:00
toddouska
026ba4e750 Merge pull request #3368 from dgarske/zd11057
Fix for possible malformed encrypted key with DES3 causing negative length
2020-10-14 15:32:48 -07:00
David Garske
751f64b4aa Fix for OCSP single response last optional part handling and restore original size arg since its required for the ASN elements. 2020-10-14 14:55:18 -07:00
David Garske
10b1884993 Added support for handling an OCSP response with multiple status responses. 2020-10-14 14:47:24 -07:00
toddouska
1c4b15d427 Merge pull request #3369 from dgarske/sniffer_ccm
Add AES CCM support to sniffer
2020-10-14 14:31:57 -07:00
toddouska
8898abcc99 Merge pull request #3378 from dgarske/zd11085
Fixes SSLv3 use of ECDH in sniffer
2020-10-14 14:30:15 -07:00
toddouska
3f4bf9144b Merge pull request #3366 from SparkiDev/pkcs11_lookup
PKCS #11: improve key lookup
2020-10-14 14:22:56 -07:00
Tesfa Mael
5ac3e7d542 Process multiple ocsp responses 2020-10-14 01:10:07 -07:00
David Garske
232028d03b Merge pull request #3386 from ejohnstown/dh-maint
Fuzz Fix
2020-10-13 15:47:11 -07:00
David Garske
b68828d3c9 Merge pull request #3361 from tmael/ocsp-nocheck
Add support for id-pkix-ocsp-nocheck
2020-10-13 15:46:02 -07:00
David Garske
048a3a8d5b Merge pull request #3374 from JacobBarthelmeh/Testing
NO_FILESYSTEM build on Windows
2020-10-13 13:26:46 -07:00
John Safranek
422683f4c3 Fuzz Fix
GetPublicDhKey() assumes the ssl session owns the DH public key parts, and
tries to free them. They belong to the CTX initially, so it shouldn't be
freeing them, necessarily.

1. Add a check for weOwnDh first, then free the buffers if needed.
2. If there is a problem reading the keys, free the new buffers before exiting.
3. Set weOwnDh once the buffers and values have been stored
   successfully.
2020-10-13 10:15:58 -07:00
Jacob Barthelmeh
6aa0eacc62 use correct key buffer for example private key 2020-10-13 09:26:54 -06:00
Sean Parkinson
f0db2c177e ECC mulmod: some curves can't do order-1
Change implementation of timing resistant scalar multiplication to use
Joye double-add ladder.
No longer have fake operations being performed therefore can remove the
order adding operations.
Still need to check for boundary condition: order-1 wil not work with
SECP256K1 as it results in an add of order/2 and (order/2)+1 times base
point which are the negatives of each other. The sum is infinity and not
handled by maths.
Added mp_cond_swap_t - Conditionally swap in constant time.
2020-10-13 09:55:35 +10:00
David Garske
0d685e4f28 Merge pull request #3358 from douzzer/wolfSSL_get_ocsp_producedDate
add wolfSSL_get_ocsp_producedDate().
2020-10-12 15:21:10 -07:00
David Garske
de6164df5a Merge pull request #3382 from ejohnstown/aes-clear
AES Clear Temp
2020-10-12 15:17:00 -07:00
David Garske
4396e10500 Merge pull request #3379 from ejohnstown/mfix
Maintenance Fixes
2020-10-12 14:53:56 -07:00
Chris Conlon
1f78297c5c Merge pull request #3372 from miyazakh/Renesas_APRA6M
added set up guide for APRA6M board
2020-10-12 14:23:06 -06:00
Chris Conlon
2a1efda140 Merge pull request #3380 from kojo1/mqx
minor fix for MQX, Kinetis
2020-10-12 14:03:20 -06:00
kaleb-himes
8826823724 In ACVP testing NIST needs to see failed decryption output 2020-10-12 12:05:44 -06:00
John Safranek
5ead4386b3 AES Clear Temp
ForceZero()'ed a couple local variables that have keying material at some point.
2020-10-12 10:30:34 -07:00
John Safranek
0ca202f389 Rename SKIP_SUITE to something more descriptive. Add some comments. 2020-10-12 09:49:02 -07:00
Tesfa Mael
a4bfa0dec7 Add support for id-pkix-ocsp-nocheck 2020-10-11 19:47:50 -07:00
Takashi Kojo
ce97eadae1 fix for MQX 2020-10-11 06:57:33 +09:00
Daniel Pouzzner
9de5eea1d9 configure.ac: supplement AC_CHECK_FUNCS() (function link test) with AC_CHECK_DECLS() (function declaration test) to avoid false positives. fixes various build failure modes. 2020-10-09 22:18:51 -05:00
Hideki Miyazaki
bf59d169dd Update include.am to include new README files 2020-10-10 09:57:05 +09:00
John Safranek
a05a305d70 Fix unused parameters in SKIP_SUITE. 2020-10-09 15:59:14 -07:00
John Safranek
6cfb038d11 Fix a bad ifdef. 2020-10-09 15:54:44 -07:00
John Safranek
2d85061c47 Maintenance Fixes
Improve the reporting of the NTRU based cipher suites with the function
wolfSSL_sk_CIPHER_description().
2020-10-09 15:01:39 -07:00
John Safranek
d8299e2764 Maintenance Fixes
When building the list of ciphers with wolfSSL_get_ciphers_compat(),
skip the fake indicator ciphers like the renegotiation indication
and the quantum-safe hybrid since they do not have encryption or mac
algorithms associated to them.
2020-10-09 15:01:38 -07:00
John Safranek
aeeeb666a7 Maintenance Fixes
1. The test_wolfSSL_X509V3_EXT_print() test was using stderr for output,
   changed to stdout.
2. A call to XFREAD wasn't typecasting its output to the size of the
   variable getting the output in decodedCertCache_test().
2020-10-09 15:01:32 -07:00
John Safranek
724eb96047 Merge pull request #3377 from douzzer/PR3371
fix pkcs7compressed_test() (test gated on HAVE_LIBZ), broken by PR#3244.
2020-10-09 15:00:15 -07:00
David Garske
f3fbb921c0 Fixes SSLv3 use of ECDH. The public key length byte needs to be skipped for import with SSLv3 and TLS (not TLS v1.3). ZD 11085 2020-10-09 12:01:41 -07:00
Daniel Pouzzner
29d4de6307 fix pkcs7compressed_test() (test gated on HAVE_LIBZ), broken by PR#3244. 2020-10-09 12:42:14 -05:00
JacobBarthelmeh
bfb10ddfb5 NO_FILESYSTEM build on Windows 2020-10-09 09:45:00 -07:00
David Garske
3e69318ac7 Merge pull request #3373 from danielinux/imx-rt1060-shaonly-fix
Fixed SHA256 support for IMX-RT1060
2020-10-09 09:30:11 -07:00
Daniele Lacamera
9cb2c9f1ac Fixed SHA256 support for IMX-RT1060 2020-10-09 13:36:53 +02:00
Hideki Miyazaki
1765eeddb2 added set up guide for APRA6M board
added TLS 1.3 settings into user_settings.h
2020-10-09 19:52:20 +09:00
Daniel Pouzzner
570f55a0e3 wolfSSL_get_ocsp_producedDate*(): gate on !defined(NO_ASN_TIME), and in client_test(), gate call to strftime() on HAVE_STRFTIME and add fallback code; add HAVE_STRFTIME test to configure.ac. 2020-10-08 23:26:28 -05:00
Daniel Pouzzner
7a77b6d990 rename wolfSSL_get_ocsp_producedDate(WOLFSSL *, struct tm *) to wolfSSL_get_ocsp_producedDate_tm(), and add wolfSSL_get_ocsp_producedDate() accessing the raw ASN.1 producedDate; fix location of prototypes in ssl.h to obtain proper conditionalization; omit frivolous nullness test on ssl->ocspProducedDate (always true). 2020-10-08 22:47:16 -05:00
Daniel Pouzzner
e162d0f889 add wolfSSL_get_ocsp_producedDate(). 2020-10-08 22:47:16 -05:00
toddouska
4d11e3c83b Merge pull request #3365 from SparkiDev/ticket_align
SSL session ticket: decrypted ticket access aligned
2020-10-08 15:01:41 -07:00
toddouska
8bc3d33c4e Merge pull request #3360 from SparkiDev/ecc_safe_add
ECC add points: more cases where add point is a double or infinity
2020-10-08 14:55:04 -07:00
toddouska
f0c5fb76bb Merge pull request #3359 from ejohnstown/tfm-read-radix-16
TFM Read Radix 16 OOB Read
2020-10-08 14:52:42 -07:00
toddouska
c69e9927fa Merge pull request #3354 from SparkiDev/mac_arm_asm_2
ARM ASM ChaCha20: Fix calc of left over bytes
2020-10-08 14:49:33 -07:00
toddouska
6b4b92a549 Merge pull request #3356 from embhorn/zd11044
Allow wolfSSL_EVP_get_hashinfo with x509small
2020-10-08 14:48:28 -07:00
toddouska
e0f3ceefa2 Merge pull request #3349 from vaintroub/remove_gccism
#3348  - Fix MSVC build
2020-10-08 14:47:15 -07:00
David Garske
8a57eead51 Add AES CCM support to sniffer. ZD 11078. 2020-10-08 13:58:31 -07:00
David Garske
d33d100526 Fix for possible malformed encrypted key with DES3 causing negative length. If length is less than DES_BLOCK_SIZE then it could result in a negative der->length. ZD 11057 2020-10-08 13:07:07 -07:00
JacobBarthelmeh
46f8f53268 Merge pull request #3367 from kaleb-himes/NTRU_MAINTENANCE
Fix NTRU + QSH build
2020-10-08 14:04:21 -06:00
kaleb-himes
d9eaeb4a3b Fix NTRU + QSH build 2020-10-08 09:13:00 -06:00
Sean Parkinson
15aa0a2f8c PKCS #11: improve key lookup
Refactor the find key by template to eliminate duplicate code.
Improve documentation.
Add more informative debugging information.
2020-10-08 13:36:30 +10:00
Sean Parkinson
4f6c1db9a2 Merge pull request #3355 from douzzer/enable-more-all
--enable-all coverage update, plus --enable-all-crypto and --enable-linuxkm-defaults
2020-10-08 09:52:56 +10:00
Sean Parkinson
257551b134 ECC add points: more cases where add point is a double or infinity
Extract method to perform safe point add (handling double and infinity
result).
Replace all instances of the extracted code.
2020-10-08 09:26:10 +10:00
Sean Parkinson
8d82fb2add SSL session ticket: decrypted ticket access aligned
Decrypted session ticket using encrypted ticket buffer.
Alignment not correct on platforms requiring 32-bit aligned access.
Copy the decrypted data into temporary for access.
Also zeroize the unencrypted tickets after use.
2020-10-08 08:56:49 +10:00
Sean Parkinson
270da3c33c Merge pull request #3364 from dgarske/zd11064
Fix for sniffer without TLS v1.3
2020-10-08 08:10:21 +10:00
David Garske
4f3632c7a6 Fix for sniffer without TLS v1.3 (--enable-sniffer --disable-tls13). ZD11064. 2020-10-07 11:08:05 -07:00
Daniel Pouzzner
1c492dc0b6 cosmetic cleanups. 2020-10-06 22:14:08 -05:00
John Safranek
413b0d171d TFM Read Radix 16 OOB Read
Change the location of the update of the write index when in
fp_read_radix_16(). It will do multiple writes into a word, and update
the index when the word is full and there is more to write. If there
isn't more to write, the index isn't incremented. This ensures the used
value in the mp_digit is correct, and not off-by-one when the last word
is full.
2020-10-06 17:03:03 -07:00
Guido Vranken
4c5c1d5dac Improve StoreECC_DSA_Sig bounds checking 2020-10-06 23:11:50 +02:00
Eric Blankenhorn
6bc34cb1a8 Allow wolfSSL_EVP_get_hashinfo with x509small 2020-10-06 11:18:08 -05:00
Juliusz Sosinowicz
a7fdfbaf40 Passing scr-app-data in to -i to client sends a message during SCR
Modify mygetopt so that if an argument expects a value and that value is the next argument then myoptarg is set to a NULL pointer.
2020-10-06 17:28:23 +02:00
Daniel Pouzzner
c18f7010cf configure.ac: remove enable_apachehttpd and enable_secure_renegotiation from new --enable-all (valgrind woes). 2020-10-02 18:54:45 -05:00
Kaleb Himes
84ee1509b7 Merge pull request #3311 from tmael/neclab
Update release notes
2020-10-02 15:50:20 -06:00
Daniel Pouzzner
d900e57ae4 improve --enable-linuxkm-defaults fidelity. 2020-10-01 18:07:48 -05:00
Chris Conlon
232eb6a620 Merge pull request #3323 from danielinux/nxp_imxrt_dcp
Added support for NXP DCP (i.MX-RT series)
2020-10-01 16:44:58 -06:00
Daniel Pouzzner
a522207b14 fix memory leaks in src/internal.c:DoSessionTicket() and testsuite/testsuite.c:file_test(). 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
2ed8f93592 src/internal.c: fix memory leaks in ProcessPeerCerts() and GetDhPublicKey(). 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
7fb8457459 fix whitespace. 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
c37ba164bf configure.ac: don't include enable_certgencache=yes in --enable-all[-crypto] feature sets, to avoid memory leak false alarms. 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
24b20352f8 configure.ac: refactor-for-clarity enable-all[-crypto] feature selection logic conditionalized on sp-math and linuxkm. 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
a3185310ca tests/api.c: clean up and parameterize key/buffers sizes in test_wc_CheckProbablePrime(). 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
70474659a0 wc_ShaFinal(): remove superfluous ret=0 when WOLF_CRYPTO_CB, complained by PRB-scan-build-distro-check. 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
fd3815c708 configure.ac: include enable_xchacha in --enable-all-crypto. 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
a4bd213099 configure.ac: improve --enable-all coverage and make it compatible with --enable-sp-math, add --enable-all-crypto (crypto-only subset of --enable-all), and add --enable-linuxkm-defaults ("Enable feature defaults for Linux Kernel Module"). 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
79978f5c7a ecc_check_pubkey_order(): add missing braces. 2020-10-01 14:38:26 -05:00
Daniel Pouzzner
3ef242e889 tests/api.c: change RSA keysize from 1024 to 2048 for sp-math compatibility, in test_wc_CheckProbablePrime(), test_wc_CheckProbablePrime(), test_wc_RsaPSS_Verify(), test_wc_RsaPSS_VerifyCheck(), test_wc_RsaPSS_VerifyCheck(), test_wc_RsaPSS_VerifyCheckInline(), and test_wolfSSL_DC_cert(). 2020-10-01 14:38:26 -05:00
Daniele Lacamera
cec3d542d1 Rework of DCP after reviewer's comments.
- using wolfSSL_CryptHwMutexLock/UnLock as DCP mutex.
- fixed AES Free
- using separate per-channel key store
2020-10-01 11:36:03 -07:00
Daniele Lacamera
ce62f46442 Fixed comments 2020-10-01 11:36:03 -07:00
Daniele Lacamera
9244bbbf83 NXP-DCP: Fixed AES-GCM setkey; added AES direct. 2020-10-01 11:36:03 -07:00
Daniele Lacamera
05098f7ab8 Reentrant DCP driver. DCP protected by mutex. 2020-10-01 11:36:03 -07:00
Daniele Lacamera
a07f9ded63 Added support for NXP DCP (i.MX-RT series) 2020-10-01 11:36:03 -07:00
David Garske
050252e5d4 Merge pull request #3340 from kabuobeid/fsanitize_thread
Fix issues found by -fsanitize=thread.
2020-10-01 11:28:05 -07:00
Kareem Abuobeid
d59784e646 Fix issues found by -fsanitize=thread. 2020-09-30 14:24:20 -07:00
toddouska
20d28e1b65 Merge pull request #3221 from julek-wolfssl/wolfSSL_dtls_import-const-buf
Change buffer in wolfSSL_dtls_import to be const
2020-09-30 10:45:25 -07:00
toddouska
bb6c612209 Merge pull request #3312 from kabuobeid/apple_arm64
Added instructions for building for Apple ARM64.
2020-09-30 10:44:22 -07:00
toddouska
74259fe9ce Merge pull request #3351 from dgarske/sniffer_sesstick
Fix for sniffer with TLS v1.2 session ticket
2020-09-30 10:42:56 -07:00
toddouska
9bfe4f1fb2 Merge pull request #3341 from SparkiDev/fp_sqr_size
TFM mp_sqr: error on number overflow
2020-09-30 10:35:01 -07:00
Sean Parkinson
f76165a3fa ARM ASM ChaCha20: Fix calc of left over bytes 2020-09-30 15:57:33 +10:00
Sean Parkinson
a1991da458 TFM mp_sqr: error on number overflow
Change mp_sqr to return an error if the result won't fit into the fixed
length dp.
2020-09-30 08:54:20 +10:00
Kareem Abuobeid
0a791a957e Added instructions for building for Apple ARM64. 2020-09-29 15:12:34 -07:00
toddouska
fc988ad3e7 Merge pull request #3325 from julek-wolfssl/openssl-compat-aes-gcm-2-part-aad
Buffer AAD in wolfSSL_EVP_CipherUpdate_GCM  so that whole value is hashed
2020-09-29 13:46:44 -07:00
toddouska
d415bbf2eb Merge pull request #3346 from SparkiDev/mac_arm_asm
ARM asm: fixes for compiling on Mac and ChaCha20 streaming
2020-09-29 13:36:13 -07:00
David Garske
3e0d478543 Fix for sniffer with TLS v1.2 session ticket. Logic broken in PR #3044. ZD 10926. 2020-09-29 11:11:32 -07:00
Juliusz Sosinowicz
2153009efa Fix access violation in Visual Studio Test 2020-09-29 19:47:58 +02:00
Vladislav Vaintroub
efe7c42775 Fix MSVC build
Don't use GCC-specific extensions

Fixes #3348
2020-09-29 18:00:21 +02:00
Juliusz Sosinowicz
52be7c94b8 Introduce thread safety to unsafe functions in wolfSSL
Add warnings to one shot hash functions
2020-09-29 16:29:45 +02:00
Juliusz Sosinowicz
78e003e7de Plug leak 2020-09-29 12:24:59 +02:00
Sean Parkinson
66ed9b1522 ARM asm: fixes for compiling on Mac and ChaCha20 streaming
Don't set the CPU to generic on Mac.
Implement streaming for ChaCha20.
2020-09-29 13:38:02 +10:00
Sean Parkinson
46b9531bec Merge pull request #3345 from dgarske/sp_spell
Fix spelling error and sync with latest scripts
2020-09-29 08:46:52 +10:00
David Garske
30a74e0597 Merge pull request #3343 from ejohnstown/test-ecc521
Test ECC-521 Only
2020-09-28 14:06:42 -07:00
Juliusz Sosinowicz
07f6c19156 Update EVP_CIPHER to handle multi-part AAD 2020-09-28 20:42:23 +02:00
David Garske
a85c93e44a Fix spelling error and sync with latest scripts. 2020-09-28 10:41:31 -07:00
toddouska
d01dae00bc Merge pull request #3342 from SparkiDev/arm64_clang_fix
SP ARM64: Fix assembly for clang
2020-09-28 09:57:19 -07:00
John Safranek
dbf18b8532 Test ECC-521 Only
Update benchmark and wolfcrypt test to support using only ECC-521 in a custom curve list.
2020-09-28 09:22:24 -07:00
Chris Conlon
d143015059 Merge pull request #3336 from ethanlooney/26th_branch
Added unit test for Des3
2020-09-28 10:14:31 -06:00
Juliusz Sosinowicz
942168c62d Add decrypt tests 2020-09-28 15:59:50 +02:00
Sean Parkinson
b61b3e34dd SP ARM64: Fix assembly for clang
clang doesn't auto correct size of register (declared byte n but 64-bit
usage)
clang doesn't always handle use of x29 (FP or Frame Pointer) in inline
assembly code correctly - reworked sp_2048_sqr_8 to not use x29.
2020-09-28 12:35:58 +10:00
David Garske
7d33312f4b Merge pull request #3339 from ejohnstown/dtls-flag
DTLS Flag
2020-09-25 17:05:22 -07:00
toddouska
e1f54b1df1 Merge pull request #3296 from dgarske/sniffer_fixes
Fixes for Sniffer (Max Fragment, ECC Static and SNI)
2020-09-25 12:50:07 -07:00
toddouska
8266680ab7 Merge pull request #3338 from SparkiDev/dh_fips3
DH EXTRA test: Disable DH test unless not FIPS or FIPS > 2
2020-09-25 12:42:40 -07:00
Ethan Looney
e49505fbb8 Added key free 2020-09-25 13:42:19 -06:00
toddouska
6f1d626671 Merge pull request #3337 from SparkiDev/evp_xts_3
EVP AES XTS: check correct define
2020-09-25 12:42:09 -07:00
toddouska
2d97acadc9 Merge pull request #3331 from dgarske/armasm
Fixes for ARM ASM and API unit test bad build macros
2020-09-25 12:41:30 -07:00
John Safranek
b36877c20b DTLS Flag
Fix an ifdef flag that should have been WOLFSSL_DTLS, not HAVE_DTLS.
2020-09-25 10:49:34 -07:00
Juliusz Sosinowicz
84f0fc56ef check ClientWrite return 2020-09-25 11:35:23 +02:00
Juliusz Sosinowicz
7e38b6bee6 Test 2 part GCM data and EVP context re-use 2020-09-25 11:03:58 +02:00
Sean Parkinson
c798c7f396 DH EXTRA test: Disable DH test unless not FIPS or FIPS > 2
statickeys/dh-ffdhe2048.der is an alternate format that is supported
when WOLFSSL_DH_EXTRA is defined.
The decoding is not supported when FIPS and FIPS version is less than 3.
Fix test to not use file unless not FIPS or FIPS > 2.
2020-09-25 11:41:59 +10:00
Sean Parkinson
d514189710 EVP AES XTS: check correct define
HAVE_AES_CTX -> WOLFSSL_AES_XTS
2020-09-25 11:17:04 +10:00
David Garske
5ef5c279b5 Fix for previous max fragment commit to correctly process a TLS packet with multiple handshake messages. Fix to free the wolfSSL objects first then wolfSSL_CTX. 2020-09-24 15:53:12 -07:00
David Garske
bbaf4090b8 Fixes for sniffer when using static ECC keys. Adds TLS v1.2 ECC key fallback detection and fixes new ECC RNG requirement for timing resistance. 2020-09-24 15:03:26 -07:00
Ethan Looney
4662690fdc Added unit test for Des3 2020-09-24 14:05:14 -06:00
David Garske
7cfbc598ed Fix to not assume TLS v1.3 based on extended key share extension. 2020-09-24 13:05:01 -07:00
David Garske
bc960a9c25 Fix for sniffer with SNI enabled to properly handle WOLFSSL_SUCCESS error code in ProcessClientHello. ZD 10926 2020-09-24 13:05:01 -07:00
David Garske
adedde7d16 Fix to not treat cert/key not found as error in myWatchCb and WOLFSSL_SNIFFER_WATCH. The key can be pased as argument to ./snifftest and if built with sniffer watch let's keep trying to parse instead of throwing an error. 2020-09-24 13:05:01 -07:00
David Garske
7e2d44ba9a Fix possible unused rhSize. 2020-09-24 13:05:01 -07:00
David Garske
b5163bd1fa Added support for 802.11Q VLAN frames. Fix build error with unused "ret" when building with WOLFSSL_SNIFFER_WATCH. Fixed bad characters in sniffer README.md configure example. 2020-09-24 13:05:01 -07:00
David Garske
ce1c1fe0a6 Fix for sniffer using HAVE_MAX_FRAGMENT in "certificate" type message. ZD 10903 2020-09-24 13:05:01 -07:00
toddouska
1668f6f626 Merge pull request #3244 from douzzer/20200820-linuxkm
Linux Kernel Module support
2020-09-24 12:57:22 -07:00
toddouska
1eed409bdf Merge pull request #3332 from SparkiDev/sp_cortexm_fix_1
SP Cortex-M4 assembly: Fix for GCC compile
2020-09-24 12:55:21 -07:00
toddouska
1e293e4be4 Merge pull request #3321 from SparkiDev/evp_xts_2
EVP CIPHER: fix block size, mode and table
2020-09-24 12:49:38 -07:00
toddouska
d75d3108b0 Merge pull request #3314 from SparkiDev/evp_hmac_sha3
Test wolfSSL_HMAC with SHA-3
2020-09-24 12:48:40 -07:00
Chris Conlon
b3fc5eb254 Merge pull request #3326 from ethanlooney/25th_branch
Added unit tests for PKCS7
2020-09-24 13:33:57 -06:00
Chris Conlon
679b107044 Merge pull request #3333 from miyazakh/espidf_pkcs7
add user settings of pkcs7 for ESP-IDF port
2020-09-24 09:58:00 -06:00
Chris Conlon
6780e5eb0b Merge pull request #3290 from ethanlooney/22nd_branch
Added unit tests for RSA.c
2020-09-24 09:54:11 -06:00
Hideki Miyazaki
a22b2085b1 add settings for pkcs7
add wrapper to check the return value of snprintf

fixed unit test

fixed uninitialized variable
2020-09-24 17:20:45 +09:00
David Garske
3adb64b196 Merge pull request #3330 from ejohnstown/tfm-no-64bit
TFM NO 64-BIT
2020-09-23 18:47:48 -07:00
Sean Parkinson
ec59acbae0 SP Cortex-M4 assembly: Fix for GCC compile
b<cond>.n not allowed with GCC.
Fix sizeof to use tmp_arr not tmp which is now a pointer.
2020-09-24 11:03:50 +10:00
Daniel Pouzzner
09b9ac8b86 add AM_CONDITIONAL([BUILD_DEBUG],...) to configure.ac, and use it to gate inclusion of wolfcrypt/src/debug.c in src/include.am; remove superfluous includes from wolfcrypt/src/debug.c. 2020-09-23 18:32:17 -05:00
Daniel Pouzzner
6a3da9477e fix --enable-stacksize[-verbose] (HAVE_STACK_SIZE[_VERBOSE]) to work correctly in testsuite.c. 2020-09-23 18:32:17 -05:00
Daniel Pouzzner
38cb4a2d69 blake2{b,s}.c: return and propagate meaningful error codes. 2020-09-23 18:32:17 -05:00
Daniel Pouzzner
fda22f851a random.c: use "DRBG_internal", not "__DRBG", for typedef struct DRBG_internal, to avoid possible conflict with reserved-label restrictions with some compilers. 2020-09-23 18:32:17 -05:00
Daniel Pouzzner
6a7a87545a wc_MakeRsaKey(): add missing allocation failure checks for WOLFSSL_SMALL_STACK. 2020-09-23 18:32:17 -05:00
Daniel Pouzzner
0f3283ce7b add wc_curve25519_generic(). 2020-09-23 18:32:17 -05:00
Daniel Pouzzner
4742a17006 configure.ac: move AC_ARG_ENABLE([linuxkm] before AC_ARG_ENABLE([filesystem], and add ENABLED_FILESYSTEM_DEFAULT=no when ENABLED_LINUXKM. 2020-09-23 18:32:17 -05:00
Daniel Pouzzner
529549f117 settings.h: protect against double definitions in _LINUXKM case. 2020-09-23 18:32:17 -05:00
Daniel Pouzzner
fc592e8434 tests/api.c: in test_wc_PKCS7_BER(), provide for !NO_DES3 && !NO_RSA && WOLFSSL_SP_MATH case. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
10bf7a2086 examples/: fix undersized array lengths in client_usage_msg and server_usage_msg. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
8a6216363d ecc.c: add (void)rng to wc_ecc_mulmod_ex2() to cover WOLFSSL_SP_MATH case. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
a571378b5f blake2.h/blake2b.c: fix typos. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
0c9ba76a93 fix rebase error on aes.c 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
60506af5f5 add WOLFSSL_API wrappers wc_InitBlake2b_WithKey(), wc_InitBlake2s_WithKey(), and wc_curve25519_make_priv(). 2020-09-23 18:32:16 -05:00
David Garske
c0823c8a7e Refactor of AES wc_AesSetKeyLocal and wc_AesSetKey for software only use. Added missing aes argument check on wc_AesSetKeyDirect. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
a75f88cbcd wolfssl/test.h: gate strerror() in err_sys_with_errno() on HAVE_STRING_H && HAVE_ERRNO_H as in PR #3291. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
bf054838a1 wc_port.h: WOLFSSL_LINUXKM: fix typo in WOLFSSL_ARMASM definition of RESTORE_VECTOR_REGISTERS(). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
da6a5566b6 wc_port.h: for WOLFSSL_LINUXKM, gate kernel includes and libwolfssl-specific preprocessor directives on BUILDING_WOLFSSL, to avoid disrupting environment for builds of other kernel components. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
185994cb0b scripts/: tweak scripts/include.am to run ocsp tests before rather than after testsuite and unit.test; revert POSIXish scripts/*.test to use /bin/sh. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
8b53b181dd add bwrapping on all other scripts/*.test except those that make Internet connections, and remove test for setuid bit, as some systems are configured to not require setuid/CAP_NET_ADMIN for CLONE_NEWNET. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
1c3415e26f wolfssl/test.h:err_sys_with_errno(): printing the errno msg seems to blow up all the parse tests, so only do it when -DDEBUG_TEST_ERR_SYS_WITH_ERRNO. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
1ebd851b2e wolfssl/test.h: if SO_REUSEPORT is defined, use it in tcp_listen() and udp_accept(). also, add err_sys_with_errno(), identical to err_sys() unless defined(HAVE_STRING_H) && defined(HAVE_ERRNO_H), in which case strerror(errno) is appended to the rendered message. changed to use err_sys_with_errno() wherever applicable. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
62bbef2f2e wolfcrypt/test/test.c: add missing gating for -DBENCH_EMBEDDED. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
92fa0f18f0 Makefile.am: use an aux variable to add linuxkm to $SUBDIRS when BUILD_LINUXKM is true, to avoid recursion into linuxkm/ for "make distdir". solution by John Safranek, with a million thanks. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
291febb270 configure.ac: clean up AC_ARG_ENABLE() for linuxkm, and make AC_ARG_WITH for linux-source and linux-arch unconditional. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
2609fa9aeb test.c:rsa_test(): fix cpp gating for clearing of keypub buffer. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
453698ba27 add explanatory comments for do_div(), used when WOLFSSL_LINUXKM. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
8496a64ed4 linuxkm/Kbuild: the x86 _asm object files still reference "_GLOBAL_OFFSET_TABLE_", so they can't work in the kernel as-is. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
7c2aefcfdd linuxkm: enable the rest of the _asm implementations for x86, wrapped in {SAVE,RESTORE}_VECTOR_REGISTERS(). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
331fe47eb6 linuxkm: add ASFLAGS_FPU_DISABLE_SIMD_ENABLE ASFLAGS_FPU_ENABLE_SIMD_DISABLE ASFLAGS_FPUSIMD_DISABLE ASFLAGS_FPUSIMD_ENABLE to facilitate erroring for unexpected fp/simd instructions in Kbuild, while allowing expected ones. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
96fe6dc049 test.h: fix math in final "stack used" message when -DHAVE_STACK_SIZE_VERBOSE. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
60a686f48c tidying suggested by Sean in review. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
a9cad51b65 sp_mod_word(): add unoptimized alternative if -U__GNUC__. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
c8cd042bdd configure.ac: for linuxkm, make --enable-sp-math the default, and add additional exclusions --enable-fastrsa and --with-libz. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
5f972d2ae6 test.c: now that sp math is fixed and working in linuxkm, reenable prime_test() for WOLFSSL_LINUXKM, and add a small stack refactor for it. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
fdbd6addd0 sp_int.c: add sp_mod_word() gated on WOLFSSL_SP_MOD_WORD_RP for runtimes lacking intrinsic support for int128 % int64; for linuxkm, use WOLFSSL_SP_DIV_WORD_HALF and the new WOLFSSL_SP_MOD_WORD_RP. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
8f130f3642 test.c: tweaks to accommodate clang's belligerent -Wparentheses-equality. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
447a238e8e test.c: missed a _SMALL_STACK spot in rsa_ecc_certgen_test(). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
5bfb5a3a83 test.c: fix missed spot in rsa_certgen_test(), and do another _SMALL_STACK refactor of a missed object in rsa_ecc_certgen_test(). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
fdf87fe152 test.c: another missed spot. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
ebca451c93 test.c: missed a spot -- inadvertently unused return value. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
99501ffefd m4/ax_linuxkm.m4: use test "$var" = "" construct, not test -z "$var", for maximal portability. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
43c12ede50 ge448_double_scalarmult_vartime(): streamline WOLFSSL_SMALL_STACK refactor. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
80961ea913 test.c:ecc_decode_test(): WOLFSSL_SMALL_STACK refactor 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
5801719ac3 wolfcrypt/src/asn.c:wc_GetKeyOID(): stack->heap refactor. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
dbe0273bf4 test.c: additional WOLFSSL_SMALL_STACK refactoring, covering --enable-sp-math and various missed spots. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
4f5bbbdca8 rsa.c:wc_CheckProbablePrime(): WOLFSSL_SMALL_STACK refactor 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
af6bd1d163 configure.ac: tidying linuxkm reqs/exclusions tests at end. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
16267a1889 configure.ac: error when ENABLED_LINUXKM but $KERNEL_ARCH is empty (no default, no user value). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
cd88a2c7df wolfcrypt/test/test.c: when WOLFSSL_LINUXKM, don't do the large-malloc-incurring wc_scrypt()s in scrypt_test(). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
76cba38971 wolfcrypt/src/ge_448.c: redo small stack refactor of ge448_double_scalarmult_vartime(), so that when -UWOLFSSL_SMALL_STACK, code is effectively unchanged. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
f4981d4c91 linuxkm/module_exports.c.template: include openssl compat layer headers in case user configuration needs them. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
8331079c36 configure.ac: --enable-compkey gates in the recursive do_mp_jacobi(). mutex with --enable-linuxkm. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
dc4b15a265 test.c: fix gating on heap deallocation in hc128_test() to match earlier tweak to gating on allocation. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
b52d50d903 test.c: various improvements and fixes pursuant to dgarske's comments on PR #3244 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
a80b0c1982 test.c: don't exclude prime_test when -DOLD_PRIME_CHECK, but to exclude it when -DWOLFSSL_LINUXKM. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
170322956b wolfssl/test.h: polish implementation of HAVE_STACK_SIZE_VERBOSE, now enabled with --enable-stacksize-verbose; internal symbol renamed from original DEBUG_STACK_SIZE_VERBOSE, helper functions and macros refactored to be formally threadsafe and to track the overall high water mark (reports same "stack used" value as --enable-stacksize after final return); add "setting stack relative offset reference mark in funcname() to x" message at entry; add configure mutexing of --enable-stacksize[-verbose] relative to --enable-linuxkm. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
63e3eae416 src/wolfio.c: update patch to wolfIO_HttpProcessResponse() (PR #3204). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
b99908ae66 configure.ac: refactor test -z "${KERNEL_ROOT}" into "${KERNEL_ROOT}" = "", and remove new AM_CFLAGS="$AM_CFLAGS -msse4" (bringing back identical to logic in master) now that $CFLAGS_SIMD_ENABLE et al take care of it. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
d033b1fe24 m4/ax_linuxkm.m4: add autosensing of -msse4. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
5589565051 linuxkm: add autotools detection of usable compiler flags for enabling and disabling SIMD and fp registers and auto-vectorization, and integrate into linuxkm makefiles. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
5d1bea4ff7 linuxkm/Makefile: rename KERNEL_OPT to KERNEL_EXTRA_CFLAGS. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
767f1972e3 aes.{c,h}: move SIMD includes from aes.h to aes.c, to avoid compiler errors on other .c's compiled -mno-sse for linuxkm. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
5504d9cd4e linuxkm: dial in SIMD options in Kbuild; add boilerplate at the top of all files added for linuxkm. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
4f38fb2f78 linuxkm/Kbuild: gate EXPORT_SYMBOL(wolfcrypt_test) on -UNO_CRYPT_TEST. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
cd14cfb092 linuxkm: override-disable SIMD instructions for all .c.o's, with exceptions enumerated in Kbuild (currently only aes.c), and couple -msse with -fno-builtin-functions; export ENABLED_ASM for use as a pivot in Kbuild; use asm/i387.h, not asm/simd.h, for kernel_fpu_{begin,end}() protos. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
3626332334 wolfcrypt/src/aes.c for linuxkm: add missing vector register push/pops. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
87b2384cac linuxkm settings.h: define NO_STDIO_FILESYSTEM 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
69052ff535 linuxkm: explanatory message and error exit on attempted make install. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
e881d92366 add linuxkm/module_exports.c.template to linuxkm/include.am $EXTRA_DIST. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
05bca8b0ee when BUILD_LINUXKM, suppress building the library; rename $KROOT/$KARCH to $KERNEL_ROOT/$KERNEL_ARCH; remove SIMD enablement from linuxkm CFLAGS; add linuxkm support for -DKERNEL_OPT=x. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
360c749703 add {SAVE,RESTORE}_VECTOR_REGISTERS() macros for kernel_fpu_{begin,end} when WOLFSSL_LINUXKM, to allow safe use of AESNI and SIMD instructions in the kernel. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
2c564a7728 update .gitignore with more artifacts from linuxkm build. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
9549a5f973 linuxkm: add linuxkm/module_exports.c.template, and autogenerate linuxkm/module_exports.c. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
e8b69f8a6a dh_test(): fix missing casts for XMALLOC(). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
7bc33f4ec1 linuxkm: retain noinline from kernel headers, and use it directly in wolfssl/wolfcrypt/sp.h. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
9aa3a4c559 linuxkm/Kbuild: make dependency on get_thread_size order-only, to suppress frivolous rebuilds on kernel 4.x. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
f440089e92 dh_test(): fix typo (undersized dynamic buffers). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
8b19a9b58c benchmark.c: fix always-true tests for DECLARE_VAR_IS_HEAP_ALLOC. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
f106fea0d8 rsa_no_pad_test(): fix uninited pointer. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
4ea8b46177 dh_test(): refactor remaining bare returns to ERROR_OUT(). 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
2ee218761e dh_test(): missed a spot in last commit. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
ca1a991de5 wolfcrypt/test/test.c: fix an error-path leak in dh_test(), and deal with possible -Wdeclaration-after-statement for XFILE file. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
a7381f8a48 test.c:rsa_test(): fix uninited pointer 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
6c32a730c2 more work on DECLARE_VAR -- fix allocation failure handling in bench_rsa_helper() to avoid uninitialized variables. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
426de2101a more work on DECLARE_VAR -- proper handling of failed allocations. WIP. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
d8e71e8dd2 linuxkm/Kbuild: disable objtool on AESNI asm objects -- they work in the kernel as-is, despite "unannotated intra-function call" and "BP used as a scratch register" warnings. 2020-09-23 18:32:16 -05:00
Daniel Pouzzner
3c91ce9342 wolfcrypt/src/sp_int.c: undo 8efb1142f1f2744ff128033df8a3a2d43e42fd93 to take dgarske's better wc_bigint_init()-based take on it (aa870861921a317cca9a978a75a7de127809e100). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
d7450b85f7 linuxkm/Makefile: use -Wno-declaration-after-statement (needed for heapful DECLARE_VAR() et al). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
c5d28c16b5 wolfcrypt/src/sp_int.c: clear whole struct in sp_init() and sp_init_multi(), to fix uninited pointer free()s in sp_free() when --enable-sp-math -DHAVE_WOLF_BIGINT. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
9b7c753165 wolfssl/wolfcrypt/types.h: make DECLARE_VAR() et al use heap allocation not only when WOLFSSL_ASYNC_CRYPT but also when WOLFSSL_SMALL_STACK. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
ce8f2e65de wolfcrypt/src/sha256.c: undo c801de9d23c2f3348b84fdb8d893f81e6c3c2849 (dgarske has better&correct fix in 76e1760f915934bdc4911f3ae41abe6803ae094a). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
571bf897c4 wolfcrypt/test/test.c: stack->heap refactor for dh_test(). 2020-09-23 18:32:15 -05:00
David Garske
66b59bda9b Fix for expected fail test in openssl_test for partial block. Fix for mp_test with ECC disabled, which uses mp_init_copy. 2020-09-23 18:32:15 -05:00
David Garske
0f8cf32122 Fix for possible leak in openssl_test because EVP free not called with WOLFSSL_SMALL_STACK_CACHE (SHA256/SHA512). Added return code checking to the openssl_test in wolfCrypt test. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
32e30d23c6 wolfcrypt/test/test.c: fix uninitialized values in aesofb_test(). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
e09487de1f sha256.c: add missing _SMALL_STACK_CACHE initialization in InitSha256(). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
922b023aea wolfcrypt/src/random.c: rename the DRBG internal type __DRBG, because some customer is compiling libwolfssl with a "g++" override, which precludes typedefs and structs with different types but equal labels. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
9611f7abfd linuxkm/Makefile: add no-op distdir rule. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
03fe9c15c0 linuxkm/Makefile: add do-nothing dist rule, and refactor setness tests for libwolfssl.ko to be make-dist-compatible. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
f56c6d1d8f wolfcrypt/test/test.c and wolfssl/test.h: implement DEBUG_STACK_SIZE_VERBOSE, measuring and reporting stack usage separately for each test. to use, ./configure --enable-stacksize && make CFLAGS+=-DDEBUG_STACK_SIZE_VERBOSE; also, remove a throwaway dev pragma that snuck into an earlier commit. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
925afe3b74 cast XMALLOC() return values assiduously, for Visual Studio compatibility. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
195b5d2d2c lkm: add linuxkm/include.am, and include it in Makefile.am. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
d86b0601b9 lkm: tweak Kbuild to work on 4.x (hardcoded fallback stack size); add linuxkm/get_thread_size.c. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
c194fb3beb lkm: add autodetection of kernel stack frame size; reactivate objtool scrutiny since _asm files are indeed not yet kernel-compatible; delete linuxkm/lkm_testcrypto.c and use wolfcrypt/test/test.c. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
535822f4df wolfcrypt/test/test.c: refactor for stack size and namespace control, allowing embedding of wolfcrypt_test() in kernel module. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
f5975d95db src/ssl.c: use heap for workspace in wolfSSL_X509_sign(), wolfSSL_d2i_RSAPrivateKey_bio(), and wolfSSL_CTX_use_RSAPrivateKey(). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
9ca94d6ca7 wolfcrypt/src/ge_448.c: refactor ge448_double_scalarmult_vartime() to use heap for workspace unless WOLFSSL_NO_MALLOC. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
1735bd7430 lkm_testcrypto.c: refactor subtests at end of dh_test() to use ERROR_OUT() with proper codes. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
217ec4ebd3 lkm: tweaks to self-test dynamics/messages. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
554879da00 lkm: self-test working now (certain options, which ones TBD, crash kernel). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
34fd53b4fc linuxkm: WIP support for wolfcrypt_test() at module load time. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
0c35998178 linuxkm/module_hooks.c: log "cleanup complete" at unload time. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
92df5692b1 wolfcrypt/src/ecc.c: revert to commit g0fa5af9, which has all the necessary fixes. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
0cfe9ca5d6 configure.ac: --enable-linuxkm: improved defaults and consistency checking. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
92406e17ca wolfssl/wolfcrypt/settings.h: for _LINUXKM, set WOLFSSL_SP_DIV_64 to help avoid gcc xdivti3() references. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
5efdee4277 wolfssl/wolfcrypt/types.h: tweak _LINUXKM macros XMALLOC(), XFREE(), and XREALLOC() to dummy-use "heap" and "dynamic type" arguments. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
add78dfba9 wolfcrypt/src/sp_int.c: add _LINUXKM do_div codepaths for a couple more 64 bit divisions, in sp_div_word() and sp_mod_d(). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
9ab1df690a wolfcrypt/src/ecc.c: fix uncompilable !WOLFSSL_SP_MATH && WOLFSSL_SMALL_STACK_CACHE implementations of ecc_key_tmp_init() and ecc_key_tmp_free() (the latter misnamed ecc_key_tmp_final()). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
836915d05f linuxkm: configure.ac more incompatible options: --enable-fastmath, --enable-iopool, and --enable-fips; linuxkm/Makefile: reduce -Wframe-larger-than from 65536 to kernel-compatible 5000; wolfssl/wolfcrypt/settings.h: unset HAVE_THREAD_LS when WOLFSSL_LINUXKM; wolfssl/wolfcrypt/types.h: when NO_INLINE and __GNUC__, #define WC_INLINE __attribute__((unused)) rather than to nothing to avoid -Wunused-function warnings; wolfssl/wolfcrypt/wc_port.h: #undef noinline after Linux kernel header includes (another macro conflict). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
03d5a4eadd wolfcrypt/src/integer.c: mp_div_d(): refactor another 64 bit division to use do_div() when WOLFSSL_LINUXKM. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
2a3fd57b36 linuxkm/Kbuild, linuxkm/module_hooks.c: tweaks for buildability on kernel 4.9 (may also fix build on 3.x). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
2591479866 linuxkm: add macros mapping malloc(), free(), and realloc() to the kernel equivalents, don't set WOLFSSL_NO_MALLOC, and reduce -Wframe-larger-than= from 256k to 64k; tweak fix for HAVE_INTEL_RDSEED conflict with WOLFSSL_LINUXKM; add clean rule to linuxkm/Makefile. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
911b23d2b4 configure.ac: check for incompatible combinations, and restore check for non-empty $KROOT when --enable-linuxkm. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
2bcdfce6df wolfcrypt/src/evp.c: tweak to silence gcc -Wmaybe-uninitialized. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
dff5344d82 configure.ac: when --enable-asm (default on), for gcc amd64 target always include -msse4 even if not --enable-intelasm (it's needed for TFM_X86_64 inline asm). 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
c0d831ea3a whoops, can't assert on non-empty "$(AM_CCASFLAGS)$(CCASFLAGS)" in linuxkm/Makefile -- they are often legitimately empty. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
1aa15632ce initial buildability of full libwolfssl.ko loadable kernel module for Linux via ./configure --enable-linuxkm && make. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
0e480d1a14 Linux KM compilability cont'd: conform to C89isms (declarations before statements); iffdef WOLFSSL_LINUXKM use do_div() for long long division rather than C operator (avoids unresolvable compile-time callouts to libgcc function); misc gating and relocations for includes. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
603da9e747 fix whitespace. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
14e3da9206 .gitignore: add *~ for emacs backup files. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
bc1c85842d WIP: autotools support for LKM 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
0f783077f8 fix stray whitespace 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
dd825d90c4 more LKM WIP: polish up the struct DRBG refactor ("struct DRBG_internal"), tweaks for buildability on 3.x kernels (now builds on 3.x, 4.x, and 5.x up to 5.8.1), move a slew of #[un]def[ines] from wc_port.h to settings.h where they belong, misc cleanup. 2020-09-23 18:32:15 -05:00
Daniel Pouzzner
3c2155f4a9 linuxkm WIP -- update for kernels 4.9.x (LTS representative) and 5.8.x (latest). 2020-09-23 18:32:15 -05:00
David Garske
6425ebb60e Linux Kernel Module support using "--enable-linuxkm". 2020-09-23 18:32:15 -05:00
David Garske
8d2c8b0c89 And the CAVP self test. 2020-09-23 16:23:55 -07:00
Sean Parkinson
4136e132b2 EVP CIPHER: fix block size, mode and table
Block size incorrect for GCM - 1.
Add block size for more ciphers in wolfSSL_EVP_CIPHER_block_size().
Add more ciphers to WOLFSSL_CIPHER_mode().
Cipher table was compiling in entries without support.
2020-09-24 09:18:25 +10:00
toddouska
1c07de883c Merge pull request #3306 from SparkiDev/tls13_pha_psk
TLS 1.3: Post-handshake Authentication and resumption secret
2020-09-23 16:06:55 -07:00
David Garske
f77157bfea Looks like FinalRaw was added post FIPS v2. 2020-09-23 16:06:21 -07:00
David Garske
5e1c0f886f Fix for FIPS and raw hash API's. 2020-09-23 15:59:35 -07:00
David Garske
3c28fe3640 Fixes for bad build options around new hash unit tests. Cleanup indent and newlines. 2020-09-23 15:45:31 -07:00
David Garske
b34bf65b66 Fix for --enable-armasm missing wc_Sha256FinalRaw. Reproduced with ./configure --enable-all --enable-cryptocb --enable-armasm && make. 2020-09-23 15:32:43 -07:00
toddouska
2bb8427ab2 Merge pull request #3320 from dgarske/stmcube
STM32 Cube Pack and AES GCM improvements
2020-09-23 14:39:53 -07:00
Chris Conlon
b7fb202ad3 Merge pull request #3294 from miyazakh/espidf_win
Add setup script for ESP-IDF windows
2020-09-23 14:15:17 -06:00
Ethan Looney
95995d2272 Removed forgotten comment 2020-09-23 13:42:33 -06:00
Ethan Looney
59294708a8 Changed test function call, uses internal AssertIntEQ instead of single call 2020-09-23 13:22:59 -06:00
David Garske
c46301f111 Merge pull request #3328 from ejohnstown/fips-ready-fix
FIPS Ready Windows Fix
2020-09-23 12:18:23 -07:00
John Safranek
9dfbf896a8 TFM NO 64-BIT
When diabling 64-bit fastmath using the flag NO_TFM_64BIT, the sizes of
fp_digit and fp_word get smaller. Using them in math with an int gives
incorrect values. Changed the fp_cmp_mag_ct to return a fp_digit since
its return value is used with an fp_digit. Compare its result against
a FP_LT cast as a fp_digit.
2020-09-23 12:17:41 -07:00
David Garske
ecd5a015eb Merge pull request #3317 from ejohnstown/evp-fix
EVP Fix
2020-09-23 11:10:07 -07:00
toddouska
b0998fb030 Merge pull request #3327 from SparkiDev/pkcs11_ecc
PKCS#11 fix: Generate ECC key for decrypt/sign or derive
2020-09-23 09:28:53 -07:00
toddouska
ad00cf0fc8 Merge pull request #3268 from dr-m/intel-intrinsics
Use Intel intrinsic functions for RDSEED and RDRAND
2020-09-23 09:24:47 -07:00
toddouska
2f74817e32 Merge pull request #3288 from embhorn/zd10901
Fix mp_radix_size off by 1 error
2020-09-23 09:19:02 -07:00
toddouska
cee99de6e1 Merge pull request #3324 from JacobBarthelmeh/Testing
fix WOLFSSL_X509_NAME parse of empty field and add test case
2020-09-23 09:15:24 -07:00
Sean Parkinson
4ed3438be0 TLS 1.3: Post-handshake Authentication and resumption secret
The master secret in arrays is not available post-handshake.
Use the master secret in the session when calculating resumption secret.
2020-09-23 17:09:06 +10:00
John Safranek
07e1baadc9 EVP Fix
Change a few missed strings to use the constant names.
2020-09-22 15:55:46 -07:00
David Garske
f1effea638 Improve the IDE/WIN10 readme to clarify the difference between this and IDE/WIN. 2020-09-22 15:55:08 -07:00
Sean Parkinson
e539322a88 PKCS#11 fix: Generate ECC key for decrypt/sign or derive
Add debugging information to PKCS#11.
2020-09-23 08:30:22 +10:00
John Safranek
54c4258c4b FIPS Ready Windows Fix
1. Modify the WIN10 FIPS solution user_settings.h to check for a
   FIPS Ready flag and to override HAVE_FIPS_VERSION to 3 if set.
2. Removed some redundant constants from the EVP file.
2020-09-22 15:23:36 -07:00
David Garske
41ebc9161a Fix include.am for the renamed configuration example wolfSSL_conf.h 2020-09-22 15:18:11 -07:00
David Garske
99d96246bd Fix for STM32 issue with some Cube HAL versions (such as F777) which could modify non-block aligned bytes in the output buffer during decrypt. For TLS these bytes are the authentication tag. Workaround is to save off the incoming expected authentication tag. ZD 10961. 2020-09-22 15:04:30 -07:00
Ethan Looney
1d4e7d8278 Added unit tests for PKCS7 2020-09-22 14:50:08 -06:00
Juliusz Sosinowicz
77969ae042 Buffer AAD in wolfSSL_EVP_CipherUpdate_GCM so that whole value is hashed 2020-09-22 21:58:57 +02:00
Ethan Looney
53b82fccdb Fixed valgrind issues -2 2020-09-22 13:26:52 -06:00
John Safranek
87d042e37d EVP Fix
Clean up a bad guard check for AES-CTR.
2020-09-22 09:46:27 -07:00
Chris Conlon
8816577824 Merge pull request #3319 from kojo1/no_dh
fix NO_DH guard
2020-09-22 10:33:01 -06:00
John Safranek
fc425b74fc EVP Fix
Add a few more guard flag checks to leave out things appropriately.
2020-09-22 09:06:30 -07:00
David Garske
4922baee30 Updates to README.md. Fix tabs to spaces. 2020-09-22 08:26:20 -07:00
Marko Mäkelä
99a481b28e Use Intel intrinsic functions for RDSEED and RDRAND
Starting with GCC 9 or clang 9, we can actually use <immintrin.h>
without any problems. We only have to flag such
functions where such instructions are being used.

The benefit of using intrinsic functions over inline assembler
is that the compiler is given more flexibility. In particular,
clang -fsanitize=memory (MemorySanitizer, MSAN) will not raise
bogus alarms about memory being uninitialized.

Both intrinsic functions are available starting with GCC 5 and
clang 3.8. The RDRAND wrapper is available starting with clang 3.7
via <immintrin.h>. Before GCC 9 and clang 9, the RDSEED wrapper is
not available via <immintrin.h> but via <x86intrin.h>, and only after
jumping through some hoops to enable it.
2020-09-22 09:45:46 +03:00
Jacob Barthelmeh
cb3338bd57 fix WOLFSSL_X509_NAME parse of empty feild and add test case 2020-09-21 18:44:13 -06:00
Sean Parkinson
f4db9c8986 Test wolfSSL_HMAC with SHA-3
Add more support for HMAC with SHA-3.
2020-09-22 09:39:09 +10:00
David Garske
0f48ae77ef Added the wolfSSL configuration template that is used for the Cube pack. This will be the source for the template going forward. Added some useful debugging options and increased the timeout for the TLS example. 2020-09-21 15:35:35 -07:00
Takashi Kojo
83cdd1c314 fix NO_DH guard 2020-09-22 07:30:21 +09:00
David Garske
deaf3b4b40 Merge pull request #3318 from wolfSSL/revert-3310-stmcubemx/add_401
Revert "stmcubemx: add flags for STM32F401"
2020-09-21 15:05:10 -07:00
toddouska
d3ac2eebe3 Revert "stmcubemx: add flags for STM32F401" 2020-09-21 15:02:56 -07:00
elms
3067e28c4a Merge pull request #3310 from elms/stmcubemx/add_401
stmcubemx: add flags for STM32F401
2020-09-21 14:46:50 -07:00
John Safranek
4f8dbf4f3e EVP Fix
There are some cases when the EVP wrapper code could call strncmp with
a null pointer. This was refactored to remove this possibility.
2020-09-21 14:31:42 -07:00
toddouska
47a720bdc6 Merge pull request #3315 from SparkiDev/evp_xts
EVP XTS key length: two keys used so double length
2020-09-21 13:56:35 -07:00
toddouska
b0dca724d4 Merge pull request #3303 from dgarske/spcortexm
Fixes for building with SP Cortex-M ASM in Rowley CrossWorks and the GCC-ARM examples
2020-09-21 13:53:36 -07:00
toddouska
0e66f9d835 Merge pull request #3299 from dgarske/ocsp_certchain
Fix for possible NULL use if certChain not loaded and OCSP cert request called
2020-09-21 13:40:21 -07:00
toddouska
1274a01dc7 Merge pull request #3289 from dgarske/wpas_small
Fixes for building `--enable-wpas=small` with WPA Supplicant v2.7
2020-09-21 13:37:58 -07:00
toddouska
0f6d391ea1 Merge pull request #3295 from SparkiDev/tls13_p521
TLS 1.3: Fix P-521 algorithm matching
2020-09-21 13:36:48 -07:00
toddouska
117d0e3916 Merge pull request #3273 from dgarske/xilinx_vitis
Xilinx SDK / Vitis improvements
2020-09-21 13:31:06 -07:00
toddouska
793a7bd8c7 Merge pull request #3228 from SparkiDev/expired_cert_crl
Script to find exipred CRLs and certificates
2020-09-21 13:29:32 -07:00
Sean Parkinson
d7525f0f86 EVP XTS key length: two keys used so double length 2020-09-21 11:02:07 +10:00
Hideki Miyazaki
0fd65a2ae3 added ESP-IDF setup script for windows
fixed warnings when using v4.0 esp-idf

added new file, setup_win.bat to include.am
2020-09-20 17:13:39 +09:00
Kaleb Himes
5afd313912 Merge pull request #3298 from ejohnstown/fix-client-usage
Fix Client Usage
2020-09-18 17:32:19 -06:00
Tesfa Mael
f1b4c52c78 Update release note credits 2020-09-18 13:11:10 -07:00
Elms
13c54627e2 stmcubemx: add flags for STM32F401 2020-09-18 09:17:32 -07:00
David Garske
b4aed22eb1 Remove execute bit on files. 2020-09-18 09:16:31 -07:00
David Garske
3eb12cc8e9 Port for Xilinx (xilffs) file system support. 2020-09-18 09:16:31 -07:00
David Garske
0ae9adcfd9 Add Xilinx SDK printf support. 2020-09-18 09:16:31 -07:00
David Garske
63e993b9c1 Fix to allow XTIME override for Xilinx. Spelling fixes in Xilinx README.md. 2020-09-18 09:16:31 -07:00
David Garske
b4c964f729 Fix for possible NULL buffer use if certChain not loaded and OCSP cert request called. 2020-09-18 09:15:44 -07:00
David Garske
135cf1680f Fixes for building with SP Cortex-M ASM in Rowley CrossWorks and the generic IDE/GCC-ARM examples. 2020-09-18 09:15:21 -07:00
David Garske
9deb85ceb1 Fixes to reduce code size. 2020-09-18 09:14:41 -07:00
David Garske
cd6283d3a2 Fix last commit macro logic. 2020-09-18 09:14:41 -07:00
David Garske
d37adefe98 Fixes for edge case builds with certificate req/gen/ext without --enable-opensslextra. 2020-09-18 09:14:41 -07:00
David Garske
d61be6f030 Restore the normal --enable-wpas macro. 2020-09-18 09:14:41 -07:00
David Garske
780e8a4619 Fixes for building --enable-wpas=small with WPA Supplicant v2.7. 2020-09-18 09:14:41 -07:00
Kaleb Himes
eb466668ce Merge pull request #3304 from douzzer/20200917-fix-script-races-and-bwrap-unit-test
20200917 fix script races and bwrap unit test
2020-09-18 08:33:16 -06:00
Sean Parkinson
409daa665d Script to find exipred CRLs and certificates
Check for expiration in 3 months.
First argument is the offset. e.g. "+1 year"
2020-09-18 11:26:27 +10:00
Sean Parkinson
d63ff07edc TLS 1.3: Fix P-521 algorithm matching
Digest size compared to key size - P521 has large key size.
Fixed to round down.
Added P-521 keys and certificates.
Added testing of P-521 keys and certificcates to unittest.
2020-09-18 10:51:55 +10:00
Daniel Pouzzner
a1d231b4dc tests/api.c:test_wolfSSL_ERR_print_errors(): add missing gating on !defined(NO_ERROR_STRINGS). 2020-09-17 12:03:44 -05:00
Daniel Pouzzner
cc1d016d1e configure.ac: define BUILD_TESTS as ENABLED_EXAMPLES, rather than ENABLED_EXAMPLES && !ENABLED_LEANTLS; add missing preprocessor gating in tests/api.c test_wolfSSL_EVP_Digest() and test_wolfSSL_i2d_PrivateKey(). 2020-09-17 12:03:44 -05:00
Daniel Pouzzner
9df9fb7936 unit.test: add bwrap wrapper script at scripts/unit.test. 2020-09-17 12:03:44 -05:00
Daniel Pouzzner
5ed2fe8092 scripts/: more race elimination/mitigation. 2020-09-17 12:03:44 -05:00
Daniel Pouzzner
26901d1cd9 scripts/ocsp-stapling2.test: eliminate races. 2020-09-17 12:03:44 -05:00
David Garske
d22de947b7 Merge pull request #3300 from elms/fix/sp_iar_v6.70
CortexM SP ASM compiling for IAR 6.70
2020-09-17 09:41:52 -07:00
Elms
cd077d74c1 CortexM SP ASM compiling for IAR 6.70
* asm can handle pointers but not arrays, use redirection pointers
 * branch width must be specified explicitly
2020-09-16 16:23:51 -07:00
toddouska
0694eafb5e Merge pull request #3286 from dgarske/aesctr_aesni
Fix for AES CTR with AESNI
2020-09-16 15:11:11 -07:00
toddouska
fe92fa6f3f Merge pull request #3282 from SparkiDev/sp_mod_exp_bits
SP mod exp: support exponents of different lengths
2020-09-16 15:07:31 -07:00
toddouska
86e5a2c528 Merge pull request #3276 from SparkiDev/jacobi_iterative
ECC mp_jacobi: iterative implementation
2020-09-16 15:04:20 -07:00
toddouska
85da1a1d0a Merge pull request #3271 from SparkiDev/tls13_peek
TLS 1.3: allow wolfSSL_peek() to return WANT_READ
2020-09-16 15:02:42 -07:00
toddouska
533bc099eb Merge pull request #3265 from SparkiDev/cpuid_set
Allow the CPU Id flags to be programmatically set
2020-09-16 15:00:30 -07:00
toddouska
ab7408f7d6 Merge pull request #3258 from dgarske/nxp_hw
Fixes for NXP MMCAU/LTC mutex locking and build
2020-09-16 14:57:58 -07:00
toddouska
a3fca7f593 Merge pull request #3247 from JacobBarthelmeh/Compatibility-Layer
Compatiblity Layer Fixes for serial number / ASN1 time / and order of name components
2020-09-16 14:53:51 -07:00
John Safranek
30443dbf23 Fix Client Usage
A string in the client's usage text was made optional depending on the
NO_PSK option, but there was still an attempt to print it. This lead to
a NULL being printed instead. Fixed the print statement.
2020-09-16 13:37:01 -07:00
Juliusz Sosinowicz
04b4ef3e3b Don't send null byte 2020-09-16 14:02:51 +02:00
Ethan Looney
da4478bdf1 Fixed valgrind issues 2020-09-15 12:58:52 -06:00
Kaleb Himes
b22d2a2195 Merge pull request #3291 from douzzer/ocsp-stapling-script-happy-birthday
fix birthday problem in ocsp-stapling*.test
2020-09-15 08:47:39 -06:00
Eric Blankenhorn
5d69c9f1dc Move neg check 2020-09-15 09:12:45 -05:00
Daniel Pouzzner
b669f8eeb9 scripts/: tweak scripts/include.am to run ocsp tests before rather than after testsuite and unit.test; revert POSIXish scripts/*.test to use /bin/sh. 2020-09-14 16:06:45 -05:00
Eric Blankenhorn
6451c4e471 Fix for negative values 2020-09-14 10:00:02 -05:00
Juliusz Sosinowicz
b9527600f4 Return size of consumed buffer 2020-09-14 09:22:47 +02:00
Daniel Pouzzner
d8dc6be5b9 scripts/ocsp-stapling2.test: try using a static prechecked port for the servers on ready_file5 too. 2020-09-12 01:13:35 -05:00
Daniel Pouzzner
51046d45d3 add bwrapping on all other scripts/*.test except those that make Internet connections, and remove test for setuid bit, as some systems are configured to not require setuid/CAP_NET_ADMIN for CLONE_NEWNET. 2020-09-12 00:20:38 -05:00
Daniel Pouzzner
1e9971f64c scripts/ocsp-stapling*.test: add bwrap attempt at top, to isolate network namespace. 2020-09-11 18:20:27 -05:00
David Garske
2ac5835ee8 Fix for CAAM to evaluate before the keylen check. Added checking to make sure keylen cannot overrun buffer. 2020-09-11 15:07:31 -07:00
Daniel Pouzzner
8f25456f86 scripts/ocsp-stapling*.test, wolfssl/test.h: refactor scripts/ocsp-stapling*.test for orthogonality and robustness, with retries and early failure detection. also, reduce sleeps in ocsp-stapling-with-ca-as-responder.test to 0.1, matching sleeps in other 2 scripts. finally, in wolfssl/test.h, #ifdef SO_REUSEPORT do that when binding ports, and add optional rendering of errno strings for failed syscalls using err_sys_with_errno() when -DDEBUG_TEST_ERR_SYS_WITH_ERRNO. 2020-09-11 15:30:37 -05:00
Ethan Looney
a466a57f1d Added fips check and cast variable to word32 2020-09-11 14:28:10 -06:00
John Safranek
3e77dcab5d Merge pull request #3285 from julek-wolfssl/DtlsCheckWindow-window-check
Fix window check
2020-09-11 11:35:02 -07:00
John Safranek
01ad4d59a1 Merge pull request #3263 from douzzer/20200828-neg-SN-invalid-padding
GetASNInt(): check for invalid padding on negative integer.
2020-09-11 08:48:43 -07:00
Eric Blankenhorn
4688f5fa59 Handle leading zero 2020-09-11 08:39:34 -05:00
David Garske
6fcdd848c9 Refactor of AES wc_AesSetKeyLocal and wc_AesSetKey for software only use. Added missing aes argument check on wc_AesSetKeyDirect. 2020-09-10 15:57:36 -07:00
Sean Parkinson
5010572856 Merge pull request #3287 from dgarske/sp_mask
Fix for wrong cast type and added "U" and "UL".
2020-09-11 08:14:13 +10:00
Ethan Looney
7dce2e7f2c Added unit tests for RSA.c 2020-09-10 14:47:51 -06:00
Eric Blankenhorn
78a1670334 Fix mp_radix_size off by 1 error 2020-09-10 09:58:26 -05:00
David Garske
f68eee0788 Fix for wrong cast type and added "U" and "UL". 2020-09-09 16:35:05 -07:00
Sean Parkinson
7a0fba20cf Merge pull request #3281 from dgarske/sp_mask
Fix in SP math for casting signed -1 to unsigned
2020-09-10 08:43:30 +10:00
David Garske
dfc8ed5a73 Fix for AES CTR with AESNI. The flag to indicate use of AES was not set with wc_AesSetKeyDirect. 2020-09-09 14:53:08 -07:00
Juliusz Sosinowicz
e34ccaf481 Fix window check
If `curLT` then diff needs to be decremented. For example: `diff` = 1 represents last packet so it would be the `window[idx] & (1 << 0)` bit of the window variable.
2020-09-09 23:27:49 +02:00
Juliusz Sosinowicz
a65ffe15bc Implement non-blocking SCR on server side 2020-09-09 21:41:20 +02:00
Chris Conlon
29a840aee0 Merge pull request #3280 from dgarske/ebsnet
Fix for bad pre-processor logic
2020-09-09 13:17:45 -06:00
Sean Parkinson
3ecbc7762a SP mod exp: support exponents of different lengths 2020-09-09 15:23:04 +10:00
John Safranek
39b5448601 Merge pull request #3279 from dgarske/minor_fixes
Minor build fixes for typo and CMake
2020-09-08 16:45:52 -07:00
David Garske
b8bdeec940 Fix in SP math for casting signed -1 to unsigned. 2020-09-08 14:18:09 -07:00
JacobBarthelmeh
58e03b2d26 Merge pull request #3272 from embhorn/zd10650
Check for non-blocking return code in BioSend
2020-09-08 14:25:16 -06:00
David Garske
7b8fa42ae1 Fix for bad pre-processor logic. Some compilers are unhappy with the #sslpro even in a block of code not used! 2020-09-08 13:12:11 -07:00
David Garske
6f5a7e87c5 Fix for CMake to only set ranlib arguments for Mac. Fix for stray typo of , -> ;. Fixes #3275 and Fixes #3278 2020-09-08 11:07:12 -07:00
Juliusz Sosinowicz
234705a80c Change buffer in wolfSSL_dtls_import to be const 2020-09-08 09:25:34 +02:00
Sean Parkinson
6fb1feadc7 ECC mp_jacobi: iterative implementation
Slightly faster and less stack used.
2020-09-08 10:05:52 +10:00
Sean Parkinson
5b43977b95 Merge pull request #3277 from julek-wolfssl/failing-nightly-532c2f5
wolfSSL_SESSION_free: Fix failing nightly
2020-09-08 08:11:37 +10:00
Juliusz Sosinowicz
ee2d051536 Fix failing nightly
Failed tests when configured with `./configure --enable-dtls --enable-opensslextra --enable-sessioncerts`. Valgrind discovered a use after free bug. Nulling session->peer fixes the issue.
2020-09-07 14:36:57 +02:00
Sean Parkinson
93bb12ce86 TLS 1.3: allow wolfSSL_peek() to return WANT_READ
When handshake message is processed in wolfSSL_peek() then return
WANT_READ from peek instead of blocking waiting for application data.

Server may send an alert if the client certificate is invalid.
The server also may send NewSesionTicket after client has sent finished
message.
To detect alert before handling application data, then the socket needs
to be checked for data. If the data is an alert then wolfSSL_peek() will
handle the alert, but if it is a NewSessionTicket then wolfSSL_peek()
will process it and block waiting for application data - so return
WANT_READ if no application data seen after processing handshake
message.
2020-09-07 08:30:24 +10:00
Sean Parkinson
70854b8eec Allow the CPU Id flags to be programmatically set 2020-09-04 09:01:27 +10:00
toddouska
7fd51cf9d9 Merge pull request #3267 from SparkiDev/no_client_auth
Get builds with WOLFSSL_NO_CLIENT_AUTH compiling and testing
2020-09-03 15:55:38 -07:00
David Garske
e2b0b11732 Fix for AES CBC with NXP MMCAU locking. 2020-09-03 15:28:45 -07:00
David Garske
a9ff89eafa Refactor of the MMCAU and LTC hardware mutex locking. 2020-09-03 15:28:45 -07:00
David Garske
e791b78d23 Fix to add wrapper for new timing resistant wc_ecc_mulmod_ex2 function version in HW ECC acceleration. Broken in PR #2982. 2020-09-03 15:26:10 -07:00
toddouska
8753b5b947 Merge pull request #3257 from kojo1/user-mutex
fix guard, user define mutex
2020-09-03 15:21:53 -07:00
toddouska
a626ac39f2 Merge pull request #3253 from SparkiDev/chacha20_stream_fix
ChaCha20: Enable streaming with Intel x86_64 asm
2020-09-03 15:18:00 -07:00
toddouska
862eea3962 Merge pull request #3252 from SparkiDev/fe448_32bit_fix
Curve448: fix 32-bit implementation
2020-09-03 15:12:28 -07:00
toddouska
d8ee6fc96d Merge pull request #3251 from SparkiDev/rsa_pkcs11_dox
Add doxygen comments for wc_InitRsaKey_Id()
2020-09-03 15:10:20 -07:00
toddouska
9901eb9272 Merge pull request #3249 from SparkiDev/tls13_early_data_fix
TLS 1.3 Early Data: fix
2020-09-03 14:49:39 -07:00
toddouska
db805524de Merge pull request #3248 from SparkiDev/aes_cbc_oob
AES-CBC check for input size of 0
2020-09-03 13:40:34 -07:00
Jacob Barthelmeh
682b1468b8 free test certificate when test is done 2020-09-02 16:05:05 -06:00
toddouska
b3acd57de5 Merge pull request #3254 from dgarske/leaks
Fixes valgrind leak reports (related to small stack cache)
2020-09-02 10:44:49 -07:00
toddouska
9268de229a Merge pull request #3266 from dgarske/unit_test
Fix for DH compute key compatibility function failure
2020-09-02 10:23:23 -07:00
JacobBarthelmeh
914905f1bc Merge pull request #3193 from embhorn/zd10457_b
Fix CheckHostName matching
2020-09-02 10:36:02 -06:00
toddouska
6f56c3c800 Merge pull request #3204 from dgarske/ocsp_nonblock
Fix for OCSP response in non-blocking mode and testing script improvements
2020-09-01 15:56:52 -07:00
Chris Conlon
97241331ac Merge pull request #3246 from ethanlooney/23rd_branch
Added ecc.c unit tests to api.c - final PR
2020-09-01 14:44:14 -06:00
Jacob Barthelmeh
fd2074da00 fix for order of components in issuer when using compatiblity layer api to generate cert 2020-09-01 09:27:45 -06:00
Sean Parkinson
89b9a77eca Get builds with WOLFSSL_NO_CLIENT_AUTH compiling and testing
Fix build for no client or server and no client auth.
Fix tests to detect when no client auth compiled and test is trying to
do client auth.
2020-09-01 15:27:46 +10:00
David Garske
c587ff72d2 Fix for occasional unit.test failure in test_wolfSSL_EVP_PKEY_derive. 2020-08-31 14:04:51 -07:00
Ethan Looney
568184f53f Changed len from hardcoded value to sizeof oid 2020-08-31 13:42:23 -06:00
Ethan Looney
c8d93d4d5e Added ecc.c unit tests to api.c 2020-08-31 13:42:23 -06:00
David Garske
e9b1ceae7e Merge pull request #3255 from tmael/big_endian
Make ByteReverseWords available for big and little endian
2020-08-31 07:34:50 -07:00
David Garske
28b2be37cd Merge pull request #3259 from ejohnstown/sniffer-no-oldtls
Sniffer without OldTls
2020-08-31 07:34:24 -07:00
Sean Parkinson
54c8774103 ChaCha20: Enable streaming with Intel x86_64 asm 2020-08-31 09:06:51 +10:00
Sean Parkinson
91c131fbd8 Curve448: fix 32-bit implementation
Fix small define check
2020-08-31 09:05:06 +10:00
Sean Parkinson
db864be6a4 TLS 1.3 Early Data: fix
Will process early data packets now.
Added test to check output of server for early data being received.
2020-08-31 09:03:05 +10:00
Sean Parkinson
d2802f2d15 Merge pull request #3264 from dgarske/iar_sp
Fix for building SP math with IAR
2020-08-31 08:40:50 +10:00
Sean Parkinson
f444c63560 Merge pull request #3262 from julek-wolfssl/missing-cipherExtraData-2
HAVE_SESSION_TICKET can also be defined without TLS 1.2
2020-08-31 08:34:54 +10:00
David Garske
5692135819 Fix for building SP math with IAR to force noinline. ZD 10839 2020-08-28 11:04:28 -07:00
Daniel Pouzzner
9c76f19625 GetASNInt(): check for invalid padding on negative integer. 2020-08-28 12:43:21 -05:00
Juliusz Sosinowicz
c6d1d524fc HAVE_SESSION_TICKET can also be defined without TLS 1.2 2020-08-28 16:05:28 +02:00
Juliusz Sosinowicz
605b274442 Jenkins fixes 2020-08-28 12:04:11 +02:00
Sean Parkinson
015c73686f Merge pull request #3261 from dgarske/zd10848
Fixes for several implicit cast warnings
2020-08-28 16:49:03 +10:00
David Garske
94b0dcb7e9 Peer review feedback to add explicit parenthesis on cast. 2020-08-27 16:18:54 -07:00
David Garske
0d2e37cc42 Fixes for several implicit cast warnings. ZD 10848. 2020-08-27 13:51:55 -07:00
Juliusz Sosinowicz
52df9d6c69 TLS and DTLS both need to support APP DATA during SCR
Also some misc fixes
2020-08-27 21:13:19 +02:00
David Garske
21d17b17d0 Fix typo in code comment for ECC curve cache. Fix for valgrind report of possible use of uninitialized value with ChaCha/Poly AEAD test. 2020-08-27 12:01:24 -07:00
David Garske
32b46e344d Fix for ECC curve cache without custom curves enabled. 2020-08-27 11:18:55 -07:00
David Garske
3e685fdb5b Fix for DTLS DoClientHello HMAC free (function has another exit point). 2020-08-27 10:02:15 -07:00
Jacob Barthelmeh
ab52bcf43d add overried for max entries and certificate generation size 2020-08-26 19:22:57 -06:00
John Safranek
5b39976cc0 Sniffer without OldTls
1. Put a guard around the call to DeriveKeys() when building with
  --enable-sniffer --disable-oldtls. Disabling OldTls removes the
  DeriveKeys() function. Similar logic used in internal.c.
2020-08-26 16:47:44 -07:00
Eric Blankenhorn
ea5c290d60 Fix CheckHostName matching 2020-08-26 14:03:17 -05:00
David Garske
9af0e5528e New openssl_test return code checking requires fix from PR #3243. 2020-08-26 10:22:00 -07:00
Tesfa Mael
b90acc91d0 Make ByteReverseWords available for big and little endian 2020-08-26 10:13:06 -07:00
David Garske
1b2b3de2c9 Fixes for missing free calls on hash tests. 2020-08-26 09:48:46 -07:00
David Garske
6d5731b8e9 Fixes for HMAC_CTX cleanup not being called to free SHA2 resources with WOLFSSL_SMALL_STACK_CACHE. Added return code checking and cleanup for openssl_test. 2020-08-26 09:45:26 -07:00
David Garske
5c76afc41c Fix for SHA256 missing initialization of small stack cache variable. Fixes issue with Intel ASM and WOLFSSL_SMALL_STACK_CACHE 2020-08-26 09:44:32 -07:00
David Garske
3878af96cd Fix for SP init and free with HAVE_WOLF_BIGINT. Fix for sp_free macro typo. Fix to expose mp_init_copy with ECC disabled because its used by mp_test. 2020-08-26 09:42:29 -07:00
David Garske
61545df606 Fix to make sure DTLS cookie HMAC free gets called. Note: This does not cover the many error case paths. 2020-08-26 09:41:26 -07:00
David Garske
14e1489365 Fix for SRP leaks with WOLFSSL_SMALL_STACK_CACHE 2020-08-26 09:41:09 -07:00
Jacob Barthelmeh
bc58dde700 fix for serial number containing 0's and for RNG fail case 2020-08-26 00:03:39 -06:00
Sean Parkinson
e2b5de2657 Add doxygen comments for wc_InitRsaKey_Id() 2020-08-26 09:04:40 +10:00
David Garske
6a984da53f Fixes and Improvements to OCSP scripts. Fix for OCSP test with IPV6 enabled (use -b bind to any on server). Fix to use random port number for the oscp-stapling.test script. Reduce delay times in scripts. 2020-08-25 10:55:41 -07:00
Juliusz Sosinowicz
8b934624f5 DTLS non-blocking scrwith example 2020-08-25 11:26:20 +02:00
Sean Parkinson
3a25faea60 AES-CBC check for input size of 0
Don't need to do anything when size is 0.
2020-08-25 13:36:45 +10:00
Jacob Barthelmeh
ef9beaf271 adjust sanity check on serial number size to match fix 2020-08-24 18:15:05 -06:00
Jacob Barthelmeh
c7136498ec add test case 2020-08-24 17:19:03 -06:00
Jacob Barthelmeh
c4a6fba591 fix for ASN1 time and serial number 2020-08-24 17:00:19 -06:00
toddouska
d077efcbb3 Merge pull request #3237 from SparkiDev/mp_oob_1
Fix out of bounds read when writing to very long buffer
2020-08-24 15:28:00 -07:00
toddouska
c5cab6afba Merge pull request #3236 from dgarske/retcheck
Various fixes and improvements (return codes, build warns and func doc)
2020-08-24 15:27:04 -07:00
toddouska
7e6100593e Merge pull request #3223 from SparkiDev/fp_gcd_fix
Check the error return from fp_mod in fp_gcd
2020-08-24 15:24:20 -07:00
toddouska
cf208901fd Merge pull request #3218 from guidovranken/wc_PKCS12_PBKDF_ex-leak-fix
In wc_PKCS12_PBKDF_ex, free outer loop variable if inner loop fails
2020-08-24 15:23:47 -07:00
David Garske
a23b30bc18 Merge pull request #3245 from tmael/ctx_pKey
Correct a mismatch of directives
2020-08-24 14:39:43 -07:00
David Garske
749025963e Merge pull request #3239 from SparkiDev/ed448_cast
Ed448: Fix compiler warning Intel -m32
2020-08-24 10:13:25 -07:00
David Garske
7ee2b61a5a Peer review feedback to also check EAGAIN and always have supported. 2020-08-24 08:18:25 -07:00
David Garske
47cc8d232a Fix in ED448 wc_ed448_check_key function for possible dereference of a null pointer. 2020-08-24 07:31:06 -07:00
Sean Parkinson
4f44df96dc MP: integer OOB write fix
mp_to_unsigned_bin_len() now checks length passed in is greater than or
equal length to write.
2020-08-24 22:48:52 +10:00
Sean Parkinson
955a53dce3 Ed448: Fix compiler warning Intel -m32 2020-08-24 16:29:48 +10:00
Sean Parkinson
e30361e186 Fix out of bounds read when writing to very long buffer
mp_to_unsigned_bin_len() didn't handle buffers longer than maximum MP
size. Fixed tfm and sp_int versions.
2020-08-24 09:18:07 +10:00
David Garske
085f55195a Fix for handling OCSP response in non-blocking mode. 2020-08-21 15:50:34 -07:00
David Garske
7d45e85b03 Add ED448 to the "all" options. 2020-08-21 15:47:02 -07:00
David Garske
083f143c89 Fixes for warnings with minimum ECC build. 2020-08-21 15:47:02 -07:00
David Garske
51c2960407 Added function comment for wolfSSL_i2a_ASN1_OBJECT. Added heap context for wolfSSL_CertManagerCheckOCSP 2020-08-21 15:47:02 -07:00
David Garske
5f059306fd Fix for case with ssl->error not being set. 2020-08-21 15:47:02 -07:00
David Garske
03b7ac559a Fix for example return code checking. 2020-08-21 15:47:02 -07:00
toddouska
44e575b8c4 Merge pull request #3227 from dgarske/release-4.5.0-async
Release 4.5.0 async
2020-08-21 15:34:20 -07:00
David Garske
fd2aece058 Fix for building ECC_CACHE_CURVE without WOLFSSL_CUSTOM_CURVES. 2020-08-20 16:16:18 -07:00
David Garske
3fbaccc8a1 Fix for API unit test test_wolfSSL_X509_sign, which can have a varying length depending on if MSB is set. About 1 in 200 tests would fail. 2020-08-20 15:33:28 -07:00
David Garske
dd517fd81c Fixed several compiler warnings with inline variable declaration, deprecated func decl and small stack use of invaid memory (heap). Thanks @douzzer for these. 2020-08-20 15:13:43 -07:00
David Garske
92cf0d7b10 Fix numerous maybe-uninitialized errors in WOLFSSL_SP_SMALL and WOLFSSL_SMALL_STACK cases. 2020-08-20 15:05:20 -07:00
David Garske
25f9d15980 Fix for benchmark example when using the ECC encrypt (--enable-eccencrypt) and timing resistance. New timing resistance RNG requirements for ECC Shared Secret. 2020-08-20 14:25:06 -07:00
David Garske
1d55b2f526 Fixes for several memory leaks related to HAVE_WOLF_BIGINT. 2020-08-20 14:25:06 -07:00
David Garske
79c0fd3f29 Fix for ECC make key test not waiting for async completion. 2020-08-20 14:25:05 -07:00
David Garske
0011b7b376 Fix possible ECC curve cache leak for custom curves. Fix possible memory leak with wc_DhKeyDecode and WOLFSSL_DH_EXTRA. Fix leak in dh_test with new call to DH key import. 2020-08-20 14:25:05 -07:00
toddouska
0fa5af9929 Merge pull request #3224 from ejohnstown/release-update
Release v4.5.0 Supplement
2020-08-20 09:34:58 -07:00
John Safranek
05671d183c update README/ChangeLog 2020-08-19 10:53:26 -07:00
Sean Parkinson
549c47de65 Handle when k is 1 or order + 1 for timing resistant ECC 2020-08-19 10:50:37 -07:00
John Safranek
362e328180 NTRU fixes
1. When configuring for NTRU, enable static RSA.
2. The echoserver should not try to use NTRU with TLSv1.3.
2020-08-19 10:46:03 -07:00
David Garske
1f10e77b0f Fix for SP math with WOLFSSL_VALIDATE_ECC_KEYGEN. Fixes logic error on point x/y zero check. 2020-08-19 09:30:32 -07:00
John Safranek
55632a0567 Two more out of order DTLS message fixes. 2020-08-18 17:54:25 -07:00
Sean Parkinson
38b717eb42 Clear MP in ECC to free allocated memory 2020-08-18 17:54:25 -07:00
John Safranek
113753370d Long Test Fixes
1. Sniffer was trying to log a NULL pointer as a string. Logged a string instead.
2. Few misc fixes in ECC.
2020-08-18 17:54:25 -07:00
Tesfa Mael
fbe0e04388 Correct mismatch of directives 2020-08-18 16:44:43 -07:00
Sean Parkinson
3a7ad4f03b Check the error return from fp_mod in fp_gcd
Error can occur when using small stack and memory allocation fails.
2020-08-19 08:50:27 +10:00
John Safranek
6e49a63e50 fix call to MakeAnyCert from wc_MakeNtruCert(); it was missing the new parameter 2020-08-17 17:12:11 -07:00
John Safranek
c1090cff3f update rpm-spec.in 2020-08-17 14:42:20 -07:00
toddouska
028bddd7ab Merge pull request #3215 from ejohnstown/release-4.5.0
Release Update
2020-08-17 13:51:23 -07:00
John Safranek
5c6da52ac1 Update release notes. 2020-08-17 09:20:53 -07:00
Sean Parkinson
cb5d6a5c12 Check ECC scalar before multiplication
A k with more bits than in order doesn't work in ECC scalar
multiplication.
Check private key length in wc_ecc_check_key()
Check private key length in ecc_make_pub_ex()
2020-08-17 08:39:39 -07:00
John Safranek
3be7f3ea3a Reject DTLS application data messages in epoch 0 as out of order. 2020-08-14 17:21:39 -07:00
John Safranek
ef5271dd9f fips-check script shouldn't force FIPS-ready build to be v2. 2020-08-14 14:31:50 -07:00
John Safranek
3f6861ee82 FIPS Ready Fix with ECC Timing Resistance
Commit 6467de5 added some timing resistance to ECC shared secret
agreement. It involved adding an RNG object to the ecc keys so
a random z value can be added to the mix. The older FIPS release
has ECC outside the boundary, so it uses the new ECC code. FIPSv2
has ECC inside the boundary, but all the TLS code checks for that
version of FIPS and leaves out the calls to the new functions as
it is using an older version of ecc.c. FIPS Ready uses the latest
version of ecc.c but compiles as FIPSv2. So, the code outside of
the crypto layer is treating ECC as FIPSv2 and not calling the new
functions, but the crypto layer assumes the RNG should be present,
and errs out on testing.
1. Added a separate option for FIPS Ready to the enable-fips
   configure option. `--enable-fips=ready`. It will treat FIPS
   Ready as the next kind of FIPS release. FIPS Ready will be
   treated like FIPS v3 in the build.
2. Changed the C preprocessor checks for FIPS version 2 to be
   checks for not version 2, with respect to ECC Timing Resistance
   and FIPS builds.
2020-08-14 10:54:55 -07:00
John Safranek
1dc0a76436 Patch from Jacob. When parsing a certificate name, if an item is unknown, its NID is set to 0. Don't try to add NID's of 0. 2020-08-13 17:01:26 -07:00
John Safranek
e16496512e Merge pull request #3216 from SparkiDev/rel_fixes_1
Fixes from C++ and address access checking
2020-08-13 15:32:16 -07:00
Eric Blankenhorn
7744f0d543 Check for non-blocking return code in BioSend 2020-08-13 15:33:20 -05:00
John Safranek
7e6863e78b resolving build issues for FIPSv2 OE2 with --enable-opensslextra 2020-08-13 13:24:44 -07:00
John Safranek
64084bcba2 Add a void to the empty parameter list for the function wolfSSL_SESSION_new(). 2020-08-13 13:18:29 -07:00
Guido Vranken
087fa7cbec In wc_PKCS12_PBKDF_ex, free outer loop variable if inner loop fails 2020-08-13 19:22:36 +02:00
Sean Parkinson
bc74bfebdd Fixes from C++ and address access checking
Fix access of table for cache resistance.
Don't name variable public or private.
Cast from void*
2020-08-13 15:19:49 +10:00
John Safranek
ceed98b952 Modify the openssl test script to run the openssl commands in an eval. 2020-08-12 16:59:10 -07:00
John Safranek
3bd27f7912 fix a bad path in renewcerts 2020-08-12 15:17:21 -07:00
John Safranek
95337e666c Release Update
1. Update the usual versions.
2. Update README and ChangeLog.
3. Modify genecc and renewcerts to update two certificate files that had expired.
4. Update the expired certificate files.
2020-08-12 14:43:47 -07:00
John Safranek
e30341ea83 Merge pull request #3190 from embhorn/zd10712
Sanity check key sizes
2020-08-12 09:37:40 -07:00
toddouska
21ed05b85e Merge pull request #3214 from dgarske/snifferFreeFix
Fix for SSL sniffer free to properly cleanup globals
2020-08-11 20:27:09 -07:00
toddouska
fa146870bd Merge pull request #3155 from julek-wolfssl/openssh-fixes-cherry-picked
Additional OpenSSL compat stuff for OpenSSH
2020-08-11 16:32:31 -07:00
toddouska
532c2f50e8 Merge pull request #3083 from julek-wolfssl/openssl-compat-X509V3_EXT_i2d
Implement more OpenSSL compatibility functions
2020-08-11 15:01:41 -07:00
David Garske
65bcc03885 Fix for SSL sniffer free to properly cleanup globals (resolves issue with then calling ssl_InitSniffer -> ssl_FreeSniffer then ssl_InitSniffer again). ZD 10757. 2020-08-11 14:07:32 -07:00
toddouska
1681ed1b85 Merge pull request #3211 from cconlon/jniconfig
Update "enable-jni" option for current JSSE requirements
2020-08-11 12:39:54 -07:00
Jacob Barthelmeh
5cede22d1e wait to set size till after sanity check 2020-08-11 12:59:01 -06:00
Daniel Pouzzner
e4fe6b6573 Merge pull request #3210 from dgarske/rsa_checkkey_sp
Fix for `unit.test` error with SP and RSA 1024-bit key gen
2020-08-11 12:00:41 -05:00
toddouska
87a00df2ea Merge pull request #3118 from julek-wolfssl/aead-only-fix
Check for WOLFSSL_AEAD_ONLY in wolfSSL_dtls_import_internal
2020-08-11 09:33:47 -07:00
toddouska
4e6bc02257 Merge pull request #2982 from SparkiDev/ecc_sc
ECC now calls mp_submod_ct and mp_addmod_ct
2020-08-11 09:26:56 -07:00
JacobBarthelmeh
8b7f588aaf Merge pull request #3108 from SparkiDev/openssl_interop
Update OpenSSL interopability testing
2020-08-11 09:42:43 -06:00
Juliusz Sosinowicz
6e14b224da Add NULL check in wolfSSL_EC_POINT_invert 2020-08-11 10:11:48 +02:00
Sean Parkinson
93cdfd7132 Update OpenSSL interopability testing
Added TLS 1.3 testing.
Added Ed25519 and Ed448 testing.
Added tesitng of OpenSSL client against wolfSSL server.
Fixed builds of Curve25519/Curve448/Ed25519/Ed448 in different
configurations.
2020-08-11 16:44:45 +10:00
Sean Parkinson
6467de5a88 Randomize z ordinates in scalar mult when timing resistant
An RNG is required for shared secret calculation now.
Use wc_ecc_set_rng() to set an RNG against the ECC object.
ECC verification does not need timing resistance and does not randomize
z ordinates.
2020-08-11 16:12:47 +10:00
Sean Parkinson
3ce933c90a Make fp_montgomery_reduce constant time 2020-08-11 16:12:10 +10:00
Sean Parkinson
0102902445 Add and use a mp_cmp_mag that is constant time. 2020-08-11 16:12:10 +10:00
Sean Parkinson
8b05160349 Reworked ECC mulmod and fix size of k
When using wc_ecc_mulmod_ex2(), the k size can be fixed to be one bit
longer than order.
2020-08-11 16:12:10 +10:00
Sean Parkinson
9ef9671886 ECC uses CT vers of addmod, submod and div_2_mod
The TFM implementations of mp_submod_ct, mp_addmod_ct,
mp_div_2_mod_t are more resilient to side-channels.
2020-08-11 16:12:10 +10:00
toddouska
4f30e37094 Merge pull request #3074 from julek-wolfssl/dtls-multiple-app-records
Handle 2+ dtls APP data records in one udp packet
2020-08-10 14:52:04 -07:00
toddouska
242df3d11a Merge pull request #3209 from SparkiDev/jenkins_fixes_1
Fixes from Jenkins failures
2020-08-10 14:30:27 -07:00
toddouska
98b4272e5b Merge pull request #3202 from ejohnstown/abi-server
ABI Update for Server
2020-08-10 14:25:05 -07:00
David Garske
26aaf473db Fix for unit.test error with RSA 1024-bit key gen when using ./configure --enable-keygen --enable-sp. Issue started in PR #3119 2020-08-10 12:40:29 -07:00
Juliusz Sosinowicz
a50affb408 Malloc enough space 2020-08-10 16:08:46 +02:00
Eric Blankenhorn
50647ccdb1 Sanity check key sizes 2020-08-10 07:19:33 -05:00
Juliusz Sosinowicz
ef4b29ebc7 Jenkins fixes 2020-08-10 12:49:18 +02:00
Juliusz Sosinowicz
55d4817956 Jenkins fixes 2020-08-10 12:39:16 +02:00
Juliusz Sosinowicz
da190b8177 Don't map back to affine in wc_ecc_mulmod. It is done in ecc_map later. 2020-08-10 12:33:18 +02:00
Sean Parkinson
3444b115ba Fix valgrind check to ignore bash leak 2020-08-10 14:02:50 +10:00
Sean Parkinson
0232239959 Ignore test-log-dump-to-file.txt
Sometimes left behind by unit.test
2020-08-10 12:46:53 +10:00
Sean Parkinson
7bb2a69161 Fix memory leak in api.c
When testing wc_ecc_import_raw(), the mp_int's in the ecc object are
initialized.
For small math, this throws away the allocated buffer.
Must free the object before importing.
2020-08-10 12:42:46 +10:00
Sean Parkinson
72d1352bd6 Fix ARM builds
Need to include options.h in assembly now.
bufPt declared in block but not outside.
poly1305_block and poly1305_blocks need prototype - declaration in
wolfcrypt/src/port/arm/armv8-poly1305.c (__arch64__ only).
2020-08-10 11:59:10 +10:00
Sean Parkinson
920c97963c Fix Jenikins failure - ToTraditional not declared
./configure --disable-asn --disable-ecc -disable-rsa --enable-psk
--enable-testcert
2020-08-10 10:57:07 +10:00
Sean Parkinson
19ade820b0 Merge pull request #3208 from dgarske/sp_nonblock
Fixes and improvements for SP ECC non-blocking
2020-08-10 09:59:23 +10:00
David Garske
b25eccb07e Merge pull request #3203 from tmael/libwebsockets
Enable HAVE_EX_DATA for libwebsockets
2020-08-08 14:34:18 -07:00
David Garske
62e78b7cf4 Fix state machine after script rebase. 2020-08-07 16:56:58 -07:00
David Garske
bc03b5793c Add state for ECC verify non-blocking and mont_inv_order to reduce maximum blocking time. 2020-08-07 16:48:16 -07:00
David Garske
f7fcef5f32 Fix for build error / typo for ECC 256-bit non-blocking only. 2020-08-07 16:47:08 -07:00
David Garske
c0a664a8e5 Merge pull request #3200 from douzzer/20200805
Add an error-checking wc_curve25519_make_pub() routine to the API for use by Wireguard
2020-08-07 16:32:52 -07:00
toddouska
1724347f7a Merge pull request #3091 from julek-wolfssl/sess-serialization
Expose session serialization outside of `OPENSSL_EXTRA`
2020-08-07 15:41:27 -07:00
toddouska
89e6f3bcd5 Merge pull request #3206 from SparkiDev/ed448_oob
ED448: Fix out of bounds read in import public
2020-08-07 15:36:11 -07:00
toddouska
17cc941b29 Merge pull request #3195 from SparkiDev/sp_ecc_cache
SP ECC Cache Resitance
2020-08-07 15:35:06 -07:00
JacobBarthelmeh
dd6238fb77 Merge pull request #3174 from embhorn/zd10655
Fix CheckAltNames to handle IP type
2020-08-07 16:04:56 -06:00
Daniel Pouzzner
0faff24a65 refactor wc_curve25519_make_key() to use wc_curve25519_make_pub() to complete the pair. also, add call to fe_init() in the non-NXP codepath of wc_curve25519_make_pub() (note fe_init() is currently a no-op). 2020-08-07 13:02:35 -05:00
Juliusz Sosinowicz
cbd9b3717f Map points to Montgomery form for arithmetic. 2020-08-07 18:18:30 +02:00
Juliusz Sosinowicz
ea6edb6913 Fix memory leak 2020-08-07 17:39:48 +02:00
Chris Conlon
b03e1dd2a9 Merge pull request #3197 from ethanlooney/19th_branch
Added asn.c unit tests
2020-08-07 09:25:50 -06:00
Eric Blankenhorn
064bfa583d Fix CheckAltNames to handle IP type 2020-08-07 10:12:56 -05:00
David Garske
9e1012b48a Merge pull request #3205 from SparkiDev/sp_fixes_3
SP ECC: initialize infinity in make key
2020-08-07 07:12:04 -07:00
Sean Parkinson
4c00af1136 ED448: Fix out of bounds read in import public
Fix formatting
2020-08-07 14:11:11 +10:00
Sean Parkinson
1ea3dc5f55 SP ECC: initialize infinity in make key 2020-08-07 12:15:31 +10:00
Daniel Pouzzner
f6acbd5f97 test_wc_curve25519_make_pub(): fix order of args to wc_curve25519_make_pub(). 2020-08-06 18:37:00 -05:00
Tesfa Mael
6379ca8e10 libwebsockets requires *CRYPTO_EX_DATA* APIs 2020-08-06 16:29:39 -07:00
Daniel Pouzzner
c325001d0d note argument endianness and return values in intro comment for wc_curve25519_make_pub(). 2020-08-06 18:07:39 -05:00
toddouska
82d927d40f Merge pull request #3199 from dgarske/openssl_sha
Fix for building openssl compat without SHA-1
2020-08-06 15:59:26 -07:00
Daniel Pouzzner
0f59e632e1 tests/api.c: add test_wc_curve25519_make_pub(); fix some old stray tabs; remove weird extra string-terminating null in test_wolfSSL_sk_CIPHER_description(). 2020-08-06 17:52:48 -05:00
Daniel Pouzzner
758665e347 Fix for TLS anonymous cipher and PKCS11 cast warnings. (author=dgarske) 2020-08-06 17:49:55 -05:00
Sean Parkinson
132adeac14 Merge pull request #3188 from julek-wolfssl/missing-cipherExtraData
Move `cipherExtraData` so that it is available when HAVE_SESSION_TICKET
2020-08-07 08:18:57 +10:00
Daniel Pouzzner
52a2222c79 curve25519.c: call the new API routine wc_curve25519_make_pub(), not wc_curve25519(), for clarity and consistency (hat tip to Jacob). 2020-08-06 14:48:29 -05:00
John Safranek
14ff41a88c ABI Update for Server
Added WOLFSSL_ABI tags to the functions wolfTLSv1_2_server(),
wolfTLSv1_3_server(), and wolfSSL_accept().
2020-08-06 11:17:25 -07:00
toddouska
e121139178 Merge pull request #3179 from ejohnstown/suitesz
Suite Size Check
2020-08-06 11:05:10 -07:00
toddouska
15be5476e9 Merge pull request #3185 from SparkiDev/fp_check_max
tfm: Check for overflow and return error (fixed max size)
2020-08-06 10:54:26 -07:00
toddouska
4e9d49556e Merge pull request #3194 from SparkiDev/unit_fix_1
Fix unit.test to not fail randomly
2020-08-06 10:51:12 -07:00
toddouska
462f4f9e45 Merge pull request #3196 from cconlon/cavpmarvell
Add fips-check.sh target for marvell-linux-selftest, selftest v2 support
2020-08-06 10:45:03 -07:00
Daniel Pouzzner
b2e7c09b71 ksdk_port.c: third time's the charm? (typo, s/curve25529_bCurveParam/curve25519_bCurveParam) 2020-08-06 12:02:01 -05:00
Daniel Pouzzner
7ae789dbb0 wolfcrypt/src/curve25519.c: fix typo in wc_curve25519() -- CURVE25519_KEYSIZE, not CURVE25519_KEY_SIZE; add static kCurve25519BasePoint at top level 2020-08-06 11:45:54 -05:00
Daniel Pouzzner
5cad0b10e5 fix typo in wolfcrypt/src/port/nxp/ksdk_port.c ("curve_bCurveParam" vs correct curve25529_bCurveParam) introduced in aadec345ab. 2020-08-06 11:35:04 -05:00
Ethan Looney
77bb300409 Removed unnecessary pointers, matched Xfree arugments and checked the return values of generated keys 2020-08-06 09:21:41 -07:00
Ethan Looney
afcb40724e Added proper ifdef's to EccPrivateKeyToDer 2020-08-06 08:06:06 -07:00
David Garske
435eabfb4b Fix build error with unused variables. Added compat function for X509_add_ext. 2020-08-06 07:51:04 -07:00
Juliusz Sosinowicz
25619119b4 Change implicit conversions to explicit conversions 2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
f1e2a3c8b9 Code review changes 2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
139a192185 Implement wolfSSL_d2i_X509_NAME 2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
ca3a608408 Implement functions
- `wolfSSL_d2i_ECPrivateKey`
- `wolfSSL_EC_POINT_add`
- `wolfSSL_EC_POINT_invert`
2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
2529ce21b0 Implement wolfSSL_EC_GROUP_dup 2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
ea8dd31de0 Implement wolfSSL_i2d_PUBKEY and refactor wolfSSL_i2d_PrivateKey 2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
1f0d6d5f31 New functions implemented
- `EC_POINT_is_on_curve`
- `i2d_EC_PUBKEY`
- `i2d_ECPrivateKey`
- `wc_ecc_point_is_on_curve`
2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
88b9bf3fba Fix memory leak with EncryptDerKey 2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
e131d6be5b group->curve_nid is now set to the real NID of the curve 2020-08-06 15:52:11 +02:00
Juliusz Sosinowicz
471a9bd9fd Handle 2+ dtls APP data records in one udp packet
Just return one message at a time if processing application data
2020-08-06 14:03:38 +02:00
Juliusz Sosinowicz
c28b7b59c3 Fix jenkins leaks 2020-08-06 13:47:26 +02:00
Juliusz Sosinowicz
ad2e710563 Fix missing free 2020-08-06 13:47:26 +02:00
Juliusz Sosinowicz
a6651a21f8 Fix segfault 2020-08-06 13:47:26 +02:00
Juliusz Sosinowicz
229c5e9563 wolfSSL_X509V3_EXT_i2d cont. 2020-08-06 13:47:26 +02:00
Juliusz Sosinowicz
dfee8d0346 wolfSSL_X509V3_EXT_i2d now copies structs instead of trying to convert to DER format 2020-08-06 13:47:26 +02:00
Juliusz Sosinowicz
fe1f815761 wolfSSL_X509V3_EXT_i2d: NID_ext_key_usage 2020-08-06 13:45:36 +02:00
Juliusz Sosinowicz
e89015b58a WIP: wolfSSL_X509V3_EXT_i2d 2020-08-06 13:45:36 +02:00
Juliusz Sosinowicz
3621af9996 Implement new OpenSSL API
- i2d_PKCS8PrivateKey_bio
- X509V3_EXT_i2d
- SSL_renegotiate_pending
2020-08-06 13:45:36 +02:00
Juliusz Sosinowicz
42c8f8f9b5 Check for WOLFSSL_AEAD_ONLY in wolfSSL_dtls_import_internal 2020-08-06 13:44:09 +02:00
Daniel Pouzzner
18178e056d add missing const qualifiers to arch variants of curve25519(), and to nxp_ltc_curve25519(). 2020-08-05 21:12:50 -05:00
David Garske
4a167c0f2c Merge pull request #3119 from tmael/do178-fix
DO-178 fix
2020-08-05 16:30:00 -07:00
Sean Parkinson
8afd629a30 Fix unit.test to not fail randomly
Get the serial number from the certificate to calculate the encoding size.
Fix making of the certificate to copy serial number out if not already set.
2020-08-06 08:52:21 +10:00
Ethan Looney
9671901de6 Added a free call to SetSubjectBuffer 2020-08-05 15:52:09 -07:00
Sean Parkinson
83caf39caa SP ECC Cache Resitance
SP ECC improved cache attack resistant implementation.
On by defualt and turn off with WC_NO_CACHE_RESISTANT.
2020-08-06 08:21:08 +10:00
Chris Conlon
e5e87db6aa add HAVE_EX_DATA, OPENSSL_ALL, HAVE_ALPN to enable-jni configure option 2020-08-05 15:43:26 -06:00
David Garske
c421445ba9 Added no SHA-1 hash support for OPENSSL compatibility. Fix for ./configure --enable-opensslextra --disable-sha. This allows using SHA2-256 for the hashing including the derived issuerHash and subjectHash. Adds issuer hash openssl compatibility function X509_issuer_name_hash. 2020-08-05 14:43:24 -07:00
Daniel Pouzzner
ffa2cdd2d1 add public function wc_curve25519() "compute the public key from an existing private key, using bare vectors."; rename existing _LOCAL functions wc_curve25519_GetBasePoint() and wc_curve25519() to nxp_ltc_curve25519_GetBasePoint() and nxp_ltc_curve25519() respectively; add const qualifiers opportunistically to existing _LOCAL function curve25519() 2020-08-05 16:28:17 -05:00
Ethan Looney
49e5d8efea Added additional ifdef's to Ed25519 functions and cast derSz to word32 2020-08-05 12:31:50 -07:00
Ethan Looney
633e950942 Added asn.c unit tests 2020-08-05 10:57:32 -07:00
Chris Conlon
d12b80abdf Merge pull request #3192 from ethanlooney/21st_branch
Added check for wolfmath.c for digits == 0 and test for api.c
2020-08-05 09:51:51 -06:00
JacobBarthelmeh
1034139214 Merge pull request #3081 from kaleb-himes/GH2998_REWORK_FOLLOWUP
Cleanup of example client/server buffer sizes
2020-08-05 09:31:30 -06:00
Sean Parkinson
6c4bcb3b59 tfm: Check for overflow and return error (fixed max size) 2020-08-05 10:42:32 +10:00
Tesfa Mael
5d7649c959 Review comment in sp_int file 2020-08-04 15:37:20 -07:00
Daniel Pouzzner
def3192073 Merge pull request #3189 from SparkiDev/ed448_pkcb_fix
Fix calls to Ed448 sign and verify in test.h
2020-08-04 17:23:45 -05:00
toddouska
0bdaa2d572 Merge pull request #3169 from dgarske/stmcube
STM Cube fixes and documentation improvements
2020-08-04 15:08:04 -07:00
Ethan Looney
42856287ee Added check for wolfmath.c for digits == 0 and test for api.c 2020-08-04 13:25:10 -07:00
toddouska
8d00b015c1 Merge pull request #3182 from dgarske/configall_noold
Fix to NOT enable SSLV3 and TLS v1.0 with `--enable-all`
2020-08-04 12:25:59 -07:00
Chris Conlon
5641e2ae50 Merge pull request #3173 from ethanlooney/18th_branch
Added unit tests for wolfmath.c
2020-08-04 09:10:21 -06:00
Sean Parkinson
c6f83645fe Fix calls to Ed448 sign and verify in test.h 2020-08-04 09:56:14 +10:00
toddouska
0df2da47ff Merge pull request #3180 from embhorn/zd10697
Fix OOB in fp_read_radix_16
2020-08-03 16:44:01 -07:00
toddouska
a536e8acd6 Merge pull request #3187 from SparkiDev/config_fix_1
Fixes for different configurations
2020-08-03 16:41:50 -07:00
toddouska
48be407852 Merge pull request #3186 from SparkiDev/rsa_pss_oob
RSA PSS check input length is hash length
2020-08-03 16:41:15 -07:00
toddouska
87f5dac3c4 Merge pull request #3170 from kaleb-himes/FIPS_USER_SETTINGS
Remove fixed len constraint in FIPS mode
2020-08-03 16:35:26 -07:00
toddouska
bfb4b2079b Merge pull request #3163 from dgarske/nrf52
Fixes for building against latest nRF52 SDK
2020-08-03 16:33:49 -07:00
toddouska
3e84f1c53f Merge pull request #2882 from dgarske/example_configs
Added area for template user_settings files in `examples/config`
2020-08-03 16:32:57 -07:00
Ethan Looney
7f381275b1 Removed comment and changed len equal to variables instead of numbers 2020-08-03 13:31:11 -07:00
Juliusz Sosinowicz
6c92116124 Move cipherExtraData so that it is available when HAVE_SESSION_TICKET 2020-08-03 15:32:49 +02:00
Sean Parkinson
d0969ea1ce Fixes for different configurations
Fix SkipInt() to work with DSA.
Fix protection around SetBitString16Bit() - when WOLFSSL_CERT_GEN and
WOLFSSL_CERT_EXT defined is only use.
WOLFSSL_RSA_VERIFY_ONLY and PSS means testing of PSS won't work.
Fix g++ build around ASN1_SEQUENCE - const variable required to be
initialized.
2020-08-03 14:55:09 +10:00
Sean Parkinson
3ffa4350e8 RSA PSS check input length is hash length
Input is the hash of the message and the hash type is the hash used to
generate the hash/input.
2020-08-03 12:17:03 +10:00
David Garske
4f91d60d22 Fixes for build issues without OPENSSL_EXTRA defined. 2020-07-31 15:25:58 -07:00
David Garske
776b1a2d17 Fix for ED25519 with user_settings.h. Fixes for build warnings. Fix spelling error. Added template for wolfBoot key/sign tools. 2020-07-31 15:17:53 -07:00
David Garske
197c21a508 Fix for --enable-all (also used by --enable-distro) to NOT enable SSLV3 and TLS v1.0. 2020-07-31 13:54:08 -07:00
Eric Blankenhorn
d21d95c629 Fix OOB in fp_read_radix_16 2020-07-31 15:19:40 -05:00
David Garske
3531b581b5 Added return code check wolfSSL_CryptHwMutexInit 2020-07-31 12:01:09 -07:00
David Garske
904241cba4 Fix to only init the RNG once for nRF51/nRF52x. 2020-07-31 11:56:32 -07:00
John Safranek
fd4f8fe7a0 Suite Size Check
1. Check that the cipher suite size is even when doing the Client
   Hello message.
2. Check that the cipher suite size is a multiple of three when doing
   the Old Client Hello message.
3. Check that the hash/signature algorithm list size is even when
   processing the extensions.
2020-07-31 11:44:24 -07:00
toddouska
ff08a01f94 Merge pull request #3171 from SparkiDev/tls13_fin_fix
TLS 1.3: Client requires cert_vfy before finished when not PSK
2020-07-31 11:28:24 -07:00
toddouska
e7fe460fac Merge pull request #2746 from dgarske/cmake
Adds CMake support to wolfSSL
2020-07-31 11:14:59 -07:00
David Garske
71cc5381ad Added new examples/config area with template user_settings.h files and instructions for using. 2020-07-31 11:01:58 -07:00
Ethan Looney
b627610cde Added bad test cases for get_digit and corrected comment formatting 2020-07-31 09:44:10 -07:00
David Garske
db20fb6ca1 Fixes for using CMake with Visual Studio. Improvements to documentation for portability. 2020-07-30 16:44:36 -07:00
David Garske
c30ffad622 Fix for STM PKA ECC parameters. Improvements to the STM AES GCM code. Cleanup of hardware mutex code. 2020-07-30 16:00:19 -07:00
David Garske
48e1dfc910 Remove the STM Cube .ioc files. These examples have been moved to the wolf Cube pack (https://www.wolfssl.com/files/ide/I-CUBE-WOLFSSL-WOLFSSL.pack) 2020-07-30 14:45:52 -07:00
Ethan Looney
c52930bb8a Added freerng to 'test_mp_rand' 2020-07-30 09:37:05 -07:00
Tesfa Mael
d03971e233 Add comment to clarify errno in test 2020-07-30 09:18:45 -07:00
Tesfa Mael
493510e2ea Review comments 2020-07-30 09:18:45 -07:00
Tesfa Mael
4cc7f9e4a9 Check correct returned value 2020-07-30 09:18:45 -07:00
Tesfa Mael
cebb283822 DO-178 changes 2020-07-30 09:18:45 -07:00
Ethan Looney
3381eb2094 Added tests for Sha512.c 2020-07-30 09:18:45 -07:00
Kaleb Himes
d96f86fcd9 Merge branch 'master' into GH2998_REWORK_FOLLOWUP 2020-07-30 09:47:48 -06:00
Chris Conlon
1168bdd05b Merge pull request #3165 from ethanlooney/17th_branch
Added unit tests for wc_port.c
2020-07-30 09:08:28 -06:00
Sean Parkinson
4c0105ed9d Merge pull request #3175 from ejohnstown/dtls-speed-redux
DTLS Test Speed Fix Redux
2020-07-30 22:17:40 +10:00
David Garske
a38f7a4fca Added STM32F1 Cube HAL support (we had StdPeriLib, not Cube). 2020-07-29 17:22:41 -07:00
John Safranek
397d1ab19c DTLS Test Speed Fix Redux
1. Fix the check for XSLEEP_US in the client.
2. Added XSLEEP_MS to mirror XSLEEP_US, in terms of XSELECT().
2020-07-29 16:51:08 -07:00
toddouska
64f6dc08f7 Merge pull request #3164 from SparkiDev/tls13_ocsp2
TLS 1.3 server MUST NOT use OCSP Status V2
2020-07-29 16:23:24 -07:00
David Garske
46ef82e2fd For for STM32 with TLS v1.3 and AES-GCM. The IV was not being reset after using hardware causing the aes->reg to be incorrect. 2020-07-29 15:39:49 -07:00
David Garske
e4650a9151 Fixes for STM32 Crypto hardware acceleration locking to work with multiple threads. Fix for api.c missing devId in new RNG test. Added STM32F207 to configuration template. 2020-07-29 14:55:35 -07:00
Ethan Looney
b4cd0886bb Changed test returns for 'get_digit' to remove implicit conversion errors 2020-07-29 14:23:03 -07:00
Chris Conlon
7861a22d28 add marvell-linux-selftest target to fips-check.sh 2020-07-29 15:10:47 -06:00
Chris Conlon
c6b4fa3be3 add selftest version for newer 4.1.0 validation 2020-07-29 15:10:47 -06:00
David Garske
dafc2bf8d4 Added redirect note for OpenSTM32 to STM32Cube example. PR #3031. Updates to README.md from ST. 2020-07-29 12:04:14 -07:00
Ethan Looney
7c59c74e07 Added unit tests for wolfmath.c 2020-07-29 10:34:15 -07:00
Ethan Looney
b524926837 Deleted unneeded xfopen and xfclose 2020-07-29 09:31:37 -07:00
Kaleb Himes
80678d96b6 Change to inline comment 2020-07-29 10:10:33 -06:00
Chris Conlon
af92c531bf Merge pull request #3168 from ethanlooney/16th_branch
Added semicolons to two functions to fix doxygen issues and deleted ssl param and replaced it with ctx param
2020-07-29 09:31:14 -06:00
Sean Parkinson
f59a1fa295 TLS 1.3: Client requires cert_vfy before finished when not PSK 2020-07-29 10:21:34 +10:00
toddouska
e618257f21 Merge pull request #3167 from dgarske/test_fixups
Fixes for `mutex_test` and API unit test `derSz`
2020-07-28 16:45:58 -07:00
David Garske
4cbf3c3dcd Fixes for the STM Cube TLS in-memory example for CMSIS RTOS v2. 2020-07-28 15:52:02 -07:00
Chris Conlon
70aa11f0a9 Merge pull request #3153 from ethanlooney/15th_branch
Added unit tests for Logging.c
2020-07-28 16:35:31 -06:00
Kaleb Himes
567f1b8be4 Add to settings.h w a warning directive 2020-07-28 15:52:36 -06:00
David Garske
1ed66f11a9 Fixes for STM32L5 benchmarks. 2020-07-28 13:56:23 -07:00
kaleb-himes
ffdc2eddf6 Remove fixed len constraint in FIPS mode 2020-07-28 13:34:52 -06:00
David Garske
223f848dae Expanded documentation for using the wolfSSL Cube pack. Added STM32 benchmarks for several boards. 2020-07-28 12:08:12 -07:00
David Garske
9160a126e4 Fixes for running wolfCrypt test/benchmark with SECP256R1 disabled. Improved detection of ECC key generation size. 2020-07-28 11:43:48 -07:00
toddouska
ff12da30df Merge pull request #2713 from akmcomau/16bit
Updates for 16bit processors / Disable ATECC transport key
2020-07-28 09:27:27 -07:00
Ethan Looney
5af4872bab Changed lock type to 0 2020-07-28 09:16:43 -07:00
Ethan Looney
0448004535 Added semicolons to two functions to fix doxygen issues and deleted ssl param and replaced it with ctx param 2020-07-28 08:39:23 -07:00
David Garske
25fcd082d7 Improve the mutex_test test with pthreads. Fixes #3109 2020-07-28 08:19:32 -07:00
David Garske
8440973d99 Fix for derSz calculation on non-const value keySz. ZD 10654 2020-07-28 08:18:42 -07:00
toddouska
c67aeba806 Merge pull request #3156 from dgarske/armasm
Fixes for building with `WOLFSSL_ARMASM` when `user_settings.h` is used
2020-07-27 16:45:25 -07:00
toddouska
f46e08e9ea Merge pull request #3158 from kaleb-himes/ZD10580_R2
Address buffer underflow, thanks to J.S. for the report on ZD10580
2020-07-27 16:42:42 -07:00
toddouska
5ef7ff6054 Merge pull request #3149 from SparkiDev/tls13_no_cli_cert_err
TLS 1.3: Client with no certificate an error with define
2020-07-27 16:40:07 -07:00
David Garske
13eab0aeab Also check for NRF52_SERIES, since NRF52 is only for NRF52832_XXAA. 2020-07-27 15:26:55 -07:00
David Garske
99f72faedb Fix for nRF5x AES GCM so key is set. Fixes GMAC test. Don't force enable wolf memory and no ASN time for WOLFSSL_NRF5x. 2020-07-27 14:30:41 -07:00
David Garske
8b25b48621 Improvements to CMake support based on feedback from users. 2020-07-27 12:13:08 -07:00
David Garske
b273ba771e Add new file to automake. 2020-07-27 11:04:37 -07:00
David Garske
9a281e5e3a Adds CMake support to wolfSSL:
* Build wolfSSL as a library and builds all examples / tests.
* Added instructions in the INSTALL file.
* Fix for evp.c when being included directly due to improperly placed `WOLFSSL_EVP_INCLUDED`.
2020-07-27 11:04:37 -07:00
Ethan Looney
e7429c8504 Added unit tests for wc_port.c 2020-07-27 09:32:25 -07:00
Chris Conlon
6b3b37604f Merge pull request #3159 from ethanlooney/16th_branch
Added doxygen comments and changed footer date to 2020
2020-07-27 09:24:59 -06:00
Chris Conlon
b0ed250f09 Merge pull request #3162 from ethanlooney/18th_branch
Changed ifndef(NO_SHA224) to ifdef(WOLFSSL_SHA224)
2020-07-27 09:21:28 -06:00
Sean Parkinson
76a35f2a77 TLS 1.3: Client with no certificate an error with define
WOLFSSL_NO_CLIENT_CERT_ERROR
2020-07-27 09:54:51 +10:00
Sean Parkinson
b775058f49 TLS 1.3 server MUST NOT use OCSP Status V2
Parses the extension but does not use the information.
TLSX code change to ensure that the OCSP Status V2 extension is not
written out in EncryptedExtension, CertificateRequest nor Certificate
messages.
2020-07-27 09:32:14 +10:00
Sean Parkinson
7883156f49 Merge pull request #3160 from dgarske/ecc_nb_noctx
Fix for ECC non-blocking only to allow calling without context set
2020-07-27 08:53:42 +10:00
David Garske
8417e0b725 Fixes for building against latest nRF52 SDK. Allow nRF5x AES GCM to be enabled (uses software, but ECB is accelerated). Fix in wolfCrypt test for building AES GSM only with NO_AES_DECRYPT. 2020-07-24 15:46:17 -07:00
Ethan Looney
b734b13120 Changed ifndef(NO_SHA224) to ifdef(WOLFSSL_SHA224) due to 'NO_SHA224' not existing 2020-07-24 14:24:50 -07:00
Ethan Looney
7b357cff39 Changed param's, examples and brief's 2020-07-24 12:54:29 -07:00
toddouska
e84defb268 Merge pull request #3044 from dgarske/sniffer_tls13
TLS v1.3 sniffer support
2020-07-24 11:46:38 -07:00
Ethan Looney
6088a7bd79 Added if defined debug check to only print to file if debug is enabled 2020-07-24 10:03:49 -07:00
David Garske
6324aec179 Fix for ./configure --enable-sp=yes,nonblock --enable-sp-math CFLAGS="-DWC_ECC_NONBLOCK_ONLY". 2020-07-24 09:30:45 -07:00
David Garske
38cef2b3c9 Merge pull request #3151 from ejohnstown/dtls-size
DTLS Size Fix
2020-07-24 08:19:50 -07:00
toddouska
8789ebb02e Merge pull request #3152 from ejohnstown/dtls-test-speedup
DTLS Test Speedup
2020-07-23 16:53:39 -07:00
David Garske
1559d66261 Fix for WC_ECC_NONBLOCK_ONLY case to also check WC_ECC_NONBLOCK. 2020-07-23 15:41:09 -07:00
John Safranek
fd1a1bd0f7 Add some missing frees to the example client when using in the return-not-exit mode for tests. 2020-07-23 14:32:48 -07:00
David Garske
20ef2daa9f Fix for ECC non-blocking to allow calling without context set and block when WC_ECC_NONBLOCK_ONLY is defined. In FIPS mode we need "blocking". 2020-07-23 14:31:41 -07:00
Ethan Looney
6bc4bfd7f2 Added doxygen comments to include all missing ABI functions and changed footer date from 2017 to 2020 2020-07-23 13:25:18 -07:00
JacobBarthelmeh
81475fac96 Merge pull request #3154 from embhorn/zd10651
Fix build error with X509_SMALL config
2020-07-23 13:34:29 -06:00
John Safranek
839044d9e1 1. Remove dead assignment from client test.
2. Fix memory leak in example server test.
3. Use verify callback on certificates to allow callback to fail
   them.
4. Restore the forced failure test cases.
5. Make the verify action thread local.
2020-07-23 12:26:49 -07:00
JacobBarthelmeh
303d0dfedb Merge pull request #3157 from embhorn/zd10631
Fix build issue with OPENSSL_EXTRA_X509_SMALL
2020-07-23 13:18:28 -06:00
kaleb-himes
3c5c0f88d4 Address buffer underflow, thanks to J.S. for the report on ZD10580 2020-07-23 12:20:41 -06:00
Ethan Looney
563806c497 Changed the log dump txt file's directory to include /tests and added it to make clean 2020-07-23 10:12:40 -07:00
Martin Akman
1f8d4149a5 Merge in master 2020-07-23 21:39:18 +10:00
Martin Akman
d02e52e07b More updates from code review 2020-07-23 21:28:51 +10:00
Sean Parkinson
568fc8f5bd Fixes for compiling for ARM64 iOS
Fix bug in ChaCha20 assembly code (was writing one byte too many).
Fix the assembly code to have APPLE format.
Change Poly1305 inline assembly as requested by compiler.
Initialize variables that will be set anyway - compiler complaint.
Change to use the assembly code files for Curve25519 and SHA-512.
Ed25519 not suported with ARM assembly.
2020-07-23 18:08:37 +10:00
toddouska
e198f6e73b Merge pull request #3141 from SparkiDev/tls_cert_alert
Send more detail alerts for bad certificates
2020-07-22 16:46:14 -07:00
toddouska
ab7535c3f6 Merge pull request #3135 from SparkiDev/fp_set_bit
fp_set_bit: return error when bit offset is too large
2020-07-22 16:40:17 -07:00
toddouska
d75e6d4f55 Merge pull request #3131 from JacobBarthelmeh/Testing
add sanity check on padSz
2020-07-22 16:39:27 -07:00
toddouska
ea21d56463 Merge pull request #3127 from SparkiDev/mp_sub_d
mp_sub_d (integer.c): return error when digit is too big
2020-07-22 16:38:37 -07:00
Ethan Looney
f7e4c1c8ad Added SetLoggingCb check 2020-07-22 15:44:13 -07:00
Eric Blankenhorn
9b421ce497 Fix for config failure 2020-07-22 17:22:46 -05:00
Chris Conlon
5f2de9e176 Merge pull request #3130 from TakayukiMatsuo/master
Add support for "X72N Envision Kit" evaluation board
2020-07-22 16:22:14 -06:00
John Safranek
98ae3a2352 Added a suite test use case to cover the new error check. Also fixed and issue with passing a couple flags to the test case runner, and some other changes to support the new test. 2020-07-22 13:20:23 -07:00
David Garske
fe08f23a50 Improved test sleep. Cleanup sleep calls. 2020-07-22 13:08:57 -07:00
David Garske
3a2be13043 Remove execute bit on file. 2020-07-22 12:52:53 -07:00
David Garske
c5371a2dbd Fix for kResumeMsg unused if NO_SESSION_CACHE defined. 2020-07-22 12:15:14 -07:00
Eric Blankenhorn
39271e9234 Fix build issue with OPENSSL_EXTRA_X509_SMALL 2020-07-22 14:08:57 -05:00
David Garske
1af38c5c55 Fixes for building with WOLFSSL_ARMASM when user_settings.h is used. 2020-07-22 10:47:35 -07:00
Ethan Looney
5e515c12fb Removed unneeded comment 2020-07-22 08:28:43 -07:00
John Safranek
c8e9d058f0 DTLS Test Speedup
Change the example client to use select instead of sleep.
If building for the standalone client, it will wait 1 second.
If built for no main driver, it'll wait 10ms rather than 1 second.
2020-07-21 18:40:18 -07:00
David Garske
11b0d963d3 Fix for example client to send HTTP GET on resume with "-g". Fixes issue with ./scripts/openssl.test. 2020-07-21 15:42:33 -07:00
Sean Parkinson
056ee0987c Merge pull request #3146 from dgarske/sp_nonblock
ECC non-blocking support
2020-07-22 08:36:21 +10:00
Ethan Looney
953e7cf181 Changed sz type from int to long 2020-07-21 15:28:17 -07:00
Eric Blankenhorn
89913076f1 Fix build error with X509_SMALL config 2020-07-21 16:36:30 -05:00
David Garske
639f73fe1f Fix for client writes to not include the null term. 2020-07-21 13:42:01 -07:00
David Garske
4e637ddf10 Cleanup on example client/server messages and sizes. Original PR #3023 caused sending extra null characters in normal (non HTTP) example cases. 2020-07-21 13:34:25 -07:00
David Garske
8ead28f2f4 Merge pull request #3150 from ejohnstown/sctp-test
SCTP Test
2020-07-21 12:46:13 -07:00
Ethan Looney
b500a54fc5 Added new file to read in and dump error message and added cleanup within cleanup script 2020-07-21 12:30:43 -07:00
Ethan Looney
e8034619ba Add more if defined to ERR_print_errors_fp 2020-07-21 12:30:43 -07:00
David Garske
9268ae1397 Fix line length issues. Add debug msg in test to show number of non-blocking iterations.
```
$ ./configure --enable-ecc=nonblock --enable-sp=yes,nonblock CFLAGS="-DWOLFSSL_PUBLIC_MP" --enable-debug && make
$ ./wolfcrypt/test/testwolfcrypt
...
ECC non-block sign: 18063 times
ECC non-block verify: 35759 times
ECC      test passed!
```
2020-07-21 10:41:25 -07:00
Sean Parkinson
c45e192581 Send more detail alerts for bad certificates 2020-07-22 00:07:23 +10:00
TakayukiMatsuo
c204eb0fb1 commented out NO_ASM_TIME macro to enable certificate validation 2020-07-21 16:09:16 +09:00
John Safranek
5d5aa129ca When attempting to send a message with DTLS, if it is too large, return an error rather than splitting it across records. (ZD 10602) 2020-07-20 16:14:53 -07:00
John Safranek
10c293a76c SCTP Test
1. Removed test cases for DTLSv1.0 that used AEAD ciphers.
2. Cleaned up some typos in the test configs.
3. Fixed typo in a WOLFSSL_SCTP ifdef check.
2020-07-20 15:03:48 -07:00
toddouska
61d81dd878 Merge pull request #3123 from SparkiDev/mp_rshb
rshb check range of n
2020-07-20 13:08:45 -07:00
David Garske
29abd72c39 Merge pull request #3024 from kaleb-himes/ZD10411
Update arduino script to reflect includes of inline files
2020-07-20 11:29:49 -07:00
David Garske
e6017de19d Fix in snifftest to try loading private key into static ephemeral and private key. Updated pcap files (were missing TCP packets). 2020-07-20 11:10:46 -07:00
Chris Conlon
ddb2923c19 Merge pull request #3133 from ethanlooney/13th_branch
Added unit tests for Hash.c - Fixed hash formatting errors
2020-07-20 10:03:28 -06:00
Chris Conlon
86745dd7fc Merge pull request #3134 from ethanlooney/14th_branch
Added unit tests for Random.c
2020-07-20 10:02:22 -06:00
Sean Parkinson
52d363390a rshb check range of n 2020-07-20 11:12:35 +10:00
Sean Parkinson
a8f121b5f8 Merge pull request #3144 from JacobBarthelmeh/examples
increase example client key share group array size
2020-07-20 08:38:20 +10:00
David Garske
23a3ead758 Framework for new TLS v1.3 sniffer tests. 2020-07-17 15:56:56 -07:00
David Garske
9409d8682f Fix for building without session-ticket. 2020-07-17 15:22:35 -07:00
David Garske
e15e0828bf Cleanup of the SHOW_SECRET debugging. Use only latest wolf API's (not older Cyassl names). 2020-07-17 15:22:35 -07:00
David Garske
3be390d50d Added TLS v1.3 session resumption support. TLS v1.3 uses session tickets and a resumption secret is derived after the "finished" message. This uses the internal static wolf session cache to retain the resumption secret between sniffer sessions. 2020-07-17 15:22:35 -07:00
David Garske
1b051d9c5b TLS v1.3 sniffer support:
* Added TLS v1.3 sniffer support using static ephemeral key.
* Add support for using a static ephemeral DH and ECC keys with TLS v1.3 using `WOLFSSL_STATIC_EPHEMERAL`.
* Adds new API's `wolfSSL_CTX_set_ephemeral_key` and `wolfSSL_set_ephemeral_key`.
* Expanded TLS extension support in sniffer.
* Refactor of the handshake hashing code.
* Added parameter checking to the TLS v1.3 key derivations (protects use of "DoTls13Finished" if handshake resources have been free'd).
* Added support for loading DH keys via `wc_DhImportKeyPair` and `wc_DhExportKeyPair`, enabled with `WOLFSSL_DH_EXTRA`.
* Added sniffer documentation `sslSniffer/README.md`.
2020-07-17 15:22:35 -07:00
David Garske
80f5fe1494 Added documentation for wc_ecc_set_nonblock. 2020-07-17 15:20:23 -07:00
David Garske
90ee12f51a Added test case for ECC non-blocking. ./configure --enable-ecc=nonblock --enable-sp=yes,nonblock CFLAGS="-DWOLFSSL_PUBLIC_MP" && make. 2020-07-17 15:13:50 -07:00
David Garske
547144bc9c Adds ECC non-blocking sign/verify support when used with SP math. New --enable-sp=nonblock and --enable-ecc=nonblock options. Example ./configure --enable-ecc=nonblock --enable-sp=yes,nonblock. 2020-07-17 15:13:50 -07:00
David Garske
080ccd9820 Merge pull request #3145 from JacobBarthelmeh/Compatibility-Layer
sanity check on return value for wolfSSL_X509_NAME_ENTRY_get_object
2020-07-17 15:05:25 -07:00
Ethan Looney
ef71099225 Removed duplicate semicolon and deleted unneeded initrng 2020-07-17 10:34:38 -07:00
JacobBarthelmeh
01a01c373f sanity check on return value for wolfSSL_X509_NAME_ENTRY_get_object 2020-07-17 11:03:12 -06:00
Jacob Barthelmeh
e55ca1a8cf increase example client key share group array size 2020-07-17 10:26:34 -06:00
Ethan Looney
93c6e99aef Added a ret check 2020-07-17 08:45:39 -07:00
David Garske
4ff6b6a908 Merge pull request #3142 from SparkiDev/sp_int_small
Fix SP math for small builds. Fixes #3139
2020-07-17 08:33:05 -07:00
Sean Parkinson
0336fdb98d Fix SP math for small builds 2020-07-17 12:00:14 +10:00
TakayukiMatsuo
cd025d4e03 Added RX72NEnvisionkit/include.am 2020-07-17 09:30:40 +09:00
Ethan Looney
96e59118fc Changed the if defined order and to include fips and selftest 2020-07-16 15:50:03 -07:00
Ethan Looney
2275b89654 Removed unnecessary comments and added HashInit's and checked that they returned errors when they should 2020-07-16 12:38:55 -07:00
toddouska
50f228af0a Merge pull request #3125 from SparkiDev/mp_leading_bit
Change mp_leading_bit (integer.c) to not to require a copy
2020-07-16 11:05:09 -07:00
toddouska
859a1eebe4 Merge pull request #3124 from SparkiDev/sp_add_d
Fix sp_add_d
2020-07-16 10:56:28 -07:00
toddouska
9137794cb4 Merge pull request #3105 from embhorn/zd10457_a
Adding wolfSSL_X509_check_ip_asc
2020-07-16 10:53:27 -07:00
Sean Parkinson
eb7a01342f fp_set_bit: return error when bit offset is too large
If the bit to set is beyond the predefined maximum size then return an
error.
Same for fp_is_bit_set().
2020-07-16 12:34:31 +10:00
Eric Blankenhorn
f2b279e834 Update from review 2020-07-15 20:57:04 -05:00
toddouska
fbe0c8cba7 Merge pull request #3122 from JacobBarthelmeh/Compatibility-Layer
fix X509 multiple OU's and refactor
2020-07-15 15:06:22 -07:00
toddouska
925e9d9213 Merge pull request #3075 from julek-wolfssl/dtls-no-cookie
DTLS session resumption fixes
2020-07-15 14:07:34 -07:00
toddouska
edf88c3da1 Merge pull request #3073 from SparkiDev/tls13_dox
Update TLS 1.3 function Doxygen documentation
2020-07-15 13:58:07 -07:00
Ethan Looney
d54a51cd20 Added if not defined wc_no_rng 2020-07-15 13:56:12 -07:00
Ethan Looney
7a642e2b78 Added unit tests for Random.c 2020-07-15 12:55:19 -07:00
Ethan Looney
6be76e84ec Fixed formatting for Shake256Hash 2020-07-15 12:52:17 -07:00
Ethan Looney
9a07df9631 Changed hash size to 144 for Shake256Hash 2020-07-15 12:52:17 -07:00
Ethan Looney
379212acec Initialized variable data 2020-07-15 12:52:17 -07:00
Ethan Looney
aaa6e892da Added unit tests for hash.c 2020-07-15 12:52:17 -07:00
Eric Blankenhorn
525a3cb9c3 Move API out of OPENSSL_EXTRA 2020-07-15 10:48:11 -05:00
Eric Blankenhorn
d1a82589f9 Adding wolfSSL_X509_check_ip_asc 2020-07-15 10:48:11 -05:00
David Garske
12478a4534 Merge pull request #3128 from tmael/fips_ossl
Correct string truncation of XSTRNCAT
2020-07-14 17:17:27 -07:00
Sean Parkinson
e754076c37 Change mp_leading_bit (integer.c) to not to require a copy 2020-07-15 09:20:15 +10:00
Sean Parkinson
ddad95d52c mp_sub_d (integer.c): return error when digit is too big
Code can't handle subtracting a number (an mp_digit) larger than
DIGIT_BIT. Now returns an error rather than giving wrong result.
2020-07-15 09:18:35 +10:00
Sean Parkinson
51e49dbfac Fix sp_add_d 2020-07-15 09:15:04 +10:00
Jacob Barthelmeh
a8736dd89d set heap hint for name malloc 2020-07-14 14:23:49 -06:00
toddouska
1caa6f860b Merge pull request #3088 from kaleb-himes/ZD10539
Change Hash union to wc_Hmac_Hash
2020-07-14 11:23:30 -07:00
toddouska
2dcf4c1696 Merge pull request #3087 from SparkiDev/sp_math_mod
Fix div implementation in SP int
2020-07-14 11:19:15 -07:00
Jacob Barthelmeh
173b9833fc fixes for edge build cases and static memory 2020-07-14 09:07:23 -06:00
TakayukiMatsuo
20682ef0aa Add support for RX72N Envision Kit 2020-07-14 11:33:19 +09:00
Tesfa Mael
aee208f1b1 Correct build 2020-07-13 17:29:12 -07:00
Chris Conlon
4938baa892 Merge pull request #3121 from ethanlooney/12th_branch
Added unit tests for Sha3.c
2020-07-13 17:29:45 -06:00
Jacob Barthelmeh
85437e4097 add sanity check on padSz 2020-07-13 17:17:57 -06:00
Jacob Barthelmeh
63c8f7d1b1 x509 small build and memory free 2020-07-13 15:51:27 -06:00
Chris Conlon
a77085960e Merge pull request #3103 from TakayukiMatsuo/master
Supprted TSIP v1.09 for target board GR-ROSE
2020-07-13 14:35:07 -06:00
Ethan Looney
c5b8181005 Added a free call for shake256_copy 2020-07-13 09:58:00 -07:00
Chris Conlon
cbfda8e596 Merge pull request #3111 from ethanlooney/tenth_branch
Changed EXTRACT_ALL from NO to YES in order to document every function using Doxygen
2020-07-13 10:05:54 -06:00
Jacob Barthelmeh
d880d59974 fix for init of renegotiation and fix for compiler warnings 2020-07-13 00:31:40 -06:00
Jacob Barthelmeh
eec5f4a109 set initial NID value and account for null character on string 2020-07-12 19:54:50 -06:00
TakayukiMatsuo
af1b532758 Applied review comments to the code 2020-07-11 17:17:33 +09:00
Chris Conlon
ed9648770d Merge pull request #3120 from ethanlooney/11th_branch
Added unit tests for Sha512.c
2020-07-10 17:12:23 -06:00
Jacob Barthelmeh
2aaeb2a2df fix X509 multiple OU's and refactor 2020-07-10 17:12:20 -06:00
Ethan Looney
84aa7d746a Added unit tests for Sha3 2020-07-10 15:43:08 -07:00
toddouska
a90d6b2a5e Merge pull request #3039 from tmael/cov-fix2
Coverity fix in wolfSSL 4.4.0 - part 2
2020-07-10 13:06:22 -07:00
toddouska
b8078ab789 Merge pull request #3092 from dgarske/sniffer_loadbuf
Added sniffer API's to load buffer directly
2020-07-10 12:58:45 -07:00
Ethan Looney
7e23273d1c Changed directory for Doxygen's search to only the necessary header files 2020-07-10 12:51:21 -07:00
toddouska
b931dc0d6e Merge pull request #3110 from JacobBarthelmeh/SGX
add SP build for SGX
2020-07-10 10:29:50 -07:00
Ethan Looney
295aa4ac55 Added tests for Sha512.c 2020-07-10 10:15:32 -07:00
kaleb-himes
64c0d53a2d Use portable friendly XVALIDATE_DATE in ssl.c and add wc_ to default 2020-07-10 09:43:24 -06:00
Ethan Looney
03839ea641 Changed EXTRACT_ALL from NO to YES in order to document every function 2020-07-10 08:16:15 -07:00
David Garske
ed0f2bb8f5 Added sniffer API's to load buffer directly, not file. ZD 10547 2020-07-09 08:54:26 -07:00
TakayukiMatsuo
942226dc5a Merge branch 'master' of https://github.com/wolfSSL/wolfssl to get updated ocsp tests 2020-07-09 07:47:54 +09:00
Sean Parkinson
b952f18eb4 Merge pull request #3104 from JacobBarthelmeh/nginx
Nginx 1.15.7
2020-07-09 08:46:30 +10:00
Sean Parkinson
3e0d0677ee Merge pull request #3116 from embhorn/zd10570
Sanity check in DoTls13HandShakeMsgType
2020-07-09 08:42:37 +10:00
Sean Parkinson
e37bd2ade6 Merge pull request #3113 from guidovranken/scrypt-return-memory-e
Return MEMORY_E from wc_scrypt if allocation fails
2020-07-09 08:28:51 +10:00
Tesfa Mael
890500c1b1 Fix Coverity 2020-07-08 08:20:43 -07:00
TakayukiMatsuo
1e94f0478c Added resetting size info output-buffer before calling export APIs
Added resetting size into output-buffer before calling export APIs
2020-07-08 08:20:43 -07:00
Eric Blankenhorn
b9855b51bf Sanity check in DoTls13HandShakeMsgType 2020-07-08 07:55:05 -05:00
Eric Blankenhorn
5f5040686e Merge pull request #3112 from kaleb-himes/INTERNAL_OCSP_STAPLING_FIX
Put both potential roots for login.live.com into collection for stapl…
2020-07-07 20:46:09 -05:00
Guido Vranken
7f66671449 In wc_PKCS12_PBKDF_ex, break out of outer loop on error 2020-07-08 01:38:02 +02:00
Guido Vranken
43e1eee55d Return MEMORY_E from wc_scrypt if allocation fails 2020-07-08 01:04:37 +02:00
kaleb-himes
aa704420fd Fix typo in include.am 2020-07-07 16:39:39 -06:00
toddouska
c8dcd59565 Merge pull request #3082 from JacobBarthelmeh/Testing
restrict the cert version allowed
2020-07-07 15:37:01 -07:00
kaleb-himes
42f3a6d7a4 Put both potential roots for login.live.com into collection for stapling test 2020-07-07 16:02:48 -06:00
Chris Conlon
6196698d8b Merge pull request #3099 from ethanlooney/eighth_branch
Added unit tests to sha256.c for sha224 and sha256.
2020-07-07 15:37:38 -05:00
Jacob Barthelmeh
333f4ccced add SP build for SGX 2020-07-07 10:43:44 -06:00
TakayukiMatsuo
a95b31041c Added NO_ASN_TIME macro to avoid cert expiration validation 2020-07-07 18:40:41 +09:00
Sean Parkinson
80246dfbc3 Merge pull request #3102 from guidovranken/free-tlsx
In TLSX_SupportedFFDHE_Set, free TLSX list if TLSX_PopulateSupportedG…
2020-07-07 08:25:13 +10:00
Ethan Looney
296b562113 Fixed formatting and forgotten curly bracket 2020-07-06 12:33:06 -07:00
Ethan Looney
1b7a96627c Changed formatting 2020-07-06 12:05:55 -07:00
toddouska
301e5c03b9 Merge pull request #3097 from SparkiDev/sp_int_mul_of
Fix SP int size of result checks
2020-07-06 11:17:01 -07:00
toddouska
b8314a70f9 Merge pull request #3089 from kaleb-himes/ZD10539_LICENSING
Add or later verbage to LICENSING and sync header license versions
2020-07-06 11:11:11 -07:00
toddouska
514254e294 Merge pull request #3069 from SparkiDev/gnu-stack
Add section to asm files to avoid exe stack
2020-07-06 11:08:24 -07:00
JacobBarthelmeh
e194a11cb8 add wolfSSL_SESSION_new and change to peek error 2020-07-06 10:47:46 -06:00
Ethan Looney
dfde73620c Added if defined cases for tests using hashes 2020-07-06 08:07:03 -07:00
TakayukiMatsuo
9554e54e8f Resolved conflict 2020-07-06 10:58:58 +09:00
Sean Parkinson
1af2e5cf02 Fix div implementation in SP int 2020-07-06 08:52:44 +10:00
Guido Vranken
04d063f2ba In TLSX_SupportedFFDHE_Set, free TLSX list if TLSX_PopulateSupportedGroups fails 2020-07-05 23:41:50 +02:00
TakayukiMatsuo
464cd49e45 Supprted TSIP v1.09 for target board GR-ROSE 2020-07-04 23:40:10 +09:00
Sean Parkinson
0e79943a5c Fix SP int size of result checks
sp_lshb: Only put values in extra word id necessary
2020-07-03 09:12:27 +10:00
Ethan Looney
5f3a287a6a Added tests to sha256.c for sha224 and sha256. 2020-07-02 14:30:30 -07:00
Takashi Kojo
fd257ee8b9 fix guard 2020-07-03 05:42:44 +09:00
Chris Conlon
655022cfc5 Merge pull request #3095 from ethanlooney/sixth_branch
Added additional tests for curve25519 and fixed a print format error from previous tests.
2020-07-02 10:07:55 -05:00
Juliusz Sosinowicz
3efd8a8576 Jenkins fixes 2020-07-02 14:59:07 +02:00
Ethan Looney
3242fa3669 Fixed formatting, redundant if's and added a comment explaining why a value was chosen. 2020-07-01 16:01:50 -07:00
JacobBarthelmeh
df9a1a2a0e revert error peek function 2020-07-01 16:26:38 -06:00
Juliusz Sosinowicz
fd79ebfe8d TLS 1.3 requires chacha and poly1305 for myTicketEncCb 2020-07-01 20:24:50 +02:00
Ethan Looney
f526a11126 Added additional tests for curve25519 and fixed a print format error from previous tests 2020-07-01 10:19:40 -07:00
Ethan Looney
a59560a1d5 Added tests to curve25519.c and fixed a print error from previous curve25519 tests 2020-07-01 09:32:03 -07:00
tmael
f89686a1ec Merge pull request #3086 from SparkiDev/sp_c_mod_fix
Fix normalization in all SP C divs
2020-07-01 09:02:29 -07:00
Chris Conlon
eb4b575b3a Merge pull request #3085 from ethanlooney/fourth_branch
API tests for Curve448
2020-06-30 17:24:07 -05:00
Ethan Looney
4ad904909c Added a return check 2020-06-30 12:40:20 -07:00
Ethan Looney
78efb48acf Added two more tests to hit xmemset lines 2020-06-30 12:40:20 -07:00
Ethan Looney
b7e682e677 Added more tests to api.c for curve448 2020-06-30 12:40:20 -07:00
Chris Conlon
94654c7a46 Merge pull request #3062 from TakayukiMatsuo/branch-2
Added testcases for wc_curve25519_export_key_xx
2020-06-30 14:27:24 -05:00
Juliusz Sosinowicz
e63a80f1af Use NO_SESSION_CACHE as well in preproc checks 2020-06-30 21:21:43 +02:00
JacobBarthelmeh
e6746639af add SSL_SESSION_up_ref and fix for get lib 2020-06-30 13:16:28 -06:00
kaleb-himes
8d37f57990 Change variable name from Hash to hashAlg 2020-06-30 12:50:26 -06:00
Juliusz Sosinowicz
b57cf802eb Expose session serialization outside of OPENSSL_EXTRA
Use `./configure CFLAGS='-DHAVE_EXT_CACHE'` to enable session serialization without `OPENSSL_EXTRA`.
2020-06-30 20:17:21 +02:00
Felix Lechner
24e10bf4ab Convert a header file to UTF-8 encoding.
The file contained characters from the ISO 8859-1 legacy text
encoding. This commit onverts the file to UTF-8.
2020-06-30 11:14:52 -07:00
kaleb-himes
970391319b Add or later verbage to LICENSING and sync header license versions 2020-06-30 12:13:13 -06:00
kaleb-himes
55985ad1b4 Change Hash union to wc_Hmac_Hash 2020-06-30 12:01:57 -06:00
Ethan Looney
c39bd55aca Removed comment, deleted redundent WC_RNG initialization and fixed indentation 2020-06-30 09:32:10 -07:00
toddouska
2c11f96c9d Merge pull request #3048 from embhorn/zd10216
Override CRL error for NO_VERIFY
2020-06-29 15:35:53 -07:00
Sean Parkinson
4e584595f0 Fix normalization in all SP C divs 2020-06-30 08:32:42 +10:00
Ethan Looney
e32e206d7c Added a return check 2020-06-29 12:55:42 -07:00
Ethan Looney
7fb4a98009 Added two more tests to hit xmemset lines 2020-06-29 09:48:22 -07:00
Ethan Looney
6745733e2e Added more tests to api.c for curve448 2020-06-29 09:30:17 -07:00
Chris Conlon
b6aaedd3b4 Merge pull request #3080 from ethanlooney/second_branch
Added additional tests to curve448.c through api.c
2020-06-29 11:21:15 -05:00
David Garske
7a2384deaf Merge pull request #3071 from kojo1/user-mutex
User defined mutex
2020-06-28 21:45:30 -07:00
Jacob Barthelmeh
14d0b4e7d6 adjust test case 2020-06-26 10:25:50 -06:00
Chris Conlon
7bd5da70a6 Merge pull request #3066 from kaleb-himes/DOX_UPDATES
Update v23 methods to reflect TLSv1.3
2020-06-26 10:59:04 -05:00
Ethan Looney
1c1ddaa6c2 Added checks to initial returns and free rng 2020-06-25 16:40:38 -07:00
Sean Parkinson
a10500e5a7 Merge pull request #3079 from tmael/sp_mod
Correct SP mod calculation
2020-06-26 08:38:07 +10:00
Sean Parkinson
f6d26b4e81 Merge pull request #3072 from kaleb-himes/SANITY_CHECKS
ed25519 and ed448 check sigLen against expected
2020-06-26 08:31:55 +10:00
Jacob Barthelmeh
0c7b851bd3 restrict the cert version allowed 2020-06-25 15:45:18 -06:00
David Garske
e2afbae6aa Merge pull request #3054 from JacobBarthelmeh/CRL
fix for x509 store add crl
2020-06-25 09:52:12 -07:00
JacobBarthelmeh
26f0a74d29 Merge pull request #3023 from kaleb-himes/GH2998-REWORK
cleanup GET messages
2020-06-25 10:22:09 -06:00
John Safranek
73c26c5188 Merge pull request #3078 from dgarske/dup_defines
Remove duplicate macros in VS user_settings.h files.
2020-06-25 09:09:30 -07:00
kaleb-himes
17466727b2 Implement peer review feedback 2020-06-25 09:43:22 -06:00
John Safranek
4dbdfdea08 Merge pull request #3077 from kaleb-himes/ZD10235_CONFIG
configure.ac change == to = when not C code
2020-06-25 08:21:01 -07:00
Tesfa Mael
60d6f616c2 Fix typo 2020-06-25 08:06:14 -07:00
Tesfa Mael
a8f5602e10 Correct mod calculation 2020-06-25 08:01:05 -07:00
Ethan Looney
fe7d9ea7c1 changed RNG to WC_RNG 2020-06-24 15:40:58 -07:00
Ethan Looney
79981e3cf7 Added additonal tests to curve448.c 2020-06-24 15:40:38 -07:00
Ethan Looney
86b7f18502 Added additional tests to curve448.c through api.c 2020-06-24 15:40:22 -07:00
David Garske
a10ee78980 Remove duplicate macros in VS user_settings.h files. 2020-06-24 15:08:49 -07:00
toddouska
07c5f36d6d Merge pull request #3068 from SparkiDev/modexp-cr
Use temp with mont mul in constant time exptmod
2020-06-24 13:19:06 -07:00
kaleb-himes
308562e853 configure.ac change == to = when not C code 2020-06-24 13:41:03 -06:00
JacobBarthelmeh
483b970772 Merge pull request #3061 from embhorn/zd10457
Remove multiple defines of GEN_IPADD
2020-06-24 11:33:16 -06:00
kaleb-himes
fdce5152c5 Address peer feedback 2020-06-24 11:25:12 -06:00
toddouska
9cd6f92d19 Merge pull request #3058 from JacobBarthelmeh/Certs
Fix and test case for malformed name constraint
2020-06-24 10:15:08 -07:00
Jacob Barthelmeh
b8b2f7ef7d vs build warning fixes 2020-06-24 10:57:31 -06:00
Sean Parkinson
be5648986c Update TLS 1.3 function Doxygen documentation
Give parameters a name in function prototypes.
2020-06-24 12:35:47 +10:00
Kaleb Himes
23ddc1c4c2 Merge pull request #3067 from SparkiDev/tls13-test-fix
Cleanup after TLS 1.3 tests
2020-06-23 17:35:48 -06:00
kaleb-himes
722961f55c ed25519 and ed448 check sigLen against expected 2020-06-23 17:32:00 -06:00
Eric Blankenhorn
ec755f8dd9 Override CRL error for NO_VERIFY 2020-06-23 18:09:03 -05:00
Sean Parkinson
582240a84d Merge pull request #3051 from embhorn/zd10451
Sanity check wc_ecc_import_raw x, y, and key
2020-06-24 08:52:10 +10:00
Takashi Kojo
55bb95823c coding template 2020-06-24 07:31:20 +09:00
Jacob Barthelmeh
8511d07698 store chain is free'd when store is free'd 2020-06-23 15:42:32 -06:00
Jacob Barthelmeh
ae90119af4 remove double free in test case 2020-06-23 14:45:31 -06:00
Eric Blankenhorn
7cc64377d0 Sanity check wc_ecc_import_raw x, y, and key 2020-06-23 08:54:47 -05:00
Takashi Kojo
1253be0142 Remove user_setting.h and user-mutex.c example files 2020-06-23 17:30:03 +09:00
Sean Parkinson
e8e455bf39 Add section to asm files to avoid exe stack
For Linux ELF need a note section for GNU to indicate stack is not
executable.
2020-06-23 11:58:46 +10:00
Sean Parkinson
7c615967a9 Use temp with mont mul in constant time exptmod
For cache attack resistance.
2020-06-23 10:45:31 +10:00
Sean Parkinson
392e09c474 Cleanup after TLS 1.3 tests
Make sure the server is dead after each test.
Client may not connect to server if cipher suite not supported and
return error as expected.
2020-06-23 09:14:51 +10:00
Sean Parkinson
5b07905818 Merge pull request #3065 from dgarske/sp_revert
Fix SP cache resistant build (reverts part of PR 2970)
2020-06-23 08:42:00 +10:00
toddouska
877b9975eb Merge pull request #3064 from dgarske/dox_sni
Fixes for dox SNI documentation / examples.
2020-06-22 13:38:41 -07:00
toddouska
180439ca34 Merge pull request #3060 from dgarske/git3059_cryptocell
Fixes for CryptoCell
2020-06-22 13:37:37 -07:00
toddouska
93bd0dbfe1 Merge pull request #2980 from dgarske/psoc6
Fix for `WOLFSSL_ALT_CERT_CHAINS` with long chain
2020-06-22 13:36:35 -07:00
kaleb-himes
646ecb54c2 Update v23 methods to reflect TLSv1.3 2020-06-22 12:04:16 -06:00
David Garske
a29250e87d Revert SP changes in https://github.com/wolfSSL/wolfssl/pull/2970 that broke --enable-sp CFLAGS="-DWOLFSSL_SP_CACHE_RESISTANT". This was generated with latest scripts. 2020-06-22 07:56:54 -07:00
David Garske
6ecb88da47 Fixes for dox SNI documentation / examples. 2020-06-22 07:37:04 -07:00
JacobBarthelmeh
b88342eeaf memory handling fixes 2020-06-19 10:08:42 -07:00
JacobBarthelmeh
22d6774966 Merge pull request #2909 from SKlimaRA/SKlimaRA/crl-and-pkcb
ParseCrl fix, GetPrivateKeySigSize moved from client only section and Coverity fixes.
2020-06-19 10:51:50 -06:00
TakayukiMatsuo
771d60c085 Replaced some hard-tabs with spaces in wc_curve25519_export_key_raw_ex() 2020-06-19 13:40:16 +09:00
David Garske
6b1a6309ce Fixes for CryptoCell. Fix for signature wrapper signing to allow larger signing input buffer. Cleanup of some duplicate code. Fix for bad cryptocell ECC make key result check (-9628). Fixes #3059. Thanks Sylwester. 2020-06-18 13:40:30 -07:00
Eric Blankenhorn
a5664b5ba9 Remove multiple defines of GEN_IPADD 2020-06-18 15:40:22 -05:00
toddouska
f8c6c783db Merge pull request #3047 from SparkiDev/curve448_dox
Add Doxygen documentation for Curve448/Ed448
2020-06-18 13:05:59 -07:00
David Garske
352328348a For example client "-H verifyFail", which was not setting the verify callback. 2020-06-18 12:54:47 -07:00
David Garske
823b3d90d8 Add braces around new debug message to avoid compiler warning. 2020-06-18 12:12:28 -07:00
toddouska
248b8c9b62 Merge pull request #3057 from kaleb-himes/FIPSv2_plus_OPENSSLALL
Resolve issues with FIPSv2 when opensslall set
2020-06-18 10:12:06 -07:00
toddouska
48cd6f36ff Merge pull request #2967 from dgarske/ecc_null
Fixes for ECC key import
2020-06-18 10:10:49 -07:00
Jacob Barthelmeh
1e431e1ade add test case and fixes from review 2020-06-18 10:57:25 -06:00
David Garske
667d9ca896 Fix to catch the issue in this PR with alt cert chains, which only happens if the verify callback is used and the chain is long enough. Cleanup of the myVerify callback to allow specific actions. Fix the suites.c to not crash if no newline at end of file. Added helpful debug message to show that a CA was found. 2020-06-18 09:26:50 -07:00
David Garske
efa169e595 Fix for invalid files in include.am. Improvement to new alt-chain tests to catch case this PR fixes. 2020-06-18 08:33:59 -07:00
David Garske
d70f6b7ede Fix for tests/test-chains.conf with new intermediate CA. 2020-06-18 08:33:59 -07:00
David Garske
9be61c61f5 Add alternate chain test case where peer presents chain (INT -> INT2 -> PEER) and only INT2 is loaded as trusted. Update existing alternate chain partial test cases to use INT2. Fix for test suite to allow extra newlines in .test files. 2020-06-18 08:33:59 -07:00
David Garske
5a5bc34aa5 Added second intermediate CA to testing certs. This creates a chain that looks like: ROOT (www.wolfssl.com) -> INT (wolfSSL Intermediate CA) -> INT2 (wolfSSL Intermediate2 CA) -> PEER (wolfSSL Client Chain / wolfSSL Server Chain). 2020-06-18 08:33:59 -07:00
David Garske
0ef5a3d00e Fix for WOLFSSL_ALT_CERT_CHAINS incorrectly failing on success case. 2020-06-18 08:33:59 -07:00
David Garske
21e0f863b9 Fix for NO_WOLFSSL_SERVER typo. 2020-06-18 08:33:58 -07:00
Juliusz Sosinowicz
03c5359fcd Add session resumption testing for DTLS 2020-06-18 14:18:02 +02:00
Juliusz Sosinowicz
b590e06f42 DTLS fixes
- `SendFinished` resetting`dtls_expected_peer_handshake_number` should depend on side and if we are resuming a connection
- No need to do a cookie exchange on session resumption
2020-06-18 12:13:52 +02:00
TakayukiMatsuo
28819bd45e Made two lines wrap around in test_wc_curve25519_export_key_raw_ex() 2020-06-18 12:25:21 +09:00
TakayukiMatsuo
a855d6355e Added cleanup to test_wc_curve25519_export_key_raw_ex 2020-06-18 12:25:21 +09:00
TakayukiMatsuo
1d98c960cf Added resetting size info output-buffer before calling export APIs
Added resetting size into output-buffer before calling export APIs
2020-06-18 12:24:03 +09:00
David Garske
13753d56bb Cleanup in wc_ecc_sign_hash_ex for blinding value to not call free twice (mp_clear already does mp_free). 2020-06-17 17:11:54 -07:00
David Garske
0fd5eda5af Fix for test_wolfSSL_DTLS_either_side, which was not properly free'ing in error case. Improves the test shared context logic to make it explicit. 2020-06-17 17:08:09 -07:00
toddouska
220e2634af Merge pull request #3056 from dgarske/nullcipher_noaes
Fixes for a few build edge cases (async w/o DTLS, null cipher w/o AES)
2020-06-17 16:48:48 -07:00
toddouska
f20a2de284 Merge pull request #3055 from dgarske/ocsp_resp
Fix for possible use of NULL in the OCSP response nonce
2020-06-17 16:45:53 -07:00
toddouska
3acc31400c Merge pull request #3053 from SparkiDev/ed448_fixes
Fix ED448 calls to use context and correct variable name
2020-06-17 16:41:40 -07:00
Jacob Barthelmeh
dafd35e4c1 remove unused variable 2020-06-17 15:55:08 -06:00
Jacob Barthelmeh
f75659641a test on malformed name constraint 2020-06-17 14:33:10 -06:00
kaleb-himes
e2fb4c55b8 Resolve issues with FIPSv2 when opensslall set 2020-06-17 14:03:02 -06:00
David Garske
3fb432cef8 Fix for building async without DTLS. 2020-06-17 11:20:08 -07:00
David Garske
81892f4594 Fix for use of WC_MAX_SYM_KEY_SIZE in macro. Fixes build case with --enable-nullcipher --disable-aes. 2020-06-17 11:16:33 -07:00
David Garske
0a38ab8ac2 Fix for possible use of NULL is the OCSP response nonce. This is optional and may not be provided in the OCSP response and should be skipped if not set in the response. ZD 10475. 2020-06-17 11:00:05 -07:00
Jacob Barthelmeh
82921f8650 fix for x509 store add crl 2020-06-17 11:30:18 -06:00
Kaleb Himes
b1aa903c1b Merge pull request #3052 from julek-wolfssl/infinite-loop-fuzzer
Alert level must be cleared or ProcessReply will loop indefinitely
2020-06-16 18:55:15 -06:00
Sean Parkinson
6bb73fb25d Fix ED448 calls to use context and correct variable name
Added basic test of OpenSSL compatability APIs:
  - wolfSSL_ED25519_generate_key
  - wolfSSL_ED25519_sign
  - wolfSSL_ED25519_verify
  - wolfSSL_ED2448_generate_key
  - wolfSSL_ED448_sign
  - wolfSSL_ED448_verify
2020-06-17 10:05:50 +10:00
Juliusz Sosinowicz
90caeaf925 Alert level must be cleared or ProcessReply will loop indefinitely 2020-06-16 23:21:54 +02:00
JacobBarthelmeh
7c6dccd4a0 Merge pull request #3038 from embhorn/zd10457
Unused var error
2020-06-16 14:10:54 -06:00
Sean Parkinson
7a15639927 Add Doxygen documentation for Curve448/Ed448
Update Curve25519/Ed25519 Doxygen documentation too.
Make public key is a public API - check pubKey pointer is not NULL.
2020-06-16 22:16:13 +10:00
Chris Conlon
b9f13dba61 Merge pull request #3030 from TakayukiMatsuo/usertime
ASN1_TIME_new in correct macro condition
2020-06-15 17:49:44 -05:00
toddouska
aa7168df0b Merge pull request #3045 from SparkiDev/aes_small_fix
AES small table fix
2020-06-15 14:19:09 -07:00
toddouska
096d0073ef Merge pull request #3043 from dgarske/renesas_ra6m3
Renesas requested name change to "RA6M3"
2020-06-15 14:18:19 -07:00
toddouska
9d932d09bf Merge pull request #3042 from dgarske/xcode_updates
Updates to Xcode projects to add new files / features
2020-06-15 14:16:14 -07:00
toddouska
74098340ff Merge pull request #3031 from dgarske/stm32cubeide
Adding STM32CubeIDE support
2020-06-15 14:14:43 -07:00
Jacob Barthelmeh
f020b0f24a add check on decode subtree return value 2020-06-15 14:41:05 -06:00
Sean Parkinson
3f344b7d89 AES small table fix
Symbol not needed when only compiling AES algorithms (AES-GCM, AES-CCM,
AES-CTR) not using AES decrypt.
Allow AES-CCM to be compiled without AES-GCM.
2020-06-15 14:46:39 +10:00
Takashi Kojo
8ff1b474bc Tentative: User defined mutex 2020-06-14 07:12:13 +09:00
David Garske
baaf741c79 Merge pull request #3037 from JacobBarthelmeh/CSharp
add peer certificate print to callback with C#
2020-06-12 13:32:50 -07:00
toddouska
1e07563411 Merge pull request #2984 from julek-wolfssl/dtls-scr
Add secure renegotiation to DTLS 1.2
2020-06-12 11:22:55 -07:00
toddouska
6166902f66 Merge pull request #2990 from julek-wolfssl/fix-leak
Fix leak in SetIndividualInternal
2020-06-12 11:17:40 -07:00
toddouska
4c2dee77d8 Merge pull request #3028 from julek-wolfssl/CRYPTO_memcmp
Implement CRYPTO_memcmp
2020-06-12 11:16:18 -07:00
David Garske
eea22eb65d Renesas requested name change to "RA6M3". 2020-06-12 10:58:20 -07:00
David Garske
d43d75bf81 Updates to xcode projects to add new files.
Ran updated iPhone X benchmarks:

```
RNG                330 MB took 1.010 seconds,  326.879 MB/s
AES-128-CBC-enc    920 MB took 1.005 seconds,  915.507 MB/s
AES-128-CBC-dec   6095 MB took 1.000 seconds, 6092.130 MB/s
AES-192-CBC-enc    820 MB took 1.000 seconds,  819.644 MB/s
AES-192-CBC-dec   4860 MB took 1.001 seconds, 4855.794 MB/s
AES-256-CBC-enc    710 MB took 1.005 seconds,  706.419 MB/s
AES-256-CBC-dec   3935 MB took 1.001 seconds, 3930.830 MB/s
AES-128-GCM-enc   1245 MB took 1.003 seconds, 1241.589 MB/s
AES-128-GCM-dec    575 MB took 1.001 seconds,  574.547 MB/s
AES-192-GCM-enc   1235 MB took 1.001 seconds, 1234.343 MB/s
AES-192-GCM-dec    570 MB took 1.003 seconds,  568.521 MB/s
AES-256-GCM-enc   1230 MB took 1.003 seconds, 1226.034 MB/s
AES-256-GCM-dec    570 MB took 1.001 seconds,  569.199 MB/s
3DES                10 MB took 1.386 seconds,    7.213 MB/s
MD5                 95 MB took 1.037 seconds,   91.629 MB/s
SHA                 80 MB took 1.013 seconds,   78.943 MB/s
SHA-256           1625 MB took 1.000 seconds, 1624.565 MB/s
SHA3-224            60 MB took 1.010 seconds,   59.399 MB/s
SHA3-256            60 MB took 1.073 seconds,   55.921 MB/s
SHA3-384            45 MB took 1.042 seconds,   43.195 MB/s
SHA3-512            35 MB took 1.164 seconds,   30.063 MB/s
HMAC-MD5            95 MB took 1.044 seconds,   91.014 MB/s
HMAC-SHA            80 MB took 1.007 seconds,   79.480 MB/s
HMAC-SHA256       1705 MB took 1.001 seconds, 1703.126 MB/s
RSA     2048 public      32800 ops took 1.003 sec, avg 0.031 ms, 32716.405 ops/sec
RSA     2048 private      1200 ops took 1.041 sec, avg 0.868 ms, /33 ops/sec
DH      2048 key gen      2354 ops took 1.000 sec, avg 0.425 ms, 2353.254 ops/sec
DH      2048 agree        2500 ops took 1.013 sec, avg 0.405 ms, 2467.525 ops/sec
ECC      256 key gen     46503 ops took 1.000 sec, avg 0.022 ms, 46502.069 ops/sec
ECDHE    256 agree       14100 ops took 1.005 sec, avg 0.071 ms, 14034.697 ops/sec
ECDSA    256 sign        29600 ops took 1.003 sec, avg 0.034 ms, 29500.554 ops/sec
ECDSA    256 verify      11000 ops took 1.007 sec, avg 0.092 ms, 10921.516 ops/sec
```
2020-06-12 10:39:26 -07:00
toddouska
f30eb0197b Merge pull request #3032 from JacobBarthelmeh/PKCS12
fix error checking when parsing a PKCS12 DER into an internal structure
2020-06-12 09:57:40 -07:00
JacobBarthelmeh
2b5ed1564c add error function and print out 2020-06-12 09:45:23 -07:00
Eric Blankenhorn
0f36cdf066 Unused var error 2020-06-12 10:43:01 -05:00
Unknown
cab8dd3731 Ignore duplicate or out of order CCS message
Init variables since compiler complains they might be used without initialization.
2020-06-12 12:27:48 +02:00
Juliusz Sosinowicz
ac028e551d Code Review 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
69802ed1a9 Missing ssl->heap in FreeBuildMsgArgs 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
3980d6117d Fix Jenkins 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
01b446f469 Fix SessionTicket length in unencrypted case 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
f2d2dadc89 ASYNC: Fix issues with TLS and DTLS 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
eb7a49a1d7 ASYNC: Working TLS SCR 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
a7c4d88876 ASYNC: Working AES128-SHA 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
7b604ad714 WIP 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
73105305cf WIP 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
a107688891 Fix asynchronous DTLS issue 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
d88f6f1156 DTLS test cases 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
4e60e4b3b7 DTLS Message Grouping
Flush output buffer when we suspect that the grouped messages may exceed MTU.
2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
d2542dcf38 Restore StoreKeys functionality for TLS case 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
c2ca9f614e Jenkins tests fixes 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
eb910a64d0 Comments and formatting 2020-06-12 11:36:43 +02:00
Juliusz Sosinowicz
651a7a97b9 Add secure renegotiation to DTLS 1.2
- Hash of fragmented certificate was not calculated as a single message and instead we were hashing individual fragments which produced the wrong digest, shared secret, etc...
- Reset handshake number after server Finished packet is sent or received (depending on side)
- Reserve space in buffer for cipher stuff
- Take `DTLS_RECORD_EXTRA` and  `DTLS_HANDSHAKE_EXTRA` into size and offset calculations for DTLS path
- Fix renegotiation in DTLS with AES128-SHA
- Fix renegotiation in DTLS with AES-GCM
- Support HelloVerify request during secure renegotiation
- Save renegotiation handshake messages for retransmission in timeout
- Handle cipher parameters from different epochs. DTLS may need to resend and receive messages from previous epochs so handling different sets of encryption and decryption parameters is crucial.
2020-06-12 11:36:43 +02:00
David Garske
255cc016b3 Merge pull request #3034 from kaleb-himes/FORUM_DSA_ISSUE
Seperate QT and DSA dependencies
2020-06-11 15:40:12 -07:00
David Garske
ad7e636e34 Adds STM32H7 support. Tested on NUCLEO-H753ZI board.
STM32H753ZI at 480MHz

```
Running wolfCrypt Benchmarks...
------------------------------------------------------------------------------
 wolfSSL version 4.4.1
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG                250 KB took 1.047 seconds,  238.777 KB/s
AES-128-CBC-enc      4 MB took 1.004 seconds,    3.623 MB/s
AES-128-CBC-dec      4 MB took 1.004 seconds,    3.623 MB/s
AES-192-CBC-enc      4 MB took 1.000 seconds,    3.613 MB/s
AES-192-CBC-dec      4 MB took 1.000 seconds,    3.613 MB/s
AES-256-CBC-enc      4 MB took 1.000 seconds,    3.613 MB/s
AES-256-CBC-dec      4 MB took 1.000 seconds,    3.613 MB/s
AES-128-GCM-enc      3 MB took 1.004 seconds,    3.380 MB/s
AES-128-GCM-dec      3 MB took 1.004 seconds,    3.356 MB/s
AES-192-GCM-enc      3 MB took 1.004 seconds,    3.380 MB/s
AES-192-GCM-dec      3 MB took 1.003 seconds,    3.359 MB/s
AES-256-GCM-enc      3 MB took 1.000 seconds,    3.369 MB/s
AES-256-GCM-dec      3 MB took 1.004 seconds,    3.356 MB/s
CHACHA             850 KB took 1.020 seconds,  833.333 KB/s
CHA-POLY           650 KB took 1.015 seconds,  640.394 KB/s
POLY1305             4 MB took 1.004 seconds,    4.037 MB/s
SHA-256              3 MB took 1.004 seconds,    3.088 MB/s
HMAC-SHA256          3 MB took 1.004 seconds,    3.015 MB/s
RSA     2048 public         78 ops took 1.023 sec, avg 13.115 ms, 76.246 ops/sec
RSA     2048 private         4 ops took 1.682 sec, avg 420.500 ms, 2.378 ops/sec
DH      2048 key gen         6 ops took 1.165 sec, avg 194.167 ms, 5.150 ops/sec
DH      2048 agree           6 ops took 1.165 sec, avg 194.167 ms, 5.150 ops/sec
ECC      256 key gen        96 ops took 1.004 sec, avg 10.458 ms, 95.618 ops/sec
ECDHE    256 agree          50 ops took 1.027 sec, avg 20.540 ms, 48.685 ops/sec
ECDSA    256 sign           64 ops took 1.000 sec, avg 15.625 ms, 64.000 ops/sec
ECDSA    256 verify         32 ops took 1.039 sec, avg 32.469 ms, 30.799 ops/sec
Benchmark complete
Benchmark Test: Return code 0
```
2020-06-11 15:17:29 -07:00
David Garske
3b86a4db20 Adding STM32CubeIDE support (and deprecation of OpenSTM32).
* Updated example to add support for CMSIS v2 and static memory.
* Improved example to support more build options.
* Added support for detecting Cube HAL and including `wolfSSL.wolfSSL_conf.h`.
2020-06-11 14:45:17 -07:00
JacobBarthelmeh
d97c23edd8 set dynamic flag 2020-06-11 12:46:21 -07:00
JacobBarthelmeh
6af052faae add peer certificate print to callback 2020-06-11 10:57:26 -07:00
Chris Conlon
cc13c9f062 Merge pull request #3035 from ejohnstown/changelog
Fix changelog error
2020-06-11 10:19:10 -05:00
toddouska
29bdc7d8b5 Merge pull request #3015 from tmael/cov-fix
Coverity fix in wolfSSL 4.4.0
2020-06-10 17:07:47 -07:00
John Safranek
f7c233af9c Fix error in the changelog. AES-CTR with AES-NI wasn't actually added. 2020-06-10 15:15:11 -07:00
Juliusz Sosinowicz
d5577c9404 Explicit convert 2020-06-10 18:43:27 +02:00
Kaleb Himes
2fe08e1951 Update comment
Thanks @dgarske, great catch!
2020-06-09 17:10:57 -06:00
kaleb-himes
80e888c1c8 Seperate QT and DSA dependencies 2020-06-09 16:47:35 -06:00
Chris Conlon
fb51a2298e Merge pull request #3019 from kaleb-himes/ZD10380
init components as best practice
2020-06-09 17:23:55 -05:00
toddouska
e993cb6cc0 Merge pull request #2942 from dgarske/tls13_on
Enable TLS v1.3 by default
2020-06-09 13:30:02 -07:00
toddouska
48783c1982 Merge pull request #2996 from dgarske/stm32hal
Fixes and improvements for STM32 crypto hardware
2020-06-09 13:24:27 -07:00
toddouska
c023efb2aa Merge pull request #3025 from JacobBarthelmeh/Compatibility-Layer
fix macro to match *_FLAGS_*
2020-06-09 13:19:29 -07:00
toddouska
7a7bfce565 Merge pull request #3026 from cconlon/selftestfixes
Fix warnings with NetBSD gcc compiler
2020-06-09 13:18:44 -07:00
toddouska
ef742c4a42 Merge pull request #3027 from danielinux/psoc6_crypto
Cypress PSoC6 wolfcrypt driver
2020-06-09 13:17:37 -07:00
toddouska
8fc908989a Merge pull request #3029 from SparkiDev/aes-ccm-fix
Fix optimized AES-CCM - counter
2020-06-09 13:13:42 -07:00
Jacob Barthelmeh
3a430522da fix error checking when parsing a PKCS12 DER into an internal structure 2020-06-08 14:23:40 -06:00
Kaleb Himes
72360dee38 Also bring over openSSL headers 2020-06-08 11:39:06 -06:00
David Garske
8b6b54603f Add STM32WB55 crypto hardware support for AES. 2020-06-08 08:48:59 -07:00
Tesfa Mael
28913a276f Include GCM in latest FIPS and Windows build 2020-06-08 08:38:59 -07:00
David Garske
5837c70e99 Support for STM32L5 PKA ECC sign/verify acceleration. 2020-06-08 08:37:55 -07:00
David Garske
16c0160e63 Added support for STM32L5. 2020-06-08 08:37:55 -07:00
David Garske
21a34bde8c Fix whitespace. 2020-06-08 08:37:55 -07:00
David Garske
6f82f15d1b Performance improvements for STM32 AES CBC and GCM crypto hardware.
* AES CBC:
  - Do all blocks, not just one at a time.
* AES GCM:
  - Use local stack for authentication header if < block size.
  - Use hardware GHASH for all authentication header sizes.

Tested with STM32F437II (old/new Cube HAL/StdPeriLib), STM32F777ZI (CubeMX) and STM32L4A6ZG (CubeMX).
2020-06-08 08:37:55 -07:00
David Garske
efe9da0994 Fix for STM32 crypto hash with WOLFSSL_SMALL_STACK_CACHE possible free of invalid pointer. 2020-06-08 08:37:55 -07:00
David Garske
dff7c0fcfa Fix for hardware mutex protection in case where STM32 hardware acceleration is used for RNG or HASH only. 2020-06-08 08:37:55 -07:00
David Garske
42ee313286 Fix for using WOLFSSL_SMALL_STACK_CACHE with STM32 SHA256 hardware acceleration. 2020-06-08 08:37:55 -07:00
David Garske
8791573dfe Fix for building with NO_PUBLIC_GCM_SET_IV when ChaCha20/Poly1305 is enabled. Cleanup use of not used STD_PERI_LIB. 2020-06-08 08:37:54 -07:00
Tak
b883617c0d Moved wolfSSL_ASN1_TIME_new() to under #ifndef NO_ASN_TIME condition 2020-06-08 14:10:20 +09:00
Sean Parkinson
d543e305f1 Fix optimized AES-CCM - counter
AES-NI optimized 4 block at a time was not incrementing counter
poprerly.
2020-06-08 10:48:19 +10:00
David Garske
3af4316cfd Fix for session test with TLS v1.3 and session tickets not enabled. Cleanups in AddSession. 2020-06-05 13:33:03 -07:00
David Garske
fb5c9e5268 Adjust static memory case with TLS v1.3 enabled. 2020-06-05 11:11:23 -07:00
David Garske
3b8455fcd0 Fix for building without ECC and DH (TLS v1.3 cannot be enabled). 2020-06-05 10:26:32 -07:00
Juliusz Sosinowicz
a75f83c9f2 Implement CRYPTO_memcmp 2020-06-05 16:44:12 +02:00
Daniele Lacamera
254dd9f823 Added new files to include.am 2020-06-05 15:28:49 +02:00
Daniele Lacamera
76ab8bfb6b Added psoc6 ECDSA verification support 2020-06-05 11:30:29 +02:00
Daniele Lacamera
b1947478bb Added support for SHA512 via psoc6 crypto 2020-06-05 11:30:29 +02:00
Daniele Lacamera
82520572b0 Initial support for psoc6_crypto (sha256 only) 2020-06-05 11:30:29 +02:00
David Garske
dffc677561 Fix for TLS v1.3 with --enable-sniffer. 2020-06-04 16:42:40 -07:00
David Garske
7879e83ae0 Fixes for building with ./configure --enable-tls13 --disable-rsa --disable-ecc --enable-psk. Fix to properly detect if missing a asymmetric key algorithm (required by TLS v1.3). 2020-06-04 16:31:19 -07:00
David Garske
1d01b87741 Fix to detect if NO_CERTS / --disable-asn is used in scripts/tls13.test. 2020-06-04 16:08:08 -07:00
David Garske
66fdc2c536 Disable TLS v1.3 if none of these are available "ECC, CURVE25519, CURVE448 or DH". 2020-06-04 15:31:19 -07:00
David Garske
93be04f380 Can't send empty list for the client when sniffer is enabled or it will use AES128-SHA. 2020-06-04 15:31:18 -07:00
David Garske
ad93813d75 Fix for expected failure case on client write. Resolves test-fails.con server TLSv1.3 fail on no client certificate test. 2020-06-04 15:31:18 -07:00
David Garske
d4fdd1e590 Fix for TLS v1.3 test PSK callback to support cipher list. Add support for GetCipherSuiteFromName to accept a name ending with colon. 2020-06-04 15:31:18 -07:00
David Garske
3b63e55a68 Fix for TLS v1.3 PSK tests work with additional cipher suites (not just TLS13-AES128-GCM-SHA256) and the echo server/client. 2020-06-04 15:31:18 -07:00
David Garske
8823a581d0 Add PSK user context support (Fixes #2952.). 2020-06-04 15:31:18 -07:00
David Garske
0228d1eeea Cleanups for the TLS v1.3 build requirements. Add check for TLS v1.3 call to EncodeSigAlg. 2020-06-04 15:31:18 -07:00
David Garske
ab2afbd37b Allow the TLS 13 draft 18 build option and just use the final version. This allows the automated test scripts to pass. 2020-06-04 15:31:18 -07:00
David Garske
4d8cf5b571 Fixes for building TLSv1.3 with FIPS v1 (no RSA PSS or HKDF). 2020-06-04 15:31:18 -07:00
David Garske
8300754ecd Fix for "testsuite" with TLSv1.3 and --enable-sniffer. 2020-06-04 15:31:18 -07:00
David Garske
ba8227bcf7 Fix for building TLS v1.3 with NO_WOLFSSL_CLIENT. 2020-06-04 15:31:18 -07:00
David Garske
b417a76613 Fixes for build TLS v1.3 with NO_CERTS. 2020-06-04 15:31:18 -07:00
David Garske
093d9981fb Disable fast-rsa if RSA PSS is enabled (not supported). 2020-06-04 15:31:18 -07:00
David Garske
cd1c2d5fae Enable TLS v1.3 by default. Remove old TLS v1.3 draft build support. 2020-06-04 15:31:18 -07:00
David Garske
ca9dc7d509 Fix for wc_ecc_import_unsigned failing if first private key byte is zero (Fixes #2950). Fix wc_ecc_is_point to return better code IS_POINT_E on failure (was returning -1). Improved ECC import API unit tests. Added WOLFSSL_VALIDATE_ECC_IMPORT and WOLFSSL_VALIDATE_ECC_KEYGEN to --enable-all. 2020-06-04 15:25:56 -07:00
toddouska
3529d9a40d Merge pull request #3016 from kaleb-himes/FIPSv2-MAINTENANCE
New OpenSSL features relying on changes in module files must account for locked FIPS versions of those files
2020-06-04 15:08:17 -07:00
JacobBarthelmeh
976db2545d Merge pull request #3007 from embhorn/zd10318
Fix OOB access in ParseCRL
2020-06-04 13:11:59 -06:00
toddouska
23d1550439 Merge pull request #2989 from julek-wolfssl/openvpn
Additional OpenSSL compat layer stuff
2020-06-04 11:57:55 -07:00
toddouska
b48699c1f0 Merge pull request #3022 from cconlon/jnisni
enable SNI by default for JNI/JSSE build
2020-06-04 11:07:56 -07:00
toddouska
79465d70f7 Merge pull request #3020 from SparkiDev/tls13_psk_cr
TLS 1.3: Never send CertiifcateRequest when PSK
2020-06-04 11:07:22 -07:00
Jacob Barthelmeh
c8b87eab5f fix macro to match *_FLAGS_* 2020-06-04 11:53:46 -06:00
kaleb-himes
27f37df0e0 Update arduino script to reflect includes of inline files 2020-06-04 09:50:47 -06:00
kaleb-himes
2285071fbc Use old convention, consolidate assignments 2020-06-04 09:34:49 -06:00
kaleb-himes
923fc30043 Change to memcpy 2020-06-03 17:36:40 -06:00
kaleb-himes
8c3f7a77ca cleanup GET messages 2020-06-03 16:53:36 -06:00
kaleb-himes
5a4d84ecad Consolidate to one-line where possible 2020-06-03 16:19:34 -06:00
toddouska
c3407e2052 Merge pull request #3004 from SparkiDev/asn1_int_lead_0_any
Define to allow badly formed ASN integers
2020-06-03 14:55:04 -07:00
toddouska
4ddbe546a3 Merge pull request #2993 from dgarske/math_fixes
Improvements around the ECC max bits calculation
2020-06-03 14:53:51 -07:00
Eric Blankenhorn
4b10f6aa03 Update from review 2020-06-03 15:56:46 -05:00
Chris Conlon
0b9d06e529 return value from FailTestCallBack to prevent NetBSD noreturn warning 2020-06-03 14:45:31 -06:00
Tesfa Mael
d000ceb495 Resolve Warnings 2020-06-03 13:42:37 -07:00
Chris Conlon
cafcaa4181 enable SNI by default for JNI/JSSE build 2020-06-03 14:24:10 -06:00
Chris Conlon
504b887851 fix NetBSD warnings in ASN1_INTEGER_set() tests around int max/min 2020-06-03 14:14:43 -06:00
Chris Conlon
1c1a01fffe rename dup to resolve NetBSD global shadow warnings 2020-06-03 14:11:12 -06:00
Chris Conlon
d220168384 Merge pull request #3017 from kojo1/supplicant-error
alertWhy: unknown_ca for ASN_NO_SIGNER_E
2020-06-03 10:44:31 -05:00
Tesfa Mael
6176f8537f Typecast to fix conversion loses 2020-06-02 22:06:14 -07:00
Sean Parkinson
0d1ed9efc7 TLS 1.3: Never send CertiifcateRequest when PSK
Server must not send a CertificateRequest when authenticating with a
PSK.
Increase the max size of the signature algorithms as ED448 has been
added.
2020-06-03 12:48:31 +10:00
Tesfa Mael
d5241bbcc6 Coverity fix 2020-06-02 15:35:27 -07:00
kaleb-himes
8cd92f68f2 init components as best practice 2020-06-02 14:28:50 -06:00
toddouska
dc1472692a Merge pull request #3011 from dgarske/nomalloc
Fixes for using static memory with no malloc
2020-06-02 11:46:29 -07:00
toddouska
c7331fa699 Merge pull request #3008 from embhorn/zd10320
Fix possible NULL dereference error in TLSX_SecureRenegotiation_Parse
2020-06-02 11:13:17 -07:00
kaleb-himes
6ab5f2d9d7 remove unused variables 2020-06-01 17:56:03 -06:00
kaleb-himes
0604e7d208 no priv or pub in dhKey struct in FIPS 2020-06-01 17:36:27 -06:00
kaleb-himes
bc02f2c74e Revert GCM_NONCE_MID_SZ changes 2020-06-01 17:13:23 -06:00
kaleb-himes
6217118ee4 Account for unmodifiable FIPS module files when adding new OpenSSL functionality 2020-06-01 16:28:32 -06:00
Takashi Kojo
5bcd121ab5 alertWhy: unknown_ca for ASN_NO_SIGNER_E 2020-06-02 05:54:16 +09:00
David Garske
b947f69f60 Fix to correct SP 4096-bit enable. Correct nonexistent WOLFSSL_SP_NO_4096, which should be WOLFSSL_SP_4096. 2020-06-01 10:49:08 -07:00
David Garske
bfe1760c17 Improvements to the ECC max bits calculation used with fast math (USE_FAST_MATH and ALT_ECC_SIZE). Updated example code comments to reflect accurate calculation. 2020-06-01 10:48:52 -07:00
toddouska
9c73a4bdbc Merge pull request #3009 from embhorn/zd10358
Fix OOB access in RsaUnPad
2020-06-01 09:29:10 -07:00
Chris Conlon
aeefc09579 Merge pull request #3013 from miyazakh/fix_espidf_buildfail
fix build failrue on esp-idf
2020-06-01 09:56:29 -06:00
Hideki Miyazaki
5f783f0198 fix build failrue on esp-idf 2020-05-30 15:19:37 +09:00
toddouska
63a1ccda9b Merge pull request #3012 from SparkiDev/ecc_mulmod_fix
Fix ecc mulmod to only do one more bit than modulus len
2020-05-29 13:07:18 -07:00
toddouska
2ee8f335b7 Merge pull request #2992 from SparkiDev/tls13_enc_alert_2
Actually make TLS 1.3 alerts encrypted when possible
2020-05-29 13:04:49 -07:00
Sean Parkinson
2eb9e05518 Fix ecc mulmod to only do one more bit than modulus len 2020-05-29 11:21:37 +10:00
David Garske
e498e07390 Merge pull request #3005 from cconlon/608a
ATECC608A improvements for use with Harmony 3 and PIC32MZ
2020-05-28 16:10:39 -07:00
David Garske
10a1cad2dc Fix for TFM _fp_exptmod_nct with WOLFSSL_NO_MALLOC. 2020-05-28 15:15:52 -07:00
David Garske
fd51eecb4f Fix for using signature wrapper with WOLFSSL_NO_MALLOC. Improve wc_SignatureVerifyHash to use RSA verify inline. 2020-05-28 15:12:01 -07:00
David Garske
7ce7d244f8 Fix for using static memory AES GCM test. 2020-05-28 15:12:01 -07:00
toddouska
5962931b21 Merge pull request #2947 from SparkiDev/tls13_integ_fix
Fix TLS 1.3 integrity only for interop
2020-05-28 13:48:43 -07:00
toddouska
5360783d7e Merge pull request #3003 from JacobBarthelmeh/Testing
fix for gcc 10+ error on snprintf
2020-05-28 13:28:30 -07:00
Eric Blankenhorn
233a5ca6b8 Fix OOB access 2020-05-28 14:14:19 -05:00
Eric Blankenhorn
4e8f5fce66 Fix NULL dereference error 2020-05-28 12:17:29 -05:00
Eric Blankenhorn
91fb6216a9 Fix OOB access 2020-05-28 09:39:44 -05:00
David Garske
99d8be4f4d Merge pull request #3002 from ejohnstown/bump-minor-ver
Bump Patch Version
2020-05-27 21:09:38 -07:00
Sean Parkinson
3fec01c0aa Actually make TLS 1.3 alerts encrypted when possible
Pervious fix didn't work.
This time, if TLS 1.3 and encryption is on then it will encrypt the
alert.
2020-05-28 10:57:33 +10:00
Sean Parkinson
8dee048b04 Define to allow badly formed ASN integers
Define: WOLFSSL_ASN_INT_LEAD_0_ANY
Allows positive integers to have a leading 0 byte.
DER/BER encoding specifies that leding 0 only on negative numbers
(highest bit of first octet set).
2020-05-28 08:50:21 +10:00
Chris Conlon
896fcd9aec add WOLFSSL_ATECC6088A, Trust&GO support, PIC32 HAL compatibility, 608A expansions 2020-05-27 16:49:29 -06:00
Chris Conlon
8ebd121cac add extern prototype for PIC32 pic32_time() 2020-05-27 16:46:40 -06:00
Chris Conlon
d8a6d16f72 add MICROCHIP_TCPIP_BSD_API for using Microchip TCP/IP with BSD API 2020-05-27 16:46:40 -06:00
Chris Conlon
b8e1fe666b include errno.h with MICROCHIP_PIC32 for GetLastError use 2020-05-27 16:46:40 -06:00
Sean Parkinson
1cc9a8ffbf Merge pull request #3001 from DKubasekRA/DKubasekRA-fix-ctMask16LT
Reverted comparison in ctMask16LT
2020-05-28 08:24:48 +10:00
JacobBarthelmeh
8e9f518caa fix for gcc 10+ error on snprintf 2020-05-27 16:20:39 -06:00
John Safranek
19fba3648c Bump Patch Version
1. Increase the patch level of the version number in configure.ac.
2. Added a template for the next version in ChangeLog.md.
3. Bumped version.h.
2020-05-27 10:11:58 -07:00
DKubasekRA
5ef738855c Reverted comparison in ctMask16LT 2020-05-27 10:43:36 +02:00
toddouska
e388885407 Merge pull request #2997 from kaleb-himes/ZD10356
Fix a seg fault when cert not loaded prior to key check
2020-05-26 16:19:43 -07:00
toddouska
c5ebf23c25 Merge pull request #2994 from JacobBarthelmeh/Xilinx
add additional sanity check on pointer before free
2020-05-26 16:18:58 -07:00
Kaleb Himes
5179503e8f Merge pull request #2995 from julek-wolfssl/va-copy-check
Enable wolfSSL_BIO_vprintf on Windows
2020-05-26 08:58:05 -07:00
Sean Parkinson
eed5943b6f Fix TLS 1.3 integrity only for interop
Make key size the size of the digest.
2020-05-25 16:02:53 +10:00
Chris Conlon
165fce7c57 Merge pull request #2988 from miyazakh/peakmem
added WOLFSSL_LEAVE for measuring peak memory script
2020-05-22 15:37:30 -06:00
kaleb-himes
53d2a17b43 Fix a seg fault when cert not loaded prior to key check 2020-05-22 15:03:11 -06:00
Juliusz Sosinowicz
de61a8e5d3 Enable wolfSSL_BIO_vprintf on Windows
Enable wolfSSL_BIO_vprintf use with WOLFSSL_BIO_MEMORY and WOLFSSL_BIO_SSL on Windows with the HAVE_VA_COPY flag
2020-05-21 19:41:40 +02:00
toddouska
d27c023dd9 Merge pull request #2983 from dgarske/stm_stdperilib
Fixes for building with STM32 StdPeriLib and CubeMX
2020-05-21 10:39:36 -07:00
Jacob Barthelmeh
cd1a50bfb6 add additional sanity check on pointer before free 2020-05-21 11:19:17 -06:00
Juliusz Sosinowicz
a67e1fc2ad Fix implicit conversions 2020-05-21 13:20:42 +02:00
Juliusz Sosinowicz
70c55ce30a Set offset in cipher struct 2020-05-21 12:51:23 +02:00
Juliusz Sosinowicz
986c8f351c Fix leak in SetIndividualInternal
SetIndividualInternal should not do mp_init on mpi since it should have been zero'ed during allocation and if it isn't zero'ed then it must mean that memory has already been allocated to it
2020-05-20 20:34:45 +02:00
David Garske
363b9528af Fix for STM32 AES only (L4) AES Decrypt Direct (ECB). 2020-05-20 11:23:14 -07:00
David Garske
de4d2e6436 Fix for CubeMX HAL headerSize (older CubeMX HAL uses actual bytes, not multiple of 32-bit). Fix for GMAC case in STM32_CRYPTO_AES_ONLY. 2020-05-20 10:49:26 -07:00
toddouska
a6f5bc84e6 Merge pull request #2987 from JacobBarthelmeh/Xilinx
Update for RSA calls to Xilsecure
2020-05-20 09:03:52 -07:00
toddouska
516f329f23 Merge pull request #2975 from JacobBarthelmeh/Testing
init FP mutex on wolfCrypt init
2020-05-20 09:01:46 -07:00
David Garske
19848076ec Merge pull request #2986 from kaleb-himes/ZD9610_REPORT2
Fix building with openssl extra x509 small writes to heap without alloc
2020-05-20 08:10:43 -07:00
Juliusz Sosinowicz
5f7832909b BIO_new_mem_buf with negative len should take strlen of buf as len 2020-05-20 16:55:16 +02:00
Juliusz Sosinowicz
4a85bf8108 Additional OpenSSL compat layer stuff
- Add X509_get0_notBefore and X509_get0_notAfter
- Implement EVP_PKEY_get0_DSA and DSA_bits
- OpenSSL_version now prints "wolfSSL $VERSION"
- Remove define guards in `wolfSSL_internal_get_version` as all protocols are defined regardless in `wolfssl/internal.h`and this function just returns the string description of the protocol
2020-05-20 16:55:16 +02:00
JacobBarthelmeh
d09b947478 update for test case and sha3 2020-05-19 19:27:38 -06:00
JacobBarthelmeh
03ed495f84 free temporary buffer 2020-05-19 19:27:29 -06:00
JacobBarthelmeh
6a7a8fa5b7 updated RSA calls to Xilsecure 2020-05-19 19:27:21 -06:00
David Garske
2033be9aed Fixes for building against older STM32 CubeMX HAL. 2020-05-19 17:42:36 -07:00
David Garske
13e6462ea7 Fixes for build with STM32 Standard Periperal Library (StdPeriLib). 2020-05-19 17:42:36 -07:00
David Garske
99ebae9f7c Merge pull request #2985 from cconlon/iarwarn
fix minor IAR warnings in test.c
2020-05-19 16:42:47 -07:00
kaleb-himes
08c02b037c Fix building with openssl extra x509 small writes to heap without alloc 2020-05-19 17:12:36 -06:00
toddouska
0af4e76c40 Merge pull request #2978 from SparkiDev/curve448_cast
Curve448 - cast down
2020-05-19 15:55:32 -07:00
toddouska
7901f74d0b Merge pull request #2977 from SparkiDev/tlsx_ks_ecc_fix
KeyShare ECC shift index range check
2020-05-19 15:49:41 -07:00
toddouska
754c96965a Merge pull request #2974 from SparkiDev/tls13_enc_alert
If encryption setup, TLS 1.3 alerts encrypted
2020-05-19 15:48:54 -07:00
Chris Conlon
9efd9afdfb fix minor IAR warnings in test.c 2020-05-19 14:12:13 -06:00
toddouska
45def39c18 Merge pull request #2972 from ejohnstown/portability
Script Portability
2020-05-18 14:53:27 -07:00
John Safranek
ba9fd89314 Script Portability
1. The openssl interop test script should check that it should run before
doing anything else.
2. The process to create a random port number was using a non-portable
option to the head command. Changed to use the od tool reading from
/dev/random.
3. Ran into a sed that doesn't use the -i option, so changed it to cp its
own bak file and sed from that.
2020-05-18 09:04:41 -07:00
Sean Parkinson
adb3bdd26e Curve448 - cast down 2020-05-18 09:07:20 +10:00
Sean Parkinson
5b918f7ace KeyShare ECC shift index range check 2020-05-18 08:49:38 +10:00
toddouska
c4fee4ce38 Merge pull request #2969 from julek-wolfssl/fix-lut-cache
Fix LUT cache implementation
2020-05-15 15:15:18 -07:00
Jacob Barthelmeh
b615dbe9d5 add additional FP_ECC lock sanity check for case where wolfCrypt_Init is not called 2020-05-15 11:50:05 -06:00
toddouska
684654cd25 Merge pull request #2962 from tmael/fips_solaris
FIPS on Solaris
2020-05-15 10:15:09 -07:00
toddouska
bdddb00ebc Merge pull request #2973 from kaleb-himes/FIPS-OE6
for OE6 sp_arm32.c asm code is inlined in rsa.c and ecc.c
2020-05-14 10:55:54 -07:00
toddouska
91bfa31f70 Merge pull request #2968 from dgarske/stm32_hal_v2
Fixes for STM32 CubeMX HAL with AES GCM
2020-05-14 10:55:04 -07:00
toddouska
fbfb28d5ee Merge pull request #2926 from SparkiDev/tls13_failnocert
Fail when WOLFSSL_VERIFY_FAIL_IF_NO_PEER_CERT set in TLS1.3
2020-05-14 10:53:18 -07:00
Tesfa Mael
f894d4c0d2 FIPS on Solaris 2020-05-14 10:11:54 -07:00
Juliusz Sosinowicz
24634a02c9 Fix comment 2020-05-14 10:54:45 +02:00
toddouska
88b8ea04f6 Merge pull request #2971 from SparkiDev/sp_cortexm_comment
Fix SP Cortex-M ASM comments
2020-05-13 16:30:14 -07:00
toddouska
902e3a2d97 Merge pull request #2970 from SparkiDev/sp_arm32_divw
Fix div word in SP ARM32
2020-05-13 16:29:31 -07:00
toddouska
6f750c07b5 Merge pull request #2964 from SparkiDev/tls13down_tls12
Only check downgrade when TLS 1.2 and no flag set
2020-05-13 16:25:02 -07:00
JacobBarthelmeh
1876fe1c22 init FP mutex on wolfCrypt init 2020-05-13 13:59:35 -07:00
Sean Parkinson
0295b5ae3b If encryption setup, TLS 1.3 alerts encrypted 2020-05-13 16:14:47 +10:00
Sean Parkinson
57756bfa8d Remove unused 4096-bit functions 2020-05-13 10:23:05 +10:00
kaleb-himes
9a8fc94181 for OE6 sp_arm32.c asm code is inlined in rsa.c and ecc.c 2020-05-12 16:28:39 -06:00
David Garske
778b5dd9d5 Fixes for STM32 CubeMX HAL with AES GCM. Fix AES GCM authentication header size, which expects size as number of 32-bit values. Fix the authentication size round up logic. Fix to use software for authentication tag if authentication data size is not multiple of 4. Fix to ensure 32-bit aligned buffers are used. 2020-05-12 08:27:43 -07:00
Sean Parkinson
786e21b107 Fix SP Cortex-M ASM comments 2020-05-12 23:28:39 +10:00
Sean Parkinson
479b54e78e Fix div word in SP ARM32 2020-05-12 23:14:57 +10:00
Juliusz Sosinowicz
3d2cbdd3e8 Fix LUT cache implementation
- Make sure that the cache is actually set (and not just depend on the LRU_count)
- test_wolfSSL_EC should also be run without ECC_SHAMIR
2020-05-12 13:48:59 +02:00
toddouska
6c9a0e440e Merge pull request #2959 from dgarske/wpas_tiny
Added wpa_supplicant support with reduced code size option
2020-05-11 08:55:22 -07:00
Sean Parkinson
ed4899dd91 Only check downgrade when TLS 1.2 and no flag set
The flag, SSL_OP_NO_TLSv1_2, indicates not to negotiate TLS v1.2.
2020-05-11 13:18:50 +10:00
Sean Parkinson
7c98451f24 Merge pull request #2961 from kaleb-himes/WOLFSSL_EXAMPLES
Fix failing build for rsa_verify_only example
2020-05-11 09:31:31 +10:00
Hideki Miyazaki
5dfc36d32a added WOLFSSL_LEAVE for measuring peak memory script 2020-05-09 17:03:17 +09:00
JacobBarthelmeh
81dc0ac56f Merge pull request #2956 from tmael/hkdf
Check HKDF-Expand length of output <= 255*HashLen
2020-05-08 16:36:40 -06:00
kaleb-himes
82c86447e7 Fix failing build for rsa_verify_only example 2020-05-08 16:18:30 -06:00
David Garske
51b5f84d00 Merge pull request #2938 from JacobBarthelmeh/Xilinx
add Xilinx Vitis 2019.2 example and update README
2020-05-08 15:05:19 -07:00
David Garske
10aa8a4ffc Added support --enable-wpas=small for reduced code size when building against the WPA supplicant with EAP-TLS. This does not use OPENSSL_EXTRA, which helps reduce code size. 2020-05-08 13:38:26 -07:00
toddouska
6b930d996c Merge pull request #2958 from julek-wolfssl/ASN_IP_TYPE-without-openssl
Support IP alternative subject name without OpenSSL
2020-05-08 13:27:27 -07:00
toddouska
4a44b7b781 Merge pull request #2954 from SparkiDev/sp_rsa_pq_len
Only use SP for RSA private operations if P and Q half bits
2020-05-08 08:30:30 -07:00
Juliusz Sosinowicz
b5886e0e37 Add option --enable-ip-alt-name
This commit adds the configure option `--enable-ip-alt-name` that enables support for the IP alternative subject name parsing in `wolfcrypt/src/asn.c:DecodeAltNames`.
2020-05-08 13:20:24 +02:00
Tesfa Mael
b39e384cfd Review comment 2020-05-07 13:39:53 -07:00
toddouska
cb0fb88e44 Merge pull request #2955 from JacobBarthelmeh/Testing
fix for scep build without aes
2020-05-07 08:44:39 -07:00
toddouska
3ef7e588d2 Merge pull request #2932 from kaleb-himes/ZD10223
Fix building with one-side only tls13/dtls
2020-05-07 08:43:36 -07:00
David Garske
943f6c4447 Merge pull request #2957 from SparkiDev/sp_c_cr_fix
SP C: Fix array size for cache resistant modexp
2020-05-07 06:26:39 -07:00
Juliusz Sosinowicz
9e68de0fb7 Add test certs for ASN_IP_TYPE 2020-05-07 11:52:49 +02:00
Sean Parkinson
b331804c27 SP C: Fix array size for cache resistant modexp 2020-05-07 10:00:14 +10:00
Jacob Barthelmeh
6619db580d fix for scep build without aes 2020-05-06 16:58:54 -06:00
Tesfa Mael
2ab478f8fd Check length of output <= 255*HashLen 2020-05-06 15:47:39 -07:00
Sean Parkinson
c4af5db4b9 Only use SP for RSA private operations if P and Q half bits 2020-05-07 08:46:48 +10:00
JacobBarthelmeh
c962aa4181 add sprj file 2020-05-06 12:13:22 -07:00
toddouska
be3c39ed1c Merge pull request #2948 from JacobBarthelmeh/SanityChecks
update armv8 aes gcm sanity checks
2020-05-06 10:31:09 -07:00
Jacob Barthelmeh
3b6b59cea0 add 2019.2 Xilinx example and update README
fix to remove xml extension

add missing project file

update project

update dist include

rm prj files
2020-05-06 09:54:06 -06:00
toddouska
5e45767cc3 Merge pull request #2943 from JacobBarthelmeh/Testing
check on length of unwrap before memmove
2020-05-05 11:09:06 -07:00
Jacob Barthelmeh
0f6fef8384 update armv8 aes gcm sanity checks 2020-05-05 09:47:05 -06:00
Sean Parkinson
74040c62af Merge pull request #2944 from dgarske/sp_cacheres
Fixes for C32/C64 SP math with `WOLFSSL_SP_CACHE_RESISTANT`
2020-05-05 10:43:00 +10:00
Sean Parkinson
09bc460c2e Merge pull request #2946 from dgarske/gcc9
Fix for GCC9 warning
2020-05-05 10:29:56 +10:00
David Garske
8161dfe3aa Fix for GCC9 warning.
```
src/tls.c:201:13: note: in expansion of macro 'XSTRNCMP'
  201 |         if (XSTRNCMP((const char*)sender, (const char*)client, SIZEOF_SENDER) == 0)
      |             ^~~~~~~~
In file included from src/tls.c:33:
./wolfssl/internal.h:4312:19: note: referenced argument declared here
 4312 | static const byte client[SIZEOF_SENDER] = { 0x43, 0x4C, 0x4E, 0x54 };
      |                   ^~~~~~
```
2020-05-04 15:07:28 -07:00
David Garske
174b4d5159 Cleanup of SP with small stack. Expand support for WOLFSSL_SP_NO_MALLOC. Fix for evp.c when included directly. 2020-05-04 14:23:32 -07:00
Chris Conlon
df067b6781 Merge pull request #2919 from kaleb-himes/ZD10194
Fix for Freescale common examples that predated hardening warning
2020-05-04 13:43:07 -06:00
kaleb-himes
62d67c3da1 Don't need if not using TLS 1.2 2020-05-04 12:54:36 -06:00
toddouska
da01961254 Merge pull request #2939 from JacobBarthelmeh/SanityChecks
sanity check on PemToDer type
2020-05-04 11:26:33 -07:00
toddouska
d848495a66 Merge pull request #2937 from dgarske/wolfio_tcpcon_fd
Fix issue with failed TCP connect using invalid socket file descriptor
2020-05-04 11:22:54 -07:00
David Garske
8e0f5ef8ce Fixes for WOLFSSL_SP_CACHE_RESISTANT with small stack. 2020-05-04 11:22:12 -07:00
David Garske
c28ad38b16 Fix for cast issue caused by PR #2900. Applies to WOLFSSL_SP_CACHE_RESISTANT and c32/c64 versions only. 2020-05-04 10:49:59 -07:00
Jacob Barthelmeh
082e51d778 check on length of unwrap before memmove 2020-05-04 10:32:05 -06:00
Jacob Barthelmeh
9f735b4d6e sanity check on PemToDer type 2020-05-01 16:41:18 -06:00
toddouska
3944c8eb73 Merge pull request #2935 from ejohnstown/hush-tfm
Hush TFM Warnings
2020-05-01 08:26:42 -07:00
David Garske
31502ec3f9 Fix issue with failed TCP connect using invalid socket file descriptor on close. Fixes #2936 2020-05-01 07:32:00 -07:00
John Safranek
b6bd86d2b1 TFM Warnings
When building in VS, the MSC will complain about some constants getting
implicitly promoted to 64-bit. Added some type-casts to hush the warnings.
2020-04-30 19:43:18 -07:00
toddouska
f772bc8d9a Merge pull request #2923 from dgarske/pic32mz
Fixes for PIC32MZ crypto hardware cache and large hash
2020-04-30 16:22:13 -07:00
toddouska
df9dd3012f Merge pull request #2934 from SparkiDev/tls13_cookie_ks
TLS13: Prepend the SupportedVersions extension to list
2020-04-30 14:58:11 -07:00
toddouska
a1489d981c Merge pull request #2930 from JacobBarthelmeh/SanityChecks
check on tag length for AES-CCM
2020-04-30 14:51:20 -07:00
Sean Parkinson
7879d3762a TLS13: Prepend the SupportedVersions extension to list
Must have SupportedVersions at start of list for Cookie to be
constructed correctly.
Application can set the key share extension before handshake and
SupportedVersions will be added after. Extensions written in order of
adding to list.
Prepend SupportedVersions so that it will always appear in the correct
place so when reconstructing HelloRetryRequest, the extensions will
always be in the same order.
2020-04-30 08:46:23 +10:00
Jacob Barthelmeh
505fbed4df fix AES-CCM tag size check on decryption 2020-04-29 15:15:54 -06:00
toddouska
7e267546cb Merge pull request #2933 from SparkiDev/tls13_rsa8192
Allow TLS 1.3 CertificateVerify to handle 8192-bit RSA
2020-04-29 11:24:44 -07:00
Sean Parkinson
390f066028 Allow TLS 1.3 CertificateVerify to handle 8192-bit RSA 2020-04-29 12:37:41 +10:00
Sean Parkinson
e9b433a998 Merge pull request #2928 from julek-wolfssl/evp-aes-gcm-fix
Fix AES-GCM in EVP layer to have compatiblity with OpenSSL
2020-04-29 09:00:04 +10:00
Jacob Barthelmeh
b73e52f33f move AES-CCM tag check into a local function 2020-04-28 14:46:06 -06:00
kaleb-himes
951cb4aaf4 Fix building with one-side only tls13/dtls 2020-04-28 14:33:00 -06:00
toddouska
f770d28ff0 Merge pull request #2916 from dgarske/testfixes
Improvements to ECC key decode and tests
2020-04-28 09:57:44 -07:00
toddouska
a585e4115e Merge pull request #2927 from SparkiDev/tls13_ccs
In TLS 1.3, don't allow multiple ChangeCipherSpecs in a row
2020-04-28 09:52:46 -07:00
toddouska
cb6fc56f3b Merge pull request #2921 from dgarske/fixes_g++
Fixes for G++ and enable-all
2020-04-28 09:51:34 -07:00
Juliusz Sosinowicz
c02c408409 Only 80 characters a line 2020-04-28 12:38:02 +02:00
Sean Parkinson
a104caef13 Merge pull request #2929 from dgarske/sp_rsalowmem
Fix for SP math with `RSA_LOW_MEM` (ARM only)
2020-04-28 08:43:31 +10:00
Jacob Barthelmeh
c85a53c631 add macro guard for fips and selftest builds 2020-04-27 15:36:53 -06:00
David Garske
6185e0f477 Remove execute bit on files. 2020-04-27 11:16:02 -07:00
David Garske
327cdefc24 Fix for SP math with RSA_LOW_MEM, which was broken in PR #2892. 2020-04-27 08:59:54 -07:00
Juliusz Sosinowicz
01a6dded72 Fix AES-GCM in EVP layer to have compatiblity with OpenSSL
- Tag checking in AES-GCM is done in Final call
- Reset `WOLFSSL_EVP_CIPHER_CTX` structure after Final call
- Don't zero `ctx->authTag` struct in Init call so that user can get the AES-GCM tag using `EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_GET_TAG, AES_BLOCK_SIZE, tag)`
- `ctx->authTag` is only zeroed before authenticated, non-confidential data Update call since this means we are entering a new Udate-Final cycle. This doesn't need to be done in the decrypt case since the tag should be supplied by the user before the final call using `EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, AES_BLOCK_SIZE, tag)`
2020-04-27 15:52:01 +02:00
David Garske
1e726e19a4 Fix for XMALLOC cast. 2020-04-27 06:48:41 -07:00
Sean Parkinson
c153873337 Fail when WOLFSSL_VERIFY_FAIL_IF_NO_PEER_CERT set in TLS1.3 2020-04-27 16:17:03 +10:00
Sean Parkinson
df1b7f34f1 In TLS 1.3, don't allow multiple ChangeCipherSpecs in a row 2020-04-27 15:27:02 +10:00
David Garske
3c93a7b757 Fix Value stored to 'ret' is never read. 2020-04-24 11:31:12 -07:00
David Garske
a4caa42793 Improve the Base64 line size for NO_ASN case. Fix report of unread ret. 2020-04-24 11:26:55 -07:00
David Garske
589712f870 PIC32MZ Fix for cache coherency to enable write-through (no write allocation) to resolve descriptor corruption. ZD 10212. 2020-04-24 09:13:28 -07:00
David Garske
0f11369680 PIC32MZ Fix for WOLFSSL_PIC32MZ_LARGE_HASH: Only submit to hardware if update data provided matches expected. ZD 10211. 2020-04-24 09:01:51 -07:00
David Garske
cfc0aeb857 Fix for RSA and KeyGen only in test.c. 2020-04-24 08:56:31 -07:00
David Garske
41fc208195 Fixes for isHMAC checks. 2020-04-24 08:51:56 -07:00
David Garske
5fa7bb5b9f Fix possible unused args. 2020-04-24 07:48:41 -07:00
David Garske
6d025f8c0f Refactor of the EVP macType to use enum wc_HashType to resolve issues with invalid casting. 2020-04-24 07:43:44 -07:00
TakayukiMatsuo
922ab1e944 Merge remote-tracking branch 'upstream/master' into branch-1 2020-04-24 18:00:29 +09:00
TakayukiMatsuo
bcc408442b Added test cases for wc_curve25519_key_export_xx 2020-04-24 17:50:17 +09:00
David Garske
28b686a8ca * Exposed useful sizes MAX_X509_HEADER_SZ and PEM_LINE_SZ
* Refactor the PEM saving code in `test.c`, so its not using large 4K buffer and calculates based on DER.
* Enable ECC key generation test even without `WOLFSSL_KEY_GEN`.
* Added `ECC_KEYGEN_SIZE` macro for ECC key generation testing.
* Refactor ECC DER key generation to use `ECC_BUFSIZE`.
2020-04-23 16:11:54 -07:00
David Garske
81f959336b Added support for important private key DER using wc_EccPublicKeyDecode. Added ECC key generation and decode test case. 2020-04-23 16:07:43 -07:00
David Garske
b07dfa425d Fixes for ./configure CC="g++" --enable-all && make. Resolves issues with implicit casts and use of reserved template keyword. 2020-04-23 15:26:04 -07:00
David Garske
5376763638 Merge pull request #2913 from SparkiDev/sp_cortexm4_ecc
Improve performance of SP Cortex M asm
2020-04-23 09:47:05 -07:00
toddouska
7318121d3a Merge pull request #2915 from dgarske/async_v4.4.0
Fixes for async release v4.4.0
2020-04-23 09:26:08 -07:00
toddouska
54aa50e628 Merge pull request #2912 from SparkiDev/sp_movbe
Only use Intel instruction movbe when available
2020-04-23 09:25:02 -07:00
David Garske
6132176715 Merge pull request #2917 from ejohnstown/postrelease
Minor wolfCrypt Test Fixes
2020-04-23 07:16:07 -07:00
Sean Parkinson
7a0cbe084e Improve performance of SP Cortex M asm 2020-04-23 11:05:42 +10:00
John Safranek
a064cb3943 Fix a couple of wolfCrypt test issues found during the long release build test. 2020-04-22 11:30:57 -07:00
toddouska
e116c89a58 Merge pull request #2906 from ejohnstown/release-rollup
Release Rollup
2020-04-22 10:43:44 -07:00
David Garske
4592e0ec95 Fix for use of incorrect devId for wolfSSL_SHA3_256_Init. 2020-04-22 10:16:20 -07:00
David Garske
88d04e5eeb Fix for NULL == NULL test case in test_wolfSSL_EC_get_builtin_curves. 2020-04-22 10:15:52 -07:00
David Garske
36a556f927 Resolve issues with the openssl compatibility CRYPTO_malloc and CRYPTO_free. 2020-04-22 10:15:16 -07:00
kaleb-himes
12e4718c67 Fix for Freescale common examples that predated hardening warning 2020-04-22 11:06:36 -06:00
John Safranek
83152c767f touch dates 2020-04-21 10:50:59 -07:00
John Safranek
bf680b4a92 Fix for QAT with Shake256. Fix for XFREE missing semicolon. 2020-04-21 10:38:27 -07:00
John Safranek
7b6cc2056b Update release date in readme and changelog. 2020-04-21 10:21:59 -07:00
John Safranek
ccd096e1bb Memory Leak Fix
1. In `wolfSSL_d2i_DHparams()`, when setting the internal key on a
   WOLFSSL_KEY, set the flag inSet.
2. Not a leak, but in `wolfSSL_EVP_PKEY_set1_DH()`, only allocate one
   buffer to store the flat key. Saves an alloc, memcpy, and free.
2020-04-21 10:21:59 -07:00
John Safranek
61f3783111 Fixes to test.c for the following build configurations:
1. ./configure --disable-rsa --enable-certgen --enable-certreq
2. ./configure --disable-ecc --enable-pkcs7
2020-04-21 10:21:59 -07:00
John Safranek
c134626946 Update credit names on vuln notice in README. 2020-04-21 10:21:59 -07:00
John Safranek
087675e31e Update the RPM build spec. 2020-04-21 10:21:59 -07:00
John Safranek
4331b7df18 Update the VS library build resource. 2020-04-21 10:21:58 -07:00
John Safranek
bf4f50ab93 Add Azure Sphere file missing from release. 2020-04-21 10:21:58 -07:00
John Safranek
a29eac035b Update credit for vulnerability report. 2020-04-21 10:21:58 -07:00
John Safranek
836e77508d Remove notes for reverted DTLS commits. 2020-04-21 10:21:58 -07:00
John Safranek
7cbf496329 Encrypt key requirements check
The file wc_encrypt.c offers a function named wc_CryptKey(), which
requires PWDBASED and ASN. Added the check for ASN.
2020-04-21 10:21:58 -07:00
John Safranek
e84cd1a887 Updated the README file and ChangeLog for some spelling and omissions. 2020-04-21 10:21:58 -07:00
John Safranek
27011ff7ff Release Rollup
1. Update configure with the new version.
2. Update the ChangeLog.
3. Update the readme.
2020-04-21 10:21:53 -07:00
Jacob Barthelmeh
231c488ddf check on tag length for AES-CCM 2020-04-20 13:44:41 -06:00
JacobBarthelmeh
0cfde0794b Merge pull request #2848 from julek-wolfssl/wpa-supplicant-openssl-compat
Added partial support for wpa_supplicant, hostapd, and cjose:
2020-04-20 12:17:55 -06:00
Sean Parkinson
75c14e4c8e Only use Intel instruction movbe when available 2020-04-20 09:09:45 +10:00
John Safranek
f87f09fcd7 Merge pull request #2910 from embhorn/zd10169
Fix forbidden iv length 0 with AES-GCM
2020-04-16 16:01:03 -07:00
Stanislav Klima
8112c81fc5 Added missing NO_CERTS check. 2020-04-16 23:30:11 +02:00
Eric Blankenhorn
6b3642db36 Fix forbidden iv length 0 with AES-GCM 2020-04-16 13:48:56 -05:00
toddouska
75deec250c Merge pull request #2908 from ejohnstown/dtls-revert
DTLS Revert
2020-04-16 09:58:48 -07:00
toddouska
9918ee8b68 Merge pull request #2907 from SparkiDev/sp_arm64_reg
SP ARM64 - use fewer registers in mont_reduces
2020-04-16 09:58:07 -07:00
Juliusz Sosinowicz
dd68074104 Fix merge issues 2020-04-16 10:09:15 +02:00
Stanislav Klima
eab451339c Fixed dereference after null check. 2020-04-16 09:52:02 +02:00
Stanislav Klima
83044d7560 Fixed dereference after null check. 2020-04-16 09:46:15 +02:00
John Safranek
40ea386509 Revert "DTLS Fix"
This reverts commit 04dcb8f774.
2020-04-15 21:33:33 -07:00
John Safranek
78a9185d0b Revert "DTLS Fuzz Fix"
This reverts commit 70d03f3ba0.
2020-04-15 21:33:27 -07:00
Sean Parkinson
da5d9a923b SP ARM64 - use fewer registers in mont_reduces 2020-04-16 09:20:04 +10:00
Juliusz Sosinowicz
36403c1dad Merge remote-tracking branch 'wolfSSL/master' into wpa-supplicant-openssl-compat 2020-04-15 16:55:03 +02:00
Stanislav Klima
314ff1137b Fixed resource leak. 2020-04-15 16:29:11 +02:00
Stanislav Klima
68a2e03bd4 Fixed resource leak. 2020-04-15 16:27:34 +02:00
Stanislav Klima
1a80975d9e Fixed resource leaks. 2020-04-15 15:47:32 +02:00
Stanislav Klima
e19334266e This function is required by HAVE_PK_CALLBACKS option and it's used by server as well. 2020-04-15 14:43:12 +02:00
Stanislav Klima
74893edaf0 Fix of size constraint for parsing. 2020-04-15 14:36:36 +02:00
Juliusz Sosinowicz
1d3fd5cd07 Code review
- make `wc_ecc_export_point_der_compressed` a local function
- use `int` for `shortKeySize` in `wc_ecc_import_point_der_ex`
- check for null return value from `wolfSSL_OBJ_nid2obj` and `wolfSSL_d2i_PUBKEY`
- add comments to `ssl.c`
- check `lnlen` in `wolfSSL_OBJ_ln2nid`
2020-04-15 12:53:38 +02:00
toddouska
ebb490204a Merge pull request #2898 from embhorn/zd9856
Fix EVP API to return NID types / SHA3 for RSA sign
2020-04-14 16:09:00 -07:00
toddouska
f97a56b9ce Merge pull request #2905 from ejohnstown/dtls-fuzz
DTLS Fuzz Fix
2020-04-14 14:19:09 -07:00
Eric Blankenhorn
d9472b895f Fix conflicts after rebase 2020-04-14 15:24:52 -05:00
Eric Blankenhorn
19ca00bcd4 Adding support for SHA3 in wolfSSL_RSA_sign_ex 2020-04-14 14:31:00 -05:00
Eric Blankenhorn
1487917214 Fix EVP_MD_CTX_type to return NID 2020-04-14 14:27:21 -05:00
Eric Blankenhorn
be437c0bd2 Fix EVP API to use NID instead of WC_ types 2020-04-14 12:47:10 -05:00
John Safranek
70d03f3ba0 DTLS Fuzz Fix
Only save a next epoch message if it is in the next epoch, not any future epoch.
2020-04-14 10:13:37 -07:00
toddouska
9c1b90170a Merge pull request #2903 from SparkiDev/test_4096
Fix testing using 4096 bits keys and parameters
2020-04-14 09:25:00 -07:00
toddouska
06c6e583c8 Merge pull request #2891 from julek-wolfssl/refactor-evp-functions
Move EVP functions to evp.c
2020-04-14 09:22:51 -07:00
toddouska
a2892f66c0 Merge pull request #2889 from JacobBarthelmeh/SanityChecks
sanity check on input length before secure renegotiation compare
2020-04-14 09:21:29 -07:00
David Garske
b6d6b1db77 Added new DH 4096-bit key to gencertbuf.pl. 2020-04-14 07:11:07 -07:00
Juliusz Sosinowicz
dad0bc0159 Keep compatibility with old OPENSSL_EXTRA_X509_SMALL functions 2020-04-14 12:52:23 +02:00
Juliusz Sosinowicz
0b3a331265 Revert wc_OBJ_sn2nid 2020-04-14 11:48:14 +02:00
Juliusz Sosinowicz
0ded4d4ccb wolfSSL_RSA_*_PKCS1_PSS rewrite 2020-04-14 11:48:14 +02:00
Juliusz Sosinowicz
89f7a51838 Add option to enable DPP support in wpa_supplicant (note DPP not yet supported as of this commit) 2020-04-14 11:48:14 +02:00
Juliusz Sosinowicz
20e669a65a New API
Add `wc_ecc_import_point_der_ex` for correct importing DER ECC point and keep `wc_ecc_import_point_der` old functionality
2020-04-14 11:48:14 +02:00
Juliusz Sosinowicz
dbe4e778d3 Test fixes
- Add `parameter` to `WOLFSSL_X509_ALGOR`
- Implement `wolfSSL_ASN1_TYPE_new`, `wolfSSL_ASN1_TYPE_free`, and `wolfSSL_ASN1_TYPE_set`
- Fix leak where `pval` in `wolfSSL_X509_ALGOR_set0` was lost if `aobj` was provided
2020-04-14 11:48:14 +02:00
Juliusz Sosinowicz
18093a6b0b Code review changes
- Don't include `ENABLED_OPENSSLALL` with `ENABLED_WPAS`
- Return length in `wolfSSL_i2d_DHparams`
- Implement `wolfSSL_EC_POINT_mul` with independent multiplication and addition if `ECC_SHAMIR` not defined
- Implment `ASN1_SIMPLE` without `offsetof` by using a dummy struct
- Style fixes
2020-04-14 11:48:14 +02:00
Juliusz Sosinowicz
9722082372 Fix nid2* and *2nid functions 2020-04-14 11:48:14 +02:00
Juliusz Sosinowicz
eb549f7095 Test fixes 2020-04-14 11:45:32 +02:00
Juliusz Sosinowicz
ef5eefac91 Test fixes 2020-04-14 11:45:32 +02:00
Juliusz Sosinowicz
b4d9007a48 Test fixes
Config fixes
Fix windows FIPS
2020-04-14 11:45:32 +02:00
Juliusz Sosinowicz
680a481e61 Test fixes
Remove redundant macros
2020-04-14 11:45:32 +02:00
Juliusz Sosinowicz
9ced70edc1 Test fixes
Free `x509->key.pkey` in `FreeX509
Fix type conversions
Fix memory leaks and use of uninitialized memory
2020-04-14 11:45:32 +02:00
Juliusz Sosinowicz
73b4d78d5b Added partial support for wpa_supplicant, hostapd, and cjose:
- Moved `SetECKeyInternal` and `SetECKeyExternal` to `internal.h` to allow usage outside of `ssl.c`
- Added `asn1t.h`
- Implemented the `IMPLEMENT_ASN1_FUNCTIONS` macro for a small subset of ASN1 tags
-- So far only `X509_ALGOR` and `ASN1_BIT_STRING` are supported
- Implemented `BN_mod_add` function
- Allow for setting of `EC_KEY` export form through EC_KEY_set_conv_form
- Implemented `i2o_ECPublicKey`
- Implemented `EC_POINT_copy`
- Implemented deriving DH and ECDH keys in `EVP_PKEY_CTX`. Functions added:
-- `EVP_PKEY_derive_init`
-- `EVP_PKEY_derive_set_peer`
-- `EVP_PKEY_derive`
- Implemented `EVP_PKEY_get0_DH`
- Implemented `X509_ALGOR_new`
- Implemented `X509_ALGOR_free`
- Implemented `X509_ALGOR_set0`
- Implemented `X509_PUBKEY_new`
- Implemented `X509_PUBKEY_free`
- Implemented `X509_PUBKEY_set`
- Implemented `RSA_padding_add_PKCS1_PSS`
- Implemented `RSA_verify_PKCS1_PSS`
- Changed second parameter of `wolfSSL_d2i_PUBKEY` to be constant
- Corrected long names in `asn.h`
- Added `wc_ecc_get_generator` as a way to get the generator point of a curve
- Added `wc_ecc_export_point_der_ex` to export an ECC point in compressed or uncompressed format with one API
- Added `wc_ecc_export_point_der_compressed` to export a point in an `ecc_point` structure in compressed DER format
- Added 'wc_RsaSSL_Verify_ex` which adds the option to choose a padding type
- Added `wc_RsaPad_ex` and `wc_RsaUnPad_ex` to `rsa.h` as `WOLFSSL_LOCAL` functions
- `CopyDecodedToX509` now fills `x509->key` and `x509->algor` when populating x509
- `wolfSSL_EVP_CipherInit` now uses `wc_AesGcmSetExtIV` to set the IV so that it is copied to `ctx->iv` by `wolfSSL_StoreExternalIV`
- Added error checking to `wolfSSL_EVP_PKEY_get_der`
- `wolfSSL_X509_ALGOR_get0` now attempts to return something in all parameters
- Refactored `wolfSSL_EC_KEY_new` to use `*_new` functions when available
- Added `setupPoint` to set the internal point if not yet set
- Always set external point in `wolfSSL_ECPoint_d2i`
- Added compressed point support to `wolfSSL_EC_POINT_point2oct`
- Fix `wolfSSL_EC_POINT_mul` so that it will calculate the full `generator * n + q * m` then OpenSSL does
- Added `WOLFSSL_RSA_GetRNG` helper function to get a `WC_RNG` from `WOLFSSL_RSA`
- Correct short names in `wolfssl_object_info`
- Added all currently supported curves to `wolfssl_object_info`
- Added `oidCurveType` to `oid2nid`
- Add more padding types to `wolfSSL_RSA_public_decrypt`
- Fix `keysize` in `wc_ecc_import_point_der`
- Added tests for new additions
2020-04-14 11:45:32 +02:00
Sean Parkinson
ba401c9bde Fix testing using 4096 bits keys and parameters
RSA PKCS #1.5 padding for signing is not reliant on a random.
2020-04-14 12:03:51 +10:00
Sean Parkinson
416f0775d3 Merge pull request #2900 from dgarske/sp_no_malloc
Added option to build SP small without malloc
2020-04-14 09:40:11 +10:00
toddouska
3cb0c600ba Merge pull request #2894 from SparkiDev/ecc_cr_fix
Change constant time and cache resistant ECC mulmod
2020-04-13 16:36:22 -07:00
JacobBarthelmeh
f309173518 Merge pull request #2899 from embhorn/zd9564
Adding check for invalid SAN ext with no entries
2020-04-13 15:31:06 -06:00
toddouska
ee0289bea6 Merge pull request #2825 from julek-wolfssl/self-include-options
OpenVPN changes
2020-04-13 13:11:18 -07:00
toddouska
aadec345ab Merge pull request #2871 from vaintroub/master
Fix clang warnings (issue #2870)
2020-04-13 09:02:51 -07:00
David Garske
1f5a7bffaa Build fixes for WOLFSSL_NO_MALLOC in wolfCrypt test. 2020-04-13 07:39:06 -07:00
David Garske
b01ce168ea Fixes for SP small with no malloc in sp_256_ecc_mulmod_10 and sp_384_ecc_mulmod_15. 2020-04-13 07:19:06 -07:00
toddouska
4748254b60 Merge pull request #2896 from embhorn/zd9916
Fix wc_KeyPemToDer with PKCS1 and empty key
2020-04-10 15:38:07 -07:00
David Garske
d412ccb6f8 Added new option WOLFSSL_SP_NO_MALLOC for building small SP without malloc. Added SP documentation. Added ./configure --enable-sp=yes,nomalloc supprt. https://github.com/wolfSSL/scripts/pull/79 2020-04-10 11:13:55 -07:00
Eric Blankenhorn
8644fdca7d Update from review 2020-04-10 08:29:31 -05:00
Sean Parkinson
ffd06e359f Change constant time and cache resistant ECC mulmod
Ensure points being operated on change to make constant time.
2020-04-10 09:28:20 +10:00
toddouska
0a40bbe2a9 Merge pull request #2897 from ejohnstown/omit-omit
Omit -fomit-frame-pointer from CFLAGS
2020-04-09 16:01:34 -07:00
toddouska
cf8459e518 Merge pull request #2892 from SparkiDev/cppcheck_fixes_4
Fixes from cppcheck
2020-04-09 16:01:11 -07:00
Eric Blankenhorn
7d82c4e3f2 Adding check for invalid SAN ext with no entries 2020-04-09 16:49:52 -05:00
Eric Blankenhorn
c3e0575914 Fix from review 2020-04-09 12:52:32 -05:00
Juliusz Sosinowicz
f6b9b2e0eb Remove redundant guards 2020-04-09 18:26:23 +02:00
toddouska
2bf9dc4037 Merge pull request #2895 from dgarske/qat_tls13
Fix for asynchronous TLS v1.3 issue
2020-04-09 09:25:36 -07:00
Juliusz Sosinowicz
9cbbd164e0 Fix test errors 2020-04-09 14:54:09 +02:00
Sean Parkinson
6621465433 Merge pull request #2890 from JacobBarthelmeh/Testing
set ChaCha counter state for TLS 1.3 AEAD
2020-04-09 10:28:50 +10:00
John Safranek
7a6de91296 Omit -fomit-frame-pointer from CFLAGS. 2020-04-08 14:06:11 -07:00
Eric Blankenhorn
4d6e33b1dd Fix wc_KeyPemToDer with PKCS1 and empty key 2020-04-08 11:34:24 -05:00
toddouska
97d798743a Merge pull request #2893 from SparkiDev/tls13_capable_fix
Another place where TLS 1.3 capable check is required
2020-04-08 09:09:19 -07:00
David Garske
5e5af8e93a Fix for asynchronous TLS v1.3 issue where connect or accept state is incorrectly advanced when there is data to queued to send. 2020-04-08 07:26:21 -07:00
Sean Parkinson
7001599782 Another place where TLS 1.3 capable check is required 2020-04-08 11:36:47 +10:00
Sean Parkinson
411aee6e05 Fixes from cppcheck
Added PRIVATE_D version of rsa private key operation for SP
implementation for specific platforms.
WC_NO_RNG results in warnings when RNG calls don't do anything.
Added ifdef checks for variables not used otherwise.
Remove superfluous if statements like when checking ret == 0.
Change names of globals that are generic and are used locally before
global definition.
Remove definition of variable len that isn't used except as a
replacement for sz which is parameter.
Don't subtract two variables when one has just been assigned the value
of the other.
Fix shifting of signed value.
Fix parameter checking in aes.c and des3.c for platform specific code.
2020-04-08 09:46:22 +10:00
toddouska
9e08efe8e0 Merge pull request #2885 from SparkiDev/sp_x64_ecc_tweak
Tweak the SP x86_64 ECC assembly
2020-04-07 14:27:12 -07:00
toddouska
6e8d3f224d Merge pull request #2888 from SparkiDev/tls13_down_rand
Fix downgrade fixed random to match spec
2020-04-07 14:22:07 -07:00
toddouska
690b546260 Merge pull request #2887 from dgarske/nodir
Fix for building with `NO_WOLFSSL_DIR`
2020-04-07 14:14:34 -07:00
toddouska
b6f98a3cde Merge pull request #2886 from kaleb-himes/ZD10106
Avoid leak when HAVE_AESGCM and NO_AES_DECRYPT. Thanks to G.G. on ZD …
2020-04-07 14:13:43 -07:00
Juliusz Sosinowicz
4c0ea10e45 Move EVP functions to evp.c 2020-04-07 22:36:50 +02:00
toddouska
ebcf86070d Merge pull request #2883 from miyazakh/esp_aescounter
add aes counter on esp32
2020-04-07 13:24:53 -07:00
toddouska
77b75ef3a2 Merge pull request #2881 from dgarske/ecc_asn
Fixes for building ECC without ASN
2020-04-07 13:09:37 -07:00
toddouska
dec111722f Merge pull request #2880 from SparkiDev/tls_csr_ext_empty
GNU TLS server sends empty CSR extension
2020-04-07 13:08:21 -07:00
toddouska
c002df4cce Merge pull request #2879 from ejohnstown/dtls-fix
DTLS Fix
2020-04-07 13:07:30 -07:00
toddouska
154dd552e9 Merge pull request #2877 from SparkiDev/tls_hmac_trunc
Allow use of truncated HMAC with TLS_hmac checking
2020-04-07 13:06:36 -07:00
toddouska
65cf5a0d46 Merge pull request #2802 from embhorn/zd9764
Fix for bidirectional shutdown
2020-04-07 13:03:54 -07:00
toddouska
f742693062 Merge pull request #2867 from SparkiDev/aes-ccm-aesni
For CCM using AES-NI, do 4 blocks at a time if possible
2020-04-07 13:03:23 -07:00
toddouska
4a4f383485 Merge pull request #2842 from julek-wolfssl/set_curve_groups_list
Check length to avoid XSTRNCMP accessing  memory after `list`
2020-04-07 13:02:18 -07:00
Jacob Barthelmeh
bf332b459b set ChaCha counter state for TLS 1.3 AEAD 2020-04-07 10:36:23 -06:00
Jacob Barthelmeh
1ce0268477 sanity check on input length before secure renegotiation compare 2020-04-07 10:10:03 -06:00
Sean Parkinson
e6affa386f Fix downgrade fixed random to match spec 2020-04-07 09:42:08 +10:00
David Garske
31ea4b388c Fix for building with NO_WOLFSSL_DIR when compatibility layer is enabled. ZD 10117. 2020-04-06 10:33:16 -07:00
kaleb-himes
4ec0591e45 Avoid leak when HAVE_AESGCM and NO_AES_DECRYPT. Thanks to G.G. on ZD #10106 for the report 2020-04-06 09:43:24 -06:00
Juliusz Sosinowicz
06f23223e4 Allow wolfSSL to include options.h with EXTERNAL_OPTS_OPENVPN header 2020-04-06 15:06:15 +02:00
Sean Parkinson
9c67bc2864 For CCM using AES-NI, do 4 blocks at a time if possible 2020-04-06 11:11:28 +10:00
Sean Parkinson
7dad0d3965 Tweak the SP x86_64 ECC assembly
Put back fixes undone in previous commits:
 - Fix casting warning in SP when mp_digit < sp_digit
 - SP fix check for NULL in EC point_new
2020-04-06 11:02:30 +10:00
Hideki Miyazaki
302e1d6818 add aes counter on esp32 2020-04-04 14:04:44 +09:00
David Garske
1831193c20 * Fixes for building ECC without ASN.
* Fix to expose `wc_ecc_import_private_key_ex` and its ability to import a private key even when `NO_ASN` is defined.
* Remove execute bit on CSharp files.
2020-04-03 10:55:31 -07:00
Sean Parkinson
c0dc3091e1 GNU TLS server sends empty CSR extension 2020-04-03 16:03:41 +10:00
toddouska
9a1687d00e Merge pull request #2836 from dgarske/fips_ld
Example for FIPS Linker Descriptor (.ld)
2020-04-02 14:28:30 -07:00
toddouska
8128a269f3 Merge pull request #2876 from SparkiDev/sp_arm64
Improve speed of AArch64 assembly
2020-04-02 14:26:48 -07:00
Juliusz Sosinowicz
48e40fac2b OpenVPN changes
Include <wolfssl/options.h> in settings.h for OpenVPN
Additional API fixes
2020-04-02 20:23:13 +02:00
toddouska
6126aca387 Merge pull request #2874 from SparkiDev/tls13_cert_hash
When picking hash alg for ECC certs use key size
2020-04-02 09:52:10 -07:00
toddouska
86adb7f9c5 Merge pull request #2873 from SparkiDev/aes_small
Smaller table version of the AES encrypt/decrypt
2020-04-02 09:50:58 -07:00
toddouska
5df5ab5931 Merge pull request #2862 from dgarske/iar_ropi
Support for IAR with position independent code (ROPI)
2020-04-02 09:49:00 -07:00
toddouska
06442c410d Merge pull request #2861 from dgarske/zynqmp
Fixes for Xilinx SDK and Zynq UltraScale+ MPSoC
2020-04-02 09:46:48 -07:00
Juliusz Sosinowicz
b1a80973dd size_t -> int 2020-04-02 18:45:53 +02:00
Sean Parkinson
c48ea3f567 When picking hash alg for ECC certs use key size 2020-04-02 11:53:35 +10:00
John Safranek
04dcb8f774 DTLS Fix
If the finished message (well, next epoch handshake message) is received,
store it. Process it after a change cipher spec message.
2020-04-01 17:17:51 -07:00
Sean Parkinson
e23a6b46b0 Allow use of truncated HMAC with TLS_hmac checking 2020-04-02 08:52:40 +10:00
Eric Blankenhorn
b1ec15de3e Only try shutdown once in example 2020-04-01 17:48:17 -05:00
Eric Blankenhorn
3f7ce61dbd Updates from review 2020-04-01 11:14:25 -05:00
Sean Parkinson
df1819b79f Improve speed of AArch64 assembly
Improve point_dbl and point_dbl_n for all platforms.
2020-04-01 15:06:50 +10:00
David Garske
47d1cb8415 Changes to support IAR with position independent code (ROPI). Updated example wolfSSL IAR project to use "ropi" (Position indipendance for code and read-only data). 2020-03-31 08:17:09 -07:00
Martin Akman
568ce62b81 Updates from code review 2020-03-31 18:29:06 +10:00
David Garske
3bd52b166b Merge pull request #2863 from miyazakh/dtls_benchmark
added dtls benchmark
2020-03-27 12:06:06 -07:00
Sean Parkinson
9339808ea1 Smaller table version of the AES encrypt/decrypt
Use WOLFSSL_AES_SMALL_TABLES.
Much slower. Decrypt much slower then encrypt.
2020-03-27 15:53:01 +10:00
Hideki Miyazaki
99b9f46e58 fixed not working on mac
fixed case of -s or -c
2020-03-27 12:33:51 +09:00
toddouska
ddb4b5eb89 Merge pull request #2872 from SparkiDev/rsa_pub_fix
Fix performance of RSA public key ops with TFM
2020-03-26 11:56:23 -07:00
toddouska
16fa1a4747 Merge pull request #2855 from JacobBarthelmeh/PKCS12
maintenance to PKCS12 create for outputting encrypted bundles
2020-03-26 10:41:04 -07:00
JacobBarthelmeh
1bc2ecff6a Merge pull request #2849 from dgarske/csharp_wrapper
CSharp wrapper improvements
2020-03-26 09:10:24 -06:00
Sean Parkinson
c82531a41a Fix performance of RSA public key ops with TFM
Have a constant and non-constant time modular exponentation available in
tfm.c.
Call the non-constant time version explicitly when performing RSA public
key mod exp.
2020-03-26 17:33:07 +10:00
David Garske
a6034a38c7 Fix for building with WOLFSSL_SMALL_STACK_CACHE only (no WOLFSSL_SMALL_STACK). 2020-03-25 16:04:45 -07:00
Vladislav Vaintroub
d57d194de3 Fix clang warnings (issue #2870)
The warning was "comparison of array 'ecc_sets[i].name' not equal to a null
pointer is always true [-Wtautological-pointer-compare]"

Compiler is correct, ecc_sets[i].name  is an array of size 16, thus
can't be NULL

Also, fix build error on Windows by changing uint8_t to "unsigned char"
(alternative fix could be including stdint.h)
2020-03-25 23:07:12 +01:00
David Garske
3717982d47 Fix to build wolfssl/testsuite in Any CPU case. 2020-03-25 14:53:58 -07:00
David Garske
70773f3b3e Added "WOLFSSL_ARMASM" ifdef checks on ARMv8 port files. 2020-03-25 12:54:40 -07:00
toddouska
93fd1b1eeb Merge pull request #2869 from JacobBarthelmeh/Testing
add single quotes around -? in test scripts
2020-03-25 11:03:19 -07:00
toddouska
083b8f680f Merge pull request #2868 from JacobBarthelmeh/Certs
refactor decrypt content with PKCS12 and fix for AES-256 + HMAC SHA25…
2020-03-25 11:02:34 -07:00
Jacob Barthelmeh
2116c20f5d add test case for PKCS12 to DER and back 2020-03-25 10:38:18 -06:00
David Garske
469de9a580 Fix for CSharp solution to eliminate Debug/Release. Only DLL Debug and DLL Release should be available. 2020-03-25 08:57:58 -07:00
Jacob Barthelmeh
0a6b93fda2 add single quotes around -? in test scripts 2020-03-24 22:40:48 -06:00
Jacob Barthelmeh
59ab600d76 refactor decrypt content with PKCS12 and fix for AES-256 + HMAC SHA256 case 2020-03-24 22:23:44 -06:00
Hideki Miyazaki
9fac21f463 replace the size at bench_embedded 2020-03-25 08:09:42 +09:00
toddouska
26f539400a Merge pull request #2866 from SparkiDev/curve448_gcc_bug
Curve448 - 128-bit impl workaround for compiler
2020-03-24 09:55:43 -07:00
toddouska
e66334e56b Merge pull request #2865 from SparkiDev/sp_cast_fix
Fix casting warning in SP when mp_digit < sp_digit
2020-03-24 09:52:26 -07:00
toddouska
b92e5d83c5 Merge pull request #2864 from JacobBarthelmeh/ARMv8
Fix for clang warning with ARM assembly build
2020-03-24 09:51:11 -07:00
Hideki Miyazaki
75eca61b3e address review comments 2020-03-24 20:35:21 +09:00
Sean Parkinson
c95e7f88aa Curve448 - 128-bit impl workaround for compiler
Old gcc compilers can keep track of the 128-bit multiplication and left
shift results' size.
Split all multiplication and left shift results into separate variables.
Add/subtract into the correct variable at end.
Don't want variable declarations after statements so reduce doesn't use
'tr' anymore.
2020-03-24 16:28:14 +10:00
Sean Parkinson
a7d265bf46 Fix casting warning in SP when mp_digit < sp_digit 2020-03-24 12:41:25 +10:00
David Garske
7fabd74a90 Merge pull request #2859 from SparkiDev/tfm_ec_invmod_ct
Constant time EC map to affine for private operations
2020-03-23 19:16:45 -07:00
Jacob Barthelmeh
dde1c3bc08 Fix for clang warning with ARM assembly build 2020-03-23 15:08:28 -06:00
David Garske
5c424769a0 Added DH and Curve/Ed25519. 2020-03-23 09:08:45 -07:00
Hideki Miyazaki
7d4b4e4994 added dtls benchmark 2020-03-22 17:56:28 +09:00
David Garske
a8f2c97e13 Added CSharp example for multi-threaded TLS server. Refactor to separate the ssl and ctx handles. 2020-03-20 16:10:19 -07:00
David Garske
97f08393e2 Added wolfCrypt Xilinx SDK project. Fix for stsafe.h inclusion of ssl.h with WOLFCRYPT_ONLY. 2020-03-20 14:40:17 -07:00
David Garske
2706d6d48a Improve the benchmark to use snprintf then printf. Resolve issue showing results with xil_printf. 2020-03-20 12:34:08 -07:00
David Garske
3127a7e9e5 Fixes for building with bare-metal on Xilinx SDK with zynqmp. Added Zynqmp benchmark timer support. 2020-03-20 12:22:47 -07:00
toddouska
9b8752e314 Merge pull request #2858 from SparkiDev/netscape_cert_ext
Recognise Netscape Certificate Type extension
2020-03-19 16:33:25 -07:00
toddouska
0c3667ba93 Merge pull request #2857 from SparkiDev/sp_null_check
SP fix check for NULL in EC point_new
2020-03-19 16:30:59 -07:00
toddouska
33b95b8ad7 Merge pull request #2854 from JacobBarthelmeh/Certs
add +1 for string null terminator
2020-03-19 16:24:42 -07:00
toddouska
49f01450de Merge pull request #2853 from SparkiDev/dtls_mtu
Allow setting of MTU in DTLS
2020-03-19 16:23:39 -07:00
toddouska
f4a8430115 Merge pull request #2851 from JacobBarthelmeh/SanityChecks
add space for null terminator and check on header pointer
2020-03-19 16:00:57 -07:00
Sean Parkinson
1de07da61f Constant time EC map to affine for private operations
For fast math, use a constant time modular inverse when mapping to
affine when operation involves a private key - key gen, calc shared
secret, sign.
2020-03-20 08:59:41 +10:00
Jacob Barthelmeh
ce6aeebdb4 fixes for static analysis checks 2020-03-19 16:34:02 -06:00
Sean Parkinson
62a593e72e Recognise Netscape Certificate Type extension
Checks the bit string is valid but doesn't store or use value.
(Some certificates have this extension as critical)
2020-03-19 12:43:03 +10:00
Sean Parkinson
c776a4219a SP fix check for NULL in EC point_new 2020-03-19 08:56:52 +10:00
David Garske
a28fc5e70b Peer review feedback. Handle socket.Connect() failures. 2020-03-18 13:33:15 -07:00
Jacob Barthelmeh
09dedfbe17 maintenance to PKCS12 create for outputting encrypted bundles 2020-03-18 12:00:57 -06:00
David Garske
00630baa53 Merge pull request #2826 from miyazakh/fix_csharp_dtlsexample
fix dtl server example of CSharp when freeing stuff
2020-03-18 09:26:14 -07:00
Jacob Barthelmeh
2bf39307f1 add +1 for string null terminator 2020-03-18 10:25:56 -06:00
Sean Parkinson
e17e064ce2 Allow setting of MTU in DTLS 2020-03-18 12:36:11 +10:00
toddouska
eb6f44e491 Merge pull request #2847 from tmael/memLeak
Fix memory leak
2020-03-17 13:31:10 -07:00
toddouska
d0767164c8 Merge pull request #2846 from SparkiDev/sp_rsa_priv_fix
Fix SP RSA private op
2020-03-17 13:28:11 -07:00
JacobBarthelmeh
aff80ab0d3 adjust test case for no ECC 2020-03-17 08:56:55 -07:00
JacobBarthelmeh
9fc8c8e0b6 add space for null terminator and check on header pointer 2020-03-16 15:14:29 -07:00
JacobBarthelmeh
74781a3d45 Merge pull request #2829 from cconlon/pkcs7multioctets
PKCS7/CMS EnvelopedData support for fragmented encrypted content
2020-03-16 13:12:23 -06:00
toddouska
321a43edee Merge pull request #2850 from JacobBarthelmeh/SanityChecks
sanity check on IV size
2020-03-16 09:36:17 -07:00
Jacob Barthelmeh
2d950f1ab4 sanity check on IV size 2020-03-15 18:46:11 -06:00
David Garske
00a49dffd0 Add new files to autoconf. 2020-03-13 20:40:18 -07:00
David Garske
6498cb48bc CSharp wrapper improvements. Added TLS client example. Added TLS v1.3 methods. Added set_verify and CTX_set_verify. Added example code for CTX_set_cipher_list. 2020-03-13 14:54:57 -07:00
Tesfa Mael
a6b01904d2 Release mem during failure 2020-03-13 14:22:06 -07:00
toddouska
bcc720ef68 Merge pull request #2773 from SKlimaRA/master
Coverity issues fixes.
2020-03-13 10:20:45 -07:00
toddouska
464631f920 Merge pull request #2841 from JacobBarthelmeh/Certs
add function wolfSSL_X509_NAME_ENTRY_create_by_txt
2020-03-13 10:17:52 -07:00
toddouska
fa4ccbe728 Merge pull request #2844 from JacobBarthelmeh/SanityChecks
set inital state of TLS 1.3 peerSuites structure
2020-03-13 10:16:53 -07:00
Tesfa Mael
452b4c03a6 Fix memory leak 2020-03-12 23:24:44 -07:00
Sean Parkinson
6321eabf86 Fix SP RSA private op
tmpa - tmpb can be less than -p.
Need to conditionally add p twice.
C and multiple platform fix.
2020-03-12 09:33:52 +10:00
Jacob Barthelmeh
0be0cf44e4 fix for returning NULL when text not found and add test case 2020-03-10 09:54:31 -06:00
Stanislav Klima
93326a7aeb Changed dst NULL check. 2020-03-10 09:55:27 +01:00
Jacob Barthelmeh
fb0ad6532f set inital state of TLS 1.3 peerSuites structure 2020-03-09 15:13:01 -06:00
Stanislav Klima
3fcbcbf42a Revert "Logically dead code."
This reverts commit 2db62f744a.
2020-03-09 17:45:15 +01:00
toddouska
87ff2fa47d Merge pull request #2839 from ejohnstown/hmac-init
HMAC Init
2020-03-06 11:05:30 -08:00
toddouska
ab8bfc241d Merge pull request #2833 from JacobBarthelmeh/Compatibility-Layer
compile for NO_WOLFSSL_STUB
2020-03-06 11:04:36 -08:00
Chris Conlon
4ad8a2bacb store wc_PKCS7_DecodeEnvelopedData encryptedContentTotalSz in existing variable instead of adding another 2020-03-06 10:50:00 -07:00
Juliusz Sosinowicz
fe9a876895 Check length to avoid XSTRNCMP accessing memory after list 2020-03-06 17:13:59 +01:00
Jacob Barthelmeh
1035d73a05 add function wolfSSL_X509_NAME_ENTRY_create_by_txt 2020-03-05 16:29:55 -07:00
John Safranek
9fe2ddacf4 HMAC Init
1. wc_HmacSetKey() has a check against the hmac's type that assumes one
has called wc_HmacInit() on the object first. In FIPS Ready builds we
do not have wc_HmacInit() in the boundary. This change removes that check
and action when making a FIPS build. The free called doesn't do anything
in the FIPS build case.
2. Initialize the Hmac's macType to WC_HASH_TYPE_NONE. Check the macType
against that rather than 0. There are some build configs where none isn't
0.
2020-03-05 13:38:02 -08:00
toddouska
a6385a2b48 Merge pull request #2840 from SparkiDev/tls_show_fddhe
Fix to show the FFDHE group when negotiated
2020-03-05 08:33:49 -08:00
toddouska
59b9483cde Merge pull request #2837 from SparkiDev/sp_x64_rsa_priv
Fix SP x64 RSA Private op
2020-03-05 08:33:11 -08:00
toddouska
f24622596f Merge pull request #2827 from kaleb-himes/ZD9976
Fix infinite loop with small sha1 inputs. Thanks to Peter W. on ZD997…
2020-03-05 08:32:14 -08:00
Sean Parkinson
6fcfde0651 Fix to show the FFDHE group when negotiated 2020-03-05 12:37:49 +10:00
toddouska
9f6cf8a154 Merge pull request #2834 from dgarske/various_tls
Fix for TLS server with TLSv1.2 or less `wolfSSL_get_curve_name`
2020-03-04 16:24:28 -08:00
toddouska
9b54af199c Merge pull request #2822 from dgarske/notime_openssl
Fixes for building NO_ASN_TIME with OPENSSL_EXTRA
2020-03-04 16:22:18 -08:00
toddouska
e1215e0e1b Merge pull request #2810 from SparkiDev/tls13_mut_auth
Allow mutual authentication to be required for TLS server side
2020-03-04 16:21:03 -08:00
Sean Parkinson
3707eea2f3 Fix SP x64 RSA Private op
tmpa - tmpb can be less than -p.
Need to conditionally add p twice.
2020-03-04 15:54:17 +10:00
David Garske
fca5895090 Example for FIPS Linker Descriptor to explicitly set wolfCrypt FIPS boundaries. 2020-03-03 15:47:30 -08:00
David Garske
c5b4fe1283 Fix for namedGroup missing. 2020-03-03 15:35:56 -08:00
Jacob Barthelmeh
bb76495233 compile for NO_WOLFSSL_STUB 2020-03-03 14:03:11 -07:00
Chris Conlon
44d2fc55e6 scan-build fixes for wc_PKCS7_DecodeEnvelopedData() 2020-03-03 10:27:22 -07:00
David Garske
730c95cf38 Fix for TLS server incorrectly showing "FFDHE_2048" for "SSL curve name is" when using ECDHE and TLS v1.2 or less. The PickHashSigAlgo should be resetting ssl->namedGroup to indicate a named group was not used. 2020-03-03 09:20:58 -08:00
David Garske
4895fd7b0b Added "either" side functions for SSLv3. These are only enabled with WOLFSSL_EITHER_SIDE and WOLFSSL_ALLOW_SSLV3. ZD 9984. 2020-03-03 09:18:11 -08:00
David Garske
41ff54f873 Fix for typo with wc_ecc_init in documentation. 2020-03-03 09:16:48 -08:00
Chris Conlon
d8eeefb4b7 initialize explicitOctet to 0 in pwc_PKCS7_DecodeEnvelopedData() 2020-03-02 09:13:11 -07:00
John Safranek
127e304901 DTLS Fix
An endpoint's retransmit pool was being reset when receiving its peer's
change cipher spec message. When the finished message was lost, and
retransmits need to happen, they weren't available, so nothing happened.
Moved the reset to the finished case rather than CCS.
2020-03-01 16:43:10 -08:00
Sean Parkinson
8cccb9008b Change to work for other TLS versions
Send alert when client doesn't send a certificate on request.
2020-03-02 08:50:57 +10:00
Sean Parkinson
6334dd9cb0 Allow mutual authentication to be required for TLS 1.3 2020-03-02 08:50:57 +10:00
Chris Conlon
debb792690 fix PKCS7 encrypted content decoding for streaming API usage 2020-02-28 17:55:19 -07:00
David Garske
92114fef75 Fixes for building NO_ASN_TIME with OPENSSL_EXTRA. Fixes #2820.
* `./configure --enable-opensslextra CFLAGS="-DNO_ASN_TIME"`
2020-02-28 09:35:17 -08:00
toddouska
805034bca3 Merge pull request #2830 from SparkiDev/sp_ff_x86_64
Improve performance of RSA/DH ops on x64
2020-02-28 09:03:22 -08:00
toddouska
5b58130210 Merge pull request #2806 from SparkiDev/curve448
Add Curve448, X448, Ed448 implementations
2020-02-28 08:59:08 -08:00
Sean Parkinson
441027a502 Improve performance of RSA/DH ops on x64
Focus on 3072-bit ops but others improved as well.
2020-02-28 10:42:37 +10:00
Sean Parkinson
2c6eb7cb39 Add Curve448, X448, Ed448 implementations 2020-02-28 09:30:45 +10:00
Chris Conlon
d21e370822 add support for PKCS7/CMS EnvelopedData with fragmented encrypted content 2020-02-27 14:42:57 -07:00
toddouska
c7a2510d97 Merge pull request #2823 from SparkiDev/sp_div_fix
Fix for SP x64 div
2020-02-27 12:57:35 -08:00
toddouska
a313b9d2cb Merge pull request #2821 from dgarske/crl_bitmask
Fix for CRL bit-mask enum value issue
2020-02-27 12:54:08 -08:00
toddouska
b7d0b81443 Merge pull request #2818 from dgarske/rsa_sha3only
RSA with SHA-3 only and RSA 4096-bit tests
2020-02-27 12:44:29 -08:00
toddouska
6dabe82c65 Merge pull request #2814 from SparkiDev/curve25519_x64_fix
Curve25519 x64 asm: Fix negate and add fe_sq_n
2020-02-27 12:21:53 -08:00
toddouska
60afebdb86 Merge pull request #2811 from miyazakh/fix_espidf_buildtest_failure
fixed build failure and warnings in ESP-IDF port
2020-02-27 12:21:14 -08:00
toddouska
1288c6b249 Merge pull request #2809 from dgarske/conf_usersettings
Fix to enable inclusion of all .c files when using `--enable-usersettings`
2020-02-27 12:10:07 -08:00
toddouska
ed7a5b17d8 Merge pull request #2808 from dgarske/mdk5
Fix for minor typos in the MDK5 examples
2020-02-27 12:06:50 -08:00
toddouska
3349dbc852 Merge pull request #2807 from dgarske/arg_checks
Added missing argument checks for public API's in `wolfio.c`
2020-02-27 12:03:32 -08:00
toddouska
eddf4abf8e Merge pull request #2775 from embhorn/api_port
openSSL compatibility API for EVP, BIO, and SSL_SESSION
2020-02-27 11:51:21 -08:00
kaleb-himes
d9e221806b Fix infinite loop with small sha1 inputs. Thanks to Peter W. on ZD9976 for the report 2020-02-27 09:39:22 -07:00
Hideki Miyazaki
2d530499e3 fix dtl server example when freeing stuff 2020-02-27 21:56:25 +09:00
Sean Parkinson
f568f394b1 Merge pull request #2824 from julek-wolfssl/EVP-aesgcm
Fix AES-GCM IV length in wolfSSL_EVP_CIPHER_iv_length
2020-02-27 14:06:56 +10:00
Juliusz Sosinowicz
3b822ad3d5 Fix AES-GCM IV length in wolfSSL_EVP_CIPHER_iv_length 2020-02-26 22:11:36 +01:00
Sean Parkinson
2a5d7a2ac3 Fix for SP x64 div
Check the top half of number being divided to see if it is greater than
or equal.
If it is then the first div_word may crash as the result is more than
64-bits. So subtract modulus from the top to keep value small.
2020-02-26 10:53:35 +10:00
Martin Akman
3bbd8be5c9 ATECC: Don't init transport key if not used 2020-02-25 22:03:55 +10:00
David Garske
4b83b88a29 Fix for CRL bit-mask enum value issue. ZD 9948. 2020-02-24 18:52:50 -08:00
Sean Parkinson
969e4dccc5 Merge pull request #2803 from julek-wolfssl/EVP-aesgcm
Evp aesgcm
2020-02-25 08:24:30 +10:00
David Garske
ef2c1ae738 Fix for examples/benchmark/tls_bench.c:114:20: error: unused variable 'kShutdown' with WOLFCRYPT_ONLY. 2020-02-23 19:01:46 -08:00
David Garske
7a3138f841 Merge pull request #2817 from miyazakh/rename_enum_tisp
Rename enumeration definition
2020-02-23 18:40:48 -08:00
David Garske
da882f3912 Added wolfCrypt RSA 4096-bit test support using USE_CERT_BUFFERS_4096 build option (./configure CFLAGS="-DUSE_CERT_BUFFERS_4096"). 2020-02-23 18:40:13 -08:00
David Garske
c8e618a817 Fix build for WOLFSSL_RSA_VERIFY_ONLY. 2020-02-23 15:58:28 -08:00
David Garske
e80c696d5f Fix for RSA with SHA3 only (resolves warning with unsed RsaMGF1. 2020-02-23 13:54:48 -08:00
Hideki Miyazaki
3187624d9e rename common naming enum 2020-02-22 11:35:02 +09:00
David Garske
0f188be892 Merge pull request #2805 from ejohnstown/update-config
configure
2020-02-21 09:35:52 -08:00
Sean Parkinson
c9ce065f8a Curve25519 x64 asm: Fix negate and add fe_sq_n 2020-02-21 11:37:45 +10:00
Sean Parkinson
5716862a8a Merge pull request #2813 from julek-wolfssl/openssh-8.1
Remove redundant wolfSSL_EVP_CIPHER_CTX_iv_length call
2020-02-21 09:52:44 +10:00
Eric Blankenhorn
403c263e0b Fix valgrind issue 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
b74dac6171 Fix WIN test 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
60dea0c53a Fix VS error 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
e4188d935b Fix WIN error 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
b4563e6af3 Fix CFB and OFB 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
61ebfd571c Fix new file error 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
a64e1540ba Adding EVP support for SHA3 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
6eda4e7b46 Fix in test 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
95f973a5be Adding test and dox for ERR_print_errors_cb 2020-02-20 17:28:34 -06:00
Eric Blankenhorn
936312f77e Adding ERR_print_errors_cb 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
a0ddb05a07 change evp with cfb1 expect input size in bytes 2020-02-20 17:28:33 -06:00
Eric Blankenhorn
1a96558b6e Adding macro and XTS support functions 2020-02-20 17:28:33 -06:00
Eric Blankenhorn
922b308029 Fix from review 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
3eee891cf5 fix redefinition warning on older clang compiler 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
51d55ed1c8 account for different peer certificate in test case, g++ build fix, static memory size increase 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
a9accb6c39 add more macro guards for builds 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
b67ade5164 account for cavp build 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
76eec8884b clean up memory after test and don't leak x509 with get session peer 2020-02-20 17:28:33 -06:00
Eric Blankenhorn
258382048d Fix test failures 2020-02-20 17:28:33 -06:00
Eric Blankenhorn
018f313cca Fix clang warning 2020-02-20 17:28:33 -06:00
Eric Blankenhorn
5a87dbe094 Adding tests for EVP_CIPHER_CTX_reset 2020-02-20 17:28:33 -06:00
Eric Blankenhorn
64dcf5740a Fix for AES_XTS 2020-02-20 17:28:33 -06:00
Eric Blankenhorn
e421d9f52c Fix in evp_aes_xts init 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
d7c1b9561f fix for cfb1 mode and add EVP tests 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
d6be24c4f7 add 192/256 key size tests of EVP cfb8 2020-02-20 17:28:33 -06:00
Jacob Barthelmeh
d4428ebc0c add EVP cfb1 test and update some EVP code 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
887eeb3c47 add EVP tests for cfb128 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
9d61ba6c62 initial cfb1/cfb8 support added 2020-02-20 17:28:32 -06:00
Eric Blankenhorn
9c4e0807e2 Adding EVP_aes_###_xts tests (not complete) 2020-02-20 17:28:32 -06:00
Eric Blankenhorn
16ce670897 Revert "Testing aes_*_xts"
This reverts commit 776eeb756c70b052849323d7645622a3f1d2b76a.
2020-02-20 17:28:32 -06:00
Eric Blankenhorn
3197d67e62 Testing aes_*_xts 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
49def96998 add test for get0 session peer certificate 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
653235cd57 add stub implementation for SSL_MODE_AUTO_RETRY 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
b83a5840d6 add stub function for wolfSSL_EVP_mdc2 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
c2c3e0d4aa add initial implementation for wolfSSL_SESSION_get0_peer 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
ab49120652 add aesofb benchmark 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
df0d5f3b08 add EVP_aes_*_ofb implementation and tests, add support for inline with OFB 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
e837894578 add AES-OFB mode 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
65732c2269 add bio retry and set close tests 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
3137312911 update to implementation of BIO_MD type 2020-02-20 17:28:32 -06:00
Eric Blankenhorn
62f20db48e Adding more EVP and SSL API 2020-02-20 17:28:32 -06:00
Jacob Barthelmeh
8f7af875a4 add BIO_f_md and BIO_get_md_ctx tests 2020-02-20 17:28:32 -06:00
Eric Blankenhorn
0abc814792 EVP_MD_CTX_reset and EVP_aes fixes 2020-02-20 17:28:31 -06:00
Eric Blankenhorn
ba25161f6c Adding BIO and EVP api 2020-02-20 17:28:31 -06:00
David Garske
49a9239cf2 Merge pull request #2804 from SparkiDev/sp_cache_resist_fix
Fix cache resist compile to work with SP C code
2020-02-20 15:05:18 -08:00
David Garske
da2980172b Merge pull request #2812 from kaleb-himes/FAILING_FIPS_IN_MASTER
Fix failing FIPS tests in master stemming from PR #2733
2020-02-20 14:29:16 -08:00
Juliusz Sosinowicz
70ef925a48 Remove redundant wolfSSL_EVP_CIPHER_CTX_iv_length call 2020-02-20 18:32:56 +01:00
kaleb-himes
1f003967df Fix failing FIPS tests in master stemming from PR #2733 2020-02-20 09:20:59 -07:00
Stanislav Klima
d4a9279a6c Revert "Resource leak." to resolve the conflict (this fix is unapplicable, because the leaking code was removed).
This reverts commit 451d0a470a.
2020-02-20 15:12:02 +01:00
Hideki Miyazaki
f7018c4765 fixed build failure and warnings
fixed unit test app failure
2020-02-20 18:40:16 +09:00
Sean Parkinson
c62f31cd27 Fix cache resist compile to work with SP C code 2020-02-20 10:10:05 +10:00
David Garske
418c508eba Fixes for SCTP example to check build options. 2020-02-19 12:28:49 -08:00
David Garske
6036f604a6 Added missing argument checks for public API's in wolfio.c. 2020-02-19 12:18:00 -08:00
David Garske
75183262ad Minor typos and fixes to the MDK5 examples. 2020-02-19 12:03:14 -08:00
David Garske
baace2c0e3 Fix to enable inclusion of all .c files when using the --enable-usersettings option. 2020-02-19 11:58:33 -08:00
JacobBarthelmeh
e72b87f372 Merge pull request #2733 from julek-wolfssl/openssh-8.1
Openssh 8.1
2020-02-19 10:14:35 -07:00
Juliusz Sosinowicz
cc597add48 Don't always include wolfssl/openssl/bn.h 2020-02-19 11:17:31 +01:00
John Safranek
9953f2d01d 1. Remove duplicate AM_CONDITIONAL statments from configure.ac.
2. Update copyright year in configure.ac.
2020-02-18 16:16:59 -08:00
JacobBarthelmeh
17c3bb00d8 Merge pull request #2798 from ejohnstown/vxworks-strings
VxWorks Strings
2020-02-18 17:10:31 -07:00
Juliusz Sosinowicz
26e2d6eacf Adressing Todd's comments
Check for HAVE_GETADDRINFO beside WOLF_C99
Move STR_SIZEOF to wolfssl/wolfcrypt/types.h and rename to XSTR_SIZEOF to prevent collision in client projects
Remove wolfssl/openssl/ssl.h and wolfssl/internal.h from crypto layer
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
b736a65fa8 Fix redefinition issue 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
2218f7b95d Fix merge issues 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
d6686f1320 Remove usage of res in wolfSSL_BN_clear_bit 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
5a766bd5bb Change STR_SIZEOF declaration file 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
1512485926 Fix user-rsa tests 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
5c4d3df4f3 Fix broken Windows FIPS build 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
f55cfd7ba7 Fix missing wolfSSL_i2d_RSAPrivateKey references 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
3fcec191a4 Refactor wolfSSL_RSA_To_Der 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
5ed1c233b7 Sean comments 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
dac23dfe15 Add DSA and DH free to wolfSSL_EVP_PKEY_set1_EC_KEY 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
7aaa89aedc Cleanup bn_one in wolfSSL_Cleanup 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
43ce272cb3 Variable declaration at start of scope 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
eedbce7c0a Null-check keyFormat
Zero all of WOLFSSL_DH struct
Fix macros for self-test
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
97a4889bb3 Undo some stuff 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
1df9963b80 sha3.h 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
7ce7017521 Fix memory leaks when compiling with SMALL_STACK 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
f765b711bf More macro preproc stuff 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
48b39a34c7 Properly Init mp_int number 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
b592b241c7 Fix Segfault in wolfSSL_EC_KEY_dup
Fix more header stuff
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
b58f26945d Different configuration fixes 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
480227704d Fix missing stuff in headers 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
59b001c484 Fix header definitions when running CAVP self test 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
50f8fb1475 Enable wc_RsaKeyToDer even when key generation is turned off 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
e6547c75cd Reimplement external data as it was before: a fixed size vector. This makes external data implementation easier as it doesn't require allocation or cleanup. Only zeroing the entire structure that it is in (which happens in all structures anyway) and then calling the appropriate getter and setter functions to manipulate external data. 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
9a0d3ba369 Check boundaries in B64 decode
ERR_get_error will always return a positive error code
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
58c239a49f Fix stuff after rebase 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
d6a160c637 Fix error codes for OpenSSL compatiblity 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
6e72a299d7 Don't undef HAVE_GETADDRINFO as it disables defines in projects using wolfSSL
Change test_wolfssl_EVP_aes_gcm so that changing the tag will fail the authentication check
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
ab56d078a4 keygen-moduli passed
Handle trailing newlines in wolfSSL_BN_hex2bn
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
ae948e2a07 Pass try-ciphers
define EVP_CIPHER_CTX_set_iv as wolfSSL_EVP_CIPHER_CTX_set_iv
add wolfSSL_GetLoggingCb functionality when compiling without enable-debug
fix initialization vector handling of all cipher modes when using our EVP layer. The IV was incorrectly handled in initialization as well as not being updated after processing
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
fbedabe601 OpenSSH changes
- increase FP_MAX_BITS for OpenSSH
- Add helpful loggin API (names are self-explanatory)
-- wolfSSL_GetLoggingCb
-- WOLFSSL_IS_DEBUG_ON
- Define WOLFSSL_EC_METHOD as an alias of WOLFSSL_EC_GROUP
- Add wolfSSL_EC_GROUP_method_of which really just returns the group itself
- Add wolfSSL_EC_METHOD_get_field_type which gets the curve type of the WOLFSSL_EC_GROUP(remember that WOLFSSL_EC_METHOD is an alias of WOLFSSL_EC_GROUP for now)
- Modify Base64_Decode so that it accepts arbitrary PEM line length
- Modify PemToDer so that it accepts private keys with a custom -----BEGIN * PRIVATE KEY----- header
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
84a2ca7a4e Map the Jacobian point back to affine space in wolfSSL_EC_POINT_get_affine_coordinates_GFp 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
aea95232d1 WIP
Add EC_POINT conversion to BIGNUM (EC_POINT_point2bn)
Add setting affine coordinates for EC_POINT (EC_POINT_set_affine_coordinates_GFp)
Add bit clearing for BIGNUM (BN_clear_bit)
Add supporting unit tests in api.c
2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
89e35e2547 openssh 8.1 compiles 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
b5c52d7c70 openssh WIP and some light refactoring 2020-02-18 21:37:06 +01:00
Juliusz Sosinowicz
41de1bb156 WIP 2020-02-18 21:36:26 +01:00
Juliusz Sosinowicz
b05cfaa601 Add aes-gcm to wolfSSL_EVP_get_cipherbyname and wolfSSL_EVP_get_cipherbynid 2020-02-18 21:34:23 +01:00
Stanislav Klima
6f3623f220 Moved infinite loop check to the other bad func arg check. 2020-02-18 09:59:59 +01:00
Eric Blankenhorn
41d3ba0efa Tests and examples for bidirectional shutdown 2020-02-17 16:47:47 -06:00
Eric Blankenhorn
59fb81c950 Add fix 2020-02-17 16:47:47 -06:00
toddouska
2566986d41 Merge pull request #2632 from SparkiDev/sp_p384
Add support for P384 curve into SP
2020-02-17 11:46:09 -08:00
toddouska
bf1ec3004a Merge pull request #2787 from dgarske/size_reduc
Adds options to disable the hash wrappers and base64 decode
2020-02-17 11:44:37 -08:00
toddouska
651ffe2c12 Merge pull request #2789 from JacobBarthelmeh/SanityChecks
fix return with error on process peer cert
2020-02-17 11:44:02 -08:00
toddouska
f2e1266f2d Merge pull request #2791 from dgarske/async_fixes
Fixes for asynchronous crypto issues
2020-02-17 11:43:13 -08:00
toddouska
14b7355411 Merge pull request #2792 from SparkiDev/rsa_kg_blind_fix
Fix for rsa key gen blinding - don't call lcm
2020-02-17 11:42:25 -08:00
toddouska
44c327ee14 Merge pull request #2795 from SparkiDev/tls13_secret_cb
Call secret callback when TLS 1.3 secrets generated
2020-02-17 11:41:16 -08:00
toddouska
fda322829f Merge pull request #2796 from JacobBarthelmeh/Compatibility-Layer
free existing cert store when setting a new one
2020-02-17 11:37:56 -08:00
Sean Parkinson
8972bf6278 Add support for P384 curve into SP 2020-02-17 15:46:34 +10:00
John Safranek
defa54f40d Merge pull request #2800 from tmael/trim-padding
Trim trailing padding bytes from a key
2020-02-14 16:05:44 -08:00
JacobBarthelmeh
30936e7ad4 Merge pull request #2793 from kaleb-himes/ZD9865
Fix issue in wolfSSL_EVP_PKEY_assign_RSA when RSA key not zeroized
2020-02-14 16:40:52 -07:00
Tesfa Mael
aaaa191937 Trim trailing padding byte 2020-02-14 12:54:35 -08:00
David Garske
8f6a614d17 Merge pull request #2797 from kaleb-himes/JENKINS_STUFF
--disable-supportedcurves --enable-opensslextra - NIGHTLY DISABLE OPT…
2020-02-14 09:01:03 -08:00
Sean Parkinson
614e675a00 Call secret callback when TLS 1.3 secrets generated 2020-02-14 08:42:47 +10:00
Chris Conlon
b62064f6a8 Merge pull request #2737 from JacobBarthelmeh/dks7g2
changes for build with s7g2
2020-02-13 14:07:44 -07:00
toddouska
cabe30828c Merge pull request #2786 from cconlon/android-debug
add Android debug for logcat
2020-02-13 10:12:40 -08:00
toddouska
fba40d14d4 Merge pull request #2785 from ottok/bugfix/menu-js-width
Wrap JavaScript source on multiple lines to make it readable
2020-02-13 10:07:13 -08:00
toddouska
b038e2e8f0 Merge pull request #2771 from JacobBarthelmeh/Windows
change public Timeval to WOLFSSL_TIMEVAL
2020-02-13 09:38:42 -08:00
John Safranek
63a005d71b VxWorks Strings
When building for VxWorks, set HAVE_STRINGS_H as it uses strings.h, not string.h.
2020-02-13 09:08:54 -08:00
kaleb-himes
bb7508f570 --disable-supportedcurves --enable-opensslextra - NIGHTLY DISABLE OPTIONS TEST 2020-02-12 15:57:00 -07:00
Jacob Barthelmeh
8e1adb125c free existing cert store when setting a new one 2020-02-12 15:45:44 -07:00
Jacob Barthelmeh
0814f61b11 fix code formating and turn on HW acc. by default 2020-02-12 10:31:34 -07:00
Stanislav Klima
1b13178182 Fixes possible compile error if NO_PKCS7_STREAM is defined. 2020-02-12 13:46:12 +01:00
Stanislav Klima
1a38c26097 Prevent infinite loop. 2020-02-12 13:29:33 +01:00
Stanislav Klima
109173d756 Fix two resource leaks. 2020-02-12 12:57:40 +01:00
kaleb-himes
5b7fc7b133 Address failure when blinding disabled and key not initialized to zero 2020-02-11 14:39:30 -07:00
David Garske
d1397656ef Merge pull request #2790 from ejohnstown/abi-tweak
ABI Additions
2020-02-10 15:07:35 -08:00
Chris Conlon
61221742b7 Merge pull request #2734 from aaronjense/renesas-ra-port
Renesas RA e2studio projects for Client, Server, Test and Benchmark
2020-02-10 14:49:03 -07:00
Sean Parkinson
669d9b1ae4 Fix for rsa key gen blinding - don't call lcm 2020-02-10 08:51:43 +10:00
David Garske
f322b71526 wolfCrypt fixes for asynchronous (--enable-asynccrypt):
* Fix for ECC and using NULL curve->order (wasn't loaded).
* Fix for typo on heap.
* Fix for QT case where GetInt failure retry did not "init" the mp_int.
2020-02-07 13:34:43 -08:00
Jacob Barthelmeh
3c077a3cef add NO_OLD_TIMEVAL_NAME macro for backwards compatibility 2020-02-07 11:56:30 -07:00
John Safranek
7648997e37 ABI Additions
Added the functions wolfSSL_GetRNG(), wolfSSL_CTX_GetDevId(),
      wc_ecc_import_x963(), and wc_RNG_GenerateBlock() to the ABI
      testing.
2020-02-06 13:33:38 -08:00
Jacob Barthelmeh
17bedbac67 fix return with error on process peer cert 2020-02-06 11:53:42 -07:00
JacobBarthelmeh
61a5fe3108 add macro for trng and gce driver names 2020-02-06 09:20:07 -08:00
JacobBarthelmeh
17cfe2589b Merge pull request #2748 from tmael/fix_cppcheck
Fix cppcheck
2020-02-05 16:02:22 -07:00
Stanislav Klima
da3df4f9c6 Changing logic to remove dead code section. 2020-02-05 19:36:37 +01:00
Stanislav Klima
0964272dc6 Resource leak fix. 2020-02-05 18:28:50 +01:00
David Garske
ba9dc11e62 Adds options to disable the hash wrappers (NO_HASH_WRAPPER) and base64 decode (NO_WOLFSSL_BASE64_DECODE). 2020-02-05 11:58:44 -05:00
Stanislav Klima
bbfefd3cde Sanity check NULL dereference. 2020-02-05 16:59:20 +01:00
JacobBarthelmeh
e75b1b5cb9 add suport for AES acceleration 2020-02-04 16:10:20 -08:00
JacobBarthelmeh
b7d772700a update sha256 support for endian 2020-02-04 16:03:45 -08:00
Chris Conlon
b8b0b7da03 add Android debug for logcat 2020-02-04 10:07:26 -07:00
Tesfa Mael
e664a4f206 Review comments 2020-02-04 08:55:37 -08:00
Tesfa Mael
b67fd249e2 Fix for cppcheck 2020-02-04 08:55:37 -08:00
Chris Conlon
b29fe41a35 Merge pull request #2738 from SparkiDev/cppcheck_fixes_3
Changes to clear issues raised by cppcheck
2020-02-03 17:02:40 -07:00
toddouska
63a73be3f0 Merge pull request #2777 from dgarske/constchar
Fixes for char strings not marked as const.
2020-02-03 11:12:55 -08:00
toddouska
4ee022f788 Merge pull request #2776 from julek-wolfssl/set_curve_groups_list
Add SSL_CTX_set1_groups_list and SSL_set1_groups_list APIs
2020-02-03 11:11:59 -08:00
toddouska
6f2230e459 Merge pull request #2774 from SparkiDev/sp_x86_64_asm
Improve performance of SP Intel 64-bit asm
2020-02-03 11:08:17 -08:00
toddouska
61e78880a5 Merge pull request #2769 from dgarske/zd9791
Fix for `wc_EccPublicKeyDecode` to use the length from ASN sequence
2020-02-03 11:05:17 -08:00
toddouska
c98876d440 Merge pull request #2768 from julek-wolfssl/openvpn-config
Add --enable-openvpn build option
2020-02-03 11:01:06 -08:00
toddouska
0551b1f2de Merge pull request #2765 from SparkiDev/client_read_write
Client using common read and write func
2020-02-03 11:00:15 -08:00
Otto Kekäläinen
967235c1f3 Wrap JavaScript source on multiple lines to make it readable
Closes: wolfSSL/wolfssl#2783
2020-02-03 20:15:18 +02:00
Sean Parkinson
cc2bf03e73 Client using common read and write func 2020-02-03 09:17:27 +10:00
Juliusz Sosinowicz
420e597c16 Move functions to ssl.c 2020-02-01 10:06:53 +01:00
JacobBarthelmeh
6ec136208c add sha256 hardware acceleration 2020-01-31 14:26:04 -08:00
David Garske
d63bdf257d Merge pull request #2337 from MKinclRA/fix-visual-studio-2019-build
Added stdio.h include to types.h.
2020-01-31 12:59:58 -08:00
David Garske
26794e7b5e Merge pull request #2778 from ejohnstown/fix-abi
Fix ABI
2020-01-31 06:49:16 -08:00
Martin Akman
20c0beb9e5 'WOLFSSL_USE_FLASHMEM' to store constant tables in flash memory 2020-01-31 23:43:17 +10:00
Martin Akman
6c1e0ff049 ATECC: Option to disable I2C transport key 2020-01-31 23:32:48 +10:00
Martin Akman
809472febc Added VERY_SMALL_SESSION_CACHE 2020-01-31 23:32:48 +10:00
Martin Akman
14dc5fe2e3 Fixes for 16bit processors 2020-01-31 23:32:48 +10:00
Juliusz Sosinowicz
e13d9f7f1b Add SSL_CTX_set1_groups_list and SSL_set1_groups_list APIs 2020-01-31 06:38:38 +01:00
David Garske
3d233d624c Merge pull request #2770 from JacobBarthelmeh/Testing
fix typo in wolfSSL_sk_X509_EXTENSION_pop_free
2020-01-30 18:55:54 -08:00
JacobBarthelmeh
aa498a7956 Merge pull request #2767 from dgarske/freertos
Fix for evp.c included and FREERTOS realloc
2020-01-30 15:53:05 -07:00
John Safranek
4bc0f79dd9 Fix ABI
Someone removed some of the WOLFSSL_ABI tags from the ssl.h header file. It looks like it was a bad manual merge.
2020-01-30 14:07:27 -08:00
David Garske
928f641064 Fixes for char strings not marked as const. The const is an optimization to allow use from flash, which saves RAM space on embedded devices. 2020-01-30 13:53:06 -08:00
Chris Conlon
0fda8cc3b3 Merge pull request #2756 from dgarske/changelog
Template for ChangeLog.md for next release
2020-01-30 10:47:12 -07:00
David Garske
ba49427cc4 Cleanup include.am whitespace. 2020-01-30 08:44:52 -08:00
David Garske
32f478d335 Better fix for using the ASN.1 provided length, not provided inSz. Confirmed CheckBitString will check case where inSz < ASN.1 length. 2020-01-30 08:38:22 -08:00
toddouska
75e30a33f1 Merge pull request #2764 from SparkiDev/rsa_q_modinv_p
Constant time q modinv p in RSA key gen
2020-01-30 08:08:07 -08:00
David Garske
3df9ca3fae Fix to use TBD version for next release. 2020-01-30 06:26:45 -08:00
David Garske
6cf63b1738 Template for ChangeLog.md for next release. New PR's should update this document if its worth mention in the change log. 2020-01-30 06:26:45 -08:00
David Garske
e5426f85c9 Fix for evp.c when being included directly due to improperly placed WOLFSSL_EVP_INCLUDED. Fix for FREERTOS to expose XREALLOC for normal math. 2020-01-30 06:22:08 -08:00
David Garske
9bfbdfe695 Fix for wc_EccPublicKeyDecode to use the length from ASN sequence, not the provided inSz. Also checked the case where the sequence number is larger than supplied inSz and it will properly return ASN_PARSE_E. ZD 9791 2020-01-30 06:20:29 -08:00
Kaleb Himes
a90cc51a5f Merge pull request #2772 from dgarske/cert_tests
Fixes for build with opensslextra and 3072-bit cert buffers
2020-01-30 06:47:51 -07:00
Sean Parkinson
55ea2facdd Changes to clear issues raised by cppcheck 2020-01-30 14:24:32 +10:00
Sean Parkinson
81bebd8e5c Improve performance of SP Intel 64-bit asm
RSA: Only constant time copy out when doing private key op
Improve performance of sp_count_bits
2020-01-30 12:23:38 +10:00
Stanislav Klima
c938cb35ca Logically dead code. 2020-01-29 17:35:15 +01:00
Stanislav Klima
ed88e8d1c5 Logically dead code. 2020-01-29 17:34:58 +01:00
Stanislav Klima
2db62f744a Logically dead code. 2020-01-29 17:34:40 +01:00
Stanislav Klima
37386f5fb5 NULL dereference. 2020-01-29 17:34:19 +01:00
Stanislav Klima
670ba75ea4 Missing varargs cleanup. 2020-01-29 17:33:59 +01:00
Stanislav Klima
2d36624d84 NULL dereference. 2020-01-29 17:33:38 +01:00
Stanislav Klima
c3fabb1da6 NULL dereference. 2020-01-29 17:33:21 +01:00
Stanislav Klima
df0b0a6e91 NULL dereference. 2020-01-29 17:31:14 +01:00
Stanislav Klima
70cb97c116 NULL dereference. 2020-01-29 17:30:57 +01:00
Stanislav Klima
972790fb86 Resource leak. 2020-01-29 17:30:35 +01:00
Stanislav Klima
451d0a470a Resource leak. 2020-01-29 17:30:14 +01:00
Stanislav Klima
96d1593735 Possible use after free. 2020-01-29 17:29:52 +01:00
Stanislav Klima
77b69ebf56 Logically dead code. 2020-01-29 17:29:23 +01:00
David Garske
e183d95c86 Fix for moved file. 2020-01-29 07:22:07 -08:00
David Garske
5677a96c80 Fixes to resolve openssl_pkey1_test with updated test buffer sizes. 2020-01-29 06:51:47 -08:00
David Garske
5aabebddd8 Fix more 3072-bit cert buffer edge case builds (certext/certgen). 2020-01-29 06:43:35 -08:00
David Garske
3f1c3392e5 Fixes for build with opensslextra and 3072-bit cert buffers. Adds 3072-bit RSA public key der. Eliminates duplicate 3072-bit client cert/key. 2020-01-29 06:37:06 -08:00
Jacob Barthelmeh
a9e9120fa0 change public Timeval to WOLFSSL_TIMEVAL 2020-01-28 17:11:46 -07:00
Jacob Barthelmeh
59af7a8e35 fix typo in wolfSSL_sk_X509_EXTENSION_pop_free 2020-01-28 16:50:54 -07:00
John Safranek
3bdb7d8188 Merge pull request #2761 from JacobBarthelmeh/Testing
add close on pre to echoserver example
2020-01-28 09:29:29 -08:00
Juliusz Sosinowicz
044ad957e5 Add --enable-openvpn build option 2020-01-28 15:29:24 +01:00
David Garske
1ea7755232 Merge pull request #2742 from tmael/dsa_mem_leak
Fix mem leak in DSA
2020-01-28 06:25:58 -08:00
Tesfa Mael
43b7258d3b Review comments 2020-01-27 12:44:16 -08:00
Aaron Jense
91a9117e1b Renesas RA e2studio projects for Client, Server, Test and Benchmark 2020-01-27 13:22:32 -07:00
JacobBarthelmeh
695b126a1c Merge pull request #2739 from dgarske/pkcs8_ed25519
Added PKCS8 support for ED25519
2020-01-24 10:56:40 -08:00
David Garske
b9f39b7c06 Merge pull request #2759 from ejohnstown/config-maint
Deprecate some configure flags
2020-01-24 10:40:19 -08:00
David Garske
126dceee1f Merge pull request #2763 from SparkiDev/sp_int_div_word
Add support to sp_int.c for platforms that do not divide an sp_int_wo…
2020-01-23 18:37:04 -08:00
Sean Parkinson
b4cadae4e2 Constant time q modinv p in RSA key gen 2020-01-23 14:52:29 -08:00
Sean Parkinson
ec877aa91e Add support to sp_int.c for platforms that do not divide an sp_int_word by an sp_int_digit 2020-01-23 14:39:19 -08:00
toddouska
945d34533c Merge pull request #2727 from JacobBarthelmeh/Windows
update to ECC key parsing custom curves for Windows
2020-01-23 13:57:06 -08:00
Chris Conlon
d1e39668aa Merge pull request #2740 from aaronjense/compatibility-fixes
Compatibility Layer Fixes
2020-01-23 08:25:40 -08:00
Chris Conlon
c7340fd90b Merge pull request #2750 from ejohnstown/mingw
mingw update
2020-01-23 08:00:15 -08:00
Chris Conlon
1c56d62753 Merge pull request #2754 from dgarske/crypttest_3072
wolfCrypt Test 3072-bit Support
2020-01-23 07:55:19 -08:00
Jacob Barthelmeh
d9253afc04 add close on pre to echoserver example 2020-01-22 16:23:46 -08:00
John Safranek
f2db85c07c Deprecate some configure flags
1. Add C_EXTRA_FLAGS and C_FLAGS to CFLAGS.
2. Remove the cached copied of C_EXTRA_FLAGS and C_FLAGS.
3. The option.h is set only on CFLAGS, CPPFLAGS, and the AM_ versions.
2020-01-22 14:26:16 -08:00
David Garske
06e3c90073 Merge pull request #2732 from kaleb-himes/ZD9730-spellchecker
Fixing some typos. Thanks to Fossies for the report
2020-01-22 13:52:56 -08:00
David Garske
e3efdc4b5d Merge pull request #2755 from SparkiDev/rsa_enc_3072
Fix masking of 16 bits
2020-01-22 13:40:21 -08:00
Sean Parkinson
55d485cc45 Fix masking of 16 bits 2020-01-22 10:39:36 -08:00
David Garske
b022b651b3 wolfCrypt test fixes for hard coded "256" byte buffers to support 3072-bit RSA. Requires PR #2755 2020-01-22 10:04:53 -08:00
David Garske
84a878bda2 Fix for include .am issue. 2020-01-22 09:11:00 -08:00
David Garske
2a5c623c97 Fix for RSA without SHA512 build error. Fix or renew cert PEM to DER. 2020-01-22 08:15:34 -08:00
David Garske
e3e862c8b6 Test case fixes for sig wrapper test and DH. 2020-01-21 22:25:11 -08:00
David Garske
4d9dbc9ec3 Adds 3072-bit RSA tests using USE_CERT_BUFFERS_3072. 2020-01-21 22:16:54 -08:00
Takashi Kojo
37cad6e9ba %zu, pragma: not supported, 2020-01-22 08:12:51 +09:00
John Safranek
aabdec214e MinGW uses the Win32 setsockopt() function which uses a char for
SO_REUSEADDR's option. Everything else uses an int.
2020-01-21 10:53:19 -08:00
David Garske
2cd3474e9d Improve "keyFormat" to always set based on "algId" and let the later key parsing code produce failure. 2020-01-20 20:49:55 -08:00
David Garske
0489cc97a8 Fix for ProcessBuffer with PEM private keys, where PemToDer call was only setting eccKey. Cleanup to use "keyFormat" OID sum. 2020-01-20 20:49:55 -08:00
David Garske
de8e5ffd6e Cleanup asn.c use of WOLFSSL_LOCAL (only required in the header). 2020-01-20 20:49:55 -08:00
David Garske
77426e78e1 Added test case for PKCS8 ED25519 encrypted private key. 2020-01-20 20:47:47 -08:00
David Garske
40c8562dc2 Added PKCS8 support for ED25519. 2020-01-20 20:47:47 -08:00
David Garske
7707234901 Merge pull request #2743 from JacobBarthelmeh/Compatibility-Layer
adjust set1 curves list function for TLS extension sent
2020-01-20 16:19:55 -08:00
David Garske
98f14eff9f Refactor to combine duplicate ECC param parsing code. 2020-01-20 16:17:12 -08:00
John Safranek
23427085af 1. Add an indent to a new line in user settings.
2. Remove the execute bit from the changed files.
2020-01-20 12:30:32 -08:00
Takashi Kojo
a08ab1fc7a fix mnGW error 2020-01-20 12:19:18 -08:00
Jacob Barthelmeh
c581c56999 update return value of local GetCurveByOID 2020-01-20 10:40:56 -07:00
Jacob Barthelmeh
3508579f4c add check on NETX duo build and return value of opening driver 2020-01-20 09:33:14 -07:00
John Safranek
a624ae14df Merge pull request #2725 from kaleb-himes/ZD9735
Remove redundant packing flag
2020-01-18 21:21:32 -08:00
toddouska
66daac4c94 Merge pull request #2709 from JacobBarthelmeh/Testing
set chacha20 similar to aes-ctr when handling leftover stream and add…
2020-01-17 15:05:24 -08:00
Jacob Barthelmeh
356636e88d fix typo 2020-01-17 15:13:52 -07:00
JacobBarthelmeh
87859f9e81 Merge pull request #2747 from dgarske/sizeof_long
Improvements for detection of 64-bit support
2020-01-17 15:10:44 -07:00
toddouska
204ef9543a Merge pull request #2728 from ejohnstown/maint-x509
Maintenance: X509
2020-01-17 13:51:02 -08:00
toddouska
92877a1214 Merge pull request #2730 from SparkiDev/sp_div_word_fix
Fix for div_word builds of SP C code
2020-01-17 13:15:44 -08:00
toddouska
60afa72330 Merge pull request #2731 from SparkiDev/auth_key_id_set
Fix when extAuthKeyIdSet is set.
2020-01-17 13:14:22 -08:00
toddouska
cca545f76c Merge pull request #2735 from dgarske/ecc_sign
Fixes for ECC sign with `WOLFSSL_ECDSA_SET_K`
2020-01-17 13:13:38 -08:00
toddouska
dadcce3eb8 Merge pull request #2741 from SparkiDev/ecc_no_cache
Fix for ecc and no cache resistance - set M[2]
2020-01-17 13:09:53 -08:00
Jacob Barthelmeh
c5932a9874 account for leantls and selftest builds 2020-01-17 13:32:59 -07:00
kaleb-himes
9760ed07a9 Based on peer feedback, remove WOLFSSL_PACK from sniffer.h 2020-01-17 12:27:46 -07:00
Jacob Barthelmeh
bd4a9c69dd convert name to oidsum to curve type for setting supported curves 2020-01-17 11:56:46 -07:00
Jacob Barthelmeh
d8c5353466 adjust set1 curves list function for TLS extension sent 2020-01-16 13:21:14 -07:00
David Garske
c38d5e9a29 Further improved to use HAVE_LIMITS_H and ULL instead of ui64 2020-01-16 09:06:44 -08:00
David Garske
541bf3e639 Improvements for detection of 64-bit support. Adds support for IBM s390x. Improves detection on Windows. Adds new WC_USE_LIMITS_FOR_SIZEOF option to use limits.h to detect sizeof long. Fixes #2600 and Fixes #2745. 2020-01-16 07:15:18 -08:00
Tesfa Mael
fbf91f7397 Fix mem leak in DSA 2020-01-15 16:03:42 -08:00
Sean Parkinson
584d8498f8 Fix for ecc and no cache resistance - set M[2]
Need to have a value in order to maintain timing resistance.
Small maths fails also.
2020-01-16 09:35:34 +10:00
Aaron Jense
3db7b44be4 Compatibility Layer Fixes 2020-01-15 13:49:47 -07:00
Jacob Barthelmeh
bd44091111 refactor solution 2020-01-15 09:29:10 -07:00
JacobBarthelmeh
c01cd808da changes for build with s7g2
add project info

add project info

adjust wolfssl library template

change TRNG collection

fix include.am

fix argument for TRNG

rename example templates

comment out DEBUG_WOLFSSL

change include.am

update license
2020-01-14 17:48:41 -07:00
David Garske
989f3d3684 Fix for FREE_VAR call on sharedA. 2020-01-14 14:35:20 -08:00
David Garske
e429dd8f0b Peer review feedback minor cleanup. 2020-01-14 14:33:23 -08:00
David Garske
e9bbf89287 Fix for WOLFSSL_ECDSA_SET_K with normal math. The sign_k mp_int was not initialized. 2020-01-14 14:13:12 -08:00
David Garske
95b6076fe1 Fixes for ECC sign with WOLFSSL_ECDSA_SET_K, which was not loading all curve params for the wc_ecc_make_pub_ex call and not correctly setting ALLOC_CURVE_SPECS for WOLFSSL_SMALL_STACK. Cleanup around the loading of curve specs. 2020-01-13 16:25:37 -08:00
David Garske
22f49d8597 Fixes for building with ECC sign/verify only. 2020-01-13 15:35:08 -08:00
David Garske
8974827fbe Added WOLFSSL_ECC_CURVE_STATIC build option to allow using fixed arrays for ECC parameters. This is enabled by default on Windows. Fixed several compiler warnings. Fixed build macro for key->deallocSet. 2020-01-13 07:15:17 -08:00
John Safranek
c69bd5169f Switch strncpy to memcpy in the altname store function. 2020-01-10 20:34:14 -08:00
John Safranek
8d1b20706c Maintenance: X509
1. Add a test for the new alt name handling.
2. Added an API to set altnames in a WOLFSSL_X509 struct. Just adds
DNS_entries.
3. Removed the "static" from a bunch of constant byte arrays used inside
some of the ASN.1 code.
2020-01-10 20:26:35 -08:00
John Safranek
5dcffa6b40 Maintenance: X509
1. Fix for issue #2724. When making a certificate out of an X.509
structure, the subject alt names weren't getting correctly copied.
2. Added a function to flatten the DNS_entries into a sequence of
GeneralNames.
3. Put the proper certificate extension wrapping around the flattened
general names.
2020-01-10 20:26:35 -08:00
John Safranek
7571fbdbfb Maintenance: X509
1. Fix for issue #2718. Added a flag to the X509 structure when someone
sets the issuer name.
2. When making a certificate out of the X509, if the issuer name is set
clear the self-signed flag in the cert.
3. Propigate the flat X509_NAMEs to the string the cert building code
uses.
2020-01-10 20:25:43 -08:00
JacobBarthelmeh
6b4551c012 Merge pull request #2654 from cariepointer/qt-512-513
Add Qt 5.12 and 5.13 support
2020-01-10 17:34:23 -07:00
John Safranek
71f8f3031d Merge pull request #2729 from dgarske/telit_time
Fixes for the Telit time functions
2020-01-10 14:51:39 -08:00
David Garske
1f104e52a3 Merge pull request #2715 from ejohnstown/maint-dtls
Maintentance: DTLS
2020-01-10 14:43:15 -08:00
kaleb-himes
9b8d4e91c2 Fixing some typos. Thanks to Fossies for the report 2020-01-10 11:45:51 -07:00
Carie Pointer
544ff3f9ac Fix length in wolfSSL_sk_CIPHER_description 2020-01-10 11:26:57 -07:00
Jacob Barthelmeh
99d657af4f adjust test cases 2020-01-10 10:31:56 -07:00
Chris Conlon
26a075cfec Merge pull request #2716 from cariepointer/apache-fixes
Fixes for Apache nightly Jenkins tests
2020-01-10 10:20:43 -07:00
Carie Pointer
ef99086aee Fix valgrind errors 2020-01-10 10:08:39 -07:00
Carie Pointer
de3536a067 More fixes from review 2020-01-09 17:28:20 -07:00
Jacob Barthelmeh
0c25588ad1 adjust TEST_SMALL_CHACHA_CHUNKS size and add more tests 2020-01-09 17:13:57 -07:00
Jacob Barthelmeh
1538e631a8 revert size of ChaCha structure and delay counter increment 2020-01-09 16:39:48 -07:00
Jacob Barthelmeh
a1944c477a set chacha20 counter in TLS AEAD use 2020-01-09 16:39:48 -07:00
Jacob Barthelmeh
8e24bf6c2c add macro guard for optimized versions 2020-01-09 16:39:48 -07:00
JacobBarthelmeh
0ec7b311d8 set chacha20 similar to aes-ctr when handling leftover stream and add test case 2020-01-09 16:39:48 -07:00
cariepointer
a9cf16cc2b Merge branch 'master' into apache-fixes 2020-01-09 16:33:35 -07:00
Sean Parkinson
6e8f3faedd Fix when extAuthKeyIdSet is set.
Was set when extension is seen - extension may not have hash.
But is used to indicate that the hash is set - ie look up by hash.
2020-01-10 09:28:45 +10:00
Sean Parkinson
03c42423eb Fix for div_word builds of SP C code 2020-01-10 09:02:26 +10:00
toddouska
f3b2815e1f Merge pull request #2708 from julek-wolfssl/nginx-fix
Nginx fix
2020-01-09 15:00:59 -08:00
toddouska
3c9f7809f1 Merge pull request #2714 from JacobBarthelmeh/Docs
update linux sgx readme for wolfssl/options.h creation
2020-01-09 14:58:22 -08:00
toddouska
51f44cb09b Merge pull request #2719 from dgarske/nxp_k64_mmcau
Fixes for NXP K64
2020-01-09 14:57:11 -08:00
toddouska
21f82a5662 Merge pull request #2721 from SparkiDev/sp_small_stack_fixes
Fix in SP C impl for small stack
2020-01-09 14:55:44 -08:00
toddouska
99045a2fea Merge pull request #2723 from SparkiDev/rsa_vfy_only_fix
Rsa vfy only fix
2020-01-09 14:55:10 -08:00
toddouska
3ea69676eb Merge pull request #2726 from ejohnstown/maint-ren
Maintenance: Secure Renegotiation
2020-01-09 14:54:13 -08:00
toddouska
11a0b117f8 Merge pull request #2706 from dgarske/chapoly_aead_iuf
New API's for ChaCha20/Poly1305 AEAD init/update/final
2020-01-09 14:49:26 -08:00
Carie Pointer
0938cdde52 Remove dup->dynamicName = 1 call 2020-01-09 14:09:38 -08:00
Carie Pointer
47040f1dae EC_KEY_dup fixes 2020-01-09 14:35:57 -07:00
David Garske
8fb586f3ee Fixes for the Telit time functions. ZD 9733 2020-01-09 11:17:19 -08:00
Jacob Barthelmeh
41f134ae31 update to ECC key parsing custom curves for Windows 2020-01-08 14:45:59 -07:00
John Safranek
1f0f3eb97d Maintenance: Secure Renegotiation
Allow sending application data during the secure renegotiation.
2020-01-08 11:50:18 -08:00
Carie Pointer
b9c99709f7 Fixes from review 2020-01-08 12:48:01 -07:00
kaleb-himes
187702efb9 bring sniffer.h inline with types.h 2020-01-08 09:45:59 -07:00
David Garske
bc1cb4ead8 Fix to keep existing behavior where AAD is optional for wc_ChaCha20Poly1305_Encrypt and wc_ChaCha20Poly1305_Decrypt. 2020-01-07 18:58:26 -08:00
Carie Pointer
f13cee2689 Add comments above functions 2020-01-07 17:30:25 -07:00
Sean Parkinson
b27ec58d20 Fix RSA verify only build 2020-01-08 10:18:37 +10:00
Carie Pointer
28cf563c76 Fixes from PR review: styling and formatting, remove duplicate code 2020-01-07 17:01:53 -07:00
Sean Parkinson
89d8a90781 Get code compiling with SP math and RSA key gen again. 2020-01-08 09:51:26 +10:00
Sean Parkinson
1f1a173d56 Fix in SP C impl for small stack
Memset correct size and only when pointer is not NULL.
2020-01-08 08:57:20 +10:00
toddouska
d257003341 Merge pull request #2711 from cconlon/copyright2020
update copyright to 2020
2020-01-07 08:40:15 -08:00
toddouska
190623cbb2 Merge pull request #2705 from dgarske/atecc_leak
Fix for possible ECC memory leak when using ATECC and TLS
2020-01-07 08:39:39 -08:00
toddouska
709d17904a Merge pull request #2693 from SparkiDev/mp_rand
Improve speed of mp_rand
2020-01-07 08:39:11 -08:00
Carie Pointer
9e4836a863 Fix for jenkins test failure 2020-01-07 08:11:05 -08:00
toddouska
b7ac709617 Merge pull request #2692 from SparkiDev/rsa_gen_modinv
Add blinding of mod inverse to RSA key gen
2020-01-07 07:56:38 -08:00
David Garske
56e57f3216 Refactor Poly1305 AEAD / MAC to reduce duplicate code. Tested with TLS v1.3 interop and AEAD test vectors. 2020-01-07 07:04:01 -08:00
David Garske
0f0d307b76 Fix to avoid duplicate symbol for CheckRunTimeSettings when SP and TFM are built. Specifically with these build options: USE_FAST_MATH, WOLFSSL_SP and WOLFSSL_SP_MATH. 2020-01-07 05:43:59 -08:00
David Garske
acfe9717f8 Fix for K64 MMCAU with WOLFSSL_SMALL_STACK_CACHE. Moved random test prior to cipher tests (was getting called first time in GMAC test). 2020-01-07 05:39:17 -08:00
David Garske
914cd00e40 Merge pull request #2717 from SparkiDev/sp_cortexm_r7
Don't use r7 with Cortex-M SP assembly
2020-01-07 05:28:43 -08:00
Juliusz Sosinowicz
e0ab92058b Check CRL extension errors but don't require them 2020-01-07 11:55:07 +01:00
Sean Parkinson
34a462b342 Don't use r7 with Cortex-M SP assembly
r7 not available when compiling Cortex-M4 in debug.
2020-01-07 12:53:34 +10:00
David Garske
d68d5229e1 Refactor wc_ChaCha20Poly1305_Encrypt and wc_ChaCha20Poly1305_Decrypt to use the new ChaChaPoly_Aead context and init/update/final functions. 2020-01-06 17:07:09 -08:00
Carie Pointer
681ecf0e58 Fixes for wolfSSL_CTX_load_verify_locations_ex 2020-01-06 14:32:32 -08:00
Carie Pointer
991ee662c0 Return 0 in ParseCRL_Extensions if there are no CRL extensions to parse 2020-01-06 08:42:37 -08:00
Jacob Barthelmeh
f593ff8776 update linux sgx readme for wolfssl/options.h creation 2020-01-06 09:27:17 -07:00
JacobBarthelmeh
ce0475a8e0 Merge pull request #2689 from tmael/pkey_freeMutex
Free EVP ctx pkey
2020-01-06 23:15:00 +07:00
Sean Parkinson
75637445ee Improve speed of mp_rand 2020-01-06 09:39:29 +10:00
Carie Pointer
26eea36d7f Fix X509_NAME issues for Apache 2020-01-03 15:40:52 -08:00
Chris Conlon
45c5a2d39c update copyright to 2020 2020-01-03 15:06:03 -08:00
Juliusz Sosinowicz
443b7ed0c4 Accept newline and null teminator at end of X509 certificate 2020-01-02 10:52:02 +01:00
David Garske
01c7cc6502 Fixes to avoid declaring any variables mid-function and always initializing. 2019-12-31 11:43:13 -08:00
David Garske
784d95afbe Improved state handling. 2019-12-31 10:34:06 -08:00
David Garske
7d2adb2fc0 Merge pull request #2707 from tmael/rsa_cc310
Cryptocell RSA improvements to sign/verify more digest types
2019-12-31 09:19:25 -08:00
David Garske
bff6dcec24 Added support for AAD calc only. Allows Init, UpdateAad and Final sequence. Verfied again with customer test cases. 2019-12-31 08:25:23 -08:00
David Garske
f01999b322 Peer review feedback. 2019-12-31 08:08:33 -08:00
David Garske
b901a2cd35 Use byte for bit-field. Line length cleanup. 2019-12-30 18:05:25 -08:00
toddouska
4f71bcfa7c Merge pull request #2704 from ejohnstown/renegotiation
Maintenance: Renegotiation
2019-12-30 16:45:31 -08:00
Tesfa Mael
f58a9e81e9 Cryptocell rsa improvements to sign/verify more digest types 2019-12-30 16:31:30 -08:00
David Garske
1ee9d182cf New API's for ChaCha20/Poly1305 AEAD init/update/final:
* Provides a context for AEAD to allow "chunked" updates of data then a final calculation for the authentication tag.
* New API's are on by default and can be disabled using NO_CHACHAPOLY_AEAD_IUF.
2019-12-30 15:20:55 -08:00
toddouska
abc96f20fb Merge pull request #2696 from embhorn/cert_vfy_CB
CertManager verify callback
2019-12-30 11:57:44 -08:00
Juliusz Sosinowicz
1bf6eb466f CRL extensions are optional so ext errors should be skipped 2019-12-30 19:08:59 +01:00
Tesfa Mael
4004963c6a test pkey references count 2019-12-30 09:31:23 -08:00
David Garske
f51d940e34 Fix for ECC memory leak when using ATECC and non SECP256R1 curves for sign, verify or shared secret. Fixes #2701. 2019-12-30 08:35:30 -08:00
toddouska
3b7b71c9e0 Merge pull request #2700 from JacobBarthelmeh/HardwareAcc
Hardware calls for DSP use
2019-12-27 13:58:43 -08:00
toddouska
deac82c8ed Merge pull request #2683 from dgarske/various_items
Various cleanups and fixes
2019-12-27 13:53:39 -08:00
toddouska
95daec5326 Merge pull request #2633 from tmael/cc_310
Update Cryptocell readme
2019-12-27 12:58:19 -08:00
toddouska
78fa84be00 Merge pull request #2649 from SparkiDev/rsa_pubonly
Fix RSA public key only builds
2019-12-27 12:55:34 -08:00
toddouska
dd28f26c44 Merge pull request #2699 from JacobBarthelmeh/Testing
big endian changes
2019-12-27 12:52:30 -08:00
Juliusz Sosinowicz
38f466bdfe Keep untrustedDepth = 0 for self signed certs 2019-12-27 17:48:34 +01:00
John Safranek
add7cdd4e2 Maintenance: Renegotiation
1. Found a corner case where secure renegotiation would fail trying to
inappropriately use a session ticket.
2. Explicitly split renegotiation into Rehandshake and SecureResume.
2019-12-26 16:39:44 -08:00
David Garske
e8afcbf031 Merge pull request #2702 from embhorn/spelling
Correct misspellings and typos from codespell tool
2019-12-26 08:19:20 -08:00
Eric Blankenhorn
8580bd9937 CertManager verify callback
Execute verify callback from wolfSSL_CertManagerLoadCA
2019-12-26 09:29:03 -06:00
JacobBarthelmeh
ac0acb3c37 fix for test case with big endian 2019-12-26 05:57:26 -07:00
Eric Blankenhorn
b83804cb9d Correct misspellings and typos from codespell tool 2019-12-24 12:29:33 -06:00
JacobBarthelmeh
ad9011a863 initial DSP build and success with Debug mode
build dps with ARM neon 64

fix for release mode build

add in threading protection and seperate out rng

added callback function and updates to README

update default handle to lock, and add finished handle call

cleanup after veiwing diff of changes
2019-12-23 14:17:58 -07:00
JacobBarthelmeh
5348ecb1f2 initial makefile and build with hexagon 2019-12-23 13:49:06 -07:00
JacobBarthelmeh
ca59bc2d16 big endian changes 2019-12-23 12:33:59 -07:00
Tesfa Mael
99a7aff31e Increment pkey references count 2019-12-20 22:38:54 -08:00
Tesfa Mael
48e59eaeb1 Free EVP ctx pkey 2019-12-20 22:38:54 -08:00
toddouska
3f13b49fa3 Merge pull request #2695 from JacobBarthelmeh/Release
prepare for release v4.3.0
2019-12-20 11:10:34 -08:00
Jacob Barthelmeh
e1433867ce fix for expected nightly config test report 2019-12-20 09:46:12 -07:00
Jacob Barthelmeh
5675a2b3c5 prepare for release v4.3.0 2019-12-20 08:43:34 -07:00
Sean Parkinson
9d94b48056 Add blinding of mod inverse to RSA key gen 2019-12-20 12:17:42 +10:00
toddouska
45d55c8f38 Merge pull request #2676 from SparkiDev/sp_cortexm_perf
Improve Cortex-M RSA/DH assembly code performance
2019-12-19 15:03:59 -08:00
John Safranek
6c7e86f366 Maintentance: DTLS
1. Client wasn't skipping a handshake state when the server sends a
hello without a hello verify. It ended up resetting the handshake hash
and resending Hello with its next messages.
2019-12-19 11:48:05 -08:00
toddouska
51f956490f Merge pull request #2661 from SparkiDev/parse_cert_rel_fixes
Cleanup ParseCertRelative code
2019-12-19 11:03:56 -08:00
toddouska
3342a19e29 Merge pull request #2578 from cariepointer/ZD-9478-and-9479
Add sanity checks for parameters in wc_scrypt and wc_Arc4SetKey
2019-12-19 10:59:05 -08:00
David Garske
2aa8fa2de6 Merge pull request #2688 from kaleb-himes/GH2552
use const to declare array rather than variable sz - VS doesn't like …
2019-12-19 08:52:30 -08:00
JacobBarthelmeh
e10ace21df Merge pull request #2690 from SparkiDev/sp_int_fixes_1
Fix SP to build for different configurations
2019-12-19 08:52:52 -07:00
Sean Parkinson
36f697c93d Fix SP to build for different configurations
Was failing:
  --enable-sp --enable-sp-math
  --enable-sp --enable-sp-math --enable-smallstack
2019-12-19 15:15:19 +10:00
kaleb-himes
95c0c1f2a5 use const to declare array rather than variable sz - VS doesn't like this 2019-12-18 16:08:26 -08:00
Sean Parkinson
64a1045dc3 Cleanup ParseCertRelative code
Fix for case:
- can't find a signer for a certificate with the AKID
- find it by name
Has to error as the signer's SKID is always set for signer and would
have matched the AKID.
Simplify the path length code - don't look up CA twice.
Don't require the tsip_encRsaKeyIdx field in DecodedCert when
!WOLFSSL_RENESAS_TSIP - use local variable.
2019-12-19 08:53:24 +10:00
toddouska
6922d7031c Merge pull request #2685 from embhorn/coverity_fixes
Coverity fixes
2019-12-18 14:06:48 -08:00
toddouska
531fedfbb4 Merge pull request #2687 from ejohnstown/dtls-cap
DTLS Handshake Message Cap
2019-12-18 13:50:52 -08:00
David Garske
031e78e103 Merge pull request #2606 from kaleb-himes/DOCS_UPDATE_19_NOV_2019
Add dox documentation for wc_ecc_make_key_ex
2019-12-18 13:49:57 -08:00
toddouska
0057eb16f8 Merge pull request #2686 from ejohnstown/crl-skid
Check name hash after matching AKID for CRL
2019-12-18 13:48:59 -08:00
toddouska
573d045437 Merge pull request #2682 from SparkiDev/akid_name_check
Check name hash after matching AKID
2019-12-18 13:08:19 -08:00
David Garske
c054293926 Merge pull request #2684 from JacobBarthelmeh/build-tests
fix for g++ build warning
2019-12-18 12:09:29 -08:00
Eric Blankenhorn
52893877d7 Fixes from review 2019-12-18 13:25:25 -06:00
John Safranek
6c6d72e4d6 Find CRL Signer By AuthKeyId
When looking up the signer of the CRL by SKID/AKID, also verify that the
CRL issuer name matches the CA's subject name, per RFC 5280 section 4.1.2.6.
2019-12-18 10:17:51 -08:00
kaleb-himes
2607cf3429 Fix up based on peer feedback 2019-12-18 10:55:20 -07:00
toddouska
5a04ee0d8b Merge pull request #2640 from dgarske/alt_chain
Fixes for Alternate chain processing
2019-12-18 09:38:45 -08:00
toddouska
b89121236f Merge pull request #2635 from dgarske/async_date
Fix for async date check issue
2019-12-18 09:34:08 -08:00
toddouska
74a8fbcff4 Merge pull request #2666 from SparkiDev/b64_dec_fix
Bade64_Decode - check out length (malformed input)
2019-12-18 09:30:41 -08:00
toddouska
c2e5991b50 Merge pull request #2681 from ejohnstown/crl-skid
Find CRL Signer By AuthKeyId
2019-12-18 09:29:17 -08:00
Jacob Barthelmeh
b5f645ea00 fix for g++ build warning 2019-12-18 10:01:52 -07:00
David Garske
22f0b145d3 Various cleanups and fixes:
* Fix for key gen macro name in benchmark.c
* Fix for possible RSA fall-through warning.
* Fix for building `WOLFSSL_STM32_PKA` without `HAVE_ECC`.
* Added option to build RSA keygen without the DER to PEM using `WOLFSSL_NO_DER_TO_PEM`.
* Added options.h includes for test.c and benchmark.c.
* Added printf warning on the math size mismatch in test.c.
* Added support for benchmarking larger sizes.
* TLS benchmarks for HiFive unleashed.
2019-12-18 07:09:26 -08:00
David Garske
b126802c36 Clarify logic for skipping call to AddCA. 2019-12-18 06:04:26 -08:00
Sean Parkinson
c1218a541b Check name hash after matching AKID
RFC 5280, Section 4.1.2.6:
If the subject is a CA (e.g., the basic constraints extension, as
discussed in Section 4.2.1.9, is present and the value of cA is TRUE),
then the subject field MUST be populated with a non-empty distinguished
name matching the contents of the issuer field (Section 4.1.2.4) in all
certificates issued by the subject CA.

The subject name must match - even when the AKID matches.
2019-12-18 17:57:48 +10:00
Sean Parkinson
6ccd146b49 Bade64_Decode - check out length (malformed input) 2019-12-18 17:06:58 +10:00
Tesfa Mael
69a0c1155f Review comment 2019-12-17 17:36:38 -08:00
John Safranek
ef6938d2bc DTLS Handshake Message CAP
Cap the incoming DTLS handshake messages size the same way we do for
TLS. If handshake messages claim to be larger than the largest allowed
certificate message, we error out.
2019-12-17 16:55:58 -08:00
toddouska
7e74d02da5 Merge pull request #2677 from SparkiDev/p12_pbkdf_tmp_fix
PKCS#12 PBKDF - maximum tmp buffer size
2019-12-17 16:48:08 -08:00
toddouska
ff026efe49 Merge pull request #2670 from SparkiDev/dec_pol_oid_fix
DecodePolicyOID - check out index
2019-12-17 16:47:36 -08:00
toddouska
892e951c8a Merge pull request #2669 from SparkiDev/name_joi_fix
Decode X.509 name - check input length for jurisdiction
2019-12-17 16:46:30 -08:00
toddouska
435d4bf427 Merge pull request #2658 from SparkiDev/asn_date_check
Check ASN date characters are valid
2019-12-17 16:39:35 -08:00
toddouska
f81ce71c25 Merge pull request #2660 from JacobBarthelmeh/Compatibility-Layer
add --disable-errorqueue option
2019-12-17 16:37:02 -08:00
toddouska
06563ed3fa Merge pull request #2642 from SparkiDev/sp_exptmod
sp_int: support for more values in sp_exptmod
2019-12-17 16:36:12 -08:00
John Safranek
037c319bab Find CRL Signer By AuthKeyId
1. Add parsing of CRL extensions, specifically the Auth Key ID extension.
2. To verify CRL, search for CA signer by AuthKeyId first, then by name.  If NO_SKID is set, just use name.
3. Update the ctaocrypt settings.h for the NO_SKID option with CRL so FIPS builds work.
2019-12-17 15:33:39 -08:00
toddouska
feeb18600f Merge pull request #2636 from SparkiDev/mp_exptmod_fixes
Handle more values in fp_exptmod
2019-12-17 15:22:24 -08:00
toddouska
138377f30e Merge pull request #2641 from SparkiDev/sp_c32_lshift
Fix lshift in SP 32-bit C code - FFDHE
2019-12-17 15:17:17 -08:00
toddouska
5ee9f9c7a2 Merge pull request #2637 from SparkiDev/ecc_cache_resist
Improve wc_ecc_mulmod_ex cache attack resistance
2019-12-17 15:16:16 -08:00
toddouska
028d9e5443 Merge pull request #2634 from SparkiDev/pkcs7_libz_fix
Fix missing variable declaration
2019-12-17 15:13:13 -08:00
David Garske
a176789f13 Fix for async issue with "badDate" and "criticalExt" check getting skipped on call to ConfirmSignature with WC_PENDING_E response. Added log message when date failure is skipped. 2019-12-17 15:03:00 -08:00
toddouska
06e5e81b1b Merge pull request #2663 from embhorn/zd5050
Clarify wolfSSL_shutdown error on subsequent calls
2019-12-17 14:59:35 -08:00
Carie Pointer
5711d12364 Remove SSL_library_init() calls in unit tests to fix valgrind issues 2019-12-17 15:54:10 -07:00
Eric Blankenhorn
774a758f59 Fixes in test and example code 2019-12-17 15:56:40 -06:00
toddouska
ab14a26be0 Merge pull request #2650 from dgarske/boot_tpm
Fix API visibility for ED25519 check key
2019-12-17 13:45:39 -08:00
Carie Pointer
cfd91fb0b8 Add check for length == 0 in wc_Arc4SetKey 2019-12-17 13:28:50 -07:00
David Garske
e8594daab6 Merge pull request #2678 from tmael/night_valgrind
Fix memory leak detected with Valgrind
2019-12-17 09:11:30 -08:00
Tesfa Mael
88188b79e2 Fix mem leak 2019-12-16 18:03:11 -08:00
Sean Parkinson
8d7d2c74ee PKCS#12 PBKDF - maximum tmp buffer size
Use WC_MAX_BLOCK_SIZE - only an issue if PBKDF is using SHA-3
algorithms.
2019-12-17 09:56:08 +10:00
Sean Parkinson
a71eb11b38 Improve Cortex-M RSA/DH assembly code performance
Performance of modular exponentiation improved by about 30%.
2019-12-17 09:03:34 +10:00
David Garske
8d8ab655fa Merge pull request #2671 from ejohnstown/maint-conf
Maintenance: Configure
2019-12-16 13:38:02 -08:00
Chris Conlon
c0716b9e3f Merge pull request #2673 from Naruto/feature/fix_readme_miss
fix spell miss of zephyr README.md
2019-12-16 12:31:55 -07:00
Eric Blankenhorn
af5c98a6a8 Fixes in wolfCrypt test 2019-12-16 10:22:42 -06:00
Naruto TAKAHASHI
7fbadeaa17 fix spell miss of zephyr README.md 2019-12-16 21:36:43 +09:00
Eric Blankenhorn
0bb8ae8564 Fixes for new defects in wolfCryot and wolfSSL (excluding test code) 2019-12-13 17:17:13 -06:00
David Garske
f2115b2c2b Merge pull request #2652 from ejohnstown/maintenance-error
Maintenance: Error Strings
2019-12-13 15:03:32 -08:00
John Safranek
0348123261 Maintenance: Configure
1. Remove some redundant AM_CONDITIONAL macros checking for OCSP and CRL.
2. Moved the AM_CONDITIONAL macro setting BUILD_PKCS12 to the other AM_CONDITIONALS.
2019-12-13 15:02:03 -08:00
Chris Conlon
1a594d92ba Merge pull request #2668 from ejohnstown/maintenance-scanbuild
Fixed a couple initialization issues scan-build indicated
2019-12-13 14:13:48 -07:00
Sean Parkinson
6a2975c742 DecodePolicyOID - check out index 2019-12-13 12:13:38 +10:00
Sean Parkinson
b3cbab4bf3 Decode X.509 name - check input length for jurisdiction 2019-12-13 11:55:15 +10:00
John Safranek
e7af2d2ba9 Fixed a couple initialization issues scan-build indicated. 2019-12-12 16:50:37 -08:00
John Safranek
a3cc2aa6ff Merge pull request #2665 from kaleb-himes/ZD-9590-CCM-Benchmarking
Add CCM Decryption to benchmarking
2019-12-12 16:48:12 -08:00
Sean Parkinson
e063fb1631 sp_int.c: Strip leading zeros in sp_read_radix 2019-12-13 09:08:55 +10:00
kaleb-himes
0a38d7c178 Add CCM Decryption to benchmarking 2019-12-12 13:53:30 -07:00
Eric Blankenhorn
51d5abd63f Clarify wolfSSL_shutdown error on subsequent calls 2019-12-12 13:16:52 -06:00
Sean Parkinson
adc14f7552 sp_int: Check size of numbers for overflow 2019-12-12 18:36:23 +10:00
Jacob Barthelmeh
2e5258fe15 add --disable-errorqueue option 2019-12-11 11:19:58 -07:00
Sean Parkinson
dffb59ea52 sp_int: support for more values in sp_exptmod and fix
SP C - fix mont reduce with fast mul_add
2019-12-11 11:10:18 +10:00
toddouska
093a31ed49 Merge pull request #2655 from kaleb-himes/ZD-9592
Remove forcing NO_SKID on unsuspecting CRL users
2019-12-10 16:33:16 -08:00
Carie Pointer
c66ca1b774 Remove unused dNSName malloc from wolfSSL_X509_get_ext_d2i 2019-12-10 17:00:16 -07:00
Sean Parkinson
05dafd0adb Check ASN date characters are valid 2019-12-11 09:22:26 +10:00
John Safranek
74e54393ab Remove a bitfield indicator from a structure member that didn't require it. 2019-12-10 13:17:30 -08:00
Carie Pointer
b08d180bc9 WOLFSSL_DH redefined error fix 2019-12-09 16:13:18 -07:00
Carie Pointer
4511557f01 More jenkins test fixes 2019-12-09 15:57:53 -07:00
kaleb-himes
2b66a9f1ec Address reviewed items 2019-12-09 14:44:59 -07:00
Carie Pointer
9ad970d8a4 Fixes for jenkins test failures 2019-12-09 14:04:52 -07:00
kaleb-himes
e8c7d6f818 Account for ASN disabled 2019-12-07 05:06:41 -07:00
kaleb-himes
bbdf0d101f Improve Decoded CRL initialization 2019-12-07 04:23:02 -07:00
kaleb-himes
072fe8fd6d More complete fix for removing NO_SKID condition as default with CRL enabled 2019-12-07 03:39:57 -07:00
tmael
8450c4ae39 Merge pull request #2643 from ejohnstown/maintenance-prime
Maintentance: Prime
2019-12-06 18:50:51 -08:00
JacobBarthelmeh
05e672428d Merge pull request #2645 from cconlon/cmsrsacb
CMS SignedData RSA sign callback for raw digest
2019-12-06 17:13:32 -07:00
Carie Pointer
ee13dfd878 Add Qt 5.12 and 5.13 support
Co-Authored-By: aaronjense <aaron@wolfssl.com>
Co-Authored-By: MJSPollard <mpollard@wolfssl.com>
Co-Authored-By: Quinn Miller <quinnmiller1997@users.noreply.github.com>
Co-Authored-By: Tim Parrish <timparrish@users.noreply.github.com>
2019-12-06 14:27:01 -07:00
Chris Conlon
6081bdaad6 free PKCS7 before creating new in API test 2019-12-06 12:00:33 -07:00
John Safranek
19a4371d48 Maintenance: Error Strings
1. One of the error string was >80 bytes long. Shortened it.
2. The function that copies an error string to an output array needs to
ensure the string is still null terminated.
3. Added a check to the wolfCrypt test to see that error strings aren't
>= 80 bytes long.
2019-12-06 09:53:39 -08:00
Chris Conlon
b4f67dabcf Merge pull request #2647 from kojo1/SN-size
EXTERNAL_SERIAL_SIZE to build option
2019-12-06 09:13:07 -07:00
David Garske
b28f6aeb34 Work to support wolfBoot with wolfTPM. Fix missing visibility marker for wc_ed25519_check_key. 2019-12-06 06:53:23 -08:00
Sean Parkinson
2528121925 Fix RSA public key only builds
Client side only and no client auth
2019-12-06 20:42:27 +10:00
Takashi Kojo
87ec950221 Rollback the define in internal.h 2019-12-06 10:31:28 +09:00
toddouska
9fd5628148 Merge pull request #2631 from SparkiDev/mp_invmod_fix
mp_invmod handles more inputs
2019-12-05 16:21:33 -08:00
toddouska
7e391f0fd5 Merge pull request #2629 from SparkiDev/dsa_blinding
Blinding for DSA sign
2019-12-05 16:20:21 -08:00
toddouska
4b31a180c8 Merge pull request #2626 from SparkiDev/sp_invmod_fixes
Fix sp_invmod to handle more input values
2019-12-05 16:18:55 -08:00
toddouska
8cc4c62c14 Merge pull request #2625 from SparkiDev/set_ser_num_2
Support 20-byte serial numbers and disallow 0.
2019-12-05 16:17:54 -08:00
toddouska
bd8a612d6c Merge pull request #2624 from ejohnstown/maintenance-ASN1
Maintenance: ASN.1
2019-12-05 16:16:42 -08:00
toddouska
7ec448ac0c Merge pull request #2617 from embhorn/zd9553
Fix for vasprintf with AIX
2019-12-05 16:15:24 -08:00
toddouska
7631fdafa1 Merge pull request #2612 from SparkiDev/sp_div_small_a
sp_div improved to handle when a has less digits than d
2019-12-05 16:14:05 -08:00
toddouska
6d40c20f2c Merge pull request #2609 from JacobBarthelmeh/Compatibility-Layer
Fix for EVP CipherUpdate decrypt and add test case
2019-12-05 16:12:26 -08:00
toddouska
312d5c98b3 Merge pull request #2535 from julek-wolfssl/nginx-1.15
Nginx 1.15.0 & 1.16.1
2019-12-05 14:40:45 -08:00
toddouska
a13ebf5258 Merge pull request #2543 from embhorn/zd5706
Update DoVerifyCallback to check verify param hostName and ipasc
2019-12-05 14:38:47 -08:00
Takashi Kojo
d74a1888bb move it to build option 2019-12-06 06:28:25 +09:00
John Safranek
2c0fda4168 Maintentance: Prime
1. Revisited the option enables around the wolfCrypt prime test. Added a
check for key generation to the check for public MP.
2019-12-05 12:23:42 -08:00
Tesfa Mael
4f8a37ef7b Remove wc_RsaSSL_VerifyInline from Cryptocell 2019-12-05 10:40:21 -08:00
Chris Conlon
be97444d24 add api test for wc_PKCS7_SetRsaSignRawDigestCb() 2019-12-05 10:33:49 -07:00
Chris Conlon
2063fa502f add CMS RSA sign callback for raw digest 2019-12-05 10:33:49 -07:00
Sean Parkinson
0552fbc5de Fix lshift in SP 32-bit C code - FFDHE 2019-12-05 09:08:30 +10:00
David Garske
9b437384de Allow AddCA for root CA's over the wire that do not have the extended key usage cert_sign set. 2019-12-04 14:14:37 -08:00
David Garske
b01c558adb Fix to not send alert until after the verify cert callback and alternate chain logic has been evaluated. 2019-12-04 12:41:23 -08:00
David Garske
acd4bc3305 Added logging for SendAlert call. 2019-12-04 11:02:22 -08:00
John Safranek
44fc3e14b1 Maintenance: ASN.1
1. Fix some preprocessor flag checking for function EncodePolicyOID. It
also needs to be available for OpenSSL Compatibility.
2. Fix for a name string for a test that can get left in or out
incorrectly.
2019-12-04 10:26:37 -08:00
David Garske
3646051434 Fix for alternate chain logic where presented peer's CA could be marked as trusted.
When building with `WOLFSSL_ALT_CERT_CHAINS` a peer's presented CA could be incorrectly added to the certificate manager, marking it as trusted.

Began in PR #1934
ZD 9626
2019-12-04 06:56:36 -08:00
Sean Parkinson
2a0c037f98 Improve wc_ecc_mulmod_ex cache attack resistance 2019-12-04 11:08:28 +10:00
Sean Parkinson
c5f9a601e8 Handle more values in mp_exptmod
Handle prime (modulus) of 0 and 1.
Handle exponent of 0.
Fix for base of 0 in fp_exptmod and hadnle base of 0 in mp_exptmod.
fp_exptmod - Don't modify X's sign during operation when passed in as negative.
2019-12-04 09:32:08 +10:00
Sean Parkinson
fd4fb28a2e Fix missing variable declaration
--enable-scep --with-libz
PKCS#7 decompress code
2019-12-03 11:07:29 +10:00
Sean Parkinson
b9a82204e2 Blinding for DSA sign 2019-12-03 09:36:33 +10:00
Tesfa Mael
889f111454 Update CC readme 2019-12-02 14:55:21 -08:00
David Garske
7e45ae2ec6 Merge pull request #2621 from JacobBarthelmeh/SanityChecks
sanity check on "a" input to invmod
2019-12-02 10:57:01 -08:00
Jacob Barthelmeh
2efa91632e revert adding import check in configure.ac 2019-12-02 08:56:00 -07:00
David Garske
bfaa970d84 Merge pull request #2628 from tmael/nightly_valgrind
Fix Valgrind Known Configs Test
2019-11-29 08:59:58 -08:00
Sean Parkinson
204045223f Fix sp_invmod to handle more input values 2019-11-29 11:54:36 +10:00
Sean Parkinson
bd7a572a8f mp_invmod handles more inputs
Value to invert: a
Modulus: b
integer.c - normal math
  - a is one, or a mod b is one
tfm.c - fast math
  - b is -ve (error), or b is zero
  - a is zero or a mod b is zero
2019-11-29 09:08:44 +10:00
David Garske
f0c070b2cf Merge pull request #2630 from SparkiDev/poly1305_avx2_fix
Poly1305 AVX2 asm fix
2019-11-28 09:28:22 -08:00
Sean Parkinson
06ca07c79f Poly1305 AVX2 asm fix
Missed carry when converting from 26 in 64 bits to 64 in 64 bits.
2019-11-28 16:01:29 +10:00
Sean Parkinson
16ac0d8eb6 Support 20-byte serial numbers and disallow 0. 2019-11-28 10:21:48 +10:00
Sean Parkinson
245a2b7012 sp_int: clamp more results 2019-11-28 10:01:54 +10:00
Sean Parkinson
dadbeff433 sp_int: When setting digit of 0, set used to 0 2019-11-28 10:01:54 +10:00
Sean Parkinson
2ac0ac8776 Fix for sp_div when a > d but same bit length 2019-11-28 10:01:54 +10:00
Sean Parkinson
8315ae892f sp_div improved to handle when a has less digits than d 2019-11-28 10:01:54 +10:00
toddouska
b396ed0984 Merge pull request #2627 from SparkiDev/rsa_sign_vfy
Change signature generation to verify by default
2019-11-27 14:08:07 -08:00
toddouska
e1ebb39296 Merge pull request #2618 from ejohnstown/maintenance-prime
Maintenance: Prime
2019-11-27 14:06:23 -08:00
toddouska
ff85cc7740 Merge pull request #2622 from SparkiDev/ber_to_der_rework
Rework BER to DER to not be recursive
2019-11-27 14:05:36 -08:00
Eric Blankenhorn
1026c4359d Cast XMALLOC 2019-11-27 14:47:48 -06:00
Tesfa Mael
acdfc514b3 Use memset initialize 2019-11-27 11:09:57 -08:00
John Safranek
cc722468be Maintenance: ASN.1
1. Add an additional check in GetCertHeader() to see that sigIndex is
bounded by maxIdx.
2019-11-27 10:43:51 -08:00
Eric Blankenhorn
806db8096c Replace use of vasprintf 2019-11-27 11:00:28 -06:00
Juliusz Sosinowicz
b06cee333c Add error on EOF 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
29a8262ea4 Only test X509_NAME_print_ex when defines enabled 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
0f4a002f4f Formatting 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
9be1b4cfd8 Remove tabs 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
944d5e1045 Don't count null char in better way 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
7c1a1dfd1f Variable declaration at start of scope 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
308c5f3370 Fix implicit cast 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
5f39e12b21 Fix leak in SSL_CTX_set0_chain 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
8dde06bbca Fix compile errors 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
dd07344499 SSL_SESSION_dup 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
3c9d191a5b Don't propogate ASN_NO_PEM_HEADER from wolfSSL_load_client_CA_file 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
1962159d89 more NGINX defines 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
b71758895e Add support for SSL_CTX_set0_chain 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
b7913116c0 Remove redeclaration 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
9fbc167d0c Declare at start of scope 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
d9ab0c4bcb Check bounds 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
ea5ac675ed WIP 2019-11-27 17:46:15 +01:00
Juliusz Sosinowicz
f0abd4ea82 WIP 2019-11-27 17:45:49 +01:00
Juliusz Sosinowicz
9064de1e75 Set proper WOLFSSL_ASN1_TIME in thisupd and nextupd in wolfSSL_OCSP_resp_find_status 2019-11-27 17:45:49 +01:00
Juliusz Sosinowicz
31c0abd610 wolfSSL_X509_NAME_print_ex should not put the null terminator in the BIO 2019-11-27 17:45:49 +01:00
Juliusz Sosinowicz
de3c11d55c opensslall required 2019-11-27 17:45:49 +01:00
Juliusz Sosinowicz
a892f2a95a Changes for nginx 1.15
- ssl.c: add to check to overwrite existing session ID if found
- evp.c: wolfSSL_EVP_DecryptFinal* was checking for wrong value
2019-11-27 17:45:49 +01:00
Tesfa Mael
2e487a2463 Init uninitialised values 2019-11-27 07:46:33 -08:00
Sean Parkinson
23878512c6 Change signature generation to verify by default 2019-11-27 10:47:03 +10:00
Sean Parkinson
776f4af7f6 Rework BER to DER to not be recursive 2019-11-27 10:20:32 +10:00
toddouska
1b63ab0e73 Merge pull request #2623 from SparkiDev/set_ser_rand
Generating serial number - clear top bit
2019-11-26 16:14:54 -08:00
John Safranek
2de52c7666 Maintenance: Prime
When returning a result from mp_prime_is_prime for normal math, the
result should be MP_YES or MP_NO, not a bare number (1 or 0).
2019-11-26 15:44:30 -08:00
toddouska
7cb5fe5e2a Merge pull request #2620 from tmael/ALPN_input
Fix alpn buffer overrun
2019-11-26 15:31:56 -08:00
toddouska
57df5c10c9 Merge pull request #2619 from dgarske/async_mem
Fix for Intel QuickAssist asynchronous build
2019-11-26 15:29:04 -08:00
toddouska
0d69950d07 Merge pull request #2615 from SparkiDev/mp_exptmod_neg_p
Handle negative modulus with negative exponent in exptmod
2019-11-26 15:20:54 -08:00
toddouska
95c9dc9fe8 Merge pull request #2614 from ejohnstown/maintenance-OCSP
Maintenance: OCSP
2019-11-26 15:19:27 -08:00
toddouska
9b7cd6bdfd Merge pull request #2613 from tmael/evp_aes_gcm
Set default IV length for EVP aes gcm
2019-11-26 15:18:27 -08:00
toddouska
5d41ef171c Merge pull request #2610 from ejohnstown/maintenance-DTLS
Maintenance: DTLS
2019-11-26 15:17:22 -08:00
toddouska
9ecafa7afe Merge pull request #2557 from tmael/cert_store_ls_x509
Retrieve a stack of X509 certs
2019-11-26 15:16:09 -08:00
John Safranek
55540c6bd3 Replace a compile option check around some filenames for certificate testing. 2019-11-25 16:13:01 -08:00
John Safranek
1ac0b1fc0b Maintenance: ASN.1
1. Undo an earlier change with respect to parsing a long length with
length zero. If BerToDer is disabled, this will be treated as a zero
length. With BerToDer enabled, the conversion will do the right thing.
2019-11-25 16:08:32 -08:00
John Safranek
5e0ca866df Maintenance: ASN.1
1. For certificates, when copying a member of a container, one shouldn't read
beyond the enclosing context.
2019-11-25 16:08:32 -08:00
John Safranek
d389133f33 Maintenance: ASN.1
1. Update the ParseCRL function to always obey the length value of a tag.
2019-11-25 16:08:31 -08:00
John Safranek
9753bf627b Maintenance: ASN.1
1. Remove the function Word32ToString and replace with calls to
XSNPRINTF().
2. Simplify DecodePolicyOID(), which converts an ASN.1 OID to a text
string in the form a.b.ccccc.d... Return an error if it gets too long.
2019-11-25 16:08:26 -08:00
Jacob Barthelmeh
7c3a4a1975 update comment to reflect new sanity check 2019-11-25 10:57:09 -07:00
Jacob Barthelmeh
316b8b0b4d add early return to normal math and WOLFSSL_VALIDATE_ECC_IMPORT to enable-all and enable-fpecc builds 2019-11-25 10:47:08 -07:00
Sean Parkinson
6325269236 Generating serial number - clear top bit
If the top bit is set then the encoding routine will drop a byte of the
serial number.
Better to ensure number is positive, top bit clear, and use as much of
the serial number data as possible.
2019-11-25 15:36:11 +10:00
Jacob Barthelmeh
9a0a48e093 sanity check on "a" input to invmod 2019-11-22 15:47:05 -07:00
Tesfa Mael
8bc3b7df35 Free x509 2019-11-22 14:31:59 -08:00
Eric Blankenhorn
dc25b79db6 Fix from review 2019-11-22 15:10:13 -06:00
John Safranek
3432a8a1fc Maintenance: Prime
1. Prime test should return NO for 1. (ex function, normal math and fast
math)
2. Call mp_init() on the k value for the primality test case in the
wolfCrypt test.
2019-11-22 13:02:59 -08:00
John Safranek
481da3dcc1 Maintenance: Prime
1. Added a test case for checking "1" as a prime number to the wolfCrypt
test.
2. Allow the wolfCrypt prime test for SP builds.
3. Modify the prime test to use mp_mul rather than mp_mul_d, as the SP
math library doesn't export sp_mul_d.
2019-11-22 11:39:19 -08:00
Tesfa Mael
cf127ec05f Fix buffer overrun 2019-11-22 10:33:17 -08:00
David Garske
be88bce36d Fix for issues with wolfSSL_OBJ_nid2sn and wc_OBJ_sn2nid and logic finding max item when WOLFSSL_CUSTOM_CURVES and ECC_CACHE_CURVE are defined. Improvements to wolfSSL_EC_get_builtin_curves to avoid using "min" as variable name and eliminate using a local static. 2019-11-22 10:09:10 -08:00
John Safranek
0a924af894 Maintenance: Prime
1. Prime test should return NO for 1. (sp math)
2019-11-22 10:01:21 -08:00
David Garske
ffb3dfd6ec Fixes for minor test.c build configuration issues. 2019-11-22 07:01:10 -08:00
David Garske
cdc50d7753 Revert header change in #2504 for asynchronous crypto quickassist_mem.h. 2019-11-22 05:59:57 -08:00
Sean Parkinson
50c4347748 More corner cases in tfm
Handle zero base in fp_exptmod better().
Handle negatives in fp_gcd().
Return FP_OKAY when writing out 0 with mp_toradix().
2019-11-22 09:56:02 +10:00
John Safranek
71943844d6 Maintenance: OCSP
1. Add a couple more bounds checks to wolfIO_HttpProcessResponseBuf().
2019-11-21 14:51:35 -08:00
John Safranek
452ba5b502 Maintenance: Prime
1. Prime test should return NO for 1. (normal math and fast math)
2019-11-21 13:49:26 -08:00
Eric Blankenhorn
b57294eff7 Fix for vasprintf with AIX 2019-11-21 12:23:15 -06:00
John Safranek
edb07cf68e Merge pull request #2587 from guidovranken/ocsp-resp-decoder-bounds-fix
Properly limit array access in OCSP response decoder
2019-11-21 10:13:49 -08:00
Tesfa Mael
428d51e664 IV is set in the evp ctx level 2019-11-21 09:58:03 -08:00
toddouska
e883a2f696 Merge pull request #2611 from SparkiDev/sp_int_add_fix
Fix sp_add to handle carries properly
2019-11-21 08:59:09 -08:00
Sean Parkinson
f56a74b6b7 Handle negative modulus with negative exponent in exptmod 2019-11-21 14:55:13 +10:00
John Safranek
6720bc3890 Maintenance: OCSP
1. Add some minimum bounds checking on the HTTP responses as some can
end up being too short.
2019-11-20 17:25:03 -08:00
Tesfa Mael
f95d5eebff Add FreeX509() to clean up when sk stack is empty 2019-11-20 17:02:13 -08:00
Tesfa Mael
6c732725b0 Test evp aes gcm with default IV length 2019-11-20 16:37:15 -08:00
toddouska
b33ce2207d Merge pull request #2608 from SparkiDev/use_heap
When disabled memory, ensure all heap and types are used
2019-11-20 16:18:07 -08:00
toddouska
a2d036dcba Merge pull request #2601 from SparkiDev/certs_exts_fix
ProcessPeerCerts allocating memory for exts with OPENSSL_EXTRA properly
2019-11-20 16:17:28 -08:00
Sean Parkinson
a20db0b8ad Fix sp_add to handle carries properly 2019-11-21 09:47:17 +10:00
John Safranek
ce0136e968 Maintenance: Integers
In TFM and Integer, rshb() shouldn't try to shift a value that is 0.
This leads to using a negative offset to a pointer, but isn't used.
2019-11-20 13:55:57 -08:00
Jacob Barthelmeh
6f98d5d348 remove extra parentheses that clang complained about 2019-11-20 14:49:47 -07:00
John Safranek
71690fc73a Maintenance: DTLS
1. Updated the window scrolling. There was a couple off-by-one errors in
the DTLS window handling. They canceled each other out, but there was a
rare case where they would shift too much.
2019-11-20 13:46:23 -08:00
John Safranek
188eb45433 Maintenance: DTLS
Removed redundant sequence increment when sending the Server Hello message.
2019-11-20 13:08:01 -08:00
Jacob Barthelmeh
1eb1755f07 add another evp decrypt test case 2019-11-20 12:29:22 -07:00
Jacob Barthelmeh
9880ad6926 updates to EVP_CipherUpdate for handling storage of last block 2019-11-20 11:57:06 -07:00
John Safranek
19d8ef405c Maintenance: DTLS
When encrypting with AES-GCM, AES-CCM, or PolyChacha, do not increment
the DTLS sequence number. The sequence number should only be incremented
in BuildMessage. This was done because the sequence number used to be
incremented after calculating the HMAC or after the encrypt for AEAD
ciphers. The HMAC has been separated from the sequence increment.
2019-11-20 10:56:56 -08:00
Takashi Kojo
4896a48955 fix EVP_CipherUpdate padding 2019-11-20 11:49:30 -07:00
toddouska
88fb7efb8c Merge pull request #2602 from SparkiDev/certs_exts_free
ProcessPeerCerts jump to error handling instead of returning
2019-11-20 09:25:48 -08:00
toddouska
2a7fb69523 Merge pull request #2604 from SparkiDev/disabled_curve_fix
TLS supported curve extension - validate support fix
2019-11-20 09:17:50 -08:00
toddouska
ccc8a49fcb Merge pull request #2607 from SparkiDev/tls13_serverhello_cs
TLS 1.3 client detects non-TLS 1.3 cipher suite in ServerHello
2019-11-20 09:16:16 -08:00
toddouska
d5a1adab5d Merge pull request #2605 from SparkiDev/set_ser_num
Added output size to SetSerialNumber
2019-11-20 09:15:36 -08:00
toddouska
1ba366920c Merge pull request #2581 from SparkiDev/ecc_fixes_add
Add deterministic ECDSA sig gen. Fix corner cases for add point.
2019-11-20 09:12:28 -08:00
Tesfa Mael
f1fbabbb60 Use default 96-bits IV length when unset 2019-11-20 09:09:12 -08:00
Sean Parkinson
d441cee6fb When disabled memory, ensure all heap and types are used 2019-11-20 17:06:42 +10:00
Sean Parkinson
917e5b0405 TLS 1.3 client detects non-TLS 1.3 cipher suite in ServerHello 2019-11-20 12:22:00 +10:00
Sean Parkinson
13c6346158 Check error returns from mp calls 2019-11-20 11:09:50 +10:00
Sean Parkinson
79b35860e0 Added output size to SetSerialNumber
Some internal calls were passing in output size as max number size.
2019-11-20 10:52:48 +10:00
kaleb-himes
ad3e105303 Add dox documentation for wc_ecc_make_key_ex 2019-11-19 17:06:52 -07:00
Sean Parkinson
c7f7d1b193 TLS supported curve extension - validate support fix
Check curve name is in range before checking for disabled
2019-11-20 09:38:06 +10:00
Tesfa Mael
62eaa27b41 Review comment, avoid double-free 2019-11-19 15:29:48 -08:00
toddouska
1a3455110e Merge pull request #2599 from dgarske/cleanup_script
Useful script to cleanup test files created
2019-11-19 11:59:50 -08:00
toddouska
5c4da3e6fa Merge pull request #2598 from dgarske/max_file_sz
Improvements to file size checks
2019-11-19 11:59:21 -08:00
toddouska
5de27443d0 Merge pull request #2596 from dgarske/mqx_fio_cleanup
Support for MQX 5.0 and cleanup of the MQX includes
2019-11-19 11:49:03 -08:00
David Garske
7b160a8cf3 Make MAX_WOLFSSL_FILE_SIZE overridable. 2019-11-19 07:46:50 -08:00
David Garske
9a4614f6e1 Fix for possible uninitialized memSz in bio.c 2019-11-19 05:35:22 -08:00
David Garske
e7bff37421 Add settings.h build macro note. 2019-11-19 05:33:59 -08:00
Sean Parkinson
1b8f136d29 ProcessPeerCerts jump to error handling instead of returning 2019-11-19 13:17:29 +10:00
Sean Parkinson
f08dfb4afc ProcessPeerCerts allocating memory for exts with OPENSSL_EXTRA properly 2019-11-19 13:03:20 +10:00
toddouska
e6292eca9c Merge pull request #2597 from ejohnstown/octeon-global
Sync OCTEON Sniffer
2019-11-18 17:06:30 -08:00
toddouska
c6dac64438 Merge pull request #2594 from ejohnstown/maintenance-BLAKE2
Maintenance BLAKE2
2019-11-18 17:05:01 -08:00
John Safranek
fea1f1d6e5 Maintenance: ASN.1
1. Reject as an error any ASN.1 length value that is multibyte of length 0.
2019-11-18 17:02:19 -08:00
toddouska
7a5c8f4e07 Merge pull request #2584 from SparkiDev/sp_rsa4096
SP now has support for RSA/DH 4096-bit operations
2019-11-18 15:38:47 -08:00
toddouska
b646b7258b Merge pull request #2585 from dgarske/webrtc_m79
Support for Google WebRTC (ref m79)
2019-11-18 15:33:49 -08:00
toddouska
20c82f3c4b Merge pull request #2586 from dgarske/STM32_HW
STM32 Crypto hardware fixes and improvements
2019-11-18 15:22:19 -08:00
toddouska
90f7a96721 Merge pull request #2593 from ejohnstown/maintenance-DH
Maintenance: DH
2019-11-18 15:18:16 -08:00
toddouska
12dfe027ed Merge pull request #2595 from dgarske/hmac_devid
Adds PBKDF2 and Hash wrapper heap ctx and crypto callback support
2019-11-18 15:16:19 -08:00
Tesfa Mael
74dd142a51 Review comment 2019-11-18 15:13:59 -08:00
David Garske
abee442c1e Useful script to cleanup test files created. 2019-11-18 15:08:54 -08:00
toddouska
6ffd931db1 Merge pull request #2564 from SparkiDev/tlsext_list_fix
Modify linked list traversal - fix for compiler bug
2019-11-18 15:04:26 -08:00
John Safranek
a1e33e7ec9 Maintenance: OCSP
1. Check array index bounds before using them in arrays.
2. When processing an HTTP buffer, check that the new buffer size is
valid before allocating a new one.
2019-11-18 14:15:55 -08:00
David Garske
48d0b53074 Fix for wolfSSL_cmp_peer_cert_to_file compiler warning with size_t vs long. 2019-11-18 14:01:16 -08:00
David Garske
ca5549ae91 Improvements for XFTELL return code and MAX_WOLFSSL_FILE_SIZE checking.
Fixes #2527
2019-11-18 13:49:06 -08:00
John Safranek
8347d00bf2 Maintenance BLAKE2
1. Remove the BLAKE2 HMAC from wolfSSL and its testing.
2019-11-18 13:31:15 -08:00
David Garske
1542482cd5 Cleanup of the MQX file headers for STDIO. Cleanup of fio.h and nio.h includes to use wc_port.h. ZD 9453. 2019-11-18 12:14:34 -08:00
David Garske
b780982aa4 Adds "devId" crypto device and "heap" context for Hash wrappers and PBKDF
* Adds new hash wrapper init `wc_HashInit_ex`.
* Adds new PBKDF2 API `wc_PBKDF2_ex`.
ZD 9494 (using PBKDF2)
2019-11-18 11:26:56 -08:00
John Safranek
14c986360d Maintenance BLAKE2
1. Remove BLAKE2 support from HMAC.
2. Update doxy header for HMAC with removal of BLAKE2 and addition of SHA-3.
2019-11-18 10:45:30 -08:00
David Garske
cb9f16d3cb Fix for proper sizing of in-memory buffer for TLS benchmarking (32 is not always the max digest size). 2019-11-18 10:34:15 -08:00
David Garske
12d2d17d18 Minor cleanups to TLS bench tool configuration. 2019-11-18 10:29:50 -08:00
David Garske
95b83272dd Implementation for SSL_CTX_add1_chain_cert. 2019-11-18 10:19:48 -08:00
JacobBarthelmeh
c9f7741dfb Merge pull request #2567 from aaronjense/scan-build-fix
Scan-Build Fixes for PKCS7 and PKCS12
2019-11-18 10:21:14 -07:00
toddouska
ea04dbede1 Merge pull request #2583 from ejohnstown/rng-ebsnet
RNG-EBSNET
2019-11-18 09:15:30 -08:00
David Garske
7e17904c54 Fix for AES GCM Decrypt auth tag. ZD 9507 2019-11-18 06:46:50 -08:00
David Garske
b676c69561 Fix for DES mutex return code. Fix TLS bench thread shutdown. README.md updates. 2019-11-18 06:46:20 -08:00
Tesfa Mael
520a032b71 Add show x509 test 2019-11-15 13:23:08 -08:00
Tesfa Mael
6ca12787ae retrieve a stack of X509 certs in a cert manager and a store ctx 2019-11-15 13:23:08 -08:00
David Garske
7819fedca7 Update for OpenSTM32 project. Adds TLS benchmarking tool, which test client/server for each cipher suite. 2019-11-15 12:10:09 -08:00
David Garske
0c2c4fd91b Improvements to tls_bench tool in wolfSSL lib for embedded use. 2019-11-15 12:09:19 -08:00
David Garske
961f9c4ecc Cleanup for invalid use of NO_SHA512 in api.c unit test. 2019-11-15 12:08:50 -08:00
David Garske
a7e415d077 Fix for AEC CTR mode with STM32 and CubeMX. 2019-11-15 12:08:25 -08:00
David Garske
27d95d1dfd Add mutex protection on STM32 RNG, AES/DES and Hashing crypto hardware calls for thread safety. Fixes #2580 2019-11-15 12:08:11 -08:00
David Garske
2a9449182c * Make the wc_Stm32_Aes_Init API always available for STM32. ZD 9503
* Fix for SHA256 hash context to only be included for `STM32_HASH_SHA2`. ZD 9503
2019-11-15 12:07:08 -08:00
Chris Conlon
4282346eef Merge pull request #2551 from kaleb-himes/ZD5815-EBSNET
Implement porting efforts from ZD5241 and ZD5815
2019-11-15 09:24:10 -07:00
John Safranek
3cd5a97473 Maintenance
1. When getting the DH public key, initialize the P, G, and Pub pointers
to NULL, then set that we own the DH parameters flag. This allows
FreeSSL to correctly clean up the DH key.
2019-11-14 14:42:58 -08:00
John Safranek
604219f2fc Sync OCTEON fix
1. For OCTEON builds, leave out the "-DCVMX_BUILD_FOR_LINUX_HOST" option
from CFLAGS by default so it makes standalone host builds.
2. Add a check of the variable OCTEON_HOST for linux to add back in the
"-DCVMX_BUILD_FOR_LINUX_HOST" to CFLAGS.
2019-11-14 14:21:44 -08:00
John Safranek
2ace532e45 Sync OCTEON fix
1. The sniffer's global device ID wasn't tagged as global.
2. Make sure the sniffer's global device ID is used.
2019-11-14 14:21:44 -08:00
John Safranek
7c78130f70 Sync OCTEON fix
The preprocessor selection for the WOLFSSL_GLOBAL macro for OCTEON wasn't getting selected.
2019-11-14 14:21:44 -08:00
Kaleb Himes
4a2f8482b5 Remove static RSA setting
Customer confirmed their tests are passing without static rsa enabled.
2019-11-14 15:16:32 -07:00
Eric Blankenhorn
8c6c4e2432 Add unique error codes to verify failures 2019-11-14 16:02:02 -06:00
Chris Conlon
22042830d6 Merge pull request #2588 from kojo1/BasicConst2
BasicConstraint, compatibility
2019-11-14 13:16:30 -07:00
Takashi Kojo
dccb2e165e if integer it is valid format with CA = False, 2019-11-14 14:51:58 +09:00
Sean Parkinson
cc880e39ae Add deterministic ECDSA sig gen. Fix corner cases for add point.
In verify, two points are added and they may either be the same point
(different z) or result in infinity.
If they are the same point then a double needs to be performed instead.
Detection of infinity added.
Calculation of wc_ecc_sig_size fixed to handle wehn there are more bits
in the order than in the modulus.
2019-11-14 12:49:45 +10:00
Guido Vranken
a3fca34471 Properly limit array access in OCSP response decoder 2019-11-14 03:19:07 +01:00
Sean Parkinson
411b130369 Add new 4096-bit cert and key to distribution 2019-11-14 09:13:24 +10:00
John Safranek
8f08f001d2 Update the EBSNET GenerateSeed function with a better seed. It was
reseeding itself every few bytes and failing the simple entropy check.
2019-11-13 14:50:58 -08:00
David Garske
af142b307b Support for WebRTC (ref m79):
* Fixed `set1_curves_list` API's to use `const char*` for names.
* Fixed `ossl_typ.h` to include `ssl.h` compatibility.
* Added `SSL_CTX_up_ref`.
* Added `wolfSSL_set1_curves_list`
* Added `TLS_method` and `DTLS_method`
* Added `SSL_CIPHER_standard_name`.
* Added `X509_STORE_CTX_get0_cert`
* Added `SSL_CTX_set_cert_verify_callback`.
* Enabled "either" side support when `--enable-opensslall` is used.
* Changed `SSL_CIPHER_get_rfc_name` to use `wolfSSL_CIPHER_get_name` instead of stub.
2019-11-13 12:34:33 -08:00
toddouska
99292158e4 Merge pull request #2573 from JacobBarthelmeh/staticmemory
handle case to avoid memcpy when staticmemory IO pool gives same buffer
2019-11-13 11:29:13 -08:00
toddouska
76e7e7349b Merge pull request #2575 from tmael/valgrind_dhtest
Fix memory leak in dh_test
2019-11-13 11:28:04 -08:00
toddouska
46bc8e092a Merge pull request #2582 from ejohnstown/abi-current
ABI
2019-11-13 11:24:45 -08:00
Aaron Jense
dab7d09570 Fix the possibility that memory is not free'd when GetLength returns 0 2019-11-13 11:55:45 -07:00
Aaron Jense
0beeb2356b Fix scan-build not recognizing FlatAttrib array being initialized 2019-11-13 11:50:26 -07:00
JacobBarthelmeh
e3fb746f1d Merge pull request #2503 from dgarske/openvpn
wolfSSL Compatibility support for OpenVPN
2019-11-13 11:04:08 -07:00
David Garske
546442c130 Fix for CAVP test issue trying to use AES_128_KEY_SIZE and AES_IV_SIZE. 2019-11-12 09:43:09 -08:00
Sean Parkinson
5221c082f1 SP now has support for RSA/DH 4096-bit operations 2019-11-12 12:04:06 +10:00
David Garske
d8e40dea3f Fixes from peer review:
* Reduced codesize when building with `OPENSSL_EXTRA_X509_SMALL`.
* Additional argument checks in `wolfSSL_ASN1_BIT_STRING_set_bit`, `wolfSSL_ASN1_STRING_to_UTF8`, `wolfSSL_RSA_meth_new`, `wolfSSL_RSA_meth_set`.
* Fix for compiler warnings in asn.c using strncmp to duplicate string. "specified bound depends on the length of the source argument"
2019-11-11 15:39:23 -08:00
John Safranek
682cf6deac wolfSSL ABI
Hide the RNG and ecc_key allocators from FIPS mode builds.
2019-11-11 15:16:39 -08:00
David Garske
d17748b1ad Fix for EC_GROUP_order_bits and added unit test. 2019-11-11 14:58:23 -08:00
David Garske
2bae1d27a1 wolfSSL Compatibility support for OpenVPN
* Adds compatibility API's for:
	* `sk_ASN1_OBJECT_free`
	* `sk_ASN1_OBJECT_num`
	* `sk_ASN1_OBJECT_value`
	* `sk_X509_OBJECT_num`
	* `sk_X509_OBJECT_value`
	* `sk_X509_OBJECT_delete`
	* `sk_X509_NAME_find`
	* `sk_X509_INFO_free`
	* `BIO_get_len`
	* `BIO_set_ssl`
	* `BIO_should_retry` (stub)
	* `X509_OBJECT_free`
	* `X509_NAME_get_index_by_OBJ`
	* `X509_INFO_free`
	* `X509_STORE_get0_objects`
	* `X509_check_purpose` (stub)
	* `PEM_read_bio_X509_CRL`
	* `PEM_X509_INFO_read_bio`
	* `ASN1_BIT_STRING_new`
	* `ASN1_BIT_STRING_free`
	* `ASN1_BIT_STRING_get_bit`
	* `ASN1_BIT_STRING_set_bit`
	* `DES_check_key_parity`
	* `EC_GROUP_order_bits`
	* `EC_get_builtin_curves`
	* `EVP_CIPHER_CTX_cipher`
	* `EVP_PKEY_get0_EC_KEY`
	* `EVP_PKEY_get0_RSA`
	* `EVP_PKEY_get0_DSA` (stub)
	* `HMAC_CTX_new`
	* `HMAC_CTX_free`
	* `HMAC_CTX_reset`
	* `HMAC_size`
	* `OBJ_txt2obj`
	* `RSA_meth_new`
	* `RSA_meth_free`
	* `RSA_meth_set_pub_enc`
	* `RSA_meth_set_pub_dec`
	* `RSA_meth_set_priv_enc`
	* `RSA_meth_set_priv_dec`
	* `RSA_meth_set_init`
	* `RSA_meth_set_finish`
	* `RSA_meth_set0_app_data`
	* `RSA_get_method_data`
	* `RSA_set_method`
	* `RSA_get0_key`
	* `RSA_set0_key`
	* `RSA_flags`
	* `RSA_set_flags`
	* `RSA_bits`
	* `SSL_CTX_set_ciphersuites`
	* `SSL_CTX_set_security_level` (stub)
	* `SSL_export_keying_material` (stub)
	* `DSA_bits` (stub)
* Changes to support password callback trial and NO_PASSWORD. Replaces PR #2505.
* Renamed `wolfSSL_SSL_CTX_get_client_CA_list` to `wolfSSL_CTX_get_client_CA_list`.
* Cleanup of "sk" compatibility.
2019-11-11 14:58:23 -08:00
John Safranek
5a21cec030 wolfSSL ABI
Add ABI tags to the functions wolfSSL_Cleanup() to match wolfSSL_Init(),
wolfSSL_X509_free to match wolfSSL_load_certificate_file() which
allocates memory.
2019-11-11 10:16:58 -08:00
Tesfa Mael
68e4014c3f memset DhKeys 2019-11-11 09:43:10 -08:00
toddouska
8246e02756 Merge pull request #2502 from cariepointer/gcm-tls10-fix
Return error with AES-GCM and negotiated versions < TLSv1.2
2019-11-08 15:06:54 -08:00
John Safranek
c6fa49d4b4 wolfSSL ABI
Add the ABI tag to the prescribed list of functions in the header and source files.
2019-11-08 15:06:18 -08:00
toddouska
44552fe707 Merge pull request #2536 from dgarske/nxp_mmcau_align
Fix NXP MMCAU when data pointer is not aligned
2019-11-08 15:02:43 -08:00
toddouska
801ffd4712 Merge pull request #2571 from SparkiDev/asn1_cert_parse_fix
Ensure space for name string. Reset policy count.
2019-11-08 15:02:02 -08:00
Carie Pointer
a2cdb87067 Add check for if length is <= 0 in wc_Arc4SetKey 2019-11-08 14:54:39 -07:00
Tesfa Mael
99ee4a407d Fix mem leak for valgrind 2019-11-08 12:09:46 -08:00
Carie Pointer
39eaaddeae Add tests for AEAD cipher suites with TLSv1.1 and TLSv1.0 2019-11-08 10:04:58 -08:00
JacobBarthelmeh
e329431bc1 Merge pull request #2572 from kaleb-himes/GH2559
Address logical fallacies and syntax issues in example server, addres…
2019-11-08 10:18:12 -07:00
Carie Pointer
1d02943658 Sanity check in wc_scrypt for invalid params <= 0 2019-11-08 09:40:07 -07:00
John Safranek
c69b6fb6d1 wolfSSL ABI
1. Add a blank #define WOLFSSL_ABI to tag functions as part of the ABI
to remind developers there are rules about those functions specifically.
2. Added allocators and deallocators for WC_RNG objects and ecc_key
objects so they don't have to be used on the stack.
3. Add tests for the new allocators.
2019-11-07 13:03:12 -08:00
kaleb-himes
f0d3d5d71c 80-character per-line coding standard format fix 2019-11-07 13:33:38 -07:00
Kaleb Himes
95796c80b7 Add prototype for ebsnet_fseek
Customer confirmed prototype was not present in vfile.h, added prototype to wolfSSL header.
2019-11-07 13:31:02 -07:00
kaleb-himes
5ce88b5086 seperate sanity checks on size and rnd allocation 2019-11-07 13:12:17 -07:00
Jacob Barthelmeh
fd3e4abb46 handle case to avoid memcpy when staticmemory IO pool gives same buffer 2019-11-07 11:36:20 -07:00
kaleb-himes
ad192786b1 Remove double assignment to pt caught by scan-build test 2019-11-07 11:35:36 -07:00
kaleb-himes
e24059691c Address logical fallacies and syntax issues in example server, addresses GH issue #2559 2019-11-07 10:30:12 -07:00
Sean Parkinson
c06efb6c1f Ensure space for name string. Reset policy count.
Only set the name string in one place, keeping a length of the name type
to copy. Also only move cert data index once.
Reset certificate extension policy number/count in case of malicious
cert with multiple policy extensions.
2019-11-07 13:51:50 +10:00
David Garske
0fe5d40507 Merge pull request #2568 from aaronjense/iar-build-fix
Fix changed sign warning for IAR build
2019-11-06 15:47:15 -08:00
Eric Blankenhorn
caaab11f60 Update from review 2019-11-06 15:58:50 -06:00
toddouska
b2270a068f Merge pull request #2566 from SparkiDev/malloc_unused_fix
Fix unused parameter when XMALLOC doesn't use params
2019-11-06 13:08:48 -08:00
toddouska
c137c5a3e0 Merge pull request #2565 from SparkiDev/rsa_kg_sp_math
SP Math and RSA Key Gen working again
2019-11-06 13:08:19 -08:00
toddouska
1becdb9f3b Merge pull request #2563 from SparkiDev/x509_dname_index
Check domain name location index hasn't exceed maximum before setting
2019-11-06 13:07:42 -08:00
toddouska
c995417d54 Merge pull request #2554 from SparkiDev/sp_misrac
MISRA-C changes to SP plus cppcheck fixes
2019-11-06 13:06:28 -08:00
toddouska
15d4da1e14 Merge pull request #2562 from JacobBarthelmeh/staticmemory
fix for memory management on edge case with staticmemory
2019-11-06 13:04:33 -08:00
toddouska
ba34b0d09f Merge pull request #2547 from SparkiDev/rsa_pss_salt_len
Compile options for larger salt lengths in RSA-PSS
2019-11-06 13:03:15 -08:00
tmael
969488434a Merge pull request #2544 from JacobBarthelmeh/SanityChecks
add null checks (QSH and CRYPTOCELL)
2019-11-06 12:18:00 -08:00
Aaron Jense
ea77cd743e Fix changed sign warning for IAR build 2019-11-06 09:59:31 -08:00
JacobBarthelmeh
cd7001904a Merge pull request #2561 from ejohnstown/x509-loss
X.509 and Secure Renegotiation
2019-11-06 10:53:18 -07:00
Sean Parkinson
d4ca48a513 Fix unused parameter when XMALLOC doesn't use params 2019-11-06 15:46:19 +10:00
Sean Parkinson
65cd8a930e SP Math and RSA Key Gen working again 2019-11-06 15:24:12 +10:00
Tesfa Mael
a6e4926d2f Init variables 2019-11-05 15:14:47 -08:00
Sean Parkinson
d2c4798459 Modify linked list traversal - fix for compiler bug
KeyShare and PreSharedKey traverse linked list using a handle.
Customer reported their compiler couldn't handle the assignment, so,
using a temporary.
2019-11-06 08:57:33 +10:00
Chris Conlon
77c36b5ea9 Merge pull request #2542 from kojo1/BasicConst
x.509 basic constratint
2019-11-05 15:38:07 -07:00
Sean Parkinson
52f28bd514 Check domain name location index hasn't exceed maximum before setting 2019-11-06 08:31:04 +10:00
Jacob Barthelmeh
890eb415b1 fix for memory management on edge case with staticmemory 2019-11-05 15:13:26 -07:00
David Garske
165105af95 Merge pull request #2558 from danielinux/pwbased-no-asn
Allow pwdbased module to compile without ASN
2019-11-05 13:26:45 -08:00
David Garske
e48cf88a70 Merge pull request #2556 from embhorn/arm-test-fix
Fix for ARM platforms
2019-11-05 12:25:56 -08:00
David Garske
c337ce2703 Merge pull request #2560 from cconlon/cavppss
use wc_RsaPSS_CheckPadding() for selftest build instead of extended
2019-11-05 12:09:25 -08:00
John Safranek
72e1afbe99 X.509 and Secure Renegotiation
1. When retaining the handshake resources for a session using resumption, do not delete the peer's certificate. If keeping peer certificates is enabled, the certificate needs to exist so it may be examined.
2. Free the saved peer certificate when receiving a peer certificate during a renegotiation.
2019-11-05 11:03:34 -08:00
Chris Conlon
e429558166 use wc_RsaPSS_CheckPadding() for selftest build instead of extended 2019-11-05 10:48:36 -07:00
Daniele Lacamera
51ea806d8b Allow pwdbased module to compile without ASN 2019-11-05 10:16:46 +01:00
Jacob Barthelmeh
1361e4dbef remove extra setting of ecc key size with CRYPTOCELL build 2019-11-04 23:25:47 -07:00
toddouska
e2b7bee9c8 Merge pull request #2533 from cariepointer/apache_bio_want_read
Apache: Return WANT_READ in wolfSSLReceive if BIO retry and read flags are set
2019-11-04 16:52:28 -08:00
Sean Parkinson
32f93be0b6 Replace magic PSS salt length numbers with enums 2019-11-05 09:03:30 +10:00
toddouska
5141623f48 Merge pull request #2548 from SparkiDev/rsa_check
Add more checks of RSA key
2019-11-04 13:05:35 -08:00
toddouska
28da0075d1 Merge pull request #2545 from SparkiDev/scrypt_iters
Add scrypt API that takes iterations rather than cost
2019-11-04 13:01:32 -08:00
toddouska
b723acf0f6 Merge pull request #2534 from SparkiDev/pss_1024_sha512_tls12
Pass the length of the RSA key in bits to PSS padding check in TLS
2019-11-04 11:42:55 -08:00
toddouska
f4afa4bc87 Merge pull request #2540 from SparkiDev/etm_rehand
Fix Encrypt-Then-MAC when rehandshaking
2019-11-04 11:41:44 -08:00
Eric Blankenhorn
16899b55b2 Fix for ARM platforms 2019-11-04 11:54:36 -06:00
David Garske
e2fb359538 Merge pull request #2549 from JacobBarthelmeh/Testing
fix for macro typo's
2019-11-04 08:05:09 -08:00
David Garske
683658de20 Merge pull request #2553 from miyazakh/fix_esp_buildfail
fix esp build failure
2019-11-04 07:44:01 -08:00
Sean Parkinson
f590f6522d MISRA-C changes to SP plus cppcheck fixes 2019-11-04 16:13:48 +10:00
Sean Parkinson
35ec2bc6d4 Compile options for larger salt lengths in RSA-PSS
Salt length larger than the hash size allowed in RSA-PSS.
Passing -2 to PSS pad function uses maximum salt length.
Passing -2 to PSS un-pad function makes it discover salt length.
2019-11-04 14:27:02 +10:00
Hideki Miyazaki
0c8ab5b0e4 fix esp build failure 2019-11-03 12:19:59 +09:00
Takashi Kojo
76404c937e #ifdef guard 2019-11-02 13:01:40 +09:00
David Garske
2084006b61 Merge pull request #2550 from cconlon/mmcau
fix mmCAU classic XFREE on aligned ptr
2019-11-01 15:59:57 -07:00
kaleb-himes
ffb80126ff Implement porting efforts from ZD5241 and ZD5815 2019-11-01 16:00:06 -06:00
Jacob Barthelmeh
6ba3aa88ca fix for build after CI tests 2019-11-01 14:47:50 -06:00
Chris Conlon
98a2322dd9 Merge pull request #2525 from tmael/open_coexist
Raise an error when opensslcoexist option is used with openssl[all][extra]
2019-11-01 11:32:46 -06:00
Chris Conlon
e07e07f831 Merge pull request #2537 from JacobBarthelmeh/PKCS7
fix for pkcs7 verify streaming
2019-11-01 10:15:44 -06:00
Chris Conlon
be2cb302ea fix mmCAU classic XFREE on aligned ptr 2019-11-01 09:56:28 -06:00
Eric Blankenhorn
54f023ac2c Clarify ipasc parameter usage 2019-11-01 10:33:49 -05:00
Jacob Barthelmeh
efca350cba fix for macro typo's 2019-11-01 09:21:21 -06:00
Sean Parkinson
54c7619f81 Add more checks of RSA key
Check d is in valid range, p*q == n, and dP, dQ and u are valid.
2019-11-01 16:25:57 +10:00
Sean Parkinson
7623777857 Add scrypt API that takes iterations rather than cost
iterations = 1 << cost but matches APIs in other products and standard
2019-11-01 10:15:42 +10:00
Eric Blankenhorn
6839110507 Update from review 2019-10-31 17:45:33 -05:00
toddouska
9e852b3867 Merge pull request #2539 from dgarske/mutex_ref
Fixes for cases where mutex was not being free'd
2019-10-31 13:10:04 -07:00
toddouska
b27c1df348 Merge pull request #2538 from SparkiDev/cppcheck_fixes_2
Fixes for errors using cppcheck
2019-10-31 13:08:19 -07:00
toddouska
ac76b4b692 Merge pull request #2541 from SparkiDev/x25519_gcc_avx2
Fix loading and setting using RIP register with GCC
2019-10-31 13:07:27 -07:00
toddouska
626e0efd99 Merge pull request #2530 from SparkiDev/pkcs11_tls_client
Use the public key type as private key type with PKCS #11
2019-10-31 13:06:32 -07:00
toddouska
fca0705a0b Merge pull request #2526 from aaronjense/libwebsockets-build-fix
libwebsockets build fixes
2019-10-31 13:05:46 -07:00
Jacob Barthelmeh
550fbcfff7 add null checks (QSH and CRYPTOCELL) 2019-10-31 10:07:47 -06:00
Eric Blankenhorn
58d800fbb7 Adding support for IP address verification 2019-10-31 09:15:22 -05:00
Eric Blankenhorn
9fc33e461c Check names in verify callback. 2019-10-31 09:15:22 -05:00
Takashi Kojo
2ef4d1a16e Keep else to GetBoolean 2019-10-31 17:29:46 +09:00
Takashi Kojo
4f602e02ba accept ASN_INTEGER for compatibility 2019-10-31 12:06:59 +09:00
Sean Parkinson
adff4e719a Fix loading and setting using RIP register with GCC 2019-10-31 12:14:05 +10:00
Sean Parkinson
4be36ef2bd Fix Encrypt-Then-MAC when rehandshaking
New, encrypted handshakes change over to ETM correctly now.
2019-10-31 09:14:42 +10:00
David Garske
28d466cb10 Fix to ensure 4-byte alignment is default for MMCAU with SHA1, SHA256 and MD5. 2019-10-30 13:34:57 -07:00
David Garske
760a90ef5d Fixes for cases where mutex is not being free'd. 2019-10-30 10:11:06 -07:00
Sean Parkinson
c354b240f2 Fixes for errors using cppcheck 2019-10-30 14:48:21 +10:00
Jacob Barthelmeh
a0955f8221 fix for pkcs7 verify streaming 2019-10-29 16:47:30 -06:00
David Garske
7f42b71571 Fix NXP MMCAU when data pointer is not aligned. 2019-10-29 13:45:25 -07:00
David Garske
6bc16a4acb Merge pull request #2532 from aaronjense/mp-public-defines
Fix for configure used in wolfssl-examples/signature/rsa_vfy_only.…
2019-10-29 08:46:03 -07:00
Sean Parkinson
eb03e5de1e Pass the length of the RSA key in bits to PSS padding check in TLS 2019-10-29 11:56:35 +10:00
Carie Pointer
e8db4cc2a0 Apache: Return WANT_READ in wolfSSLReceive if BIO retry and read flags are set 2019-10-28 15:08:00 -07:00
toddouska
140796d2aa Merge pull request #2504 from ejohnstown/sync-octeon
Synchronous OCTEON Sniffer Support
2019-10-28 12:25:57 -07:00
David Garske
0aeb87f284 Merge pull request #2529 from SparkiDev/etm_max
Fix check for plaintext length when using Encrypt-Then-MAC
2019-10-28 11:59:32 -07:00
toddouska
51e8abf126 Merge pull request #2531 from SparkiDev/nginx_unittest
Fix unittest to pass when compiling for NGINX
2019-10-28 11:27:22 -07:00
Aaron Jense
34c37c58f4 Fixes for configure used in wolfssl-examples/signature/rsa_vfy_only and fix for wrong WOLFSSL_MP_PUBLIC defines.
./configure CFLAGS=-DWOLFSSL_PUBLIC_MP --disable-asn --disable-filesystem --enable-static --enable-shared --enable-cryptonly --enable-sp=smallrsa2048 --enable-sp-math --disable-dh --disable-ecc --disable-sha224 --enable-rsavfy
2019-10-28 09:50:59 -06:00
Sean Parkinson
8a92e1eae6 Fix check for plaintext length when using Encrypt-Then-MAC 2019-10-28 16:28:52 +10:00
Carie Pointer
ad9522c765 Add WOLFSSL_OLDTLS_AEAD_CIPHERSUITES to allow AEAD cipher suites in TLSv1.0 and TLSv1.1 2019-10-25 09:51:11 -07:00
David Garske
b80b10b980 Merge pull request #2498 from danielinux/stm32wb55
Support for STM32_PKA accelerator
2019-10-24 15:41:08 -07:00
Daniele Lacamera
9f34826173 stm32_pka: fixed remarks from code review 2019-10-24 21:48:35 +02:00
Daniele Lacamera
390b936331 stm32_pka: using XMEMCPY 2019-10-24 20:49:43 +02:00
Daniele Lacamera
f97452c859 STM32_PKA: using XMEMSET 2019-10-24 20:46:03 +02:00
Daniele Lacamera
025754e774 Fixed alignment/padding for hash. ECC tests passing on target. 2019-10-24 20:32:47 +02:00
John Safranek
17f44d4d29 OCTEON Sync
1. Add attributes to the OCTEON functions so they aren't optimized.
2. Disable the same test cases for OCTEON as we do QAT in sync.
2019-10-24 10:00:20 -07:00
David Garske
3ac4aa5a9b Merge pull request #2524 from cconlon/cau_iar
mmCAU Classic AES key alignment, IAR warnings fixes
2019-10-24 09:23:20 -07:00
Daniele Lacamera
3677e4d735 [stm32hal-pka] Fixed after reviews, fix result allocation for sign/mulmod 2019-10-24 16:06:38 +02:00
Tesfa Mael
0b93109b3a throw error when opensslcoexist configured with opensslall or opensslextra 2019-10-23 15:51:19 -07:00
toddouska
400dcfebba Merge pull request #2516 from danielinux/freescale-ltc-spmath
Fixed Freescale LTC crypto module to compile with SP math
2019-10-23 15:11:43 -07:00
toddouska
28cc7daa68 Merge pull request #2511 from tmael/BN_bn2hex
Fix for hex digits with fastmath and normal integer
2019-10-23 15:10:40 -07:00
John Safranek
954d1ad13e Sniffer Update
1. Add ssl_SetWatchKeyCallback_ex() which was missing.
2. Fix linking issue with OCTEON libraries.
2019-10-23 15:03:50 -07:00
Chris Conlon
cb7b4af986 Merge pull request #2523 from JacobBarthelmeh/SanityChecks
fix for selftest build
2019-10-23 15:24:16 -06:00
JacobBarthelmeh
4135850a32 Merge pull request #2522 from dgarske/rel_async_4.2.0
Fixes for building with async (rel v4.2.0 prep)
2019-10-23 14:33:00 -06:00
Jacob Barthelmeh
5b9e005802 fix for selftest build 2019-10-23 12:09:20 -06:00
John Safranek
b8f4b1a712 QAT Header Hiding
For the sync QAT, the QAT headers are included into the library after it
has been built and is being used. The actual headers should only be used
when building wolfSSL and should be hidden from the user.
1. Most of the functions in the sync QAT and OCTEON headers don't need
to be exported. Move all of that into the source files. Only export the
init and deinit functions.
2. Remove inline from the OCTEON support functions.
3. Remove the AES-ECB files for sync OCTEON as unused.
4. Configure defaults to OCTEON2 build, can be overridden with variable.
2019-10-23 09:58:11 -07:00
John Safranek
1ad23334bf Sync Sniffer API Cleanup
1. Switched the IntelQa sync API back to local.
2. Added two functions to setup and cleanup the IntelQA device.
3. Changed the Octeon functions to match the IntelQa functions.
4. Updated sniffer, wolfcryptest, and benchmark.
2019-10-23 09:58:11 -07:00
John Safranek
b0dafbcd1b Sync Octeon Sniffer
Added back some changes from a dropped commit.
1. The Octeon README should be a stub.
2. Changed the license notice in the octeon sync files back to GPLv2.
3. Added a flag to Aes that needed a build guard around it.
4. Replaced the disable for sniffer session stats.
2019-10-23 09:58:11 -07:00
John Safranek
54f0b1a44a Sync QAT Fixes
1. The QAT callback's worker functions need to copy the IV into the AES IV register. QAT doesn't update it automatically.
2. Update the GMAC test to set its device to INVALID_DEVID.
3. Always allocate NUMA buffers before running crypto operation and store the results.
4. The QAT does not like non-multiple of 4 iv lenths, and aad lengths. Or 0. Remove a few test cases for those.
5. QAT wasn't getting a pointer to store the auth tag for GCM. Then store it.
2019-10-23 09:58:11 -07:00
John Safranek
825f311959 add OCTEON and QAT to wolfCrypt test, update SHA-1 to reset ret when it will do the software sha 2019-10-23 09:58:10 -07:00
John Safranek
41e0712eb0 Synchronous Cavium OCTEON Support for Sniffer
1. Fixes for AES-GCM.
2019-10-23 09:58:10 -07:00
John Safranek
67b11b8ece Fixing some play-nice between sync QAT and sync Octeon. 2019-10-23 09:58:10 -07:00
John Safranek
989c964a95 Synchronous Cavium OCTEON Support for Sniffer
1. Add configure option for sync IntelQA that uses the crypto callback API.
2. Make a synchonous copy of the quickassist files.
3. Tie in the crypto device to the sniffer.
4. When making a sniffer build, define static DH enabled.
5. The readme files in the Cavium were being added to the distro optionally, changed to always add the readme files.
6. Added an include of the cavium_octeon header in the wc_ports.c.
7. Updated the Cavium OCTEON callback for AES-GCM.
8. Add the global tag to the list of crypto callback function pointers.
9. Add an accessor to the OCTEON crypto callback module to return the device ID of the OCTEON device.
10. Add a new version of ssl_SetWatchKeyCallback which takes an additional parameter of a device ID. This ID is used to set up the wolfSSL_CTXs in the sniffer session trackers.
11. Update the benchmark to use sync OCTEON and QAT.
2019-10-23 09:58:10 -07:00
David Garske
7386bd4df1 Fixes for building with ./configure --enable-asynccrypt --enable-all CFLAGS="-DWC_ASYNC_NO_CRYPT" 2019-10-22 13:37:16 -07:00
David Garske
48c4b2fedc Merge pull request #2521 from JacobBarthelmeh/Release
prepare for release version 4.2.0
2019-10-22 09:12:33 -07:00
Sean Parkinson
8ce3b3a5e6 Use the public key type as private key type with PKCS #11 2019-10-22 10:34:44 +10:00
Sean Parkinson
a3c09f6794 Fix unittest to pass when compiling for NGINX 2019-10-22 08:47:49 +10:00
Jacob Barthelmeh
1cbc2536cc prepare for release version 4.2.0 2019-10-21 16:32:41 -06:00
Jacob Barthelmeh
32f537cb6c wrap time_t requirement in ssl.h by openssl extra build to fix sgx build 2019-10-21 16:29:31 -06:00
Jacob Barthelmeh
497818525a check on keygen for make rsa key function 2019-10-21 14:54:17 -06:00
David Garske
9b8f1dadd0 Merge pull request #2520 from JacobBarthelmeh/Testing
Testing
2019-10-21 12:20:53 -07:00
Aaron Jense
eaa8f2a957 libwebsockets build fixes
1. Add --enable-libwebsockets option
2. Add OPENSSL_NO_EC (used in libwebsockets)
3. Add SSL_MODE_RELEASE_BUFFERS and debug message for when wolfSSL_CTX_set_mode doesn't recognize a mode.
2019-10-21 12:03:18 -06:00
David Garske
132877ea0b Merge pull request #2519 from ejohnstown/dtls-fips-fix
Fix DTLS+OPENSSLALL+FIPS Failure
2019-10-21 10:00:23 -07:00
Jacob Barthelmeh
09a0859865 fix for fortress and no sha build with encrypted keys 2019-10-21 09:37:24 -06:00
Jacob Barthelmeh
e24787c8e4 add ecc header for fp_ecc cache free 2019-10-21 09:21:46 -06:00
Jacob Barthelmeh
ea45da5fa8 change add_all_* to be evp table init and fix valgrind report 2019-10-20 01:13:43 -06:00
John Safranek
26793359a2 Fix DTLS+OPENSSLALL+FIPS Failure
There was a problem with the combination of DTLS, OpenSSL Compatibility,
and FIPSv2 where the DTLS server would fail out because a HMAC key was
too short. FIPS requires a HMAC key be a minimum size. The DTLS server
uses HMAC to generate the first cookie key when initialized. When using
OpenSSL, the feature for creating a DTLS endpoint with its side being
set late is tested. The DTLS cookie wasn't getting set at init because
the server was "neither" at the time. Added a call to set cookie when
initializing a neither endpoint into a server.
2019-10-18 16:30:27 -07:00
Chris Conlon
42ddd63952 exclude packed __attribute__ on IAR ICC < 9 2019-10-18 16:33:01 -06:00
Chris Conlon
c18ff36959 fix uninitialized variable warning in IAR-EWARM 7.50.2 2019-10-18 14:08:23 -06:00
Chris Conlon
c4afbb3685 align AES key if needed when using MMCAU classic 2019-10-18 14:02:43 -06:00
Kaleb Himes
0eefa80d74 initialize max pathlen to preserve ASN no signer error 2019-10-18 11:30:08 -06:00
Jacob Barthelmeh
a0a572cf3e fix sha256 build on armv8 2019-10-18 11:04:45 -06:00
David Garske
0e73af8b88 Merge pull request #2515 from JacobBarthelmeh/Testing
Initial pass on test cycle
2019-10-17 16:02:17 -07:00
JacobBarthelmeh
7135e9e500 Merge pull request #2517 from dgarske/x509_date
Fix to restore notBefore/notAfter functions
2019-10-17 16:59:20 -06:00
David Garske
fb8d2d4b2f Fix to restore notBefore/notAfter functions that were removed in PR #2462. These are not openssl compatibility functions, but are used by JSSE. 2019-10-17 13:02:00 -07:00
toddouska
78e1336598 Merge pull request #2514 from dgarske/fix_async_next_iv
Various fixes for asynchronous mode
2019-10-16 13:52:47 -07:00
Jacob Barthelmeh
b7d4c9f839 fix build with no server and enable all 2019-10-16 14:19:50 -06:00
Daniele Lacamera
f41f67d231 Fixed Freescale LTC crypto module to compile with SP math 2019-10-16 15:44:58 +02:00
Jacob Barthelmeh
b4a3ad6e2d fix test case for enckeys + des3 with md5 disabled 2019-10-15 17:07:05 -06:00
Jacob Barthelmeh
acd0a55d47 add new certs to extra dist 2019-10-15 14:23:01 -06:00
Tesfa Mael
1267987c31 Review comment 2019-10-15 12:24:57 -07:00
Tesfa Mael
1a18e3bba8 Add leading zero padding for odd hex ASCII digits 2019-10-15 11:54:58 -07:00
David Garske
5c07391f1b Various fixes for asynchronous mode:
* Fix for AES CBC issue with IV (QAT only).
* Fix for test cases with QAT.
* Remove poorly placed debug for AES CFB.
2019-10-15 11:18:55 -07:00
David Garske
928eb36b5e Merge pull request #2513 from JacobBarthelmeh/UnitTests
update external test certificate
2019-10-15 11:18:01 -07:00
JacobBarthelmeh
63e74554a8 fix for warning when using c++ compiler 2019-10-15 10:07:02 -07:00
JacobBarthelmeh
bb6eeefe26 fix for build with --enable-all and gcc-9 on Linux 2019-10-15 09:56:26 -07:00
Jacob Barthelmeh
4bde06fbe3 fix for pkcs11 found running build_test.pl script 2019-10-15 10:25:46 -06:00
Jacob Barthelmeh
b27504b222 update external test certificate 2019-10-15 10:11:38 -06:00
Tesfa Mael
441f3a7f1f Add leading zero for odd number of hex digits 2019-10-14 16:43:45 -07:00
Jacob Barthelmeh
95c036a08a static analysis tests for memory management 2019-10-14 17:17:46 -06:00
toddouska
d30e4ac74f Merge pull request #2499 from ejohnstown/sniffer-features
Sniffer Features
2019-10-14 15:35:55 -07:00
JacobBarthelmeh
c3e99e1394 Merge pull request #2510 from tmael/bio_base64
Fix a return value from wolfSSL_BIO_BASE64_write()
2019-10-14 15:44:14 -06:00
John Safranek
f0dfe5355b Sniffer for IPv6
1. Better length checking on the IPv6 extension headers.
2. Removed the default size update analogous to the IPv4 header check
function. It cannot ever be 0, so the update was unnecessary.
2019-10-14 10:17:37 -07:00
toddouska
df77088d5c Merge pull request #2461 from kaleb-himes/ZD_5541_PathLenConstraint
addressing non RFC compliance in handling of pathLen constraint
2019-10-14 09:41:09 -07:00
toddouska
9560b905af Merge pull request #2509 from cconlon/selftest_version
Add CAVP selftest version API prototype
2019-10-14 09:23:16 -07:00
toddouska
2c3e4a2d18 Merge pull request #2508 from ejohnstown/dtls-fix
DTLS Redundant Check
2019-10-13 10:05:44 -07:00
toddouska
afb1c5f252 Merge pull request #2431 from JacobBarthelmeh/coldfire
M68K (coldfire MCF5441X) wolfcrypt build and examples
2019-10-13 09:16:03 -07:00
Jacob Barthelmeh
f2a3da94b6 refactor some openssl extra functions for cryptonly use 2019-10-11 16:40:08 -06:00
Tesfa Mael
54b6148259 Add comment 2019-10-11 15:19:02 -07:00
Tesfa Mael
ccc500e13f Correct return value from wolfSSL_BIO_BASE64_write() 2019-10-11 14:52:53 -07:00
kaleb-himes
9357db4d0c check value of ret in test cases 2019-10-11 15:27:15 -06:00
kaleb-himes
306b280ccd Add test cases and implement peer suggestions
Fix failing jenkins test cases

Add detection for file size with static memory

Account for cert without pathLen constraint set including test cases

Resolve OCSP case and test where cert->pathLen expected to be NULL
2019-10-11 15:03:38 -06:00
Jacob Barthelmeh
d7fe000cfe M68K (coldfire MCF5441X) wolfcrypt build and examples
fix for make dist and cleanup makefile

add aes file to Makefile

macro guards and entropy warning

add AES to build
2019-10-11 14:56:34 -06:00
Chris Conlon
fd6328aa8e adjust NETBSD selftest tag in fips-check.sh for CAVP version API 2019-10-11 14:29:41 -06:00
Chris Conlon
2c6c88266b add prototype for wolfCrypt CAVP version in selftest.h 2019-10-11 14:18:04 -06:00
toddouska
cd934a95a4 Merge pull request #2445 from JacobBarthelmeh/SanityChecks
sanity check on resulting ecc size
2019-10-11 10:53:20 -07:00
kaleb-himes
9c5fd165d0 addressing non RFC compliance in handling of pathLen constraint 2019-10-10 16:45:29 -06:00
John Safranek
774c0c5c3c Remove a redundant sequence number check for epoch 0. 2019-10-10 14:21:14 -07:00
John Safranek
fabc6596b3 Merge pull request #2369 from JacobBarthelmeh/Testing
fix for inject clear alert from client test case
2019-10-10 13:25:51 -07:00
David Garske
d781734b55 Merge pull request #2507 from cariepointer/apache_updates
Apache updates
2019-10-10 12:45:01 -07:00
JacobBarthelmeh
65d1c3b8ce Merge pull request #2506 from tmael/bio_mem_base64
Fix for BIO and base64 encoding/decoding
2019-10-10 13:41:38 -06:00
Carie Pointer
1d7f0de5b5 Fixes from review, adds some error checking, and adds const variables 2019-10-10 09:13:35 -07:00
Carie Pointer
4fa2b71848 Minor changes requested from review 2019-10-09 15:38:26 -07:00
Carie Pointer
af8968ee5e Add REQUIRES_AEAD and move functionallity for checking AEAD ciphers to CipherRequires() 2019-10-09 14:37:39 -07:00
Carie Pointer
d137cab427 Update in XSTRCAT call 2019-10-09 13:12:34 -07:00
Carie Pointer
2312d0e125 Dynamically allocate buffer in wolfSSL_X509V3_EXT_print 2019-10-09 12:54:23 -07:00
Tesfa Mael
e22563ed00 BIO chain test 2019-10-09 11:38:07 -07:00
Carie Pointer
d89f9ddc42 Update X509V3_EXT_print for different extension types 2019-10-09 11:10:27 -07:00
Carie Pointer
5adcee9f2c Update testsuite to expect ADH-AES256-GCM-SHA384 to fail with TLSv1.0 and TLSv1.1 2019-10-09 08:36:47 -07:00
Daniele Lacamera
99209d78a3 STM32 PKA: added include statement 2019-10-09 13:19:57 +02:00
Daniele Lacamera
0dfc64678c STM32 PKA: added function prototype 2019-10-09 13:15:56 +02:00
Daniele Lacamera
3465a487d3 STM32 PKA fix: remove reverse array operations 2019-10-09 10:22:04 +02:00
John Safranek
89db0da0aa Synchronous Quick Assist Support for Sniffer
1. Fixed a compiler warnings.
2. Fixed a memory issue when using the storage callback with QAT.
2019-10-08 16:49:38 -07:00
Tesfa Mael
b7fe49c8b4 NULL terminate a character sequence 2019-10-08 15:42:39 -07:00
Tesfa Mael
a84fbeae6b Fix for a memory BIO and handle BIO chains 2019-10-08 12:26:54 -07:00
John Safranek
ff15b3cfaa better display of the IPv6 addresses in the sniffer 2019-10-08 11:34:36 -07:00
Carie Pointer
136bc45857 Update wolfSSL_X509_NAME_print_ex for printing X509_NAME in reverse order 2019-10-07 11:36:00 -07:00
Carie Pointer
98b8cd35d8 Add ALT_NAMES_OID to switch in wolfSSL_X509_set_ext and update X509V3_EXT_print 2019-10-07 11:29:35 -07:00
Carie Pointer
b247b4565c Fixes for build warnings with apache httpd 2019-10-07 11:15:55 -07:00
Carie Pointer
df22115920 Return error with AES-GCM and negotiated versions < TLSv1.2 2019-10-07 08:28:00 -07:00
David Garske
625bd121f2 Merge pull request #2495 from JacobBarthelmeh/staticmemory
check on if free'ing ctx/method back to heap hint
2019-10-07 08:10:05 -07:00
John Safranek
8ec90339d9 Change the sniffer testsuite to do the IPv6 test when the "-6" option is
on the command line.
2019-10-05 19:26:41 -07:00
John Safranek
f025f08315 Sniffer touches for Windows. 2019-10-04 17:06:35 -07:00
John Safranek
a467c75390 Change the GPL version back to v2 for the quickassist_sync files. 2019-10-04 14:56:42 -07:00
John Safranek
b6b57154e5 Add the new IPv6 sniffer test file to the automake list. 2019-10-04 14:54:17 -07:00
John Safranek
89ff909d73 Sniffer IPv6
1. Sorted out IPv6 configuration for sniff test.
2. Tests the sniffer using an IPv6 file.
2019-10-04 14:54:17 -07:00
John Safranek
ebd435ae46 skip IPv6 extended headers 2019-10-04 14:54:17 -07:00
John Safranek
a5bfb8a18b Change the IP address wrappers to include the version. Makes comparing
easier. Hard-coded some IPv6 localhost tests.
2019-10-04 14:54:17 -07:00
John Safranek
d1d2eb0edd Add IPv6 to the sniffer. 2019-10-04 14:54:17 -07:00
John Safranek
8b21082abe Use wrapper macros for all touches of the sniffer statistics mutex. 2019-10-04 14:54:17 -07:00
John Safranek
1b057df610 When enabling SHOW_SECRETS one of the array counter variables for a
secret had a type mismatch. Changed the index to a word32 to match the
boundary variable's type.
2019-10-04 14:54:17 -07:00
John Safranek
841e469340 Convert the data the snifftest is about to print into printable text.
Anything that isprint() or isspace() is kept, anything else is changed
to a period.
2019-10-04 14:54:17 -07:00
John Safranek
725243b132 Changed how the sniffer calculates the sslFrame size, sslBytes, and the
end of packet pointer. The end of packet pointer is based on sslFrame
and sslBytes. sslBytes is calculated from the total length in the IP
header, rather than the caplen. The caplen may include things like
Ethernet's FCS, which throws packet processing off.
2019-10-04 14:54:17 -07:00
John Safranek
b2fb6d1a81 Move some stats captures to a different location. 2019-10-04 14:54:17 -07:00
John Safranek
3256fef7f9 Sniffer Chain Buffers
1. Fixed an issue when a TLS record is split across two chain buffers.
The second buffer was being treated as a new record.
2. Fixed an issue with STARTTLS_ALLOWED where the input buffer isn't
getting cleared and the skipped data just builds up blocking TLS
records.
2019-10-04 14:54:17 -07:00
John Safranek
53c7f864b2 Add midding function prototype. 2019-10-04 14:54:17 -07:00
John Safranek
b6ca72549c Sniffer Fixes
Added a flag to disable the normally enabled session stats, WOLFSSL_NO_SESSION_STATS.
2019-10-04 14:54:17 -07:00
John Safranek
dea5e73852 Sniffer Chain Input
Add a new method for handling input records where the input is in the form of an iovec list.
2019-10-04 14:54:17 -07:00
John Safranek
62ac388f55 Store Data Callback
Added a callback and support to allow one to handle storing the data
directly without reallocating the data buffer. Also added an example
that uses this callback if the callback is enabled in the build.
2019-10-04 14:54:17 -07:00
John Safranek
98e94a6f0f Added a preprocessor guard around ssl_GetSessionStats(). 2019-10-04 14:54:17 -07:00
John Safranek
a0ad39cf70 Sniffer Stats
Moved the increment of the resume misses statistic.
2019-10-04 14:54:17 -07:00
John Safranek
73273f4fec Sniffer Memory
1. Modify the sniffer code to use XMALLOC and XFREE.
2. Added some new dynamic memory types for the sniffer.
2019-10-04 14:54:17 -07:00
John Safranek
0e1073f622 Sniffer Statistics
Addded two more statistics, cache hits and cache inserts.
2019-10-04 14:54:17 -07:00
John Safranek
4292936efc wolfSSL Global
1. Renamed the global variable tag to WOLFSSL_GLOBAL.
2. Tagged several more global variables with WOLFSSL_GLOBAL.
2019-10-04 14:54:17 -07:00
John Safranek
bbc208ad33 Updated some more globals in the sniffer and session cache with being shared. 2019-10-04 14:54:17 -07:00
John Safranek
a991cc42f4 Add function wolfSSL_get_cipher_name_iana_from_suite() a wrapper around
internal API GetCipherNameIana().
2019-10-04 14:54:17 -07:00
John Safranek
87a8447f0d 1. Added a tag for global variables in environments where they aren't
shared across threads by default.
2. Set the Trace file and flag up with the shared flag.
2019-10-04 14:54:17 -07:00
John Safranek
743a6ab829 Update the decrypted packet and byte counts. 2019-10-04 14:54:17 -07:00
toddouska
dd9635d8ff Merge pull request #2469 from embhorn/sk_types
Sk types
2019-10-04 14:44:25 -07:00
toddouska
30829cec09 Merge pull request #2482 from SparkiDev/cppcheck_fixes_1
Fixes from using cppcheck tool
2019-10-04 14:39:31 -07:00
David Garske
b213a962e9 Merge pull request #2493 from ejohnstown/sync-qat
Synchronous Quick Assist Support for Sniffer
2019-10-04 11:45:08 -07:00
Daniele Lacamera
c26a7ccb68 Fix copy-paste from LTE module 2019-10-04 20:37:38 +02:00
Daniele Lacamera
52bf19eefd Added initial support for STM32_PKA ECC accelerator 2019-10-04 20:15:33 +02:00
David Garske
0d43c1f3d7 Merge pull request #2488 from aaronjense/openssh-fixes
Fix defines that aren't in configure.ac
2019-10-04 10:35:07 -07:00
David Garske
d48e904c16 Merge pull request #2496 from embhorn/test_ASN1_INTEGER_set
Add conditional check to test_wolfSSL_ASN1_INTEGER_set test case failing for 32-bit platform
2019-10-04 10:33:37 -07:00
John Safranek
48d872187d Synchronous Quick Assist Support for Sniffer
1. Add a HardwareStop for the QAT sync build in wolfCrypt_Cleanup();
2019-10-04 09:01:59 -07:00
David Garske
a258b84018 Merge pull request #2497 from danielinux/openssl-cleanup
Fix include path issue for openssl compatibility for dh.h.
2019-10-04 08:23:37 -07:00
Eric Blankenhorn
f47a9c8b20 Add conditional to 64-bit tests 2019-10-04 09:41:48 -05:00
Daniele Lacamera
3183ccc0c8 x509.h: include the correct header 2019-10-04 15:04:35 +02:00
Daniele Lacamera
5f1dcc3b0c Removed inclusion of openSSL header 2019-10-04 10:22:38 +02:00
Jacob Barthelmeh
82fc96b7f3 adjust onHeap to be a bit field 2019-10-04 08:44:00 +07:00
tmael
197b22973b Merge pull request #2490 from dgarske/riscv
Consolidate RISC-V examples and fix `make dist` file error
2019-10-03 15:08:49 -07:00
David Garske
12bf46296e Consolidate RISC-V examples. Fix make dist file error. 2019-10-03 11:08:50 -07:00
David Garske
f5a4b82302 Merge pull request #2492 from ejohnstown/titan-cache
Titan Session Cache
2019-10-03 09:52:51 -07:00
John Safranek
177bab84e5 Synchronous Quick Assist Support for Sniffer
1. Add missing deinitializers for the QAT as the sniffer exits.
2019-10-03 09:15:50 -07:00
JacobBarthelmeh
df2c27af32 check on if free'ing ctx/method back to heap hint 2019-10-03 08:39:18 -07:00
John Safranek
c0a4143942 Titan Session Cache
1. Added a new build option for a TITAN session cache that can hold just over 2 million session entires.
2. Reordered the cache options from largest to smallest.
2019-10-02 14:36:38 -07:00
John Safranek
3b989329cd Merge pull request #2491 from aaronjense/fix-shadow-ret
Fix shadow redeclaration
2019-10-02 12:17:35 -07:00
John Safranek
9a5eb1bb67 Synchronous Quick Assist Support for Sniffer
1. Add configure option for sync IntelQA that uses the crypto callback API.
2. Refactor the IntelQA configure checks so they are usable by both the sync and async options.
3. Make a synchonous copy of the quickassist files.
4. Replace the printfs in the code with a logging macro.
5. Added padding to the AES_KEY structure for WOLF_CRYPTO_CB.
6. Tie in the crypto device to the sniffer.
7. When setting up the symmetric operation, add a build case for the sniffer to use malloc instead of realloc. Sniffer usually uses the middle of another buffer for the input data rather than the beginning of the buffer as it has the TCP/IP data to handle as well.
8. Add the raw key to the DES3 structure.
9. Copy the functions from qa_mem over to qa_sync.
2019-10-02 10:08:46 -07:00
Aaron Jense
0340b323cd Fix shadow redeclaration 2019-10-02 09:41:06 -06:00
Aaron Jense
91222bc887 Fix defines that aren't in configure.ac 2019-10-02 09:14:47 -06:00
David Garske
43e391528d Merge pull request #2489 from ejohnstown/sniffer-etm
Sniffer and Encrypt-Then-Mac
2019-10-02 08:05:25 -07:00
Chris Conlon
ca817c50aa Merge pull request #2481 from dgarske/nxp_mmcau
Improvements to SHA-1, SHA-256 and MD5 performance
2019-10-01 15:16:50 -06:00
John Safranek
7261ed8b6f Sniffer and Encrypt-Then-Mac
The sniffer doesn't know how to deal with ETM. If the sniffer is enabled, disble ETM.
2019-10-01 13:00:55 -07:00
Sean Parkinson
901ee627fc Fixes from using cppcheck tool
Various fixes for uninitialized variable use.
sniffer.c: close file when seek fails
tls.c: fix QSH_GET_SIZE macro
wolfio.c: uIPGenerateCookie: use the parameter, _ctx, instead of self
referencing.
wolfssl_adds.c: check for equivalent to XBADFILE to indicate error.
SP: change right shift of signed value to unsigned
sp_int.h: define 128-bit types
types.h: change a XMALLOC define to not use (,,) - cppcheck doesn't like
it and is unnecessary.
2019-10-01 09:22:00 +10:00
David Garske
ea68e146c7 Merge pull request #2487 from JacobBarthelmeh/Fuzzer
fix for infinite loop with CSR2
2019-09-30 10:38:26 -07:00
Kaleb Himes
caa5ba7551 Merge pull request #2411 from ejohnstown/wolfrand
wolfRand
2019-09-30 11:11:18 -06:00
Chris Conlon
056c374f85 Merge pull request #2486 from miyazakh/update_tisp_readme
update tsip porting readme
2019-09-30 10:07:46 -06:00
Jacob Barthelmeh
e7c2892579 fix for infinite loop with CSR2 2019-09-30 21:32:25 +07:00
Hideki Miyazaki
5486b535d1 update tsip readme 2019-09-29 17:09:08 +09:00
John Safranek
43476e80d4 Merge pull request #2462 from dgarske/webrtc
Support for Google WebRTC
2019-09-27 14:24:11 -07:00
Chris Conlon
ab4a78fdae Merge pull request #2485 from aaronjense/HAproxy-defines
Fix defines for HAProxy build
2019-09-27 14:37:42 -06:00
David Garske
4c89a21d12 Updates from peer review. Refactor to combine some BIO elements into ptr. Revert change to BIO_set_fd. 2019-09-27 11:19:42 -07:00
David Garske
b47039b7ec Fix for possible unused local32 warning. 2019-09-27 09:22:18 -07:00
Aaron Jense
bfa20c53b0 Fix defines for HAProxy build 2019-09-27 09:18:27 -06:00
David Garske
937a344682 Merge pull request #2484 from SparkiDev/armv8-x18-redo
Refix stopping use of x18 register
2019-09-26 18:55:59 -07:00
Sean Parkinson
5bcf54b9e2 Refix stopping use of x18 register 2019-09-27 09:41:54 +10:00
Sean Parkinson
1f393c9dde Merge pull request #2483 from JacobBarthelmeh/BuildOptions
early data and enc-then-mac build fixes
2019-09-27 08:00:53 +10:00
David Garske
78f6bbcdb8 Adjusted the alignement macro to use WC_HASH_DATA_ALIGNMENT for shared settings across hash algos. 2019-09-26 11:53:24 -07:00
David Garske
6bfe6761d8 Disable the new hashing aligned build option by default. Does not increase performance... the memcpy is faster than the alignment check on modern CPU's. Embedded systems may benefit from this though, so leaving support for it in place. 2019-09-26 11:49:33 -07:00
David Garske
4c709f1f2c Improvements to SHA-1, SHA-256 and MD5 performance:
* Added detection for buffer alignment to avoid memcpy.
* Added MD5 and SHA-1 support for XTRANSFORM_LEN to process blocks.
* Cleanups for consistency between algorithms and code commenting.
* Enhancement for NXP MMCAU to process more than one block at a time.
* Improved MMCAU performance: SHA-1 by 35%, SHA-256 by 20% and MD5 by 78%.

```
NXP K64 w/MMCAU after:

MD5                  8 MB took 1.000 seconds,    7.910 MB/s
SHA                  4 MB took 1.005 seconds,    3.644 MB/s
SHA-256              2 MB took 1.006 seconds,    2.306 MB/s

NXP K64 w/MMCAU before:
MD5                  4 MB took 1.004 seconds,    4.450 MB/s
SHA                  3 MB took 1.006 seconds,    2.670 MB/s
SHA-256              2 MB took 1.008 seconds,    1.913 MB/s
```
2019-09-26 11:32:59 -07:00
Eric Blankenhorn
a1b324f7f8 Adding sk_free support for CONF_VALUE 2019-09-26 11:28:59 -05:00
David Garske
9571f2fce8 Merge pull request #2447 from SparkiDev/sp_const
Change static globals to const where possible
2019-09-26 09:11:23 -07:00
David Garske
34e0eb498a Fix for X509_set_subject_name and X509_set_issuer_name API unit test macro enables. 2019-09-26 08:42:35 -07:00
David Garske
606b76d06e Fix for WPAS certificate size difference. Fix so BIO_METHOD is compatible. Moved BIO stuff into bio.h. 2019-09-26 08:42:35 -07:00
David Garske
a5f9d38c0d Remove the BIO method custom... its not compat. Fix bio->ptr to be void*. 2019-09-26 08:42:35 -07:00
David Garske
872d222b59 * Adds the following openssl compatibility API's:
- SSL_CIPHER_get_id
  - SSL_CIPHER_get_rfc_name
  - SSL_get_cipher_by_value
  - X509_print_ex
  - X509_NAME_add_entry_by_NID
  - X509_time_adj
  - X509_time_adj_ex
  - DTLSv1_get_timeout
  - DTLSv1_handle_timeout
  - DTLSv1_set_initial_timeout_duration
  - SSL_CTX_set_current_time_cb
  - PEM_write_bio_RSA_PUBKEY
  - PEM_read_bio_RSA_PUBKEY
  - PEM_write_bio_PUBKEY
  - EVP_PKEY_missing_parameters
  - EVP_PKEY_cmp
  - BN_is_negative
  - BIO_set_retry_write
* Improvements to the notBefore and notAfter date handling.
* Improvements to BIO and BIO_METHOD
  - Moved structure to public area to allow for dereferencing
  - Renamed members to provide compatibility.
  - Added support for custom BIO methods for read/write.
* Added advanced openssl compatibility test cases for key and certificate generation.
* Fix for `ASN1_STRING_set` to allow NULL data.
* Fix to populate public key information on `EVP_PKEY_assign_RSA` and `EVP_PKEY_assign_EC_KEY`.
* Fix naming for `X509_get_notBefore` and `X509_get_notAfter` functions.
* Added `wc_EccPublicKeyDerSize`.
* Improvements to `wc_RsaPublicKeyDerSize`, so dummy memory doesn't have to be allocated.
* Made the `wc_*PublicKeyDerSize` functions public.
* Eliminate use of snprintf for UTC to generalized time conversion in `wolfSSL_ASN1_TIME_to_generalizedtime`.
2019-09-26 08:42:35 -07:00
Sean Parkinson
42d04a36d6 Change static globals to const where possible
Change parameters to functions to be const where possible (and
necessary).
2019-09-26 23:05:02 +10:00
Sean Parkinson
4a6925e2ef Merge pull request #2480 from dgarske/nightly_20190925
Fixes for minor build issues
2019-09-26 17:34:21 +10:00
Jacob Barthelmeh
c6c7f67dfd add check on AEAD only mode with enc-then-mac functions 2019-09-26 12:30:17 +07:00
Jacob Barthelmeh
8139fbd026 early data and enc-then-mac build fixes 2019-09-26 12:12:19 +07:00
Jacob Barthelmeh
f1b68873ef add check on dependencies for tests 2019-09-26 11:43:12 +07:00
David Garske
02c5d36f72 Fixes for --enable-opensslextra or --enable-opensslall with NO_WOLFSSL_CLIENT or NO_WOLFSSL_SERVER defined. 2019-09-25 20:11:54 -07:00
David Garske
9d05e9c0b7 Fixes for minor nightly build tests. 2019-09-25 11:07:32 -07:00
David Garske
bcd8a521f5 Merge pull request #2479 from tmael/aes_gcm
Initialize AES GCM set key
2019-09-20 14:34:25 -07:00
Eric Blankenhorn
425548565f Fix after rebase 2019-09-20 16:16:10 -05:00
Eric Blankenhorn
f01e943448 Adding support for STACKOF(CONF_VALUE) 2019-09-20 16:06:13 -05:00
Eric Blankenhorn
082d0e459d Updates from review 2019-09-20 16:04:14 -05:00
Eric Blankenhorn
793df114f3 Adding stack object type support to sk_value 2019-09-20 16:02:58 -05:00
Tesfa Mael
74386fd0d0 Initialize GCM AAD in case wc_AesInit() wasn't called 2019-09-20 12:04:33 -07:00
John Safranek
b92509144b Merge pull request #2475 from dgarske/qat_key
Fixes and improvements for async
2019-09-20 10:44:33 -07:00
Tesfa Mael
54cdab8005 Initialize AES GCM set key 2019-09-20 10:17:08 -07:00
Chris Conlon
8636bac12f Merge pull request #2478 from miyazakh/fix_iar_build
Fix build failure on IAR EWRX
2019-09-20 09:01:56 -06:00
Sean Parkinson
3f10a37eda Merge pull request #2477 from dgarske/keil_sp
Fixes for using Keil with single precision math.
2019-09-20 10:42:46 +10:00
David Garske
d762d2fa5d Merge pull request #2450 from aaronjense/microsoft-azure-sphere
Visual Studio Solution for Azure Sphere Devices
2019-09-19 17:13:46 -07:00
cariepointer
2dafd2102c Add Apache HTTP Server compatibility and --enable-apachehttpd option (#2466)
* Added Apache httpd support `--enable-apachehttpd`.

* Added `SSL_CIPHER_get_version`, `BIO_new_fp`, `SSL_SESSION_print` and `SSL_in_connect_init` compatibility API's.

* Fix to expose `ASN1_UTCTIME_print` stub.

* Pulled in `wolfSSL_X509_get_ext_count` from QT.

* Added `X509_get_ext_count`, `BIO_set_callback`, `BIO_set_callback_arg` and `BIO_get_callback_arg`.

* Added `wolfSSL_ERR_print_errors`.

* Added `BIO_set_nbio` template.

* Fixes for building with Apache httpd.

* Added DH prime functions required for Apache httpd.

* Fix and move the BN DH prime macros.

* Fix for `SSL_CTX_set_tlsext_servername_arg` to have return code.

* Only add the `BN_get_rfc*_prime_*` macro's if older than 1.1.0.

* Added `ERR_GET_FUNC`, `SSL_CTX_clear_extra_chain_certs` prototypes.

* Added `wolfSSL_CTX_set_client_cert_cb` template and `OPENSSL_load_builtin_modules` stub macro.

* Added `X509_INFO` templates (`X509_INFO_new`, `X509_INFO_free`, `sk_X509_INFO_new_null`, `sk_X509_INFO_num`, `sk_X509_INFO_value`, `sk_X509_INFO_free`). Added `sk_X509_shift`.

* Added BIO_set_callback, BIO_get_callback, BIO_set_callback_arg, BIO_get_callback_arg

* add BIO_set_nbio, ERR_print_errors and tests

* add X509 INFO stack push function

* Add ASN1_UTCTIME_print and unit test

* Add X509_get_ext_count unit test

* initial commit of wolfSSL_PEM_X509_INFO_read_bio

* Added `sk_X509_NAME_new`, `sk_X509_NAME_push`, `sk_X509_NAME_find`, `sk_X509_NAME_set_cmp_func` and `sk_X509_NAME_free`. Grouped `sk_X509_NAME_*` functions.

* Cleanup sk X509 NAME/INFO pop free template.

* Advance openssl compatibility to v1.1.0 for Apache httpd. Added TLS version macros. Implemented sk X509 NAME/INFO pop and pop_free.

* Added `TLS_client_method` support.

* Added `SSL_get_server_tmp_key` and `EC_curve_nid2nist`.

* Added `SSL_CTX_set_min_proto_version` and `SSL_CTX_set_max_proto_version`. Fix for `BN_get_rfc*_prime_*` with the v1.1.0 change.

* add test cases for PEM_X509_INFO_read_bio

* Fixes for `BN_get_rfc*_prime_*` macros. Added template for `SSL_DH_set0_pqg`. Fix for `SSL_OP_NO_` to use Macro's (as is done in openssl). Added `SSL_set_verify_result`. Added stub for `OPENSSL_malloc_init`.

* Apache httpd compatibility functions. BIO setter/getters.

* implement ASN1_TIME_check and add test case

* add SSL_get_client_CA_list

* add initial implementation of wolfSSL_DH_set0_pqg

* Add apache support to OBJ_txt2nid and unit test, add stub for OBJ_create

* add X509_STORE_CTX_get1_chain, sk_free, sk_X509_dup

* Add sk_SSL_COMP_num and SSL_COMP struct

* implement and test of SSL_SESSION_print

* add SSL_CTX_set_client_cert_cb

* expand BIO_printf and add test case

* Added `OCSP_CERTID_dup`. Added `ASN1_TYPE`.

* add implementation for wolfSSL_get_server_tmp_key

* add wolfSSL_BIO_puts and test case

* Add X509_EXTENSION_get_object and X509_EXTENSION_get_data

* add helper for bio flag set and null x509 stack

* add test adn implementation for wolfSSL_i2d_PrivateKey

* Added `ASN1_OTHERNAME`, `ACCESS_DESCRIPTION` and `GENERAL_NAME`. Added `sk_ACCESS_DESCRIPTION_pop_free` and `ACCESS_DESCRIPTION_free` stubs.

* add wolfSSL_PEM_read_bio_ECPKParameters

* add BIO_vfree

* add X509_up_ref

* add X509_STORE_CTX_set_ex_data

* add _GNU_SOURCE macro and wolfSSL_EVP_read_pw_string

* add wolfSSL_EVP_PKEY_ref_up function

* X509_get_ext, X509V3_EXT_print, and d2i_DISPLAYTEXT stubs

* add X509_set_issuer_name

* add wolfSSL_sk_SSL_CIPHER_* functions and tests

* add prototype for sk_X509_EXTENSION and ACCESS_DESCRIPTION

* fix casting to avoid clang warning

* adjust test_wolfSSL_X509_STORE_CTX test case

* Added `OpenSSL_version`

* renegotiate functions and additional stack functions

* add aditional stub functions

* Add Apache httpd requirements for ALPN, CRL, Cert Gen/Req/Ext and SecRen. Fix for `sk_X509_INFO_new_null`.

* add ocsp stub functions

* Proper fix for `sk_X509_INFO_new_null`. Added templates for `X509_get_ext_by_NID` and `X509_add_ext`. Added templates for `ASN1_TIME_diff` and `ASN1_TIME_set`.

* x509 extension stack additions

* Fixed template for `OCSP_id_get0_info`.

* add X509 stub functions

* add X509_STORE_CTX_get0_store() and unit test

* Added `EVP_PKEY_CTX_new_id`, `EVP_PKEY_CTX_set_rsa_keygen_bits`, `EVP_PKEY_keygen_init`, `EVP_PKEY_keygen` and `BN_to_ASN1_INTEGER`.

* x509v3 stubs and req add extensions

* Add OBJ_txt2obj and unit test; add long name to wolfssl_object_info table for use by OBJ_* functions

* wolfSSL_set_alpn_protos implementation

* Added `EVP_SignInit_ex` and `TLS_server_method` implementation. Added stubs for  `RSA_get0_key` and `i2d_OCSP_REQUEST_bio`. Fix typo on `OCSP_response_create`. Fix warning in `wolfSSL_set_alpn_protos`.

* Added `X509_EXTENSION_free` stub. Fixed a few macro typos/adding missing.

* add X509_STORE_CTX_get0_current_issuer and unit test

* add OBJ_cmp and unit test

* add RSA_get0_key and unit test

* add OCSP_check_nonce

* Implement X509_set_notAfter/notBefore/serialNumber/version,X509_STORE_CTX_set_depth,X509V3_set_ctx.

* Modify wolfSSL_X509_set_notAfter/notBefore and add tests for each.

* Add test_wolfSSL_X509_set_version w/ fixes to _set_version and fix _set_notBefore/notAfter tests

* add OCSP_id_get0_info and unit test, move WOLFSSL_ASN1_INTEGER to asn_public.h from ssl.h

* inital implementation of wolfSSL_X509_sign

* add debugging messages and set data for BIO's

* Add i2d_OCSP_REQUEST_bio.

* implementation of some WOLFSSL_BIO_METHOD custom functions

* fix for ASN time structure and remove log node

* initial eNULL support and sanity checks

* fixes after rebasing code

* adjust test cases and ASN1_TIME print

* Various fixes for memory leaks

* Apache compatibility in CTX_set_client_CA_list for X509_NAME use; add X509_NAME_dup as supporting function

* Add initial X509_STORE_load_locations stub for Apache

* Updates to X509_get_ext_d2i to return GENERAL_NAME struct instead of ASN1_OBJECT for alternative names and add supporting GENERAL_NAME functions

* Add X509_STORE_load_locations implementation; add wolfSSL_CertManagerLoadCRL_ex; initial renegotiation fixes/updates

* Fix for freeing peer cert in wolfSSL_Rehandshake instead of FreeHandShakeResources during secure renegotiation

* Add X509_ALGOR and X509_PUBKEY structs for X509_PUBKEY_get0_param and X509_get_X509_PUBKEY implementation

* Initial implementation of wolfSSL_X509_get_X509_PUBKEY and wolfSSL_X509_PUBKEY_get0_param

* Add implementation for X509_get0_tbs_sigalg and X509_ALGOR_get0

* Add OBJ_nid2ln implementation

* Fix compile errors in tests/api.c for some build options

* Updates to X509_STORE_load_locations for non-CRL types; Add additional DETECT_CERT_TYPE enum and logic for detecting certificate type in ProcessFile

* Add X509_STORE_load_locations unit test and minor error handling fixes

* Add unit test for X509_sign

* Set correct alert type for revoked certificates; add/fix a few WOLFSSL_ENTER messages

* Add X509_ALGOR member to X509 struct; refactoring and unit tests for wolfSSL_X509_ALGOR_get0 and wolfSSL_X509_get0_tbs_sigalg

* Add X509_PUBKEY member to X509 struct; refactoring and unit tests for wolfSSL_X509_get_X509_PUBKEY and wolfSSL_X509_PUBKEY_get0_param

* Stack fixes after rebase

* Secure renegotiation refactoring: add ACCEPT_BEGIN_RENEG to AcceptState for use in wolfSSL_SSL_in_connect_init; free old peer cert when receiving new cert to fix memory leak

* Move enc-then-mac enable option in configure.ac for apache httpd compatibility

* Simplify wolfSSL_SSL_in_connect_init logic

* Remove unneeded wolfSSL_CertManagerLoadCRL_ex

* Fixes for jenkins test failures

* SSL_get_secure_renegotiation_support for print statement in Apache
2019-09-19 17:11:10 -07:00
Hideki Miyazaki
2f818f9508 Fix build failure on IAR EWRX 2019-09-20 09:07:51 +09:00
Sean Parkinson
dfc00bf057 Merge pull request #2476 from dgarske/pkcb_tls13
Fix for TLS v1.3 and PK callbacks
2019-09-20 08:10:43 +10:00
David Garske
3b6112e317 Fixes for using Keil with single precision math. 2019-09-19 14:34:30 -07:00
toddouska
c16b02a265 Merge pull request #2471 from dgarske/test_date_override
Fix for verify callback override not adding to trusted CA list
2019-09-19 13:54:24 -07:00
Chris Conlon
33a83cdba0 Merge pull request #2436 from miyazakh/Renesas_TSIP_Port
Support renesas tsip
2019-09-19 14:44:33 -06:00
toddouska
2dbf3f81fc Merge pull request #2474 from SparkiDev/sp_int_prime
Add support for prime checking to sp_int.c
2019-09-19 13:44:22 -07:00
toddouska
fd1d65c4f9 Merge pull request #2470 from SparkiDev/build-fixes
Fixes from overnight build failures
2019-09-19 13:38:25 -07:00
toddouska
cc452adff1 Merge pull request #2465 from JacobBarthelmeh/Fuzzer
sanity check on length before read
2019-09-19 13:34:42 -07:00
David Garske
523b1801ed Cleanup of the wc_ecc_sign_hash function to separate the async logic. This improves the ECC r/s local case to appease static analyzers. Fixes https://github.com/wolfSSL/wolfssl/issues/2342. 2019-09-19 13:33:02 -07:00
John Safranek
ab86e78cbe Merge pull request #2458 from JacobBarthelmeh/Certs
macro guards for re-defines
2019-09-19 12:54:26 -07:00
David Garske
6aecdf59c1 Fixes for async build and tests. 2019-09-19 12:30:05 -07:00
David Garske
ae25027135 Fix for TLS v1.3 and PK callbacks. 2019-09-19 12:07:14 -07:00
David Garske
1493b94b27 Eliminate async NUMA allocation for wc_ecc_gen_k. Additional DECLARE_VAR checks. Improve mp_rand to avoid alloc in async case. 2019-09-19 11:34:59 -07:00
Jacob Barthelmeh
f532143094 adjust CheckASNTag to be GetASNTag 2019-09-19 02:09:51 -06:00
Hideki Miyazaki
5c5aa45a5e addressed review comments
tsip_usable() reconstruction
2019-09-19 14:35:23 +09:00
Hideki Miyazaki
a37b604da9 addressed review comments 2019-09-19 11:18:52 +09:00
Hideki Miyazaki
63d61c490d addressed review comments 2019-09-19 11:18:52 +09:00
Hideki Miyazaki
a6b2d1621b Free memory for a msg buffer when calling wc_ShaxxxFree() 2019-09-19 11:18:52 +09:00
Hideki Miyazaki
778a2065ab Replaced key information by dummy data 2019-09-19 11:18:52 +09:00
Hideki Miyazaki
cb0184fe98 update Readme, added file header etc 2019-09-19 11:18:52 +09:00
Hideki Miyazaki
a292e69d3f update readme 2019-09-19 11:18:52 +09:00
Hideki Miyazaki
5c6f6fdb7d Renesas TSIP Support
merged from private repo

removed unneccessary #include
make line as 80 characters
added simple tls server
Disable TLS-linked API use when being SERVER SIDE, still use certificate verify API
Added utility tools, generate signature arrays etc
added vars to store tsip hmac keys
fix build failure when disabling dc_printf
2019-09-19 11:18:52 +09:00
Sean Parkinson
0bc16d47e2 Add support for prime checking to sp_int.c
This allows SP to support:
- DH parameter checking
- DH parameter generation
- RSA key generation
Improved performance of sp_mod operation.
Reworked some functions to have one exit point (return statement).
Fixed sp_sub_d().
Changed tests to perform 2048-bit RSA key generation only when using SP
math.

Fixed Intel x86_64 C file to not have DH specific functions available
unless WOLFSSL_HAVE_SP_DH is defined.
Fixed tfm to return an error when t is not the correct size in
fp_isprime_ex().
2019-09-19 09:08:15 +10:00
Aaron Jense
bdbe0943cf Add function to print network interface and IP Address 2019-09-18 19:57:19 +01:00
Aaron Jense
4ef8f53c9e PR Review Changes
1. Add more documentation
2. Add cleanup functions for client and server before return
3. Add the ability for client to use a hostname for SERVER_IP
2019-09-17 14:59:43 -06:00
toddouska
946a0f593f Merge pull request #2472 from SparkiDev/enc_then_mac_fix
Enc-Then-MAC: when message size is less than digest size return error
2019-09-17 08:57:26 -07:00
Chris Conlon
f0e774d1e1 Merge pull request #2420 from kojo1/KDS-proj
add KDS sample project
2019-09-17 11:53:04 -04:00
Chris Conlon
bdad0fa53f Merge pull request #2443 from miyazakh/fix_esp_examples
Fixed examples for esp-idf
2019-09-17 11:47:39 -04:00
David Garske
0e5de0c076 Fix to only AddCA when its CA type and veryNone is not set. 2019-09-17 07:56:02 -07:00
Sean Parkinson
2c2907c2a5 Enc-Then-MAC: when message size is less than digest size return error 2019-09-17 11:23:43 +10:00
David Garske
b7c08988dc Fix for verify callback override of intermediate CA provided by peer not being added to trusted CA list.
Feature: Added support for testing date override at build-time using `TEST_BEFORE_DATE`.

```
./examples/server/server -H overrideDateErr -A ./certs/ca-cert.pem -k ./certs/server-key.pem -c ./certs/intermediate/server-chain.pem &
./examples/client/client -D -A ./certs/ca-cert.pem -k ./certs/client-key.pem -c ./certs/intermediate/client-chain.pem
```
2019-09-16 14:47:55 -07:00
Jacob Barthelmeh
708556d5c7 adjust sha3 typedef 2019-09-16 10:40:56 -06:00
Jacob Barthelmeh
3b7b81fea7 add local CheckASNTag function 2019-09-15 23:06:11 -06:00
David Garske
326f02d76d Fix for buffer overrun check logic. 2019-09-15 23:04:13 -06:00
Jacob Barthelmeh
e6c48327c1 sanity check on length before read 2019-09-15 23:04:13 -06:00
Sean Parkinson
000fc64f27 Fixes from overnight build failures
ssl.c: Certificate store fields freed without being NULLed and then
freed again.
integer.c: Compiler complained that a->dp may be NULL in mp_set_bit when
setting bit.
pkcs12.c: ret is zero after GetLength and this is an error but data is
freed only when ret != 0.
pkcs7.c: derArr was not zeroized for full allocated size.
2019-09-16 10:21:08 +10:00
toddouska
9d69f17f17 Merge pull request #2468 from tmael/RSA_inline
Fix for RSA inline
2019-09-13 13:46:33 -07:00
toddouska
9d3d170411 Merge pull request #2456 from dgarske/freedom_unleashed
Support for SiFive HiFive Unleashed board
2019-09-13 11:58:11 -07:00
toddouska
40fc86dfd2 Merge pull request #2464 from SparkiDev/rshift_neg
Use constant time comparison in MaskMac with scanStart and macStart
2019-09-13 11:56:12 -07:00
toddouska
a2d3da2831 Merge pull request #2463 from ejohnstown/maintenance-dtls
Maintenance DTLS
2019-09-13 11:53:20 -07:00
toddouska
6894dde4e9 Merge pull request #2460 from dgarske/debug_buffer
Improvements to `WOLFSSL_BUFFER` function
2019-09-13 11:49:20 -07:00
John Safranek
b70f22e21a 1. Use the session deallocator on the deserialized session in the client.
2. Free the flatten session if the size check fails.
2019-09-12 16:04:34 -07:00
Chris Conlon
09541082d6 Merge pull request #2416 from kojo1/OCSP-error
Detail error code
2019-09-12 16:51:34 -04:00
Tesfa Mael
4e62d1f509 Fix for RSA inline 2019-09-11 22:57:54 -07:00
John Safranek
c27a4b3865 TLS Maintenance
When serializing the WOLFSSL_SESSION, serialize everything.
2019-09-11 16:44:54 -07:00
John Safranek
852d50adcf DTLS Maintenance
To go with the fix for the functions wolfSSL_(i2d|d2i)_SSL_SESSION,
modify the example client to use a serialized session record for
resumption instead of the direct reference into the session cache. This
change only happens when OPENSSL_EXTRA and HAVE_EXT_CACHE are defined.
2019-09-11 15:29:57 -07:00
Sean Parkinson
2a1a9f36cc Use constant time comparison in MaskMac with scanStart and macStart
Right shift of a negative value is undefined.
Add an 'int' return version of constant time greater than equal.
Change equal and not equal to be constant time in more situations.
2019-09-11 10:57:23 +10:00
David Garske
ed06f34f55 Updated benchmarks running at 1.5GHz (default is 1 GHz). 2019-09-10 16:09:18 -07:00
John Safranek
22c398494e DTLS Maintenance
The options to switch on and off the code to serialize/deserialize items
in the struct need to match the options for the struct.
(ZD5130, ZD5590)
2019-09-10 16:01:48 -07:00
John Safranek
e93e3b60da DTLS Maintenance
Allow the DTLS server to retransmit a stored flight of messages in an additional acccept state.
(ZD5644)
2019-09-10 11:51:38 -07:00
David Garske
def36ddfe8 Added instructions for installing Debian on Unleashed board. 2019-09-10 09:16:35 -07:00
David Garske
66b76a4420 Improvements to WOLFSSL_BUFFER function to eliminate recursive call and use snprintf for string safety. Adds support for build-time change of LINE_LEN. 2019-09-10 08:57:35 -07:00
David Garske
645f8ddd31 Update RISC 64-bit detection to use __riscv_xlen. 2019-09-10 07:47:28 -07:00
Jacob Barthelmeh
eb2aa3dce1 macro guards for re-defines 2019-09-09 19:24:45 -06:00
toddouska
99252cc936 Merge pull request #2399 from dgarske/ovs
Compatibility changes for OpenVSwitch
2019-09-09 16:02:27 -07:00
David Garske
95d3289fa2 Merge pull request #2437 from kaleb-himes/ZD_5546_IAR_CC_CHECK
Fix failing IAR builds, thanks to Joseph C. for the report
2019-09-09 11:42:19 -07:00
Aaron Jense
88036db223 Visual Studio Solution for Azure Sphere Devices 2019-09-09 10:50:56 -06:00
David Garske
ab5c12fd17 Added parenthesis around types.h pointer size macro. 2019-09-09 09:01:18 -07:00
David Garske
c0317ad198 Fix to only expose SSL_want when OPENSSL_EXTRA is defined. 2019-09-09 08:07:30 -07:00
David Garske
342d03a294 Added SSL_want. 2019-09-09 08:07:30 -07:00
David Garske
2cf26a1353 Compatibility changes for OpenVSwitch. 2019-09-09 08:07:30 -07:00
julek-wolfssl
c52801754c Fips ready (#2422)
* Changes to update stunnel support

* Required additions for building fips-ready with speedups

* Fix SetASNIntRSA
2019-09-09 02:47:02 -07:00
julek-wolfssl
02419e248f Fix clang 3.8 arm (#2449)
* Fix 'value size does not match register size' error in clang with arm assembly

* More readable casting
2019-09-09 02:46:48 -07:00
Hideki Miyazaki
87d0c70695 erase compiler complaint, not used var 2019-09-09 08:25:02 +09:00
Hideki Miyazaki
7433b20d43 renamed wolfSSL_CTX_IsPrivatePkSetForkeyType to wolfSSL_IsPrivatePkSet 2019-09-09 08:25:02 +09:00
Hideki Miyazaki
348be7fb00 Fix jankis test, known customer config. complaining unused var 2019-09-09 08:25:02 +09:00
Hideki Miyazaki
82d531562c Fixed build warnings due to esp-idf update
Fixed server application TLS communicatio failure
2019-09-09 08:25:02 +09:00
julek-wolfssl
4c88d94d13 Chacha20 and poly1305 without x18 (#2454)
* Remove use of x18 and organize new optimizations

* Fix invalid operand
2019-09-08 16:03:04 -07:00
Sean Parkinson
afb15f6521 Merge pull request #2455 from JacobBarthelmeh/HardwareAcc
change detection of AESNI support to read bit 25 from ECX
2019-09-09 08:29:00 +10:00
David Garske
ebe99cf5ef Support for SiFive HiFive Unleashed board. 2019-09-06 16:04:34 -07:00
toddouska
37328544ad Merge pull request #2453 from SparkiDev/armv8_x18
ARM64 assembly - x18 not able to be used
2019-09-06 15:45:02 -07:00
toddouska
85b123046b Merge pull request #2377 from SparkiDev/sha2_cs_oldtls
Disallow SHA-2 ciphersuites from TLS 1.0 and 1.1 handshakes
2019-09-06 15:41:15 -07:00
Sean Parkinson
3e12d260b8 ARM64 assembly - x18 not able to be used
Fix Curve25519/Ed25519, SHA-512 and SP code to not use x18.
2019-09-06 15:49:24 +10:00
Sean Parkinson
a975ba9e97 Disallow SHA-2 ciphersuites from TLS 1.0 and 1.1 handshakes 2019-09-06 09:31:14 +10:00
Jacob Barthelmeh
171902f1fb change detection of AESNI support to read bit 25 from ECX 2019-09-05 17:02:44 -06:00
David Garske
1785089798 Merge pull request #2433 from kaleb-himes/ZD_5602_MINGW_XSNPRINTF
Resolve XSNPRINTF unconditional use in asn.c breaking mingw32 builds
2019-09-05 11:37:21 -07:00
toddouska
d6685edfa0 Merge pull request #2440 from SparkiDev/tlsfuzzer_fixes
Fixes for fuzz testing
2019-09-05 09:01:10 -07:00
toddouska
eaeaaf12c1 Merge pull request #2446 from SparkiDev/gplusplus_fix_1
Fixes for g++ compilation
2019-09-04 16:28:42 -07:00
toddouska
bf7296aefb Merge pull request #2438 from SparkiDev/armv8-poly1305-clang
Fix ARMv8 Poly1305 inline assembly code to compile with clang 3.5
2019-09-04 16:28:02 -07:00
Sean Parkinson
56df8162bd Fixes for g++ compilation 2019-09-04 10:09:36 +10:00
toddouska
b35fd4f1aa Merge pull request #2441 from JacobBarthelmeh/UnitTests
strncpy gcc warning fixes
2019-09-03 15:44:10 -07:00
toddouska
0927f93b07 Merge pull request #2442 from JacobBarthelmeh/HardwareAcc
build fix for aesccm + devcrypto=cbc + wpas and afalg
2019-09-03 15:42:41 -07:00
toddouska
b19e785c2c Merge pull request #2418 from dgarske/sha3_keccak256
Added support for older KECCAK256
2019-09-03 15:42:05 -07:00
toddouska
492ce6ac91 Merge pull request #2414 from dgarske/pkcs8_asn1
Added support for loading a PKCS8 ASN.1 formatted private key
2019-09-03 15:36:31 -07:00
Jacob Barthelmeh
03967d62f4 sanity check on resulting ecc size 2019-09-03 10:54:11 -06:00
Sean Parkinson
46790080a7 Fix ARMv8 Poly1305 inline assembly code to compile with clang 3.5 2019-09-02 09:52:25 +10:00
Sean Parkinson
60befc82c5 Fixes for fuzz testing
Changes
- Don't ignore decryption errors when doing TLS 1.3 and after Client
Finished.
- Put out an alert when TLS 1.3 decryption fails.
- Properly ignore RSA pss_pss algorithms when checking for matching
cipher suite.
- Check X25519 public value before import in TLS v1.2-
- REcognise TLS 1.3 integrity-only cipher suites as not negotiable with
TLS 1.2-.
- Send decode_error alert when bad message data in CertificateVerify.
- Negotiate protocol version in TLS 1.3 using extension and keep
decision when using TLS 1.2 parsing.
- Must have a signature algorithms extension in TLS 1.3 if not doing
PSK.
- More TLS v1.3 alerts.
- MAX_PSK_ID_LEN needs to be modified at compile time for tlsfuzzer to
work.
- change the good ecc public key to be a real public key when compiled
to check imported public keys
- Fix early data in TLS 1.3
- Make max early data size able to be changed at compile time - default
4K but fuzzer sends 16K
- Fix HRR, PSK and message hashes: Don't initialize hashes in parsing
ClientHello as need to keep hash state from previous ClientHello and
HelloRetryRequest
2019-09-02 08:58:14 +10:00
Jacob Barthelmeh
9fd38dc340 build fix for aesccm + devcrypto=cbc + wpas and afalg 2019-08-30 16:15:48 -06:00
Jacob Barthelmeh
2a750cd18d strncpy gcc warning fixes 2019-08-30 13:34:51 -06:00
toddouska
ef20276ab5 Merge pull request #2424 from SparkiDev/enc_then_mac
Add support for Encrypt-Then-MAC to TLS 1.2 and below
2019-08-30 11:09:04 -07:00
toddouska
adc548fc61 Merge pull request #2428 from ejohnstown/ecckey-test-fix
Fix ECC key decode test
2019-08-30 11:07:00 -07:00
toddouska
347a859ffc Merge pull request #2435 from JacobBarthelmeh/SanityChecks
sanity check on ticket encrypt callback
2019-08-30 10:18:58 -07:00
Chris Conlon
09f80c7f5f Merge pull request #2439 from miyazakh/fix_espidf_issues
Fix build warnings while compiling wolfssl under esp-idf
2019-08-29 16:24:42 -06:00
toddouska
db2468154f Merge pull request #2434 from tmael/phase2_compatibility_APIs
Adding phase 2 compatibility APIs
2019-08-29 12:26:27 -07:00
tmael
b8d2ccee83 Merge branch 'master' into phase2_compatibility_APIs 2019-08-29 09:16:41 -07:00
toddouska
9034e3a0fe Merge pull request #2432 from embhorn/api_p2
Adding compatibility API phase 2
2019-08-29 09:05:01 -07:00
Juliusz Sosinowicz
5f77627857 Fix SetASNIntRSA 2019-08-29 16:24:09 +02:00
Hideki Miyazaki
d6bac37def Fix build warnings while compiling wolfssl under esp-idf 2019-08-29 17:44:44 +09:00
Sean Parkinson
24e98dd05e Add support for Encrypt-Then-MAC to TLS 1.2 and below
An extension is used to indicate that ETM is to be used.
Only used when doing block ciphers - HMAC performed on encrypted data.
2019-08-29 09:00:30 +10:00
Tesfa Mael
87e876d8c6 Match padding macro values and restore EVP non-AES-GCM 2019-08-28 15:45:07 -07:00
kaleb-himes
46b4654564 Fix failing IAR builds, thanks to Joseph C. for the report 2019-08-28 12:44:05 -06:00
Tesfa Mael
a76f719aac Fix review comment 2019-08-28 10:42:57 -07:00
JacobBarthelmeh
411f15bec3 Merge pull request #2429 from cconlon/cmssig
Add internal PKCS7 content digest check
2019-08-28 09:41:10 -06:00
Eric Blankenhorn
0c9ba1b361 Adding compatibility API phase 2 2019-08-28 09:29:49 -05:00
Tesfa Mael
625c3074b9 Review comments, sanity check 2019-08-27 17:06:36 -07:00
Tesfa Mael
59dddda3a9 Updated with review comments 2019-08-27 15:37:00 -07:00
Tesfa Mael
dc5d11fef4 Updated with review comments 2019-08-27 15:14:58 -07:00
John Safranek
7fcb85b743 ECC-FP Cache Memory Leak
Each test case for ECC should be cleaning up the FP cache if it uses
the cache. Only a couple cases were getting freed.
2019-08-27 14:43:25 -07:00
David Garske
4ec90be4d6 Added --enable-hashflags option. 2019-08-27 13:28:33 -07:00
toddouska
a49f447e47 Merge pull request #2413 from dgarske/load_ca_nodate
Refactor of the verify option for processing X.509 files
2019-08-27 13:20:30 -07:00
Chris Conlon
e6252a94ce check attrib->value and attrib->valueSz before use 2019-08-27 14:18:23 -06:00
Tesfa Mael
f9e364f893 Updated wolfSSL_EVP_Cipher() for AES GCM 2019-08-27 11:36:39 -07:00
Jacob Barthelmeh
10431738c7 sanity check on ticket encrypt callback 2019-08-27 11:41:27 -06:00
Tesfa Mael
208e9f3fcf Fix Windows build 2019-08-27 08:49:27 -07:00
Tesfa Mael
e9d1f32441 Fix Windows build 2019-08-27 08:11:31 -07:00
Tesfa Mael
e8f468e2cf correct ifdef directive 2019-08-26 19:17:41 -07:00
Tesfa Mael
00dadafddb Add HAVE_FAST_RSA around RSA_print() 2019-08-26 16:54:10 -07:00
Kaleb Himes
6f9210d6af Peer review feedback changes
Case ```__GNUC__``` already covered, just check for MINGW or CYGWIN cases now.
2019-08-26 16:53:52 -06:00
Tesfa Mael
b2555d38bc Jenkins PRB enable options test 2019-08-26 15:43:58 -07:00
Tesfa Mael
9b3fee223f Typecast to correct type 2019-08-26 14:17:13 -07:00
Tesfa Mael
6311ae425c RSA_generate_key() needs WOLFSSL_KEY_GEN 2019-08-26 13:47:54 -07:00
toddouska
0f60ee8a85 Merge pull request #2402 from schlatterbeck/master
Fixes for 16-bit systems
2019-08-26 12:41:47 -07:00
Tesfa Mael
5e28dd94a2 OpenSSL compatible APIs:
ASN1_STRING_type
EVP_aes_128_gcm
EVP_CIPHER_CTX_ctrl
EVP_PKEY_sign
EVP_PKEY_sign_init
RSA_print
RSA_NO_PADDING
RSA_PKCS1_PSS_PADDING
2019-08-26 12:20:18 -07:00
kaleb-himes
ea4e7b2669 Resolve XSNPRINTF unconditional use in asn.c breaking mingw32 builds 2019-08-26 13:19:53 -06:00
Chris Conlon
256ac4a515 Merge pull request #2427 from miyazakh/fix_espbuild_failure
fix uninitialized var for esp idf build failure fix
2019-08-26 10:11:44 -06:00
Chris Conlon
61d01ab7f3 add unit test for PKCS7 invalid detached content 2019-08-26 09:43:20 -06:00
David Garske
76b9476b9a Remove debug printf. 2019-08-23 16:24:45 -07:00
David Garske
99329b0fc4 Improvements to the CRL verify handling. 2019-08-23 16:09:39 -07:00
Chris Conlon
12687e5a2a internally check PKCS7 content digest against messageDigest attribute 2019-08-23 16:40:12 -06:00
toddouska
2c97b040ff Merge pull request #2419 from dgarske/ctx_sec_reneg
Adds use secure renegotiation at CTX level
2019-08-23 12:55:30 -07:00
toddouska
1bad2bed3c Merge pull request #2404 from dgarske/strict_cipher
Added strict cipher suite check on client server_hello processing
2019-08-23 12:42:57 -07:00
toddouska
681de3e41a Merge pull request #2375 from dgarske/stm32_cubemx_halv2
Fixes for STM32F7 and latest CubeMX HAL
2019-08-23 12:28:51 -07:00
toddouska
6209e8ff24 Merge pull request #2412 from JacobBarthelmeh/PKCS12
adjust wc_i2d_PKCS12 API
2019-08-23 10:30:04 -07:00
Juliusz Sosinowicz
63538fedde Required additions for building fips-ready with speedups 2019-08-23 10:22:31 -07:00
toddouska
54fb08d6df Merge pull request #2426 from JacobBarthelmeh/Fuzzer
sanity check on buffer size before reading short
2019-08-23 10:17:31 -07:00
John Safranek
2ba6c66d44 Fix ECC key load test
When using the configure options '--enable-certgen --enable-certext CPPFLAGS=-DWOLFSSL_VALIDATE_ECC_IMPORT', the ecc_decode_test() will fail the "good" test case. It is using the point (1, 1) in the test, and that fails the key validation. Changed the good key to one of the keys we have in the certs directory. The additional validation checks that the point is on the curve, and is validated in FIPS mode.
2019-08-22 14:18:59 -07:00
Hideki Miyazaki
8b2a1f13c4 fix uninitialized ver for esp idf build failure fix 2019-08-23 06:08:11 +09:00
David Garske
0e6bb4717e Merge pull request #2425 from JacobBarthelmeh/SanityChecks
sanity check on buffer size
2019-08-22 12:30:06 -07:00
Jacob Barthelmeh
b83aebafb1 help out static analysis tool 2019-08-22 11:49:10 -06:00
Jacob Barthelmeh
65aeb71d6c sanity check on buffer size before reading short 2019-08-22 11:36:35 -06:00
Jacob Barthelmeh
c6e4aebcdf sanity check on buffer size 2019-08-22 09:23:02 -06:00
David Garske
cf83561b64 Merge pull request #2417 from SparkiDev/sp_mod_exp_cast_fix
SP Mod exp cast fix
2019-08-22 05:55:27 -07:00
David Garske
6544b5df88 Merge pull request #2423 from SparkiDev/fe_math_mac
Curve25519/Ed25519 x86_64 assembly working on Mac again
2019-08-22 05:54:49 -07:00
Sean Parkinson
132f60e77f Curve25519/Ed25519 x86_64 assembly working on Mac again 2019-08-22 09:27:39 +10:00
Juliusz Sosinowicz
37f1522825 Changes to update stunnel support 2019-08-21 16:18:04 -07:00
Juliusz Sosinowicz
05d86ade20 Merge remote-tracking branch 'wolfSSL/master' 2019-08-21 16:17:55 -07:00
David Garske
e298b3290d Fix to initialize hash flag. 2019-08-21 06:36:37 -07:00
Takashi Kojo
7deab4c54f add KDS sample project 2019-08-21 11:12:09 +09:00
David Garske
67c3751836 Adds new wolfSSL_CTX_UseSecureRenegotiation API for setting secure renegotiation at the WOLFSSL_CTX level. 2019-08-20 16:43:28 -07:00
David Garske
a5d222a20e Make public the hash set/get flags functions. 2019-08-20 16:25:48 -07:00
David Garske
154930d128 Added support for older KECCAK256 used by Ethereum. Uses existing hash flag API's.
To use add build flag `CFLAGS="-DWOLFSSL_HASH_FLAGS"`.

Example:

```c
wc_Sha3_SetFlags(&sha, WC_HASH_SHA3_KECCAK256);
```
2019-08-20 16:14:37 -07:00
David Garske
24bfea1ad2 Fixes for various build options (!NO_RSA, HAVE_ECC, NO_PKCS8, NO_PKCS12). Added new NO_CHECK_PRIVATE_KEY to allow reduce code size when not required. 2019-08-20 10:38:08 -07:00
David Garske
644e7a8f45 Fixes for PKCS8 w/wo encryption as DER/ASN.1. Fixes for building with --disable-oldnames. Fix to enable the PKCS8 enc test without openssl comat. Added additional PKCS8 tests. 2019-08-19 16:27:46 -07:00
Sean Parkinson
5530336617 SP Mod exp cast fix 2019-08-20 08:50:57 +10:00
Takashi Kojo
fd0390430d Give error code resolution to wolfSSL_CertManagerCheckOCSPResponse 2019-08-20 07:22:54 +09:00
Jacob Barthelmeh
01a3b59e28 fix cast and initialization of variable 2019-08-19 14:54:53 -06:00
David Garske
3e1c103c78 Added support for loading a PKCS8 ASN.1 formatted private key (not encrypted). 2019-08-16 16:09:00 -07:00
David Garske
586b74b05f Refactor of the verify option for processing X.509 files. Adds support for ignoring date checks when loading a CA using the WOLFSSL_LOAD_FLAG_DATE_ERR_OKAY flag on wolfSSL_CTX_load_verify_buffer_ex and wolfSSL_CTX_load_verify_locations_ex. 2019-08-16 15:19:55 -07:00
toddouska
7d4023f6a1 Merge pull request #2408 from dgarske/coverity
Minor fixes to resolve Coverity static analysis checks
2019-08-16 14:45:13 -07:00
Jacob Barthelmeh
487e66394e adjust wc_i2d_PKCS12 API 2019-08-16 15:19:33 -06:00
David Garske
3f992ce39d Additional STM32F7 fixes with HALv2. 2019-08-16 12:31:28 -07:00
David Garske
eb68ad162b Enable strict cipher suite checking by default. Changed to enable by default and can be disabled using WOLFSSL_NO_STRICT_CIPHER_SUITE. 2019-08-16 10:20:25 -07:00
John Safranek
e8986f389f wolfRand
1. Updated fips-check.sh to make an archive for wolfRand.
2. Updated configure.ac to provide a wolfRand build.
2019-08-16 09:33:41 -07:00
toddouska
dea4f2fb1a Merge pull request #2410 from SparkiDev/poly1305_x64_fix
Fix Poly1305 on Intel AVX2
2019-08-16 09:08:27 -07:00
Sean Parkinson
8454bd1077 Fix Poly1305 on Intel AVX2
Fix define checks for other x86_64 assembly code files
2019-08-16 17:42:19 +10:00
David Garske
0d13b385ab Fixes for possible cases where DerBuffer is not free'd in AddCA error cases. 2019-08-15 17:01:30 -07:00
David Garske
aee766e11b Minor fixes for AES GCM with GMAC and STM32 HALv2. 2019-08-15 16:57:38 -07:00
John Safranek
e7f0ed4b98 wolfRand
1. Excluded wc_encrypt.c from the wolfRand build.
2019-08-15 16:22:16 -07:00
John Safranek
9d53e9b6d5 wolfRand
1. Add fips.h to the install if doing a wolfRand build.
2019-08-15 16:22:16 -07:00
John Safranek
63fe2a219e wolfRand
In configure.ac,
1. Change some whitespace in the FIPS enable section.
2. Reorganize the FIPS section a little bit.
3. When enabling wolfRand, also force cryptonly.
4. Treat wolfRand like FIPSv2 at build time.
In the source include.am,
5. Add checks against BUILD_FIPS_RAND as appropriate.
6. Add the SHA-256 assembly to the wolfRand source list.
2019-08-15 16:22:16 -07:00
John Safranek
a229e1e8e4 wolfRand
1. Rearrange some of the macros in the FIPS section to separate out the
different flavors of FIPS with their own flags to set them apart.
2. Add automake flags for FIPSv1 and wolfRand.
2019-08-15 16:22:16 -07:00
John Safranek
0931b574a7 wolfRand
1. Refactored src/include.am to use the new changes in configure for
multiple FIPS versions.
2. Added conditions for wolfRand.
2019-08-15 16:22:16 -07:00
John Safranek
14316f8e24 wolfRand
Refactor the configure.ac script to make adding additional FIPS options
easier.
2019-08-15 16:22:16 -07:00
toddouska
489af0cd2b Merge pull request #2386 from SparkiDev/tls13_integ_only
TLS 1.3 and Integrity-only ciphersuites
2019-08-15 16:02:12 -07:00
toddouska
51c31695bd Merge pull request #2391 from SparkiDev/tfm_dh_2
Specialized mod exponentiation for base 2 in tfm.c and integer.c
2019-08-15 15:59:20 -07:00
toddouska
b06dbf16c2 Merge pull request #2397 from JacobBarthelmeh/PKCS7
updates to CMS and callback functions
2019-08-15 15:56:41 -07:00
toddouska
089ca6d6e8 Merge pull request #2403 from JacobBarthelmeh/HardwareAcc
build with devcrypto and aesccm
2019-08-15 15:54:41 -07:00
toddouska
0a1a81ab42 Merge pull request #2407 from embhorn/api_p1_2
Adding phase 1 API from other projects
2019-08-15 14:13:10 -07:00
Eric Blankenhorn
1b841363cc Adding tests 2019-08-15 12:27:23 -05:00
David Garske
ed7ac6fb26 Coverity fixes to make static analysis happy. 2019-08-14 15:42:47 -07:00
Eric Blankenhorn
b2b24a06f3 Adding API 2019-08-14 15:09:17 -05:00
toddouska
cb33ada380 Merge pull request #2395 from embhorn/api_p1
Adding compatibility API phase 1
2019-08-13 17:19:22 -07:00
David Garske
e75417fde1 Added build option to enforce check for cipher suite in server_hello from server. Enabled using WOLFSSL_STRICT_CIPHER_SUITE. Some cipher suites could be allowed if they were supported a build-time even though not sent in the cipher suite list in client_hello.
Example log output for test case where `client_hello` sent a cipher suite list and server choose a cipher suite not in the list:

```
wolfSSL Entering DoServerHello
ServerHello did not use cipher suite from ClientHello
wolfSSL Leaving DoHandShakeMsgType(), return -501
wolfSSL Leaving DoHandShakeMsg(), return -501
```

RFC 5246: 7.4.1.3: Server Hello:  `cipher_suite: The single cipher suite selected by the server from the list in ClientHello.cipher_suites.`
2019-08-13 15:56:19 -07:00
Eric Blankenhorn
48fa6a458c Adding compatibility API phase 1 2019-08-13 17:09:56 -05:00
toddouska
fa79ef0940 Merge pull request #2396 from tmael/expanding_OpenSSL_compatibility
Phase 1 of the OpenSSL Compatibility APIs
2019-08-13 14:56:09 -07:00
Jacob Barthelmeh
e8e1d35744 build with devcrypto and aesccm 2019-08-13 14:12:45 -06:00
Tesfa Mael
9301cce9ac Check a null pointer dereference 2019-08-13 11:48:20 -07:00
Tesfa Mael
b1ad0525ea cast to correct static analysis issue 2019-08-13 10:45:24 -07:00
Tesfa Mael
b7bd710bc8 Add small stack option 2019-08-13 10:29:37 -07:00
Tesfa Mael
1acd24deb8 Review comment to reduce stack usage 2019-08-13 10:15:57 -07:00
Tesfa Mael
b9ddbb974a perform domain name check on the peer certificate 2019-08-13 09:55:28 -07:00
Jacob Barthelmeh
20d9d5b0da account for KARI bundle without CERT when callback is set 2019-08-12 17:37:09 -06:00
Jacob Barthelmeh
883d5778a3 handle optional parameters with KARI ECC key 2019-08-12 16:41:35 -06:00
Jacob Barthelmeh
f4d9991e3a remove restriction on key wrap type with callback 2019-08-12 15:34:20 -06:00
Ralf Schlatterbeck
63c6c47165 Fixes for 16-bit systems
Systems with sizof(int) == 2 default to expressions with that size.
So we have to do some explicit casts or use unigned long constants in
some cases.
In ssl.h the prototype of a function was not matching the definition.
This resulted in a type incompatibility on a 16-bit system.
2019-08-10 18:27:29 +02:00
Jacob Barthelmeh
6054a851ce move decrypt content callback function to more generic spot 2019-08-09 17:38:30 -06:00
David Garske
e7c6fc221d Fixes to handle byte swapping on Key and IV for STM32F7 with latest CubeMX. 2019-08-09 15:40:26 -07:00
David Garske
0a4ac0e380 Merge pull request #2401 from SparkiDev/aesni_null_iv
Set the IV to zero when NULL IV and using AESNI
2019-08-09 12:57:48 -07:00
Sean Parkinson
d4cf6e37e8 DH base 2 impl - better error handling 2019-08-09 12:12:59 -06:00
Sean Parkinson
dd48c825ed Constant compare the HMAC result when using NULL cipher and TLS 1.3 2019-08-09 11:50:07 -06:00
Sean Parkinson
34fe643938 Set the IV to zero when NULL IV and using AESNI 2019-08-09 11:23:14 -06:00
JacobBarthelmeh
1396ca085b Merge pull request #2400 from dgarske/pkcs7_typo
Fix for dynamic type typo in PKCS7
2019-08-09 10:34:41 -06:00
David Garske
8e4fa1c786 Fix for dynamic type typo in PKCS7. 2019-08-08 20:14:39 -07:00
Tesfa Mael
4bff2b6bef Fixed valgrind issue 2019-08-06 15:49:36 -07:00
Tesfa Mael
1371fc8327 Review comments 2019-08-06 13:23:18 -07:00
Tesfa Mael
c1938969aa Convert to pointer to pass static memory 2019-08-06 10:47:30 -07:00
Tesfa Mael
000c38ae1f Use wolfSSL_PKCS7_free, not wc_PKCS7_Free 2019-08-06 07:46:57 -07:00
Tesfa Mael
eccc85b9fa Add NO_RSA conditional 2019-08-05 17:51:31 -07:00
Tesfa Mael
f5f5947616 New OpenSSL compatible APIs:
wolfSSL_PEM_write_bio_PKCS7
wolfSSL_PKCS7_SIGNED_new
wolfSSL_X509_subject_name_hash
wolfSSL_CTX_use_PrivateKey_ASN1
wolfSSL_get0_param
wolfSSL_X509_VERIFY_PARAM_set1_host
2019-08-05 17:35:37 -07:00
David Garske
8e83fb2e67 Fix to resolve AES GCM auth calucation for GMAC where no in/out data is used. 2019-08-05 14:03:02 -07:00
Jacob Barthelmeh
99ddf65a96 add decrypt callback to wc_PKCS7_DecodeEnvelopedData 2019-08-05 10:49:15 -06:00
toddouska
ab4924b86b Merge pull request #2388 from SparkiDev/sp_ccc_table_size
Fix precomputation tables to not include infinity field.
2019-08-05 08:39:58 -07:00
Sean Parkinson
4f714b9788 Add a timing resistant version
Make mod operations work on the same bit size as closely as possible.
Check fp_mod return in first use.
2019-08-05 10:57:40 +10:00
toddouska
c34657b20f Merge pull request #2390 from dgarske/altname
Fix for scan-build warning with altName->name possible use of NULL
2019-08-02 15:49:13 -07:00
toddouska
6f54a2ec6b Merge pull request #2389 from dgarske/crypt_init_count
Fixes for wolfCrypt init/cleanup reference count
2019-08-02 15:48:36 -07:00
toddouska
9acd952ea1 Merge pull request #2374 from dgarske/ecc_params
ECC improvement to get curve param and example curve macro check fix
2019-08-02 15:44:20 -07:00
toddouska
31461dbfb5 Merge pull request #2373 from dgarske/mpint
Improvements to atoi, mp_int allocations and STSAFE-A100 error handling
2019-08-02 15:43:20 -07:00
toddouska
da6fa384d4 Merge pull request #2273 from danielinux/Riot-OS-GNRC
RIOT-OS support with GNRC TCP/IP sockets
2019-08-02 15:42:11 -07:00
David Garske
f5c1c33dba Fixes for newer STM CubeMX HAL for STM32F7. 2019-08-02 15:12:09 -07:00
David Garske
e83116fc0b Resolution for FIPS/CAVP build errors where wc_ecc_get_curve_params is not present in older wolfSSL versions. 2019-08-02 13:25:11 -07:00
David Garske
18002d4545 Merge pull request #2387 from JacobBarthelmeh/Benchmark
fix help print out of benchmark
2019-08-02 08:24:47 -07:00
David Garske
d1fbdb3ddf Added API unit test for wc_ecc_get_curve_params. 2019-08-02 06:20:14 -07:00
David Garske
0e1d81e63f Added ability to define your own XATOI 2019-08-02 06:16:41 -07:00
David Garske
b4673344c0 Adds new wc_ecc_get_curve_params API for getting the ecc_set_type params for a curve index. Fix for example client and server using wrong macro for detecting ECC 256-bit enabled. 2019-08-02 05:50:00 -07:00
Sean Parkinson
2a22179068 Specialized mod exponentiation for base 2 in tfm.c and integer.c 2019-08-02 15:50:08 +10:00
Sean Parkinson
51dfc35aac TLS 1.3 and Integrity-only ciphersuites 2019-08-02 11:00:18 +10:00
David Garske
3cf30f1e96 Fix to allow proper calling with counts for wolfCrypt_Init and wolfCrypt_Cleanup. Old code was not tracking case such as wolfCrypt_Init -> wolfCrypt_Init -> wolfCrypt_Cleanup and was causing cleanup to be performed, when it shouldn't. 2019-08-01 12:44:03 -07:00
David Garske
fb8fc4d800 Fix for scan-build warning with altName->name possible use of NULL pointer. 2019-08-01 11:54:28 -07:00
toddouska
4f0fd2c2f9 Merge pull request #2302 from SparkiDev/ecc_pubkey_check
Add checks of public key for ECC and curve25519
2019-08-01 11:50:02 -07:00
toddouska
7098fdff29 Merge pull request #2382 from SparkiDev/dsa_ct
Use a fixed number of bits with DSA gen and sign
2019-08-01 11:48:53 -07:00
Daniele Lacamera
a8d2b6b3c8 Removed exception for EXIT_TEST in RIOT 2019-08-01 15:50:16 +02:00
Daniele Lacamera
34b2d257cd [RIOT-OS/GNRC] Renamed GNRC callback functions 2019-08-01 15:50:16 +02:00
Daniele Lacamera
e77161ae9a Riot-OS/GNRC support: reworked after reviewers' comments 2019-08-01 15:50:16 +02:00
Daniele Lacamera
1db036eb75 RIOT-OS support with GNRC UDP/IP sockets 2019-08-01 15:50:16 +02:00
Sean Parkinson
1792fe34b9 Fix precomputation tables to not include infinity field.
Fixes to ARM code
- put in it instruction before conditional for old compilers.
- fix small code size version of compare
- handle not being able to shift by the full size - want result to be
zero
Casts as required by compiler to reduce bit size explicitly.
2019-08-01 20:53:41 +10:00
Jacob Barthelmeh
6a52e0a138 fix help print out of benchmark 2019-07-31 11:47:26 -06:00
toddouska
c400c38588 Merge pull request #2381 from SparkiDev/tls13_sv
Check suite size length is valid as well as space for compression
2019-07-30 16:04:00 -07:00
toddouska
d4ab1c7e86 Merge pull request #2383 from SparkiDev/sp_dh_2
Special implementation of mod exp when base is 2 in SP
2019-07-30 16:02:38 -07:00
Sean Parkinson
dcab47efd8 Improve wc_curve25519_check_public function doc 2019-07-31 08:44:43 +10:00
toddouska
81a9779fc4 Merge pull request #2385 from dgarske/minor_items
Minor cleanups for spelling and cast warnings
2019-07-30 15:22:29 -07:00
toddouska
8b8cc41a1a Merge pull request #2384 from JacobBarthelmeh/PKCS7
add aditional sanity checks on buffer
2019-07-30 15:21:09 -07:00
toddouska
0a60c2bb2c Merge pull request #2379 from JacobBarthelmeh/sessionExport
reduce size of state only save and add option to remove peer info
2019-07-30 15:09:39 -07:00
toddouska
21c8ad03d3 Merge pull request #2378 from SparkiDev/tls13_nopskdheke_ks_fix
Fix for TLS 1.3 to always send Key Share
2019-07-30 15:08:38 -07:00
toddouska
f314613fa1 Merge pull request #2376 from SparkiDev/dsa_sign
Generate k for DSA signature as per FIPS 186-4 B.2.2
2019-07-30 15:06:26 -07:00
David Garske
91251eb319 Fixes for minor compiler cast warnings. 2019-07-29 08:14:27 -07:00
David Garske
e3653a7a07 Various spelling corrections. 2019-07-29 08:14:07 -07:00
Sean Parkinson
23af4e92f3 Special implementation of mod exp when base is 2 in SP 2019-07-29 12:58:07 +10:00
Jacob Barthelmeh
ec18ae0fbc add aditional sanity checks on buffer 2019-07-28 19:21:09 -06:00
Sean Parkinson
4778dac49f Add checks of public key for ECC and curve25519 2019-07-29 10:42:44 +10:00
Sean Parkinson
d7b893f250 Use a fixed number of bits with DSA gen and sign 2019-07-29 09:33:11 +10:00
Sean Parkinson
741d7bdb67 Check suite size length is valid as well as space for compression 2019-07-29 08:47:45 +10:00
Jacob Barthelmeh
ca87861915 reduce size of state only save and add option to remove peer info 2019-07-26 14:54:44 -06:00
Sean Parkinson
9e26bc40bb Generate k for DSA signature as per FIPS 186-4 B.2.2 2019-07-26 09:08:23 +10:00
David Garske
8ce2dd4bf7 Additional STSAFE return code cleanups. 2019-07-25 08:22:31 -07:00
David Garske
fe598fc6fc Improvements to the STSAFE-A100 error code handling. 2019-07-24 09:01:44 -07:00
David Garske
2cd64c748a Only require XATOI for build-cases that need it. 2019-07-23 15:36:59 -07:00
David Garske
b658f2e7c3 Refactor for all fp_int and mp_int allocations to use DYNAMIC_TYPE_BIGINT. This allows customers to setup a static pool for these allocations if desired. 2019-07-23 15:36:59 -07:00
David Garske
b0444bcfa1 Refactor to add XATOI for standard library function. 2019-07-23 15:36:59 -07:00
toddouska
50fbdb961f Merge pull request #2366 from JacobBarthelmeh/Release
updating readme and prepare for release
2019-07-23 11:03:29 -07:00
Jacob Barthelmeh
77fda069a8 prepare for release version 4.1.0 2019-07-23 09:27:39 -06:00
Jacob Barthelmeh
2befc9d68f fix for build with WOLFSSL_EXTRA 2019-07-23 09:27:39 -06:00
Jacob Barthelmeh
13957e7762 update server-ecc-self.pem before/after dates 2019-07-23 09:27:39 -06:00
Jacob Barthelmeh
589b056ecb update gitignore and location of test cleanup 2019-07-23 09:27:39 -06:00
JacobBarthelmeh
8f5a0dc66a Merge pull request #2370 from SparkiDev/arm64_fixes
Fix for AARCH64 on Linaro
2019-07-23 09:26:56 -06:00
Sean Parkinson
f8e2285ab8 Fix for AARCH64 on Linaro
Poly1305 using [wx]29 corrupts data - use [wx]30.
WOLFSSL_ARMASM is an ASM flag as well.
2019-07-23 09:56:18 +10:00
toddouska
7ca9b23b76 Merge pull request #2361 from dgarske/bench_vs
Fixes for wolfCrypt benchmark and test Visual Studio projects
2019-07-22 11:29:33 -07:00
toddouska
c443116189 Merge pull request #2364 from dgarske/stm32_cube_small_block
Fix for STM32 AES GCM crypto hardware with less than block size
2019-07-22 11:27:04 -07:00
toddouska
fc918f9052 Merge pull request #2367 from JacobBarthelmeh/PKCS7
fix for initialize PKCS7 structure with signer
2019-07-22 09:41:17 -07:00
Jacob Barthelmeh
db9a17c8a7 fix for inject clear alert from client test case 2019-07-22 10:34:20 -06:00
Jacob Barthelmeh
aec980b803 fix for initialize PKCS7 structure with signer 2019-07-19 16:23:14 -06:00
David Garske
aed1e433b2 Updates to benchmark/test Visual Studio projects to properly reference x64. Added missing files to VS projects. Example settings for enabling SP and AESNI in Visual Studio in IDE/WIN/user_settings.h. 2019-07-19 13:08:13 -07:00
toddouska
ab01cd9be1 Merge pull request #2354 from ejohnstown/fixes
Fixes for FIPS
2019-07-19 09:59:21 -07:00
David Garske
2abcffd4a7 Revert changes to fe_x25519_asm.S. 2019-07-18 12:15:55 -07:00
David Garske
0bcae86038 Fixes for wolfCrypt benchmark and test Visual Studio projects. Fixes for benchmark.c compile errors in bench_hmac with Visual Studio. Added README.md files for benchmark and test. 2019-07-18 11:39:59 -07:00
toddouska
45abd67bd1 Merge pull request #2362 from SparkiDev/chacha20_asm_fix
Fix chacha20 AVX1 assembly to not use register RBX
2019-07-18 08:43:44 -07:00
toddouska
b73c53471c Merge pull request #2363 from JacobBarthelmeh/Testing
Fixes for builds
2019-07-18 08:38:50 -07:00
David Garske
6fd623248e Add macro checks around new .c/.S files to allow wildcard include of source files (such as in Eclipse). 2019-07-18 06:49:36 -07:00
David Garske
7db3f8e2c6 Fixes for STM32 CubeMX AES GCM crypto hardware where less than a block size (16) is used. 2019-07-18 06:09:07 -07:00
Sean Parkinson
b399b08df7 Fix for TLS 1.3 to always send Key Share
Even if resuming or using PSK and not performing DHE key exchange, send
key share extension in case full handshake is required.
2019-07-18 11:01:43 +10:00
toddouska
d1700d3739 Merge pull request #2358 from ejohnstown/rsa-keygen-speedup
RSA Key Generation Speedup
2019-07-17 18:01:38 -07:00
Sean Parkinson
7fe4521083 Fix chacha20 AVX1 assembly to not use register RBX 2019-07-18 09:42:52 +10:00
Sean Parkinson
0555668f2c Merge pull request #2356 from JacobBarthelmeh/OCSP
revert early free of OCSP buffer after finding it is revoked
2019-07-18 08:38:10 +10:00
John Safranek
3aad9a2673 FIPS Macro Fix
In a couple places the label WOLFSSL_FIPS was getting checked. Changed
to the correct HAVE_FIPS instead.
2019-07-17 15:35:12 -07:00
John Safranek
9c245b7fc5 Fixes
When building with GCC-8 and enable-intelasm set, GCC reported a memcpy
from and two the same pointer being possible. Added a check for the same
pointer and skipped the copy if the same.
2019-07-17 15:35:12 -07:00
John Safranek
c3c705f82b FIPS, HMAC, and PKCS8
One of the tests for PKCS8 depended on keys encrypted with a password
that has only 8 letters. HMAC in FIPS mode requires a minimum of 12
bytes. Disabled that test case when FIPS is enabled. All components do
get tested just not all together in that case.
2019-07-17 15:35:12 -07:00
Jacob Barthelmeh
7e79e3a6bf fix for build with disable filesystem 2019-07-17 16:28:58 -06:00
Jacob Barthelmeh
f63656f18b macro guard on test case with disable AES 2019-07-17 15:22:29 -06:00
John Safranek
dc71f957f3 RSA-Key Gen Speedup
1. When doing the test divides on the first few primes, short circuit
out of the loop if the prospective possible prime divides evenly.
2019-07-17 13:43:15 -07:00
toddouska
8b6e66f095 Merge pull request #2353 from SparkiDev/ecc_nonce
Improve nonce use in ECC mulmod
2019-07-17 11:23:12 -07:00
John Safranek
9a2f4bb8f8 Merge pull request #2333 from kaleb-himes/WCv4.0.1-stable-master
WCv4.0.1-stable changes
2019-07-17 10:14:40 -07:00
Jacob Barthelmeh
af8395b17b revert early free of OCSP buffer after finding it is revoked 2019-07-17 11:08:28 -06:00
JacobBarthelmeh
8bf8fcca60 Merge pull request #2352 from dgarske/async_v4.1
Fixes for Asynchronous support in v4.1
2019-07-16 17:32:18 -06:00
Sean Parkinson
483f6a5acd Improve nonce use in ECC mulmod 2019-07-17 09:27:29 +10:00
toddouska
5f3fd3ae86 Merge pull request #2348 from cconlon/scepchanges
Changes to support SCEP Expansion
2019-07-16 15:26:15 -07:00
kaleb-himes
fdeb65dec8 WCv4.0.1-stable changes
CHAR_BIT to 8, simplify logic from peer review

Update build script
2019-07-16 15:58:56 -06:00
JacobBarthelmeh
cb2ed60305 Merge pull request #2351 from ejohnstown/watch-chain-deux
Sniffer Watch Cert Chain Part 2
2019-07-16 15:04:32 -06:00
David Garske
7b021d68c3 Fixes for asynchronous support in v4.1:
* Fixes PK callback null dereference.
* Fixes `DoCertificateVerify` verify handling.
* Fixes build issue with API tests.
2019-07-16 11:56:02 -07:00
David Garske
5067d1fc10 Merge pull request #2328 from kaleb-himes/ZD-5373-TIRTOS
Updating for TI hardware offload with latest version of wolfSSL
2019-07-16 11:43:56 -07:00
toddouska
8b8ff2ac34 Merge pull request #2336 from kaleb-himes/ZD-5388-OCSP-STATUS-UNHONORED
Honor the status from peer and do not do internal OCSP lookup regardless
2019-07-16 11:32:34 -07:00
toddouska
99d3ea9e56 Merge pull request #2350 from SparkiDev/rsa_pss_fix
Don't pick RSA PSS if not compiled in
2019-07-16 11:28:50 -07:00
John Safranek
4b0bb75909 Sniffer Watch Cert Chain Part 2
1. Check the sizes picked up out of the message against the expected
size of the record when looking at the certificate messages.
2. Renamed the cert and certSz in the watch callback with it being a
certChain.
2019-07-16 09:54:45 -07:00
Chris Conlon
2e308ea82c Merge pull request #2260 from JacobBarthelmeh/PKCS7
PKSC7 firmware revision + callback / get SID
2019-07-16 10:51:38 -06:00
JacobBarthelmeh
9f1aa1a27c Merge pull request #2349 from ejohnstown/watch-chain
Sniffer Watch Cert Chain
2019-07-16 10:43:37 -06:00
Chris Conlon
d51b958334 use ForceZero instead of MEMSET in PKCS7 signed attribute handling 2019-07-16 08:13:47 -07:00
Sean Parkinson
8112c1236d Don't pick RSA PSS if not compiled in 2019-07-16 14:59:01 +10:00
Sean Parkinson
9af9941b90 Fixes for TLS 1.3 and OCSP Stapling
Create the OCSP Response for Stapling and TLS 1.3 when parsing.
When parsing OCSP stapling extension with TLS 1.3, use a new extension
object if it was created.
Set the extension size to 0 before writing extensions when sending a TLS
1.3 Certificate message.
2019-07-16 13:52:36 +10:00
toddouska
d620433d1d Merge pull request #2209 from tmael/maintenanceDefects
Increased ciphers buffer size for testsuite and ECC API for getting curve from dp
2019-07-15 16:49:13 -07:00
toddouska
4e648dd35f Merge pull request #2347 from JacobBarthelmeh/HardwareAcc
adjust time.h for port due to tm struct change
2019-07-15 15:27:58 -07:00
John Safranek
3cdb4f8bf0 Sniffer Watch Cert Chain
Modifed the sniffer watch callback so it provides a SHA-256 hash of the
peer certificate, as before, and the entire certificate chain sent by
the server in the Certificate handshake message. The chain is taken
directly from the message payload, unprocessed. It'll be a list of pairs
of 24-bit certificate length and a DER encoded certificate, all in
network byte order.
2019-07-15 14:07:22 -07:00
Chris Conlon
7367da3fb6 sort PKCS7 signed attributes when generating bundle 2019-07-15 13:27:49 -07:00
Jacob Barthelmeh
6e6c93624a free test RSA key after use 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
cba8a7f155 free buffer when using small stack 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
4362ce5f6b fix expected size and add sanity checks 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
a25d04044a save rid for kari callback 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
60fc9b3a1d add test for manual verify 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
d33a95352a fix check on ret value and add test case 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
f79a119c82 add storing sig/digest if no certs in bundle 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
d7a86de969 add wrap CEK callback, test, and adjustment for fwWrappedFirmwareKey 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
84653a7fb5 improvements on test code 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
a7a51d8f33 scan-build warnings / fixes 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
ab0029f9ac add setter function for ctx and pkcs7 callback, add test cases 2019-07-15 12:32:19 -06:00
Jacob Barthelmeh
2972b1c467 getter for signerinfo SID and decrypt callback 2019-07-15 12:26:11 -06:00
Chris Conlon
5743a1c80f Merge pull request #2341 from miyazakh/fix_ricoh_buildfailure
fix build failure when enabling MYSQL_COMPATIBLE
2019-07-15 10:10:34 -06:00
Chris Conlon
9d9495f8b6 allow CSR challenge pass to be encoded as PrintableString 2019-07-12 16:23:48 -07:00
Jacob Barthelmeh
051112a101 adjust time.h for port due to tm struct change 2019-07-12 13:55:04 -06:00
toddouska
b4765a5c9e Merge pull request #2340 from JacobBarthelmeh/Testing
fsanitize report fixes
2019-07-11 11:18:09 -07:00
toddouska
88f923a2a1 Merge pull request #2338 from ejohnstown/md5-null-suite
RSA-NULL-MD5 cipher suite
2019-07-11 11:15:48 -07:00
Hideki Miyazaki
3756a2c8c7 fix build failure when enabling MYSQL_COMPATIBLE 2019-07-11 09:00:03 +09:00
Jacob Barthelmeh
a6cc9af1fc free old peer RSA key in secure renegotiation when getting new one 2019-07-10 17:07:16 -06:00
Jacob Barthelmeh
6c9fac2a71 add wolfSSL_RAND_Cleanup to match wolfSSL_RAND_seed call on init 2019-07-10 16:43:44 -06:00
Jacob Barthelmeh
85ce959031 free peer cert overwritten by secure renegotiation 2019-07-10 16:04:42 -06:00
John Safranek
45b280a53e RSA Null MD5 cipher suite
1. Add the cipher suite TLS_RSA_WITH_NULL_MD5 for use with the sniffer.
2. Added TLS_RSA_WITH_NULL_MD5 to the suite test.
2019-07-10 14:32:14 -05:00
kaleb-himes
d7b50874f6 Fix leak in dh_test 2019-07-10 13:28:00 -06:00
toddouska
92bd585f25 Merge pull request #2329 from JacobBarthelmeh/SanityChecks
scan-build fixes
2019-07-10 10:23:39 -07:00
Martin Kinčl
996cef6db2 Added stdio.h include to types.h. 2019-07-10 18:26:43 +02:00
Chris Conlon
9cd6a992c5 Merge pull request #2295 from kojo1/RSA4096
Static RSA4096
2019-07-10 09:40:41 -06:00
toddouska
d88458a447 Merge pull request #2322 from SparkiDev/int_is_prime_fix
Fix prime testing to do t iterations of random values in range
2019-07-09 08:03:30 -07:00
toddouska
9daccb3300 Merge pull request #2320 from SparkiDev/tls_alerts
Send more alerts as per TLS specification
2019-07-09 08:02:32 -07:00
toddouska
964fd95a43 Merge pull request #2335 from SparkiDev/tls_pss_fix
Fix duplicate definitions in internal.h (new PSS defines)
2019-07-09 08:01:10 -07:00
kaleb-himes
3e6246af59 Honor the status from peer and do not do internal OCSP lookup regardless
Item 2) Suggestion from Sean implemented: "Limit the message types"

Item 3) Removed a hard tab
2019-07-09 07:09:09 -06:00
Sean Parkinson
e01f9961ac Fix duplicate definitions in internal.h (new PSS defines) 2019-07-09 08:49:04 +10:00
kaleb-himes
b8c6bc0d7f Changes following peer review, add defines to disable for any HW port 2019-07-08 16:28:35 -06:00
toddouska
b7986ccb17 Merge pull request #2332 from SparkiDev/poly1305_arm64
Improve perfomance of Poly1305 on ARM64
2019-07-08 15:08:25 -07:00
toddouska
4d13121de1 Merge pull request #2331 from SparkiDev/sp_c32_fix
Fix for C32 implementation in div
2019-07-08 15:06:16 -07:00
Chris Conlon
0bb6b388c0 Merge pull request #2312 from kojo1/RAND_bytes_2
RAND_bytes
2019-07-08 15:30:06 -06:00
toddouska
97a6dc9e7e Merge pull request #2316 from SparkiDev/tls13_ext_fixes
TLS 1.3 extension fixes
2019-07-08 14:13:55 -07:00
toddouska
1bcec1b9ab Merge pull request #2319 from SparkiDev/tls13_alerts
Improve alert sending in TLS 1.3 code from fuzz testing
2019-07-08 14:11:35 -07:00
Jacob Barthelmeh
efe276414b set internal x509 elements to NULL after free 2019-07-08 15:11:03 -06:00
toddouska
79165ce8cb Merge pull request #2315 from SparkiDev/tlsx_ext_debug
Print out extension data being parsed when WOLFSSL_DEBUG_TLS defined.
2019-07-08 13:59:11 -07:00
toddouska
44b8106da6 Merge pull request #2317 from SparkiDev/asn_nofs_fix
Fix for NO_FILESYSTEM builds
2019-07-08 13:32:27 -07:00
toddouska
bd40a59f3e Merge pull request #2318 from SparkiDev/server_fuzz
Changes to server example for fuzz testing
2019-07-08 13:16:17 -07:00
toddouska
36920b1469 Merge pull request #2314 from SparkiDev/tls13_fixes
TLS 1.3 ClientHello rework and other fixes
2019-07-08 13:14:37 -07:00
toddouska
d824b78af0 Merge pull request #2323 from dgarske/various_fixes
Various fixes, improvements to build options for reduced code size and static benchmarks
2019-07-08 13:02:22 -07:00
toddouska
baf65f4f43 Merge pull request #2327 from JacobBarthelmeh/Compatibility-Layer
add wolfSSL_PEM_write_DHparams implementation
2019-07-08 12:58:10 -07:00
toddouska
e6ab7d165c Merge pull request #2325 from JacobBarthelmeh/Testing
remove HAVE_CRL macro guard from X509 PEM write function
2019-07-08 12:57:15 -07:00
toddouska
66db74d827 Merge pull request #2313 from SparkiDev/tls13_reneg
Fix for TLS 1.3 and secure renegotiation
2019-07-08 12:56:02 -07:00
toddouska
406ff31fc8 Merge pull request #2311 from SparkiDev/tls12_ffdhe_fix
Better support for TLS 1.2 and FFDHE
2019-07-08 12:55:03 -07:00
toddouska
1070aba5e2 Merge pull request #2308 from SparkiDev/resumption_fix
Don't resume if stored session's ciphersuite isn't in client list
2019-07-08 12:52:59 -07:00
toddouska
2610d9ce94 Merge pull request #2307 from SparkiDev/pick_hash_sig
Improve hash and signature algorithm selection
2019-07-08 12:51:36 -07:00
toddouska
74324bb1b5 Merge pull request #2305 from SparkiDev/doalert_fix
Better handling of alerts
2019-07-08 12:50:26 -07:00
toddouska
60d6d71636 Merge pull request #2304 from SparkiDev/tls_sha224
Support to TLS for RSA SHA-224 signatures
2019-07-08 12:47:56 -07:00
toddouska
2a4b935e07 Merge pull request #2299 from JacobBarthelmeh/DTLS-MultiCore
DTLS export/import state only
2019-07-08 12:47:13 -07:00
toddouska
cc453c6c12 Merge pull request #2262 from ejohnstown/sniffer-watch
Sniffer watch
2019-07-08 12:45:35 -07:00
Jacob Barthelmeh
b5a5100068 move location of X509 free 2019-07-05 14:33:35 -06:00
David Garske
964dac96a7 Merge pull request #2321 from kaleb-himes/ARDUINO-UPDATE
Remove redundent setting WOLFSSL_ARDUINO and add guards
2019-07-05 11:35:30 -07:00
David Garske
011fa6bafd Added PBKDF2 benchmark. Benchmark improvements to capture results in static buffer (helps benchmarking on systems without printf support). Added benchmark "-print" option to show summary. Added wolfCrypt test version header. 2019-07-05 11:29:14 -07:00
David Garske
c9f18bfe3b Merge pull request #2326 from SparkiDev/sp_update_1
Changes to other SP implementations based on recent changes
2019-07-05 11:19:01 -07:00
Jacob Barthelmeh
4cf8923838 make wc_DhParamsToDer a static function to avoid DhKey redefenition 2019-07-05 11:58:40 -06:00
Sean Parkinson
8dccecc531 Improve perfomance of Poly1305 on ARM64 2019-07-05 14:41:46 +10:00
Sean Parkinson
61e1491407 Fix for C32 implementation in div
Changes to allow C32 to build on x86_64 when not using fast math.
2019-07-05 10:39:30 +10:00
Takashi Kojo
9b654d25d1 wolfSSL_RAND_seed(NULL, 0); 2019-07-04 18:31:57 +09:00
Jacob Barthelmeh
5dcd421580 scan-build fixes 2019-07-03 17:08:02 -06:00
Jacob Barthelmeh
ab9d89cb31 cast on return and move location of function declaration 2019-07-03 15:20:08 -06:00
Jacob Barthelmeh
02871d5ed4 add test case for wolfSSL_PEM_write_DHparams 2019-07-03 13:32:21 -06:00
John Safranek
0b5ee1b633 Merge pull request #2324 from dgarske/cryptocb_3des
Crypto callback DES3 support
2019-07-03 10:17:23 -07:00
Jacob Barthelmeh
8327984523 fix for leading bit check 2019-07-03 10:35:08 -06:00
Jacob Barthelmeh
f2bb5e8944 implementation of wolfSSL_PEM_write_DHparams 2019-07-02 17:42:33 -06:00
Sean Parkinson
7c393edf49 Changes to other SP implementations based on recent changes 2019-07-03 09:37:31 +10:00
David Garske
58fe2781f1 Fix for wc_CryptoCb_AesCbcEncrypt with improper find device logic. Fix for HMAC scan-build with ret. Cleanup of HMAC formatting. 2019-07-02 14:08:59 -07:00
Jacob Barthelmeh
a7acacff41 remove HAVE_CRL macro guard from X509 PEM write function 2019-07-02 14:37:33 -06:00
David Garske
d5f3fa2ff8 Added DES3 Crypto callback support. 2019-07-02 10:15:53 -07:00
David Garske
01c9fa1830 Added NO_TFM_64BIT option to disable 64-bit for TFM only (also enabled with NO_64BIT. This allows other areas like SHA512/ChaCha20 to still have the 64-bit type, but not use it for TFM. 2019-07-02 09:36:08 -07:00
David Garske
eba78cd87a Improvements for disabled sections in pwdbased.c, asn.c, rsa.c, pkcs12.c and wc_encrypt.c. Adds --enable-pkcs12, HAVE_PKCS12/NO_PKCS12, HAVE_PKCS8 / NO_PKCS8 and HAVE_PBKDF1 / NO_PBKDF1. 2019-07-02 09:35:46 -07:00
Sean Parkinson
40864da533 Fix prime testing to do t iterations of random values in range 2019-07-02 14:42:03 +10:00
Sean Parkinson
0e33e2d9ee Check PickHashSigAlgo return when doing CerticateRequest
Only check picking the hash and signature algorithm functions return
when a certificate is available to send to peer.
Include the ECC signature and hash algorithms in available list even
when using ECDSA certificates signed with RSA.
List is of capabilities not what is in certificate.
Certificate request sent to peer doesn't have to be an ECDSA certificate
signed with RSA.
Same treatment for RSA.
2019-07-02 11:53:04 +10:00
Sean Parkinson
28aa99c3e3 Always have support for SHA-224 signatures when SHA-224 built-in 2019-07-02 08:27:04 +10:00
John Safranek
21afcf17a8 Sniffer Watch Mode
1. Split the function ssl_SetWatchKey() into ssl_SetWatchKey_file()
which loads the key from a named file and ssl_SetWatchKey_buffer()
which loads the key from a provided buffer. file() uses buffer().
2019-07-01 13:50:28 -07:00
John Safranek
b02e1e8d59 Sniffer Watch Mode
Added some statistics tracking to the watch mode.
2019-07-01 13:50:28 -07:00
John Safranek
8be6c0c08c Sniffer Watch Mode
Add some tests for the Watch mode that will also work with static ECDH.
2019-07-01 13:50:28 -07:00
John Safranek
b61803f165 Sniffer Watch Mode
Added the build option for the Watch mode for the sniffer. Instead of
setting a set of IP addresses and keys, you set a callback function.
When any TLS connection is started, the hook is called and a hash of the
peer certificate is given to the callback function. It has a chance to
load a private key into the sniffer session. Enable this option with the
build flag "WOLFSSL_SNIFFER_WATCH".
2019-07-01 13:50:28 -07:00
David Garske
fd71618f10 Added warning message if user IO read callback returns negative that is not supported. 2019-07-01 13:41:17 -07:00
David Garske
b2f919ec13 Fix to include errno.h in tls_bench.c 2019-07-01 13:41:17 -07:00
David Garske
354ec9cd9d Add useful log message when SP math key size is invalid. 2019-07-01 13:41:17 -07:00
David Garske
f8e3e63938 Fix for building with USE_STSAFE_VERBOSE to avoid printf use. 2019-07-01 13:41:17 -07:00
toddouska
3652929573 Merge pull request #2310 from SparkiDev/alpn_sni_parse
ALPN and SNI Extension parsing improvements
2019-07-01 08:57:39 -07:00
toddouska
4500f2d773 Merge pull request #2309 from SparkiDev/fallback_scsv
Fallback SCSV (Signaling Cipher Suite Value) support on Server only
2019-07-01 08:55:02 -07:00
toddouska
08bd5000f1 Merge pull request #2306 from SparkiDev/tls_long_msg
Add detection of oversized encrypted data and plaintext
2019-07-01 08:51:20 -07:00
kaleb-himes
db17fce49a Remove redundent setting WOLFSSL_ARDUINO and add guards 2019-07-01 09:02:21 -06:00
Sean Parkinson
b7e00eea1a Send more alerts as per TLS specification
Requires WOLFSSL_EXTRA_ALERTS or OPENSSL_EXTRA to enable
2019-07-01 17:01:06 +10:00
Sean Parkinson
1fe69992e2 Improve alert sending in TLS 1.3 code from fuzz testing 2019-07-01 14:20:36 +10:00
Sean Parkinson
373bbf6660 Changes to server example for fuzz testing 2019-07-01 13:35:33 +10:00
Sean Parkinson
707156f53b Fix for NO_FILESYSTEM builds 2019-07-01 13:26:28 +10:00
Sean Parkinson
4ff9d951f6 TLS 1.3 ClientHello rework and other fixes
Do version negotiation first. Look for, parse and negotiate with
SupportedVersions extension upfront. Only need to handle TLS 1.3
ClientHello after this.
Any version greater than TLS 1.2 in Legacy Version field is translated
to TLS 1.2.
Fix preMasterSz to when not using PreSharedKey.
Not finsing KeyShare in ClientHello sends a missing_extension alert.
Decoding signature algorithms in new TLS 1.3 range now returns error
when not recognized.
Don't allow RSA PKCS #1.5 signatures to be verified.
Fix accept when downgraded from TLS 1.3 to go to wolfSSL_accept.
Fix server state when sending ChangeCipherSpec for MiddleBox
compatability.
Send a new session ticket even when resuming.
2019-07-01 13:22:21 +10:00
Sean Parkinson
1d05503d20 TLS 1.3 extension fixes
When major version is TLS Draft then this is now ignored.
If version negotitation occurs but none matched then send an alert and
return an error.
Store the rsa_pss_pss_* signature algorithms in the bit mask.
KeyShare Entry parsing returns INVALID_PARAMETER when length is 0 and
results in a different alert being sent.
Check negotiated protocol version is not TLS 1.3 when determing whether
to parse point formats.
2019-07-01 12:20:37 +10:00
Sean Parkinson
4eaabd9be5 Print out extension data being parsed when WOLFSSL_DEBUG_TLS defined. 2019-07-01 11:58:43 +10:00
Sean Parkinson
60af8bdb7c Fix for TLS 1.3 and secure renegotiation 2019-07-01 09:26:05 +10:00
Takashi Kojo
43ce956d9c minor fix 2019-06-29 16:47:39 +09:00
Takashi Kojo
1634d9571c RAND_seed in init, GlobalRNG before tmp. 2019-06-29 09:21:30 +09:00
Sean Parkinson
e96ede65ce Don't resume if stored session's ciphersuite isn't in client list
Turn this check off with NO_RESUME_SUITE_CHECK.
2019-06-28 16:23:41 +10:00
Sean Parkinson
46a2a437d4 Better support for TLS 1.2 and FFDHE
If not FFDHE parameters in list then use existing.
If FFDHE parameters present but none matching then let the ciphersuite
match process fail when DHE must be used.
2019-06-28 16:12:23 +10:00
Sean Parkinson
1592d6f856 ALPN and SNI Extension parsing improvements
SNI will not have more than one type, only one entry in the list per
type and therefore no need to loop.
ALPN error checks improved.
2019-06-28 15:52:51 +10:00
Sean Parkinson
a3e4a2fd6e Fallback SCSV (Signaling Cipher Suite Value) support on Server only 2019-06-28 15:35:56 +10:00
Sean Parkinson
8312ceb14c Improve hash and signature algorithm selection
Return error when no hash-signature algorithm is possible.
2019-06-28 14:31:40 +10:00
Sean Parkinson
5f9a851adb Add detection of oversized encrypted data and plaintext 2019-06-28 12:01:35 +10:00
Sean Parkinson
7d2ac604f5 Better handling of alerts
Better checking of encrypted alerts - check unencrypted data size
correctly before using data.
Send an alert if the alert isn't the right size.
Send an alert if the maximum alert count has been reached - but don't
send it if seeing close_notify alert.
2019-06-28 11:53:33 +10:00
Sean Parkinson
8a0c058782 Support to TLS for RSA SHA-224 signatures 2019-06-28 10:26:48 +10:00
Chris Conlon
f51a8fffde Merge pull request #2265 from JacobBarthelmeh/Testing
fix check on ret value and add test case
2019-06-27 14:02:01 -06:00
Sean Parkinson
8bea016d69 Merge pull request #2277 from julek-wolfssl/arm-poly1305
ARM Poly1305
2019-06-27 09:21:09 +10:00
Takashi Kojo
c7d1424adf word16 for consistency 2019-06-27 06:38:14 +09:00
Jacob Barthelmeh
e7fd45537d update comments for DEGENERATE_SID use 2019-06-26 11:58:53 -06:00
Chris Conlon
7520137601 Merge pull request #2297 from miyazakh/esp_random
fix ed25519 sign msg test failure in ESP32
2019-06-26 11:54:34 -06:00
toddouska
da5357cadd Merge pull request #2301 from SparkiDev/dh_pubval_check
Simple checks of DH public value from peer.
2019-06-26 09:20:49 -07:00
toddouska
0dbba5f056 Merge pull request #2300 from ejohnstown/fips-hash
FIPS Hash
2019-06-26 09:18:48 -07:00
toddouska
6478f92e04 Merge pull request #2294 from dgarske/read_fixes
Fixes to improve read error handling
2019-06-26 09:17:20 -07:00
Jacob Barthelmeh
cb4f9afd6d free memory in test case 2019-06-25 15:24:39 -06:00
John Safranek
3a378520c0 FIPS Hash
Add the fips-hash.sh script to the Automake distribution.
2019-06-25 11:38:09 -07:00
toddouska
53c1a6c264 Merge pull request #2283 from dgarske/extern_c
Fixes for cpp extern c
2019-06-25 11:25:39 -07:00
toddouska
eceb460cff Merge pull request #2287 from ejohnstown/sniffer-stats
Sniffer Statistics
2019-06-25 11:22:24 -07:00
David Garske
ef64cd300c Fixes to improve read error handling.
* Improved `GetInputData` handling of non -1 return codes.
* Adds support for handling `WOLFSSL_CBIO_ERR_TIMEOUT` return code in non-DTLS case.
2019-06-25 07:11:14 -07:00
David Garske
dcdd6d6d6f Cleanup around include of wolfmath.h and shared math macros. Fix for SP math case with WOLFSSL_BIGNUM. 2019-06-25 07:06:33 -07:00
David Garske
a9fff57063 Add extern "C" to headers. Some files are missing this, which can cause issues with some compilers when using the C++ mode. 2019-06-25 07:05:46 -07:00
Sean Parkinson
ee023c6bf4 Simple checks of DH public value from peer.
Add test for wc_DhCheckPubValue
2019-06-25 11:12:33 +10:00
Hideki Miyazaki
da6ed416be use len for copy-length instead of sz 2019-06-25 08:39:46 +09:00
John Safranek
26384d4936 Sniffer Stats
Upgrade the sniffer stats to unsigned long ints.
2019-06-24 16:16:05 -07:00
toddouska
b957415609 Merge pull request #2245 from MKinclRA/coverity-issues
Coverity issues
2019-06-24 16:12:52 -07:00
John Safranek
851a547fd5 FIPS Hash
Add a script that updates the verifyCore value automatically. It isn't
included in the dist like fips-check.sh.
2019-06-24 16:01:05 -07:00
toddouska
15552be934 Merge pull request #2280 from cconlon/selftestccm
CAVP self test build fixes for AES-CCM and PKCS7
2019-06-24 15:55:18 -07:00
toddouska
036f6a1177 Merge pull request #2281 from ejohnstown/evp-legacy
Legacy EVP_CipherFinal addition
2019-06-24 15:54:43 -07:00
toddouska
785d984a3c Merge pull request #2282 from SparkiDev/certvfy_tls13
Free RSA key later in TLS v1.3 CertificateVerify
2019-06-24 15:54:04 -07:00
toddouska
56d7da3130 Merge pull request #2284 from dgarske/api_test
Fixes for track memory and API unit test cleanup
2019-06-24 15:53:32 -07:00
toddouska
587e962331 Merge pull request #2288 from SparkiDev/ed25519_string_fix
Fix length of buffer to match string length for g++
2019-06-24 15:39:52 -07:00
toddouska
2ba89cb7a9 Merge pull request #2289 from SparkiDev/sp_prime_fix
When checking primes call only available SP ModExp functions
2019-06-24 15:39:03 -07:00
toddouska
c7964b62c0 Merge pull request #2290 from kaleb-himes/ZD-5253-X25519
Support CURVE25519 in `get_curve_name` when HAVE_ECC not defined
2019-06-24 15:37:34 -07:00
toddouska
358757cd2e Merge pull request #2291 from ejohnstown/random-clean
Random Cleanup
2019-06-24 15:36:00 -07:00
toddouska
0100159079 Merge pull request #2293 from ejohnstown/aesni-fix
AES-NI Fix
2019-06-24 15:34:12 -07:00
toddouska
78956534f0 Merge pull request #2298 from SparkiDev/static_rsa
Improve handling of static RSA's decrypted pre-master secret
2019-06-24 15:24:18 -07:00
Jacob Barthelmeh
0e3881d418 add test case for state only export on DTLS session 2019-06-24 16:08:12 -06:00
John Safranek
8439beb525 Sniffer Statistics
1. Moved sslKeyFails.
2. Added sslEphemeralMisses, sslEncryptedConns, sslDecodeFails.
3. Removed the Rehandshake stats as the sniffer does not support rehandshaking.
4. Removed two of the per second stats as they seemed redundant.
5. Added a function to atomically read and reset the sniffer statistics.
2019-06-24 09:54:42 -07:00
John Safranek
0eaccb7259 Removed some redundant comments from the sniffer header. 2019-06-24 09:54:42 -07:00
John Safranek
0203a25b60 Sniffer Statistics
Added stats for encrypted and decrypted bytes and packet counts.
2019-06-24 09:54:42 -07:00
John Safranek
9715431921 Sniffer Statistics
1. Wrapped the added code for statistics in a preprocessor guard.
2. Added a check for the current cipher suite and if it is on the list
of allowed suites. Guarded by the statistics option.
3. Added more statistics from the list.
2019-06-24 09:54:42 -07:00
John Safranek
c600f7659a Sniffer Statistics
Added more of the statistics.
2019-06-24 09:54:42 -07:00
John Safranek
2ee7d05dcc Sniffer Statistics
1. Added a structure for all the statistics to be kept.
2. Added a global to track the statistics.
3. Added a copy function to get a copy of the statistics.
4. Added a reset function for the statistics.
5. Handle the alert messages in statistics.
2019-06-24 09:54:42 -07:00
Juliusz Sosinowicz
71fe3313d3 Cleanup poly1305 struct 2019-06-24 09:43:55 +02:00
Juliusz Sosinowicz
c826c605a3 Fix problems when building with Make 2019-06-24 09:42:07 +02:00
Juliusz Sosinowicz
f42c94e3bc Cleanup code and align labels 2019-06-24 09:42:07 +02:00
Juliusz Sosinowicz
0fed159abd Poly1305 ARM64 optimization 2019-06-24 09:42:07 +02:00
Sean Parkinson
f1f6ac9308 Improve handling of static RSA's decrypted pre-master secret 2019-06-24 17:09:22 +10:00
Hideki Miyazaki
1d9d9e2955 fix ed25519 sing msg test failure
better random number handling
2019-06-24 15:27:29 +09:00
Takashi Kojo
6d04d784c4 pkcsBlockLen in RsaUnPad may be > 256 2019-06-24 07:53:23 +09:00
Jacob Barthelmeh
b236a1c32f add export/import window state only 2019-06-21 15:52:48 -06:00
kaleb-himes
c114bcaead Addressed peer feedback, avoid double check when HAVE_CURVE25519 not set 2019-06-21 09:40:17 -06:00
kaleb-himes
49a631996c Check other names when FFDHE returns NULL 2019-06-21 09:27:15 -06:00
John Safranek
fba89ae034 Random Cleanup
1. Remove redundant calls to the generate function when instantiating
and reseeding the DRBG.
2. Added note to the apparently redundant extra call to the generate
function when running the self test. This extra call is there to make
sure the internal state is updating correctly as a part of the KAT.
3. Removed duplicate enable argument clause for rng from configure.ac.
2019-06-20 16:02:35 -07:00
David Garske
f4548945f7 Merge pull request #2292 from ejohnstown/config-tweak
Autoconf Update
2019-06-21 00:53:02 +02:00
John Safranek
e4e6ed3701 AES-NI Fix
Replace some removed constants for AES-NI. They were removed when the
inline assembly that used that was exported to its own file.
For Windows, we're using the C intrinsic AES-NI functions, and those
still needed those constants.
2019-06-20 15:33:30 -07:00
John Safranek
a28e075290 Autoconf Update
Consolidate all the AM_CONDITIONAL statements in one place in the
configure process. This replaces the set of repeat checks of enable
flags to conditionally check the AM_CONDITIONAL.
2019-06-20 13:37:53 -07:00
toddouska
7225823f90 Merge pull request #2278 from SparkiDev/cert_asn1
Better length checks when parsing ASN.1 certificates
2019-06-20 11:18:02 -07:00
David Garske
2460effb0b Merge pull request #2285 from SparkiDev/tlsx_len
Better checking of return values in TLSX for error codes.
2019-06-20 10:10:31 -07:00
kaleb-himes
ce251417f5 curve25519 in get_curve_name when HAVE_ECC not defined. Thanks to C.B. for the report. 2019-06-20 10:57:07 -06:00
Sean Parkinson
b631670cca Fix for SP math build in OpenSSL bn.h 2019-06-20 21:40:58 +10:00
Sean Parkinson
c82c9b481b When checking primes call only available SP ModExp functions 2019-06-20 18:05:25 +10:00
Sean Parkinson
e1b03aa056 Fix length of buffer to match string length for g++ 2019-06-20 17:01:16 +10:00
Sean Parkinson
e7b3b31d9f Change TLSX functions that return error with length to do so separately 2019-06-20 16:37:34 +10:00
David Garske
7bde02b3e7 Fix for track memory case where the "prev" wasn't getting initialized for the first malloc. Caused issue on last free with fsantize because pointers are not zero'd by default. 2019-06-19 11:23:37 -07:00
Chris Conlon
19cb31d429 Merge pull request #2286 from miyazakh/fix_make_dist
fix make dist
2019-06-19 09:38:07 -06:00
Hideki Miyazaki
4581342fb0 fix make dist 2019-06-19 09:32:56 +09:00
Sean Parkinson
71cb117dda Better length checks when parsing ASN.1 certificates 2019-06-19 10:05:21 +10:00
Sean Parkinson
d378d3c009 Better checking of return values in TLSX for error codes. 2019-06-19 10:02:55 +10:00
David Garske
dd9dd6306e API unit test fix to remove improperly placed wolfSSL_Cleanup() call in test_for_double_Free. This caused erronous report with fsanitize=address. 2019-06-18 16:22:19 -07:00
Sean Parkinson
c500fd5a86 Free RSA key later in TLS v1.3 CertificateVerify 2019-06-19 08:47:40 +10:00
Chris Conlon
c2032c64d2 CAVP self test build fixes for AES-CCM and PKCS7 2019-06-18 08:29:49 -07:00
toddouska
2cf4a74b47 Merge pull request #2279 from SparkiDev/test_fix
Fix for small stack in test.c
2019-06-17 13:36:03 -07:00
John Safranek
36fb4e2f2d Add a legacy version of the wolfSSL_EVP_CipherFinal() function that
performs the decrypt in the old manner before a particular bug was
fixed. The old method didn't add padding when the data to encrypt was
multiple of the block_size in length. The decrypt happened to ignore the
error returned by checkPad.
2019-06-14 14:43:45 -07:00
Sean Parkinson
18ac566f48 Fix AVX2 ChaCha20 assembly 2019-06-14 10:22:27 +10:00
Sean Parkinson
a4bdfbf953 Fix for small stack in test.c 2019-06-14 08:43:36 +10:00
toddouska
2435ec2d6b Merge pull request #2275 from SparkiDev/sha512_arm32
Add ARM32 NEON code for SHA-512/384
2019-06-12 16:19:20 -07:00
Juliusz Sosinowicz
53cac0499f Merge remote-tracking branch 'wolfSSL/master' 2019-06-12 14:42:02 +02:00
Sean Parkinson
102ecac70c Merge pull request #2237 from julek-wolfssl/proper-arm-chacha-poly1305
ARM Chacha20 assembly code
2019-06-12 22:21:47 +10:00
Juliusz Sosinowicz
911c8df185 Fix 256 byte assembly slowdown 2019-06-12 00:52:42 +02:00
Chris Conlon
1f3d9c04c0 Merge pull request #2274 from miyazakh/fix_printstat_tlsbench
minor fix order for printing stats in tls_bench
2019-06-11 16:23:38 -06:00
John Safranek
01ad44feef Merge pull request #2276 from kaleb-himes/BOTH_FIPS_VERSION_TESTING
Adjustment to test.c for merge of WCv4.0.1 changes
2019-06-11 13:21:42 -07:00
David Garske
24042c973a Merge pull request #2259 from tmael/port_SiFive_RISCV
Added support for RISC-V SiFive HiFive Freedom platforms
2019-06-10 20:38:43 -07:00
Tesfa Mael
48d4ed38ac Include SIFIVE files for distribution 2019-06-10 14:06:42 -07:00
toddouska
de5ff0acea Merge pull request #2254 from SparkiDev/curve25519_x64_2
Fix and improvements for X25519 x86_64 ASM code
2019-06-10 13:35:43 -07:00
toddouska
1f0a46331b Merge pull request #2270 from dgarske/stsafe_tls
STSAFE Improvements to support Crypto Callbacks
2019-06-10 13:34:20 -07:00
David Garske
540c5cdd2f Updated benchmarks with SPI "dual mode" I/O enabled. 2019-06-10 20:33:28 +02:00
Juliusz Sosinowicz
a48981c3c6 Chacha20 ARM optimization 2019-06-10 19:21:46 +02:00
David Garske
cdf0241ed0 Updated benchmark with SHA512 "slow" version, which performs faster with the RISC-V compiler optimizations. 2019-06-09 19:43:55 +02:00
kaleb-himes
c5aa13021a Adjustment to test.c for merge of WCv4.0.1 changes 2019-06-07 16:09:35 -06:00
David Garske
d7ab3a6dec Further user_settings.h cleanup / additions. Additional README.md comments. 2019-06-07 13:58:17 -07:00
toddouska
02c2782e39 Merge pull request #2272 from JacobBarthelmeh/SanityChecks
remove store of last block w/o padding and adjust padding last block case
2019-06-07 10:29:29 -07:00
Juliusz Sosinowicz
b4ca2824cb Merge remote-tracking branch 'wolfSSL/master' 2019-06-07 14:55:21 +02:00
Hideki Miyazaki
efcf06ef7c use tlsv1_2 client method when tls13 is enabled 2019-06-07 19:13:46 +09:00
Sean Parkinson
6a594218bc Add ARM32 NEON code for SHA-512/384
Fix up ARM32 Curve25519 assembly code to use right directives.
Slight improvement to ARM64 SHA-512 assembly code.
Don't return error code from Transform functions - can't fail.
2019-06-07 15:02:48 +10:00
Hideki Miyazaki
292aa196fb minor fix to print stats in tls_bench 2019-06-07 12:05:19 +09:00
tmael
a2f943984f Merge pull request #2268 from kaleb-himes/GH-2263
debug fix + remove outl value check - outl is only written not read
2019-06-06 11:22:19 -07:00
Chris Conlon
f114932a03 Merge pull request #2271 from miyazakh/fix_nomutexlock_after_free
avoid mutex lock test after freeing it on NetBSD
2019-06-06 09:27:18 -06:00
David Garske
90228e1275 Merge pull request #2269 from SparkiDev/sp_cast
Fix casting of memory allocation to correct type
2019-06-06 06:14:59 -07:00
Jacob Barthelmeh
87d24f4488 add additional test case for evp 2019-06-06 16:14:00 +07:00
Jacob Barthelmeh
090899e74e remove store of last block w/o padding and adjust padding last block case 2019-06-06 14:43:07 +07:00
David Garske
fdd01c8c8c Added support for SHA512, ED25519/CURVE25519 and ChaCha20/Poly1305. Enabled ECC Single Precision (SP) support. Updated README.md wolfCrypt test/benchmarks. Pulled in fix "Fix casting of memory allocation to correct type" from Sean. 2019-06-05 20:21:48 -07:00
Hideki Miyazaki
64b8af728b skip mutex lock after free 2019-06-06 11:06:29 +09:00
Sean Parkinson
4e3004639d Fix casting of memory allocation to correct type 2019-06-06 09:11:19 +10:00
kaleb-himes
97780149a5 debug fix + remove outl value check - outl is only written not read 2019-06-05 13:38:13 -06:00
Tesfa Mael
25aeb8238e Addressed review comment about id being undefined 2019-06-04 16:05:57 -07:00
David Garske
9f9155b6f2 Added STSAFE Crypto Callback support. 2019-06-04 15:57:31 -07:00
David Garske
074e770c98 * Fix to ensure user_settings.h can be included for bio.c and evp.c when IDE or compiler tries to build it directly. Allows for wildcard .c include along with WOLFSSL_IGNORE_FILE_WARN.
* Fix for building SP cortex M without RSA.
* Fix for type-cast warning with STSAFE-A100.
* Improved the RNG seed test to prevent type-case warning.
2019-06-04 15:57:31 -07:00
toddouska
fee81ce49e Merge pull request #2257 from dgarske/sha256_regs
Added faster SHA256 build options
2019-06-04 14:05:54 -07:00
toddouska
77248e4e2a Merge pull request #2255 from SparkiDev/sha512_arm
SHA-512 optimised for ARM64
2019-06-04 14:04:33 -07:00
Tesfa Mael
4f80c7c94e Allow main to build when local debug flag is on 2019-06-04 13:12:27 -07:00
David Garske
19372c8199 Merge pull request #2266 from kaleb-himes/ZD-5154
Check correct allocation assignment. Thanks to R.A. for the report on…
2019-06-04 10:22:09 -04:00
David Garske
b4571f1f5a Updates to documentation for SHA256 build options. Changed to enable Ch/Maj math based of specification by default.
The `WOLFSSL_SHA256_ALT_CH_MAJ` alternate Ch/Maj performance is the same.
The `SHA256_MANY_REGISTERS` is about 13% slower on 64-bit. On some platforms is slightly faster.
2019-06-03 14:17:47 -07:00
Kaleb Himes
290663f8b2 Feedback changes implemented 2019-06-03 15:13:02 -06:00
Chris Conlon
7601276411 Merge pull request #2267 from ejohnstown/aesgcm-selftest
NetBSD Selftest, TLSv1.3, and wolfCrypt v4
2019-06-03 14:31:33 -06:00
Chris Conlon
4367761367 Merge pull request #2261 from kaleb-himes/ZD-5172
PKCS7 w/ FIPS cert 3389 support
2019-06-03 11:28:27 -06:00
John Safranek
978928be83 NetBSD Selftest, TLSv1.3, and wolfCrypt v4
When building for TLSv1.3 and the NetBSD Selftest, need to use the old
pre-wolfCrypt v4 APIs for AES-GCM and AES-CCM.
2019-06-03 09:40:00 -07:00
kaleb-himes
80dd6cc143 Check correct allocation assignment. Thanks to R.A. for the report on ZD-5154 2019-06-03 08:34:51 -06:00
Jacob Barthelmeh
9fbe471156 fix check on ret value and add test case 2019-06-03 07:52:50 +07:00
Sean Parkinson
e429185535 Make Transform_SHA512_Len API local scope 2019-06-03 08:35:36 +10:00
toddouska
7624d90590 Merge pull request #2258 from dgarske/no_stdlib
Improvements for no standard lib and no malloc/free builds
2019-05-31 14:59:33 -07:00
Sean Parkinson
7726bbbff2 Fix extra distribution files for ARM port dir 2019-05-31 10:47:42 +10:00
Sean Parkinson
e01ae09809 X25519 when not AVX2 2019-05-31 10:12:46 +10:00
David Garske
a5fabda5c6 Added compile-time check for DRBG size. Added support for all build variations DRBG size. 2019-05-30 15:59:12 -07:00
toddouska
19c348b5c7 Merge pull request #2256 from dgarske/blake2s
Adds Blake2s support
2019-05-30 15:08:59 -07:00
Sean Parkinson
33d27a391a Improve SHA-512 and Curve25519 2019-05-30 16:07:06 +10:00
Sean Parkinson
173163d1a3 SHA-512 optimised for ARM64 2019-05-30 16:04:15 +10:00
David Garske
af9d82963e Add support for increasing CPU clock speed. New benchmarks with HiFive1 RevB hardware at 320MHz. 2019-05-29 12:11:16 -07:00
Tesfa Mael
fea89c52f4 configure with ECC256 only 2019-05-29 10:51:07 -07:00
kaleb-himes
5601aa4634 PKCS7 w/ FIPS cert 3389 support 2019-05-29 11:12:34 -06:00
David Garske
f1ecf33d94 Merge pull request #2253 from danielinux/cygwin-build-fix
Fix visibility tags for cygwin build
2019-05-29 06:29:47 -07:00
Tesfa Mael
765b075e50 Updated with review comments 2019-05-28 17:48:36 -07:00
Tesfa Mael
87fb9f73e9 Added RISC-V SiFive FE310 support
Added freedom-e-sdk based makefile
Updated ecc test code to not allocate more memory than requried
Run wolfcrypt and benchmark tests on the SiFive HiFive1 targets
2019-05-28 17:48:36 -07:00
David Garske
5ea13a09f6 Adds Blake2s support (--enable-blake2s), which provides 32-bit Blake2 support. 2019-05-28 10:30:19 -07:00
Martin Kinčl
d42bdf9c0b Removed unused variable keyQ from _DhSetKey. 2019-05-27 12:44:10 +02:00
toddouska
263769765c Merge pull request #2246 from ejohnstown/sniffer-logging
Sniffer Logging
2019-05-24 15:36:11 -07:00
David Garske
f26a9589ff Added support for printf override using XPRINTF for wolfCrypt test/benchmark. Added ability to override snprintf with XSNPRINTF. If STRING_USER is defined no standard lib <string.h> or <stdio.h> will be included. 2019-05-23 22:03:38 -06:00
David Garske
a89a2839de Fixes for building with WOLFSSL_NO_MALLOC. Fixes for static memory in bench embedded case. Added support for elimination of XMALLOC/XFREE when building with NO_WOLFSSL_MEMORY and WOLFSSL_NO_MALLOC. If used with WOLFSSL_MALLOC_CHECK will trap failures with malloc_check 2019-05-23 22:00:41 -06:00
David Garske
ebbfe769e3 Added faster SHA256_MANY_REGISTERS support (thanks Sean). The WOLFSSL_SHA256_BY_SPEC option restore old math, the new case is equivalent math, but easier for compiler to optimize. 2019-05-23 21:53:07 -06:00
Sean Parkinson
6564d03369 Fix and improvements for X25519 x86_64 ASM code 2019-05-24 09:43:08 +10:00
John Safranek
86b558300b Sniffer Logging
1. When collecting the key size to log it, use the constant WOLFSSL_BIT_SIZE for the bytes->bits multiply.
2. When converting the size of the ECC key, break the steps out more explicitly. Also update the comment to be more accurate.
2019-05-23 13:02:52 -07:00
toddouska
9906a1045b Merge pull request #2251 from SparkiDev/sp_c_div_word
SP - div word in C when __div64 or __div128 not available
2019-05-23 11:51:29 -07:00
toddouska
ac5a5dfd56 Merge pull request #2247 from SparkiDev/psk_once
Use TLS v1.3 PSK callback in extension allow for one call in client
2019-05-23 11:49:40 -07:00
toddouska
6fe4c3ff34 Merge pull request #2244 from dgarske/psk_pk
Fix for static RSA cipher suite with PK callback and no loaded private key
2019-05-23 11:43:20 -07:00
toddouska
cab4a8c9b1 Merge pull request #2240 from dgarske/x509small_showcerts
Added support for `SHOW_CERTS` with `OPENSSL_EXTRA_X509_SMALL`
2019-05-23 11:41:32 -07:00
toddouska
e7fdb1360a Merge pull request #2239 from JacobBarthelmeh/Fuzzer
add sanity check on length of PSK identity
2019-05-23 11:40:13 -07:00
toddouska
a742cf9bf8 Merge pull request #2234 from JacobBarthelmeh/Testing
add sanity check on buffer index and regression tests
2019-05-23 11:32:38 -07:00
toddouska
5b5d03d5ac Merge pull request #2232 from SparkiDev/curve25519_arm_2
Add ARM32 asm code for X25519 and Ed25519
2019-05-23 11:30:29 -07:00
Martin Kinčl
6cbe8219a3 Moved opening brace to the same line. 2019-05-23 16:13:34 +02:00
Martin Kinčl
ad8f9c6134 Changed memsetting mp_ints to boolean flag. 2019-05-23 13:22:09 +02:00
Daniele Lacamera
38d1e908d6 Fix visibility tags for cygwin build 2019-05-23 08:41:05 +02:00
David Garske
b53e94b49a Merge pull request #2252 from kaleb-himes/ZD5137
Arduino refactor, default to fastmath and setup user_settings for user
2019-05-22 19:17:26 -04:00
Sean Parkinson
484f7a6c32 Merge pull request #2236 from tmael/sendAlertToTLSServer
send handshake failure alert to a server
2019-05-23 08:27:09 +10:00
Kaleb Himes
d8a3768464 Update README.md 2019-05-22 10:43:54 -06:00
kaleb-himes
827fc67e52 Arduino refactor, default to fastmath and setup user_settings for user 2019-05-22 10:38:26 -06:00
Tesfa Mael
ec4dad76e2 send protocol_version fatal alert message 2019-05-21 16:15:27 -07:00
Tesfa Mael
295dd4ff21 send protocol_version fatal alert message 2019-05-21 16:08:25 -07:00
Sean Parkinson
cb9e0a1973 SP - div word in C when __div64 or __div128 not available
Use WOLFSSL_SP_DIV_32 when using 32-bit C code.
Use WOLFSSL_SP_DIV_64 when using 64-bit C code.
2019-05-22 08:39:35 +10:00
JacobBarthelmeh
c77b99a8a4 Merge pull request #2248 from kaleb-himes/ZD-5141
Fix for potential leak on err: Thanks to Chris H. for the report
2019-05-20 16:11:40 -06:00
kaleb-himes
04f24881cb Fix for potential leak on err: Thanks to Chris H. for the report 2019-05-17 16:48:58 -06:00
Martin Kinčl
be65e31cdc Fixed possible buffer overflow in wc_DerToPemEx. 2019-05-17 19:23:55 +02:00
Martin Kinčl
c85eae1322 Fixed resource leak in mp_gcd. 2019-05-17 18:38:19 +02:00
Martin Kinčl
797dae9d74 Fixed use of uninitialized value in wc_ecc_sig_to_rs. 2019-05-17 18:04:39 +02:00
Sean Parkinson
1ce8e227d2 Use TLS v1.3 PSK callback in extension allow for one call in client
New compile time option WOLFSSL_PSK_ONE_ID. Indicates one identity
available. No need for client to call callback when generating binder -
already cached.
2019-05-17 08:01:40 +10:00
John Safranek
245db5d5ce Expand Sniffer Logging
1. Moved the CopySessionInfo function to a better location for the additions.
2. Added accessors for a callback and application context data.
3. Added a callback that is called from ProcessClientKeyExchange when everything is known about the start of the current session.
4. Added the private key size and the server name indication to the SSLInfo record.
2019-05-16 14:09:20 -07:00
John Safranek
1781a9fd76 Sniffer Logging
1. Capture the SNI in the SSLInfo.
2. Save the private key length and capture it in the SSLInfo.
2019-05-16 10:57:45 -07:00
Martin Kinčl
27a9080ac3 Removed dead code from _DhSetKey. 2019-05-16 16:58:41 +02:00
Martin Kinčl
cae4d400b9 Removed dead code from wolfSSL_d2i_X509_fp_ex. 2019-05-16 16:54:40 +02:00
Martin Kinčl
6ab24a2ca3 Fixed unintentional integer overflow in SetValidity. 2019-05-16 16:45:10 +02:00
Martin Kinčl
3b544b8584 Fixed use of uninitialized value in wc_BufferKeyEncrypt. 2019-05-16 16:41:31 +02:00
Martin Kinčl
7a9d3db514 Fixed use of uninitialized value in wc_BufferKeyDecrypt. 2019-05-16 16:37:31 +02:00
Martin Kinčl
6c713e4b88 Fixed use of uninitialized values in wc_DhGenerateParams. 2019-05-16 16:31:12 +02:00
David Garske
fd50248139 Fix for static RSA cipher suite (AES128-GCM-SHA256) with PK callbacks and no private key set. ZD 5092 2019-05-15 19:35:30 -07:00
David Garske
651087ab5a Merge pull request #2241 from ejohnstown/sniffer
Sniffer Update
2019-05-15 18:52:44 -07:00
David Garske
7a671eb70b Merge pull request #2243 from JacobBarthelmeh/Windows
custom ECC curves on Windows
2019-05-15 18:51:01 -07:00
JacobBarthelmeh
aca46f42fb Merge pull request #2242 from ejohnstown/micrium
Micrium Updates
2019-05-15 15:43:37 -06:00
Jacob Barthelmeh
b2a5516c63 custom ECC curves on Windows 2019-05-15 11:31:26 -06:00
Jacob Barthelmeh
88bf5d9676 add sanity check on buffer index and regression tests
macro guards on use case and adjustment for memory size

gcc-8 warning fix

adjustement to default memory bucket sizes
2019-05-14 15:55:24 -06:00
John Safranek
3b0a7e679a Add an option for __inline w.r.t. using a GHC compiler. 2019-05-14 13:44:33 -07:00
John Safranek
5b658ebff5 Renamed #sslpro as #error. 2019-05-14 13:44:33 -07:00
John Safranek
0cdaf43a14 Rename the macro "STATIC" as "WC_STATIC" to prevent collisions. 2019-05-14 13:44:33 -07:00
John Safranek
a8b469eb7f Sniffer
1. Refactor `ProcessClientKeyExchange()` so it can be expanded to handle ECC keys for ECDH support.
2. Add support to the sniffer for ECDH based cipher suites.
2019-05-14 13:33:52 -07:00
David Garske
10dde24363 Added support for SHOW_CERTS with OPENSSL_EXTRA_X509_SMALL for embedded debugging of certs. Minor build warning fixes with OPENSSL_EXTRA and STM32_HASH on IAR. 2019-05-14 09:24:59 -07:00
Jacob Barthelmeh
5aa5f350ba add sanity check on length of PSK identity 2019-05-13 17:16:10 -06:00
John Safranek
9d4d877919 Sniffer
1. Added the null-cipher to the list of supported bulk ciphers.
2019-05-13 11:29:14 -07:00
David Garske
f923409f1f Merge pull request #2235 from kaleb-himes/ZD-5116
Check appropriate flag for private vs public - Thanks to: E.M.
2019-05-13 10:29:48 -07:00
toddouska
dbeb5d702f Merge pull request #2231 from JacobBarthelmeh/Fuzzer
sanity check on buffer size
2019-05-10 16:46:38 -07:00
Juliusz Sosinowicz
27e243085d Merge remote-tracking branch 'wolfSSL/master' 2019-05-10 13:04:18 +02:00
Tesfa Mael
bf9f912b29 send handshake failure alert to a server 2019-05-09 17:01:36 -07:00
kaleb-himes
79bf578fd3 Check appropriate flag for private vs public - Thanks to: E.M. 2019-05-09 17:05:34 -06:00
JacobBarthelmeh
e43e03c30a Merge pull request #2226 from tmael/defectEVP
Verify input parameters of EVP_CipherFinal
2019-05-09 14:35:16 -06:00
Tesfa Mael
1605ab86d2 Verify input arguments and handle incorrect length of a final block 2019-05-09 08:32:52 -07:00
Sean Parkinson
34dc41fe75 Merge pull request #2229 from JacobBarthelmeh/Testing
free any existing ke before updating
2019-05-09 11:48:59 +10:00
Sean Parkinson
4e2e207e67 Add ARM32 asm code for X25519 and Ed25519
Improvements to performance of ARM64 code for X25519 and Ed25519
2019-05-09 09:23:58 +10:00
Jacob Barthelmeh
9205ee70f4 add null check on pointer before passing to XFREE 2019-05-08 16:04:20 -06:00
Jacob Barthelmeh
94d9ce1dfa sanity check on buffer size 2019-05-08 09:33:35 -06:00
toddouska
ff5bf7aea1 Merge pull request #2230 from dgarske/bench_threads
Added benchmarking `-thread <num>` argument support
2019-05-07 11:21:29 -07:00
toddouska
dcd6e02de9 Merge pull request #2228 from JacobBarthelmeh/Fuzzer
sanity check on buffer size before copy
2019-05-07 11:20:35 -07:00
toddouska
a36296a959 Merge pull request #2227 from dgarske/eccsigsz
Fix issue with ECC signature size leaking memory with normal math
2019-05-07 11:17:12 -07:00
Tesfa Mael
ade8f780a9 simplify to not expect null terminated strings 2019-05-07 11:11:41 -07:00
David Garske
891a645eaa Added benchmarking -thread <num> argument support for asynchronous crypto to allow run-time selection of thread count. ZD 4903. 2019-05-07 07:07:56 -07:00
Jacob Barthelmeh
a130ce2eed free any existing ke before updating 2019-05-06 15:51:42 -06:00
Jacob Barthelmeh
b1442633dd sanity check on buffer size before copy 2019-05-06 15:36:58 -06:00
David Garske
3c1569dff7 Fix for issue with new wc_ecc_get_curve_order_bit_count function not free'ing memory when used with normal math. Started in https://github.com/wolfSSL/wolfssl/pull/2201 2019-05-06 11:41:50 -07:00
toddouska
683646e452 Merge pull request #2208 from SparkiDev/curve25519_arm
Curve25519 ARM64 assembly
2019-05-03 11:14:35 -07:00
toddouska
08531a0f31 Merge pull request #2225 from dgarske/unicode
Remove leading unicode UTF-8 BOM characters
2019-05-03 11:12:06 -07:00
Tesfa Mael
3e7a6054a9 Use the macro instead of sizeof() 2019-05-02 14:13:48 -07:00
Tesfa Mael
06eba2c1e2 Removed a redundant check 2019-05-02 13:58:55 -07:00
David Garske
1a76f0cd26 Remove leading unicode UTF-8[a] BOM characters (EF BB BF). Searched through repo and atmel.c was only one. 2019-05-02 13:21:43 -07:00
John Safranek
78c6ad4d84 Merge pull request #2217 from tmael/maintenanceOcspResponse
Fix for an OCSP Response signed by issuer
2019-05-02 10:14:01 -07:00
toddouska
0dd3305f06 Merge pull request #2221 from SparkiDev/rfc8032
Support Ed25519ctx and Ed25519ph sign/verify algorithms
2019-05-01 15:45:03 -07:00
toddouska
5e343b8e7e Merge pull request #2201 from dgarske/siglen
Improvements to the maximum ECC signature calculations
2019-05-01 15:42:12 -07:00
toddouska
814c5776fd Merge pull request #2051 from dgarske/build_fixups
Fixes for various build issues
2019-05-01 15:41:14 -07:00
Sean Parkinson
b25177ca6c Include new ARMv8 curve25519 C file in distribution 2019-05-01 13:23:06 +10:00
Sean Parkinson
dc98832757 Add more tests for Ed25519ctx and Ed25519ph 2019-05-01 09:24:08 +10:00
toddouska
dc313ccf6e Merge pull request #2222 from dgarske/win_dir
Fix for read directory functions with Windows
2019-04-30 15:19:34 -07:00
Kaleb Himes
e00ba1c66a Merge pull request #2090 from vaintroub/fix_clang_cl
Disable MP_64BIT when compiling with clang-cl on Windows.
2019-04-30 13:36:39 -06:00
Chris Conlon
7cdda4d595 Merge pull request #2218 from abrahamsonn/iar
IAR-EWARM warning removal/formatting
2019-04-30 11:55:29 -07:00
David Garske
86101468fc Fixes for know wolfSSL build issues in the following cases:
* Fixes for building wolfSSL from GitHub sources download, where .git does exist. The autogen.sh still needs to "touch" files for the build to work.
* Fix for FIPS case where `wc_RsaSetRNG` is not available.
* Added new `./configure --enable-usersettings` option to not populate the Makefile with build options and instead define `WOLFSSL_USER_SETTINGS` and expect a user provided `user_settings.h` file.
* Fix for `HAVE___UINT128_T` to match config.h generated value to eliminate warning.
2019-04-30 11:45:48 -07:00
David Garske
443fef6a6a Further optimization of the ECC signature size calculation. 2019-04-30 08:50:19 -07:00
Sean Parkinson
9d736898cc Support Ed25519 sign/verify algorithms ctx and ph 2019-04-30 16:57:20 +10:00
David Garske
8aacd7b802 Fix for read directory functions with Windows (wc_ReadDirFirst and wc_ReadDirNext). Fix to use bit-mask check instead of equality. 2019-04-29 20:47:52 -07:00
abrahamsonn
b68253c180 Merge branch 'iar' of https://github.com/abrahamsonn/wolfssl into iar 2019-04-26 15:41:27 -06:00
abrahamsonn
ef29aa94ea Added build option checks to tls.c and tls13.c
Set tls.c and tls13.c to abort if the library is built with TLS 1.3 and not
HAVE_TLS_EXTENSIONS
2019-04-26 15:32:38 -06:00
abrahamsonn
ea797fd98e Building with just bare TLS 1.3 settings
will produce the error that the wolfSSL struct doesn't have extensions.
2019-04-26 14:08:20 -06:00
abrahamsonn
bbb72946b7 initialized var. 2019-04-26 11:35:50 -06:00
abrahamsonn
1830a0a74c Removed trailing whitespaces 2019-04-25 15:50:02 -06:00
Tesfa Mael
45703a8d72 handle OCSP verified certificate which is already loaded as CA 2019-04-25 10:55:12 -07:00
Chris Conlon
fdabe614f8 Merge pull request #2215 from miyazakh/Renesas_IDE
Clean up user_settings for CS+
2019-04-24 15:55:01 -07:00
Tesfa Mael
dfde631cb2 Free key at the end of the test 2019-04-24 11:49:53 -07:00
toddouska
12a7c32530 Merge pull request #2170 from tmael/nRF52840CryptoCell
Initial CryptoCell-310 support on nRF52840
2019-04-24 11:09:46 -07:00
toddouska
547c09e1d7 Merge pull request #2210 from JacobBarthelmeh/Compatibility-Layer-Part2
JSSE additions
2019-04-24 11:04:05 -07:00
toddouska
a87552b37f Merge pull request #2213 from JacobBarthelmeh/HardwareAcc
add macro guards
2019-04-24 10:59:02 -07:00
Tesfa Mael
edef75c70f Wrapped new unit test API with FIPS macros 2019-04-24 10:02:20 -07:00
Tesfa Mael
6b51f2d5b2 Added unit test for wc_ecc_get_curve_id_from_dp_params 2019-04-23 16:45:52 -07:00
Jacob Barthelmeh
2a6ab9549b add macro guards 2019-04-23 13:51:58 -06:00
Jacob Barthelmeh
3e24212780 add sanity check on buffer size when copying public key 2019-04-23 13:42:49 -06:00
Tesfa Mael
5d2f34aa6d Addressed review comments 2019-04-23 10:04:41 -07:00
David Garske
34c1d5cba0 Cleanups and fixes for CryptoCell port:
* Protection for .c includes.
* Improved make pub memory issue reporting.
* README.md updates.
* Cleanup of user_settings.h.
2019-04-23 10:04:41 -07:00
David Garske
6c65550eab Added CryptoCell-310 support
- SHA-256
- AES CBC
- CryptoCell 310 RNG
- RSA sign/verify and RSA key gen
- RSA encrypt/decrypt, decrypt inline
- ECC sign/verify/shared secret
- ECC key import/export and key gen pairs
- Hardware RNG and RTC of nRF52840 for benchmark timing source
- readme doc
2019-04-23 10:04:41 -07:00
Hideki Miyazaki
90ce5c04dc Clean up user_settings for CS+ 2019-04-23 13:44:05 +09:00
Tesfa Mael
f8c9285b92 Added a WOLFSSL_CIPHER_LIST_MAX_SIZE macro 2019-04-22 16:30:38 -07:00
Tesfa Mael
393ca1b30c Increased test suite ciphers buffer size (ticket #5000))
Enhancement to support ECC domain param HEX string or unsigned bin comparison (ticket #5035)
2019-04-22 10:30:05 -07:00
Jacob Barthelmeh
de299848c1 initialize pubkey size to 0 2019-04-22 10:01:17 -06:00
Jacob Barthelmeh
82796d4b4c remove pubKeyX509 from WOLFSSL_X509 structure 2019-04-19 15:15:02 -06:00
Jacob Barthelmeh
29101a29c9 free key in test case, initialize variables fix, macro guard on iana use 2019-04-19 09:47:15 -06:00
Jacob Barthelmeh
ec2849b885 macro guard on EncodePolicyOID use 2019-04-18 14:56:24 -06:00
Jacob Barthelmeh
efc96e40d1 add test cases 2019-04-18 10:41:51 -06:00
toddouska
378f5c0d4b Merge pull request #2204 from dgarske/server_fixups
Improvements to TLS write handling in error cases
2019-04-18 09:21:27 -07:00
Jacob Barthelmeh
b291b51988 adjust get pubkey from X509 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
e1537b2a56 add case CRL_DIST_OID and fix key usage check 2019-04-18 09:31:01 -06:00
Chris Conlon
e4555b5bf5 add wolfTLSv1_3_method() 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
abced6c365 place tls 1.3 suites at beginning of list and alter parse on set cipher list 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
b787465b42 adjust TLS 1.3 capable check 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
083183e3b1 add get cipher iana list and parse iana list 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
db1fabbdd4 add WOLFSSL set IO callbacks 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
6976219b05 add x509 TBS getter function 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
7da46501cc add certgen and certext to jni, add get timeout function 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
788443d3cf set initial buffer size 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
494e469dd2 implement wolfSSL_OBJ_txt2nid for OIDs 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
72f3329faa add wolfSSL_X509_verify function 2019-04-18 09:31:01 -06:00
Jacob Barthelmeh
bf3d876e6a getter function for X509 public key 2019-04-18 09:31:01 -06:00
Sean Parkinson
0d3541594f Curve25519 ARM64 assembly
Also in a C file but use the assembly code file if possible.
2019-04-18 14:41:57 +10:00
Chris Conlon
2cf264a9d5 Merge pull request #2207 from ejohnstown/evp-init-fix
EVP Init Fix
2019-04-17 17:16:42 -07:00
Chris Conlon
3f8e0a67e6 Merge pull request #2206 from miyazakh/Renesas_IDE_CSPlus
Updated Renesas example projects as the latest version of sw use
2019-04-17 17:15:31 -07:00
John Safranek
3bf01072d8 EVP Init Fix
When calling wolfSSL_EVP_DigestInit() with an unsupported string, the
macType should be set to NONE, rather than ignored. In a particular
build combination, functions using that EVP could false the type because
of memory garbage. Just set it in the else case.
2019-04-17 14:04:00 -07:00
Hideki Miyazaki
1ab5a022c6 updated as the latest version of sw use 2019-04-17 16:30:11 +09:00
David Garske
5bfc49f63f Changed ECC_MAX_PAD_SZ to be overridable macro for rare case where user might require additional padding. 2019-04-15 14:56:04 -07:00
David Garske
4ee4cb2068 Improved readability for ECC signature max size calculations. 2019-04-15 11:08:08 -07:00
toddouska
013e4429da Merge pull request #2202 from SparkiDev/curve25519_asm_file
Curve25519 converted from inline assembly to asm only
2019-04-12 16:31:08 -07:00
toddouska
3c63f70cde Merge pull request #2203 from dgarske/atmel_typo
Fix for typo in atmel PK callbacks
2019-04-12 15:00:49 -07:00
David Garske
bd618970c1 Fixed API unit test for wc_ecc_sig_size to allow smaller result. 2019-04-12 12:36:20 -07:00
David Garske
68390b1ba3 Improvement to wolfSSL_write to not allow for VERIFY_MAC_ERROR or DECRYPT_ERROR errors. This resolves possible end user application implentation issue where a wolfSSL_read failure isn't handled and a wolfSSL_write is done anyways. 2019-04-12 11:29:28 -07:00
David Garske
364bf50a94 Fixed example server to not try and write on failure. 2019-04-11 11:30:41 -07:00
David Garske
02500365bf Revert additional atmel.h changes for opaque types in PR #2199. 2019-04-11 06:15:39 -07:00
David Garske
1d023b344d Fix for typo in atmel PK callbacks from PR #2199. 2019-04-11 06:02:37 -07:00
Sean Parkinson
e5bf2ed1d1 Curve25519 converted from inline assembly to asm only
Fixed large values (top bit set) in tables to be negative as the type is
signed.
Put C++ protection around function prototypes in fe_operations.h.
2019-04-11 16:17:48 +10:00
David Garske
ae9ef3998c Enable the TFM speedups when used with --enable-ecccustcurves=all and fastmath and x86. 2019-04-10 21:06:17 -07:00
David Garske
1fffe4a463 Improvements to the maximum ECC signature claculations. The wc_ecc_sig_size function provides actual max based on curve order. The wc_ecc_sig_size_calc has also been adjusted to provide a more accurate maximum size. 2019-04-10 21:05:46 -07:00
toddouska
b6fcbe8436 Merge pull request #2199 from dgarske/contiki_16bit
Fixes for PK callbacks on 16-bit and ATECC
2019-04-09 14:56:26 -07:00
toddouska
35654530ba Merge pull request #2198 from SparkiDev/sp_cortex4_iar
Cortex-M code changed to support IAR compiler
2019-04-09 14:41:00 -07:00
toddouska
173016ef47 Merge pull request #2196 from dgarske/stm32_aes_gcm
Improvement for STM32 GCM performance
2019-04-09 14:31:27 -07:00
toddouska
13909fc407 Merge pull request #2190 from dgarske/telit
Port for Telit IoT AppZone SDK
2019-04-09 14:26:59 -07:00
David Garske
a90001581e Fixes for PK callbacks and ATECC. Fixes for PK callbacks on 16-bit system where unsigned int* is used. Fix for ATECC PK callback functions. Fix for atmel_ecc_create_pms to free the used slot. 2019-04-09 08:15:01 -07:00
Sean Parkinson
333b666f6b Fixups updated and IAR defines 2019-04-09 10:59:24 +10:00
Chris Conlon
9b62141580 Merge pull request #2197 from abrahamsonn/doxygen-update
Updated doxygen script
2019-04-08 15:24:02 -07:00
David Garske
2c5f268f16 Port for Telit IoT AppZone SDK
* Added new `WOLFSSL_TELIT_M2MB` build option to enable support for RNG, Time, Mutex, FileSystem and Directory.
* Added `XTIME_MS` macro to simplify the tls13.c layer time requirement.
* Cleanup of the wolfCrypt benchmark and test printf remapping.
* Added wolfCrypt optional memory test enabled with `COMPLEX_MEM_TEST`.
* Added wolfCrypt test / benchmark feature for allowing "sleep" between long operations using `TEST_SLEEP()`.
* Fix for extern with `sp_ModExp_2048` when building with `--cpp` option.
2019-04-08 06:43:25 -07:00
Sean Parkinson
4f75d4eea2 Cortex-M code changed to support IAR compiler 2019-04-08 09:03:50 +10:00
John Safranek
c78b0c3a40 Merge pull request #2194 from dgarske/testcerts
Fix for test certs script
2019-04-05 15:13:39 -07:00
David Garske
bbf8ed408d Fix for LowResTimer function ptoto not matching for 16-bit system. 2019-04-05 14:56:02 -07:00
David Garske
ce43044426 Improvement for STM32 GCM performance. ZD 4712. 2019-04-05 14:06:23 -07:00
David Garske
5c8cf9ecd2 Merge pull request #2195 from ejohnstown/vswarn
Fix VS Warning
2019-04-05 13:40:24 -07:00
abrahamsonn
460556ff45 Updated doxygen script
Changed check_api.sh grep call to be more friendly across machines, prior call
wasn't properly reporting API mismatch on some machines
2019-04-05 13:46:35 -06:00
John Safranek
6a964123a1 Add a pragma to ignore a particular warning when compiling the fast math file for Windows. 2019-04-05 10:08:41 -07:00
David Garske
f5f1fec840 Merge pull request #2193 from SparkiDev/hash_sha3
SHA-3 support in Hash
2019-04-05 09:04:33 -07:00
David Garske
2ad80df1c7 Fix for ./certs/gen-testcerts.sh sometimes reporting: "start date is invalid, it should be YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ". 2019-04-05 09:01:44 -07:00
David Garske
56d7766ba3 Merge pull request #2192 from SparkiDev/small_server
Fixes for small server build without client code
2019-04-05 06:18:57 -07:00
Sean Parkinson
cc5ba81245 SHA-3 support in Hash 2019-04-05 14:52:23 +10:00
Sean Parkinson
ad857c40d1 Fixes for small server build without client code 2019-04-05 09:38:14 +10:00
Chris Conlon
9c3cb2fbba Merge pull request #2176 from miyazakh/no_signature_algo
Add macro definition to disable signature algorithms extension
2019-04-04 15:35:00 -07:00
David Garske
db83e6dd31 Merge pull request #2191 from ejohnstown/aesctr-sameio
AES-CTR In Place
2019-04-04 11:14:06 -07:00
Hideki Miyazaki
f81446bf69 Fixed compiling error while enabling opensslextra 2019-04-04 10:04:09 +09:00
John Safranek
a59488b299 AES-CTR In Place
Added a temp AES block in case in and out are the same pointer.
2019-04-03 15:02:00 -07:00
toddouska
b224f6fac9 Merge pull request #2181 from JacobBarthelmeh/Compatibility-Layer
update wolfSSL_i2d_RSAPrivateKey function
2019-04-03 09:16:10 -07:00
John Safranek
e13c903ad2 Merge pull request #2189 from dgarske/various_fixes
Various minor fixes
2019-04-02 09:21:31 -07:00
David Garske
51251bc421 Fix for ssl23.h include for openssl compat with cyassl. 2019-04-01 11:10:29 -07:00
John Safranek
e4059a65b9 Merge pull request #2177 from dgarske/async_rel_v4
wolfSSL Asynchronous release v4 fixes
2019-04-01 11:07:12 -07:00
David Garske
c7b5f772aa Add missing cert to include.am for make dist, which is required for ./gencertbuf.pl. 2019-04-01 10:09:34 -07:00
David Garske
e8afb6ea51 Merge pull request #2174 from embhorn/zd4879
Fixes for static analysis issues
2019-04-01 08:48:40 -07:00
David Garske
26cbfcdee0 Fix for AES GCM decrypt test with Async. 2019-04-01 05:58:44 -07:00
David Garske
9ce32e3808 Merge pull request #2184 from ejohnstown/ecc-fix
Fix Clang Static-Analysis Finding
2019-04-01 05:46:22 -07:00
David Garske
9ad48067f6 Merge pull request #2183 from miyazakh/sess_reuse_unitest
Add unit test for session resumption re-using WOLFSSL obj
2019-04-01 05:45:08 -07:00
Hideki Miyazaki
817eaa6da4 protect compiling while enabling both WOLFSSL_TLS13 and WOLFSSL_NO_SIGALG 2019-03-30 10:41:57 +09:00
Hideki Miyazaki
6c0989ba4d no_signature_algo 2019-03-30 10:41:40 +09:00
John Safranek
6d1a11eefb Clang static analysis found a potential issue when checking an ECC key
when the curve cache is enabled. There was a chance it could dereference
NULL. Added some error checks to fix it.
2019-03-29 13:35:27 -07:00
Hideki Miyazaki
6968797848 fixed jenkins test failure 2019-03-30 01:35:35 +09:00
Hideki Miyazaki
1c22f14d1c added unit test for session resumption re-using WOLFSSL obj 2019-03-29 20:13:41 +09:00
David Garske
1906179a1b Fix for HAVE_ECC_CDH wolfCrypt test with async using the wrong size for x and y. With async the sizeof(sharedA) == 8 and it should be ECC_SHARED_SIZE. 2019-03-28 18:48:32 -07:00
David Garske
b0d65d2a3e Remove remnant debug -Map from --with-intelqa build option. 2019-03-28 17:52:08 -07:00
David Garske
7e9e50c03b Fix for Async TLS v1.3 wolfSSL_write with AES GCM offload. The args->idx was being incremented on the repeated call with BUILD_MSG_HASH state. 2019-03-28 17:52:08 -07:00
David Garske
5b21da4dc5 Fix for SHA-3 runtime detection for not supported in hardware using NOT_COMPILED_IN. 2019-03-28 17:52:08 -07:00
David Garske
d7c6683d9b Fix for latest QAT v1.7 detection. The qat library requires usdm_drv. 2019-03-28 17:52:08 -07:00
Jacob Barthelmeh
b599dc2b9d update wolfSSL_i2d_RSAPrivateKey function 2019-03-28 14:15:57 -06:00
John Safranek
9ea2dbea95 Merge pull request #2172 from dgarske/atecc
Fixes for ATECC support
2019-03-28 10:36:54 -07:00
Eric Blankenhorn
cffe7eccde Fixes for high impact issues 2019-03-28 12:08:19 -05:00
David Garske
b1c791dbd9 Merge pull request #2180 from miyazakh/wolfsslclean_fix
Initialized sendVerify when calling wolfSSL_clear
2019-03-27 23:32:41 -07:00
JacobBarthelmeh
8c6316eb9c Merge pull request #2179 from kojo1/X509_STORE_CTX
X509_STORE_CTX_free compatibility
2019-03-27 17:17:26 -06:00
David Garske
15c7463150 Merge pull request #2166 from SparkiDev/rsa_vfy_only
Fixes for RSA verify only builds
2019-03-27 12:01:14 -07:00
John Safranek
ed5feaf7ae Merge pull request #2173 from dgarske/custcurves
Added `--enable-ecccustcurves=all` option.
2019-03-27 10:19:08 -07:00
Hideki Miyazaki
05987ec717 Initialized sendVerify when reseting WOLFSSL object 2019-03-27 10:18:43 +09:00
Sean Parkinson
b40e0888ad Fixes for different build configurations 2019-03-26 08:06:19 +10:00
Sean Parkinson
b24e122a0d Fixes for RSA verify only builds 2019-03-26 08:06:19 +10:00
John Safranek
7aa159ca6d Merge pull request #2157 from kojo1/ocsp_staple
Expose CheckResponse as wolfSSL_CertManagerCheckOCSP_Staple
2019-03-25 13:48:29 -07:00
John Safranek
f493ff859c Merge pull request #2178 from JacobBarthelmeh/Testing
add guard on test case for pkcs7 with no aes
2019-03-25 09:42:54 -07:00
JacobBarthelmeh
6b325929e5 Merge pull request #2175 from kojo1/BN_init
add BN_init
2019-03-25 09:04:36 -06:00
Takashi Kojo
3e42c6edcd remove sk_X509_free for compatibility 2019-03-24 16:57:08 +09:00
Takashi Kojo
6c9e64129d move #include "ocsp.h" after #define WOLF_STACK_OF(x) 2019-03-23 08:03:45 +09:00
Chris Conlon
d9e6b8a62d Merge pull request #2168 from aaronjense/master
Remove NULL check before pub and priv have a chance to be set
2019-03-22 16:34:34 -06:00
Jacob Barthelmeh
3d747f7c87 add guard on test case for pkcs7 with no aes 2019-03-22 15:56:05 -06:00
Takashi Kojo
744c247e92 change CheckOCSP_staple to OCSPResponse, move to ssl.h 2019-03-22 13:56:32 +09:00
Takashi Kojo
441fb60679 fix cr 2019-03-22 09:40:55 +09:00
David Garske
50a854c4cf Added --enable-ecccustcurves=all option. 2019-03-21 13:01:04 -07:00
David Garske
f7a7a97f8c Fix to include the atmel.h with make install when using --with-cryptoauthlib. 2019-03-21 09:13:39 -07:00
David Garske
f66aa60385 Fix for build warning with x/y always true when not building with ALT_ECC_SIZE. Fix for build error with undefined wc_ecc_sign_hash_ex when building ATECC and WOLFSSL_PUBLIC_MP. 2019-03-21 09:13:39 -07:00
David Garske
e07e41d0aa Fix for building ATECC without ATCAPRINTF defined. 2019-03-21 09:13:39 -07:00
JacobBarthelmeh
21f2beca9f Merge pull request #2165 from ejohnstown/version-update
Version Update v4.0.0
2019-03-21 09:20:36 -06:00
John Safranek
5ab6d58504 Release Fixes
1. Pick up a few new files into the distrubution that were missed.
2019-03-20 15:01:54 -07:00
John Safranek
1c237af5b3 Release Fixes
1. Update the date in README and ChangeLog to today.
2019-03-20 11:08:10 -07:00
John Safranek
fbfd7a4dea Release Fixes
1. Rearrange the deprecation cryptodev option so it doesn't overwrite the cryptocb option, and so it doesn't break its case in the build-test.
2. Fix the content length in the sample HTTP used by the example server.
3. Disable OCSP stapling in the example server if RSA is disabled.
4. Fix a variable in asn.c that was declared in the middle of its scope.
5. Retag the xmalloc, xrealloc, xfree functions used in the memory test as WOLFSSL_API like all the other allocators, instead of extern.
2019-03-20 11:01:24 -07:00
John Safranek
22b2ae7358 Release Fixes
1. Fix for the enable-afalg option from Jacob Barthelmeh.
2. Client fix for enable-sp+enable-sp-math option from David Garske.
3. Added a couple of typecasts to some mallocs.
4. Modified the option guard for the mask member of Options for the webserver build.
5. Added some more padding to the opaque structures used for SHA_CTX and AES_KEY.
6. Added WOLFSSL_API to the stack logging functions.
2019-03-19 13:55:17 -07:00
John Safranek
fb3ca1b53e Release Fixes
1. The RNG internal state could be a memory leak if the seed generate
test fails. If the seed test fails, you have bigger problems.
2019-03-18 14:30:51 -07:00
Aaron Jense
fed2bc5f72 Remove NULL check before pub and priv have a chance to be set 2019-03-18 13:18:04 -06:00
John Safranek
eebf07b67c Release Fixes
1. Fix two potentially unitialized variables, discovered on a VS build.
2019-03-18 10:14:16 -07:00
Takashi Kojo
384b240ea2 minor fix in test_wolfSSL_BN(), api.c 2019-03-17 13:37:17 +09:00
Takashi Kojo
6a3eccd344 add BN_init, working with tfm, only. 2019-03-17 13:28:04 +09:00
John Safranek
1ac74b0061 Release Fixes
1. Added some typecasting for g++ v8 permissive pointer use errors with void*.
2019-03-15 16:26:11 -07:00
John Safranek
ba8b104d7b Updates for v4.0.0
Update the RPM spec.in file.
2019-03-15 14:03:45 -07:00
John Safranek
246c444b93 Updates for v4.0.0
Update the copyright dates on all the source files to the current year.
2019-03-15 10:37:36 -07:00
John Safranek
60d3dec246 Updates for v4.0.0
Add links to the doc README for the wolfSSL and wolfCrypt API references.
2019-03-15 09:43:29 -07:00
John Safranek
d42f3bbdb6 Updates for v4.0.0
Update the DLL version resource.
2019-03-15 09:42:45 -07:00
John Safranek
ce4b54944b Updates for v4.0.0
Updated the README files and ChangeLog.
2019-03-15 09:42:45 -07:00
John Safranek
2817f6ed1a Updates for v4.0.0
Bump the version number in configure.ac and updated the version.h. The
library version wasn't updated between v3.15.7-stable and the snapshot
v3.15.8, so I bumped it for this release.
2019-03-15 09:42:45 -07:00
John Safranek
0ef4b7e933 Merge pull request #2164 from JacobBarthelmeh/PKCS7
adjust location of where PKCS7 content is saved
2019-03-15 09:40:17 -07:00
Jacob Barthelmeh
45b6a3b67d adjust location of where PKCS7 content is saved 2019-03-14 16:48:08 -06:00
David Garske
6ff2039b1f Merge pull request #2163 from ejohnstown/config-fixes
Configuration Fixes
2019-03-14 15:21:41 -07:00
John Safranek
b1ea7c035f Merge pull request #2118 from kojo1/ocsp_proxy
OCSP, CRL request with "Cache-Control: no-cache" for proxy
2019-03-14 13:26:03 -07:00
John Safranek
172fd6d233 Merge pull request #2148 from cconlon/pkcs7nullparam
add NULL param in CMS KARI OriginatorPublicKey parameters
2019-03-14 13:17:34 -07:00
John Safranek
8a1ad3fcff Merge pull request #2160 from dgarske/fix_async
Fixes for asynchronous crypto and TLS
2019-03-14 11:56:46 -07:00
John Safranek
4b56af67a2 Merge pull request #2144 from embhorn/zd4871
Use snprintf with Win build
2019-03-14 11:42:09 -07:00
John Safranek
ac47e889f7 Merge pull request #2162 from JacobBarthelmeh/PKCS7
handle pkcs7 bundle with signed envelope and no certs list
2019-03-14 10:51:46 -07:00
John Safranek
3e3f746f3b Configure Fixes
When enable-all and disable-rsa is configured, some of the tests needed
for all don't work because they only use RSA keys or certificates.
Disabled those test cases in that build combination.
2019-03-14 10:37:40 -07:00
Jacob Barthelmeh
e08b36ea9c handle pkcs7 bundle with signed envelope and no certs list 2019-03-14 09:51:58 -06:00
David Garske
6361ec2f10 Fix for AES GCM and CCM ex to NOT increment counter or update IV if failure or async response code. Resolves TLS v1.3 with async simulator. 2019-03-13 23:32:53 -07:00
David Garske
397c2a4f8a Fix for SetNameFromCert not used when building with --disable-filesystem. 2019-03-13 23:03:00 -07:00
David Garske
d19c37de2e Fix for example client arg -4 not working. 2019-03-13 22:59:50 -07:00
David Garske
5a2cd5fc90 Fixes to resolve async crash (using stack pointer after return) due to 16-bit fixes in PR #2133 (commit 700eca4566). Revert to using the "unsigned int" length directly for word32 but cast it. 2019-03-13 22:59:00 -07:00
David Garske
3feef07c93 Merge pull request #2156 from kaleb-himes/ZD4888-XCODE-UPDATE
Add rules to copy wolfio.h, wolfmath.h and mem_track.h as well as fix…
2019-03-13 18:05:04 -07:00
John Safranek
6b89b1f97a Configure Fixes
One of the external sites contacted for the OCSP stapling test
increased the size of one of their intermediate certificates. The test
failed silently as the certificate was ignored. Increased the
FP_MAX_BITS so that the test can pass with the enable-all option. That
option was setting the FP_MAX_BITS for 3072-bit certificates, and the
site in question is using a 4096-bit certificate.
2019-03-13 17:56:45 -07:00
John Safranek
27ea9d9bce Configure Fixes
1. The combination enable-all and disable-rsa breaks some of the
testing. Added the NO_RSA guards as appropriate.
2. Disabled the OCSP stapling and CRL tests when RSA is disabled as they
use test certificates with RSA keys.
2019-03-13 17:54:33 -07:00
John Safranek
bca69488b2 Xcode Project Update
1. Disable the tls_bench() test in the Xcode iOS benchmark project. It isn't complete.
2019-03-13 15:11:51 -07:00
John Safranek
a42290dd57 Xcode Project Update
1. Removed redundant includes of files.
2. Moved all the files in the viewer into the appropriate directories.
3. Updated the copy rules so the missing include files are copied to the destination for all the three possible targets.
2019-03-13 15:11:38 -07:00
toddouska
2f4507e4f1 Merge pull request #2159 from JacobBarthelmeh/Testing
sanity check on padlen with pkcs7 decode
2019-03-13 12:58:49 -07:00
David Garske
508cda43a2 Fix for asynchronous build memory macros, which broke due to PR #2026. 2019-03-13 12:14:43 -07:00
toddouska
f54a7e50ce Merge pull request #2153 from ejohnstown/no-fips
No-FIPS/FIPS Build
2019-03-13 11:37:07 -07:00
toddouska
4c42630f2b Merge pull request #2158 from JacobBarthelmeh/PKCS7
PKCS7 BER decode enveloped content
2019-03-13 11:33:52 -07:00
David Garske
41bc83c5ce Merge pull request #2074 from kaleb-himes/HARMONYv3-ZD4785
Update support for entropy source with HARMONYv3
2019-03-13 09:36:01 -07:00
Jacob Barthelmeh
68c576e0d9 add macro guard around test case 2019-03-13 10:31:32 -06:00
Jacob Barthelmeh
06e5f8c39b sanity check on padlen with pkcs7 decode 2019-03-13 10:00:43 -06:00
Jacob Barthelmeh
effca6c081 add test case for BER encoded PKCS7 content decoding 2019-03-13 08:53:15 -06:00
Jacob Barthelmeh
e810551aab Fix to handle BER with PKCS7 enveloped decode 2019-03-13 08:46:15 -06:00
toddouska
0d48a4a1a7 Merge pull request #2133 from dgarske/fixes_16bit
Fixes for data types, cast warnings and shift operations when using 16-bit platform
2019-03-12 16:53:27 -07:00
toddouska
b4ba3d7ca6 Merge pull request #2136 from dgarske/asncapathlen
Fixes issue with CA path length for self signed root CA's
2019-03-12 14:11:15 -07:00
toddouska
28a1ff5d59 Merge pull request #2146 from dgarske/sigalgo_ecdh
ECDSA option to limit sig/algos to key size with `USE_ECDSA_KEYSZ_HASH_ALGO`
2019-03-12 14:08:10 -07:00
toddouska
696fe47de2 Merge pull request #2125 from embhorn/zd4297
Decoded cert cache feature
2019-03-12 14:02:47 -07:00
toddouska
70490a4db6 Merge pull request #1855 from ejohnstown/trust-ca
Trusted CA Key Indication Extension
2019-03-12 13:52:27 -07:00
John Safranek
7ac5f8fde1 Merge pull request #2147 from kaleb-himes/ZD4615-extAuthKeyIdNotSetInCAFix
Edge case fix for AKID not set in CA and two CAs with same issuer line
2019-03-12 11:59:10 -07:00
David Garske
03e0dd6ca3 Add back this path length check for self-signed CA as special case for the supplicant only. 2019-03-12 11:05:07 -07:00
kaleb-himes
764b783317 Add rules to copy wolfio.h, wolfmath.h and mem_track.h as well as fix up settings for clang and iPhone XR 2019-03-12 10:36:12 -06:00
David Garske
666e47faaa Merge pull request #2152 from ejohnstown/readme-fix
Fix Readme
2019-03-12 09:18:39 -07:00
Chris Conlon
4ea1a7e651 Merge pull request #2154 from miyazakh/fix_DhkeySz
Fixed compile error under ESP-IDF framework
2019-03-12 09:54:10 -06:00
Hideki Miyazaki
ad32ace0a1 Fixed build-error due to FFDHE_2048 definition 2019-03-12 18:32:13 +09:00
David Garske
7d1bb05c0c Fix return code for GetMacDigestSize. 2019-03-11 19:37:04 -07:00
David Garske
700eca4566 Fixes from peer review. Improved compatibility of API's. Clarification on integer.h mp_digit sizes. 2019-03-11 19:34:07 -07:00
John Safranek
f1af32b783 No-FIPS/FIPS Build
Update the fips-check script to create an archive with the current revision of the parts.
2019-03-11 17:13:02 -07:00
toddouska
57cdbffc2c Merge pull request #2149 from dgarske/cryptocb_ret
Refactor of the crypto callback return code and new API version marker
2019-03-11 16:54:53 -07:00
toddouska
554af3dcfa Merge pull request #2151 from JacobBarthelmeh/Testing
path include adjustment, rename internal OBJ function, and client pri…
2019-03-11 16:48:19 -07:00
toddouska
3710a0a6c8 Merge pull request #2135 from SparkiDev/ed25519_check_key
Implement check for Ed25519 private matching public
2019-03-11 16:18:43 -07:00
Eric Blankenhorn
2b59aefe80 Update from review 2019-03-11 18:14:37 -05:00
Eric Blankenhorn
8b6bd306f3 Update from review 2019-03-11 18:03:29 -05:00
toddouska
436a46a9f4 Merge pull request #2131 from dgarske/qat_v3.15.8
Fix for async wolfCrypt test with AES GCM.
2019-03-11 15:50:57 -07:00
toddouska
ab0beb354b Merge pull request #2129 from SparkiDev/sp_prime
Improve SP code and support prime check using SP in tfm.c
2019-03-11 13:53:57 -07:00
toddouska
b8035371f4 Merge pull request #2124 from mstaz/ocsp_date_nonce_check_fix
Ocsp date and nonce check fix
2019-03-11 13:29:08 -07:00
toddouska
c0ee01bbf6 Merge pull request #2123 from dgarske/stm32_gcm
Fixes for STM32 AES GCM
2019-03-11 12:53:27 -07:00
John Safranek
1eb46c697f 1. In the loop in TCA parse, when checking the list of IDs that the
server has keys for, change the polarity of the comparison. If the
current ID is in the list, set the response flag and break out of
the loop.
2019-03-11 12:42:13 -07:00
John Safranek
9bd40353c2 1. Rename the parameters cert and certSz on the function
wolfSSL_UseTrustedCA() to certId and certIdSz.
2. Add better parameter checking to wolfSSL_UseTrustedCA() based on the
ID type.
2019-03-11 12:42:13 -07:00
John Safranek
8a4e8067f6 1. In the trusted CA extension code, add guards for NO_SHA around the cases that use SHA-1.
2. Check the trusted CA id pointer for NULL before copying.
3. Updated the api test for the NO_SHA change.
4. Remove the TCA options member as redundant.
2019-03-11 12:42:13 -07:00
John Safranek
201c85478e Move the -5 option text into the localization array and add a Japanese translation. 2019-03-11 12:42:13 -07:00
John Safranek
a1ed8e7a67 Fix a fall-through bug in the server options parsing around a new
option.
2019-03-11 12:36:58 -07:00
John Safranek
2342ea15eb Remove the CTX versions of the UseTrustedCA functions. A session needs
to be able to set a flag in the extension and that isn't allowed in the
CTX extensions.
2019-03-11 12:36:58 -07:00
John Safranek
cb57a5f3ed Added a test case for TrustedCA to the unit test.conf file. 2019-03-11 12:36:58 -07:00
John Safranek
b7663a940e Trusted CA Key Indication Extension
Added an API for enabling the Trusted CA Key Indication extension from
RFC6066 section 6. If the server doesn't have a match for the client,
the client will abandon the session.
2019-03-11 12:35:12 -07:00
toddouska
6e1b05316d Merge pull request #2104 from ejohnstown/renegotiation-testing
Secure Renegotiation
2019-03-11 12:10:48 -07:00
toddouska
b3a1d6bff1 Merge pull request #2099 from miyazakh/Espressif_port_Phase2C
RSA primitive hw acceleration support on esp32
2019-03-11 12:04:26 -07:00
kaleb-himes
de21642db1 Update sanity check for set 2019-03-11 11:19:51 -06:00
John Safranek
616b75bfba Fix Readme
Fix typo where DTLS was labeled v1.3, not v1.2.
2019-03-11 09:41:37 -07:00
Jacob Barthelmeh
9c9279817b path include adjustment, rename internal OBJ function, and client print outs added 2019-03-11 09:57:04 -06:00
David Garske
3d9c660688 Refactor of the ECC crypto callback return code handling. 2019-03-11 08:28:45 -07:00
David Garske
68c04a95e0 Refactor of the crypto callback return code for cases when unavailable to use new error code CRYPTOCB_UNAVAILABLE. Retains support for original NOT_COMPILED_IN error code. Added new CRYPTO_CB_VER define for helping applications handle/detect changes to crypto callback interface (currently no way to determine changes at build-time between release cycles). 2019-03-08 16:50:45 -08:00
Kaleb Himes
1dcd6b92a0 Fix leak in wolfcrypt test app detected w/ WC_RSA_NO_PADDING set (#2145)
Fix leak in wolfCrypt test with `WC_RSA_NO_PADDING`
2019-03-08 14:13:38 -08:00
Takashi Kojo
ea13e0482a wolfIO_HttpBuildRequest_ex 2019-03-09 06:31:52 +09:00
toddouska
3be4682cda Merge pull request #2134 from dgarske/fixes_nightly
Fixes for minor nightly build errors
2019-03-08 10:15:46 -08:00
Chris Conlon
d8bec5e034 add NULL param in CMS KARI OriginatorPublicKey parameters 2019-03-08 09:13:22 -08:00
Eric Blankenhorn
d26a6b59a3 Wrapper for MSC < VS2015 2019-03-08 10:55:34 -06:00
kaleb-himes
413e3b36cb Edge case fix for AKID not set in CA and two CAs with same issuer line 2019-03-07 11:30:13 -07:00
Eric Blankenhorn
be83a54f22 Handle older MSC versions 2019-03-07 12:07:00 -06:00
David Garske
619cf89106 Enhancement for ECDSA with USE_ECDSA_KEYSZ_HASH_ALGO to not send sig/algo hash sizes larger than the ECC key size. 2019-03-07 08:56:35 -08:00
David Garske
0e962aa6e5 Merge pull request #2130 from jrblixt/feature-WICED6_1-serverChange
examples server HTTP update needed for WICED HTTP parser.
2019-03-06 16:46:36 -08:00
Eric Blankenhorn
934c1b7952 Use snprintf with Win build 2019-03-06 14:55:51 -06:00
Chris Conlon
d699b65a25 Merge pull request #2026 from kojo1/mdk-CMSISv2
MDK CMSIS RTOSv2
2019-03-06 09:36:49 -07:00
Sean Parkinson
d61684f210 Merge pull request #2142 from ejohnstown/typecast-add
Add Typecasts
2019-03-06 16:21:20 +10:00
Sean Parkinson
f64c165a8b Merge pull request #2141 from ejohnstown/win-build
windows build update for warnings
2019-03-06 16:15:21 +10:00
Sean Parkinson
b7deab9787 Merge pull request #2140 from JacobBarthelmeh/Testing
adjust comments on key type for function
2019-03-06 08:03:34 +10:00
Eric Blankenhorn
e897661402 Merge pull request #2139 from ejohnstown/ar-flags
AR flags configure update
2019-03-05 15:49:16 -06:00
John Safranek
e3ddfc42af Add Typecasts
Add some typecasts to the RSA constant time data copy so it doesn't
misbehave with some embedded compilers that do the integer promotion in
a different order than expected.
2019-03-05 13:36:23 -08:00
John Safranek
5e573b518a Fix a couple warnings from a windows build regarding uninitialized variables. 2019-03-05 09:55:18 -08:00
Jacob Barthelmeh
dc3b81f633 adjust comments on key type for function 2019-03-05 10:53:10 -07:00
John Safranek
42eacece82 AR flags configure update
In at least one environment the check for particular AR options was
failing due to a bash script bug. Deleted an extra pair of parenthesis
triggering an arithmetic statement when redundant grouping was desired.
2019-03-05 09:26:30 -08:00
Sean Parkinson
a364874b48 Implement check for Ed25519 private matching public
Add test SSL test that uses the Ed25519 private key only
2019-03-05 08:19:33 +10:00
David Garske
980970da86 Fixes issue with CA path length basic constraint checking for self signed root CA's. ZD 4863 2019-03-04 11:27:51 -08:00
David Garske
99b5188ee9 Fix for missing curve specs when using ATECC due to PR (https://github.com/wolfSSL/wolfssl/pull/2115). 2019-03-04 09:48:33 -08:00
Chris Conlon
da27a4da10 Merge pull request #2119 from jrblixt/feature-WICED-Studio-v6_1-PR02262019
Feature wiced studio v6 1 pr02262019
2019-03-04 17:45:42 +01:00
jrblixt
222f9f4f47 Adjust count. 2019-03-01 20:04:20 -07:00
David Garske
8569d14cb3 Fixes for minor nightly build errors. Missing wc_ecc_fp_free declaration and "Value stored to 'useSupCurve' is never read". 2019-03-01 16:12:08 -08:00
David Garske
621e1656b4 Fixes for data types, cast warnings and shift operations when using 16-bit platform. Added new --enable-16bit build option, which defines WC_16BIT_CPU. Fix build error when using WOLFSSL_LEANPSK and NO_WOLFSSL_MEMORY.
Tested using `avr-gcc` version 8.3.0 with: `./configure --host=avr --enable-16bit --disable-filesystem --enable-singlethreaded CFLAGS="-DWOLFSSL_GENSEED_FORTEST -DWOLFSSL_USER_CURRTIME -DWOLFSSL_USER_IO -DWOLFSSL_NO_SOCK -DNO_WRITEV -DUSER_TICKS" --enable-tls13 --enable-compkey --enable-certgen --enable-certext --enable-keygen --enable-session-ticket --enable-maxfragment`. Also with `--enable-fastmath`.
2019-03-01 15:54:08 -08:00
jrblixt
5f332fa29e review changes. 2019-03-01 14:06:27 -07:00
John Safranek
020b27bab2 wolfSSL_SecureResume() should be client only. Return an error if called
form the server.
2019-03-01 11:00:26 -08:00
David Garske
4f2d4420df Cleanups for hard coded 12 and 16 in AES GCM code. Allow STM32 GCM IV 12 thru 16. 2019-03-01 10:50:08 -08:00
David Garske
e87433e2b6 Fix for async wolfCrypt test with AES GCM. 2019-03-01 09:56:38 -08:00
Sean Parkinson
5083330b86 Improve SP code and support prime check using SP in tfm.c 2019-03-01 20:24:08 +10:00
Max
de869080be Added description for added ASN options. 2019-03-01 09:49:49 +01:00
David Garske
809c30a5b9 Merge pull request #2128 from SparkiDev/pkcs11_ecc_server_fix
PKCS #11 id RSA - TLS don't convert length a la ecc
2019-02-28 19:05:33 -08:00
David Garske
c45dade903 Merge pull request #2127 from SparkiDev/zephyr_fix_1
Fix spelling mistakes in text messages in Zephyr samples
2019-02-28 18:14:00 -08:00
Sean Parkinson
dc144df32a PKCS #11 id RSA - TLS don't convert length a la ecc 2019-03-01 10:23:45 +10:00
Hideki Miyazaki
cce06e8c50 Addressed to review comments 2019-03-01 08:59:03 +09:00
Hideki Miyazaki
ee17bd7470 Re-apply spelling error correction 2019-03-01 08:59:03 +09:00
Hideki Miyazaki
6372634eda Addressed to code review comments 2019-03-01 08:59:03 +09:00
Hideki Miyazaki
330bbb2f8b RSA primitive hw acceleration support 2019-03-01 08:59:03 +09:00
Eric Blankenhorn
e8c3e8dd63 Decoded cert cache feature 2019-02-28 16:59:19 -06:00
Sean Parkinson
e78125e8d6 Fix spelling mistakes in text messages in Zephyr samples 2019-03-01 08:43:20 +10:00
David Garske
b528997d30 Merge pull request #2103 from SparkiDev/pkcs11_hmac
PKCS #11 support for HMAC with MD5, SHA, SHA-2
2019-02-28 09:50:59 -08:00
Max
fd089b4b6b Changed define to configure all date checks in OCSP responses. 2019-02-28 10:49:58 +01:00
jrblixt
1f7f424075 Code review updates.. 2019-02-27 17:27:58 -07:00
Sean Parkinson
edf6318985 PKCS#11 casting fix for clang 2019-02-28 09:31:17 +10:00
Sean Parkinson
a382a979cc Merge pull request #2098 from kaleb-himes/ZD4793
Fix for single threaded case with double free on suites
2019-02-28 08:56:57 +10:00
toddouska
e2e3b835d6 Merge pull request #2100 from SparkiDev/tls13_vers
Support FFDHE in TLS 1.2 and below. Better TLS 1.3 version support.
2019-02-27 14:55:29 -08:00
toddouska
8f3f27065c Merge pull request #2114 from dgarske/qat_bench
Fixes and improvements for async / QuickAssist
2019-02-27 14:49:32 -08:00
toddouska
469898aeeb Merge pull request #2115 from dgarske/ecc_sign_hw
Fix for ECC sign with hardware to ensure the input is truncated
2019-02-27 14:41:57 -08:00
toddouska
b830447690 Merge pull request #2113 from JacobBarthelmeh/Testing
EVP decrypt with padding fix
2019-02-27 14:35:57 -08:00
Takashi Kojo
9e93bd1000 fix memory leak for multiple status 2019-02-28 07:34:26 +09:00
Takashi Kojo
2e41d25bca fix wolfIO_HttpBuildRequestCrl 2019-02-28 07:23:35 +09:00
toddouska
4226fb66f9 Merge pull request #2117 from SparkiDev/pkcs11_id_fix_2
PKCS #11 use private key id double free issue fixed
2019-02-27 14:19:43 -08:00
toddouska
b189fc0ef8 Merge pull request #2120 from dgarske/nightly_fixes
Fixes for various nightly build configuration warnings
2019-02-27 14:15:40 -08:00
toddouska
5c6876e05e Merge pull request #2121 from JacobBarthelmeh/Compatibility-Layer
rename function wolfSSL_sk_ASN1_OBJCET_pop
2019-02-27 14:12:10 -08:00
David Garske
95b08553a1 Merge pull request #2122 from tmael/portingDeos
Deos: Corrected a typo in TLS client connect call
2019-02-27 12:50:54 -08:00
David Garske
164eb30732 Fixes for STM32 AES GCM. Hardware does not correctly compute authTag if input is not a multiple of block size, so fall-back to software for tag only. Hardware also only supports IV of 12 or 16 bytes, so fall-back to software in those cases. ZD 4712 2019-02-27 11:07:03 -08:00
Tesfa Mael
9b500c6d56 Corrected a typo in TLS client connect call and removed .zip project 2019-02-27 10:00:06 -08:00
Jacob Barthelmeh
6ce28d74ff rename function wolfSSL_sk_ASN1_OBJCET_pop 2019-02-26 16:55:03 -07:00
David Garske
77ffeccb0b Fixes to QAT enables for benchmark for HMAC. Adds new NO_HW_BENCH to support using multi-threaded software only benchmarks. 2019-02-26 14:34:03 -08:00
Jacob Barthelmeh
b33023df2f fix setting outlen with wolfSSL_EVP_CipherUpdate decryption 2019-02-26 15:27:25 -07:00
John Safranek
65c72ddfe1 Reverted an earlier change to the renegotiation resumption. Still need
to check the cert subject hash.
2019-02-26 14:26:09 -08:00
John Safranek
57d8e070f9 1. Remove the clearing of the sessionID from Rehandshake.
2. Put SecureResume in terms of a regular resume, using Get/SetSession
and then calling Rehandshake.
3. Add the startScr after checking secure_renegotiation enabled during a
resume.
2019-02-26 14:10:44 -08:00
David Garske
1512f4da90 Correct the output for multi-threaded benchmark usign -base10 option. 2019-02-26 13:38:33 -08:00
David Garske
326ee8c318 Revert change to PKCS12 tailList. 2019-02-26 11:27:08 -08:00
David Garske
a3af2fc960 Fix for single threaded case with double free on suites. 2019-02-26 11:03:02 -08:00
David Garske
38303cf27b More spelling fixes. 2019-02-26 10:47:42 -08:00
David Garske
eecc823208 Fixes for scan-build warnings with ASN, PKCS12 and PKCS7. 2019-02-26 10:47:22 -08:00
jrblixt
e01723a435 Code review changes. 2019-02-26 10:42:02 -07:00
jrblixt
8a47af0edc Added benchmark tests to WICED wolfcrypt test app.
Updated the user_settings.h loc per David.
TLS13; SNI; MAX_FRAG
Configure for wolfCrypt bench.
Update README.
2019-02-26 10:37:58 -07:00
Kiwamu Okabe
95658be0ce WICED wolfCrypt-TLS_cli_srv-Https_cli 2019-02-26 10:37:48 -07:00
David Garske
9a129e89c1 Fixes for building with no filesystem and --enable-testcert or WOLFSSL_TEST_CERT. Fixes nightly expected configurations test. 2019-02-26 09:36:31 -08:00
Sean Parkinson
fe620b5250 Compile error when FP_MAX_BITS doesn't support FFHDE parameters 2019-02-26 16:44:59 +10:00
Sean Parkinson
a2f8747652 Fix DecodePrivateKey to return NOT_COMPILED_IN with PKCS#11 2019-02-26 09:22:03 +10:00
Sean Parkinson
cb830a088f Fix for configurations without specific algorithms 2019-02-26 09:22:03 +10:00
Sean Parkinson
700e9896d4 PKCS #11 support for HMAC with MD5, SHA, SHA-2 2019-02-26 09:22:03 +10:00
David Garske
2bb5dd710c Fix for curve load failure leak. 2019-02-25 15:19:31 -08:00
David Garske
b45241f6f8 Fix to use QAT for ECC sign and verify when SP is enabled and key was initialized with devId. Fixes issues with wolfCrypt test and QAT not properly calling "again" for the ECC sign, verify and shared secret. 2019-02-25 14:51:15 -08:00
Sean Parkinson
a44751cd39 PKCS #11 use private key id double free issue fixed 2019-02-26 08:27:59 +10:00
toddouska
efc1ab8c42 Merge pull request #2111 from SparkiDev/ed25519_fixes_1
Various improvements for testing
2019-02-25 13:55:28 -08:00
toddouska
0360b38de4 Merge pull request #2116 from SparkiDev/pkcs11_id_fix_1
Fixes for PKCS #11 private key id and ECC
2019-02-25 13:09:15 -08:00
David Garske
3785bafdf4 Merge pull request #2096 from kaleb-himes/ZD4707
Update for newer versions of the TI compiler
2019-02-25 13:05:43 -08:00
toddouska
603a9b2e59 Merge pull request #2110 from dgarske/spelling
Fixes for various spelling errors
2019-02-25 13:04:12 -08:00
toddouska
72a50b8d46 Merge pull request #2109 from dgarske/pkcs7_buf
Fix for proper detection of PKCS7 buffer overflow case
2019-02-25 13:02:09 -08:00
Max
aa70ac0be2 Added defines to force OCSP nonce check and omit OCSP date before check. 2019-02-25 14:40:19 +01:00
Sean Parkinson
0e914d81dc Fixes for PKCS #11 private key id and ECC 2019-02-25 11:17:56 +10:00
Sean Parkinson
feea036ec9 Fix generation of certs_test.h
Fix formatting of certs_test.h:
- remove trailing spaces
- change leading tab stops to spaces
2019-02-25 09:00:26 +10:00
David Garske
712ecabf36 Fix for ECC sign with hardware to ensure the input is truncated to the key order. 2019-02-22 15:30:52 -08:00
David Garske
9ff976a6e1 Fixes for wolfCrypt test with asynchronous support enabled and --enable-nginx. 2019-02-22 13:47:34 -08:00
toddouska
b037334732 Merge pull request #2106 from dgarske/ecc_pubkey
Adds `ECC_PUBLICKEY_TYPE` to the support PEM header types
2019-02-22 12:09:10 -08:00
toddouska
04e3c4414d Merge pull request #2102 from SparkiDev/pkcs11_aes_cbc
Add support to PKCS #11 for AES-CBC and NO_PKCS11 defines
2019-02-22 12:07:23 -08:00
toddouska
9b125c5797 Merge pull request #2107 from JacobBarthelmeh/Compatibility-Layer
remove null terminators on substrings
2019-02-22 10:26:06 -08:00
Jacob Barthelmeh
8b0bcdaf29 EVP decrypt with padding fix 2019-02-22 10:05:15 -07:00
Sean Parkinson
8bb4e23f8d Various improvements for testing
Fix wc_ecc_fp_free() to be called when using HAVE_STACK_SIZE.
Increase size of replyin client.c so all HTTP reply is displayed.
Fix api.c to support only Ed25519 (not RSA and ECC)
Fix suites.c to detect when CA for client won't work (Ed25519 only)
For Static Memory add debugging and small profile.
Also allow realloc to be called with NULL.
Add more Ed25519 certs and keys.
Fix names of Ed25519 filenames for client and server.
Do NOT turn on ECC_SHAMIR by default with lowresource.
Enable WOLFSSL_STATIC_MEMORY_SMALL if low resource and no RSA.
2019-02-22 17:14:19 +10:00
Takashi Kojo
7b44fbe265 OCSP, CRL request with "Cache-Control: no-cache" for proxy 2019-02-22 09:23:06 +09:00
David Garske
ee3eb8fb4c Fix for proper detection of buffer overflow case when calling wc_PKCS7_EncodeSignedData. 2019-02-21 13:32:28 -08:00
David Garske
289f51a77d Fixes for various spelling errors. 2019-02-21 13:29:44 -08:00
Takashi Kojo
5e0a77704b argument check 2019-02-22 06:17:45 +09:00
Takashi Kojo
801ef2c62c add wolfSSL_CertManagerCheckOCSP_Staple 2019-02-22 05:39:38 +09:00
Takashi Kojo
28d8730948 exporse OcspEntry in asn.h 2019-02-22 05:20:54 +09:00
Jacob Barthelmeh
5932cdab15 cast on strlen return value 2019-02-21 13:04:38 -07:00
David Garske
55ca2c2da7 Added build-time override for benchmark thread count WC_ASYNC_BENCH_THREAD_COUNT. 2019-02-21 10:45:09 -08:00
John Safranek
39626bb349 1. Add a newline to the client's "non-blocking socket and renegotiation" notice.
2. Add suite test cases for more renegotiation setting combinations.
2019-02-21 10:06:55 -08:00
David Garske
5801e7773b Merge pull request #2108 from miyazakh/server_help_in_jp
fixed examples/server to take additional parameter for "-?"
2019-02-21 05:55:32 -08:00
Sean Parkinson
ee4e27afe2 Fix lengths to support large DH params 2019-02-21 17:13:43 +10:00
Hideki Miyazaki
b68eab6450 fixed to take additioanl option for -? 2019-02-21 13:44:08 +09:00
Jacob Barthelmeh
18d3e04dbf remove null terminators on substrings 2019-02-20 16:39:18 -07:00
Sean Parkinson
b0957c68fb ForceZero the devKey field of Aes in PKCS#11
Don't memset the key field of AES in PKCS#11.
2019-02-21 08:22:56 +10:00
Sean Parkinson
b4996e35fa Set MAX_PRF_HALF bigger for large FFDHE parameters
Stack size measurement is in a thread - free local fp_cache
2019-02-21 08:09:52 +10:00
John Safranek
7389553bd6 1. For secure renegotiation, remove the check of the peer certificate's
subject ID on renegotiation. Both endpoints are already
cryptographically linked on an encrypted channel.
2. The error code list has gaps where deprecated codes were deleted,
remove the redundant gaps where there aren't missing codes.
2019-02-20 11:45:21 -08:00
toddouska
9c9221432f Merge pull request #2087 from ejohnstown/aesgcm
Update TLS for AES-GCM/CCM changes
2019-02-20 11:43:06 -08:00
John Safranek
a376e17aee Switch the bound for the XMEMSET of the sessionID when starting a
renegotiation to use sizeof the sessionID rather than the constat used
to set the size of the array.
2019-02-20 11:26:33 -08:00
John Safranek
f78ba4649b Update the help text so the Japanese translations of the new options are printed. 2019-02-20 11:23:00 -08:00
toddouska
b8dc772ef8 Merge pull request #2105 from dgarske/fix_stm_aesgcm
Fix for STM32 AES GCM
2019-02-20 09:23:11 -08:00
toddouska
3013cdd925 Merge pull request #2095 from SparkiDev/asm_macosx
Get Mac OS X working with the x86_64 assembly files
2019-02-20 09:19:29 -08:00
toddouska
025fba8ec6 Merge pull request #2093 from dgarske/tls13_async_dh
Fix for TLSv1.3 with DH key share when using QAT
2019-02-20 09:16:54 -08:00
toddouska
5d667ed1b8 Merge pull request #2075 from SparkiDev/port_zephyr
Zephyr port of crypto
2019-02-20 09:10:04 -08:00
David Garske
d81fb727a3 Adds ECC_PUBLICKEY_TYPE to the support PEM header types. Fixes #2097. 2019-02-20 08:40:57 -08:00
John Safranek
1f6314746c Secure Renegotiation
1. Split the wolfSSL_Rehandshake() function into wolfSSL_Rehadshake()
which performs a full handshake on secure renegotiation and
wolfSSL_SecureResume() which performs a session resumption on a
secure renegotiation.
2. Add option to example client to perform a secure resumption instead
of a full secure handshake.
2019-02-19 15:50:55 -08:00
David Garske
ba14564c49 Fix for STM32 AES GCM, which was incorrectly using software crypto when authInSz != 16. The wc_AesGcmEncrypt_STM32 and wc_AesGcmDecrypt_STM32 functions correctly handle all variations of authInSz. 2019-02-19 15:38:09 -08:00
David Garske
c2fbef2f7f Refactor to populate preMasterSz on XMALLOC. Fix for DoClientKeyExchange and ecdhe_psk_kea, which assumes preMasterSz is zero. Fix for TLS v1.3 resumption not properly setting preMasterSz. Removed for TLS v1.3 PSK setup test for preMasterSz == 0, which is not required. Spelling fixes for tls13.c. 2019-02-19 13:01:21 -08:00
David Garske
dc1f0d7822 Fix for DH with QuickAssist to only use hardware for supported key sizes. Fix in random.c for seed devId when building async without crypto callbacks. 2019-02-19 11:57:55 -08:00
Takashi Kojo
161e815c03 remove hard tab 2019-02-20 04:14:17 +09:00
Sean Parkinson
520ae52ece Add support to PKCS #11 for AES-CBC and NO_PKCS11 defines
Added PKCS #11 specific defines to turn off support for algorithms.
2019-02-19 13:50:12 +10:00
Sean Parkinson
e3997558a9 Fixes from review and added REAMEs and setup.sh
Add README.md and setup.sh.
Add READMEs with license information.
2019-02-19 11:47:45 +10:00
Sean Parkinson
5e1eee091a Add threaded samples using buffers and sockets 2019-02-19 11:47:45 +10:00
Sean Parkinson
4302c02e67 Include zephyr directories in the release 2019-02-19 11:47:44 +10:00
Sean Parkinson
2c447b24cd Fixes from review and add IDE files 2019-02-19 11:47:44 +10:00
Sean Parkinson
3366acc9ce Zephyr port of crypto 2019-02-19 11:47:44 +10:00
Sean Parkinson
7aa5cd6f10 Support FFDHE in TLS 1.2 and below. Better TLS 1.3 version support.
Add support for the fixed FFDHE curves to TLS 1.2. Same curves in TLS
1.3 already. On by default - no checking of prime required.
Add option to require client to see FFDHE parameters from server as per
'may' requirements in RFC 7919.

Change TLS 1.3 ClientHello and ServerHello parsing to find the
SupportedVersions extension first and process it. Then it can handle
other extensions knowing which protocol we are using.
2019-02-18 14:51:59 +10:00
Takashi Kojo
b842b8583e add CMSIS RTOSv2 and imporove other default values to user_settings.h template 2019-02-18 06:48:20 +09:00
Takashi Kojo
0ee1e103dd update project files 2019-02-18 06:46:41 +09:00
Takashi Kojo
239f878bd1 fix indentation 2019-02-18 06:45:26 +09:00
Takashi Kojo
f3c2125259 add Mutex type for CMSIS RTOSv2 2019-02-18 06:45:01 +09:00
Takashi Kojo
1c6911634c sprit DECLARE_ARRAY_DYNAMIC into declaration and execution 2019-02-18 06:43:26 +09:00
Takashi Kojo
98e53cb4eb Improved user_settings.h, Abstract.txt 2019-02-18 06:41:53 +09:00
Takashi Kojo
c7f8f9fc90 Declarations have to come before executable statements
WOLFSSL_MDK5_COMPLv5: mdk5 compiler ver 5 regards macro with args as executable statement (This seems to be fixed with v6)
2019-02-18 06:39:06 +09:00
jrblixt
6c3ed46542 examples server HTTP update. 2019-02-15 15:45:30 -07:00
John Safranek
c0d1241786 Modify the TLSv1.3 calls to the AES-GCM and AES-CCM encrypt functions to
use the FIPS compatible APIs with external nonce.
2019-02-15 13:52:23 -08:00
kaleb-himes
d806134cbf Update for newer versions of the TI compiler 2019-02-15 13:05:37 -07:00
toddouska
25dd5882f8 Merge pull request #2094 from dgarske/ecdsa_der_len
Adds strict checking of the ECDSA signature DER encoding length
2019-02-15 10:53:57 -08:00
toddouska
7275ee5f19 Merge pull request #2089 from SparkiDev/tls13_sup_ver
Make SupportedVersions respect SSL_OP_NO_TLSv*
2019-02-15 10:36:32 -08:00
toddouska
d9a5898e91 Merge pull request #2082 from SparkiDev/parse_kse
Fix length passed to key share entry parsing
2019-02-15 10:31:14 -08:00
toddouska
c04cade97c Merge pull request #2083 from JacobBarthelmeh/Testing
Expected Configurations Test - NIGHTLY BUILD #505
2019-02-15 10:23:55 -08:00
Sean Parkinson
16f31cf8c6 Get Mac OS X working with the x86_64 assembly files 2019-02-15 15:08:47 +10:00
Sean Parkinson
e47797f700 Make SupportedVersions respect SSL_OP_NO_TLSv* 2019-02-15 08:26:03 +10:00
Vladislav Vaintroub
7328fce60d Disable MP_64BIT when compiling with clang-cl on Windows.
__attribute__ ((mode(TI))) does not really work on clang-cl,
linking would fail with "unresolved external symbol __udivti3",
as reported in https://bugs.llvm.org/show_bug.cgi?id=25305

Fix to use default case with 28bit digits on clang-Windows.
2019-02-14 23:18:51 +01:00
David Garske
a9f29dbb61 Adds strict checking of the ECDSA signature DER encoding length. With this change the total signature size should be (sequence + r int + s int) as ASN.1 encoded. While I could not find any "must" rules for the signature length I do think this is a good change.
If the old length checking method is desired `NO_STRICT_ECDSA_LEN` can be used. This would allow extra signature byes at the end (unused and not altering verification result). This is kept for possible backwards compatibility.

Per RFC6979: `How a signature is to be encoded is not covered by the DSA and ECDSA standards themselves; a common way is to use a DER-encoded ASN.1 structure (a SEQUENCE of two INTEGERs, for r and s, in that order).`

ANSI X9.62: ASN.1 Encoding of ECDSA:

```
ECDSA-Sig-Value ::= SEQUENCE {
  r INTEGER,
  s INTEGER
}
```

Fixes #2088
2019-02-14 12:05:34 -08:00
John Safranek
e2d7b402e7 Update so TLSv1.3 will work. Needed to make the implicit IVs full sized
when copying. Added a flag to SetKeys() to skip the IV set (used for
TLSv1.3).
2019-02-14 12:04:32 -08:00
John Safranek
3223920fd9 Add a guard for AES-GCM and AES-CCM for the change in Encrypt for the
AES-AEAD type and macros.
2019-02-14 12:04:05 -08:00
John Safranek
cd7f8cc653 Update AES-GCM/CCM use in TLS with a wrapper to select the correct API
depending on using old FIPS, or non-FIPS/FIPSv2.
2019-02-14 12:04:05 -08:00
John Safranek
67e70d6cb6 Update TLS to use the new AES-GCM and AES-CCM APIs that output the IV on
encrypt rather than take the IV as an input.
2019-02-14 12:04:05 -08:00
David Garske
64cb07557d Merge pull request #2091 from SparkiDev/pkcs11_fixes
Fix PKCS #11 AES-GCM and handling of unsupported algorithms
2019-02-14 09:49:02 -08:00
Sean Parkinson
5856d6b3dc Fix PKCS #11 AES-GCM and handling of unsupported algorithms 2019-02-14 17:06:15 +10:00
Jacob Barthelmeh
275667f0e9 remove ocsp attempt with ipv6 enabled 2019-02-13 19:01:09 -07:00
toddouska
46bb2591c8 Merge pull request #2070 from dgarske/fix_cryptocb
Fixes and improvements to Crypto Callbacks and STM32 RNG performance
2019-02-13 12:44:19 -08:00
David Garske
d98ebc4da2 Reverted the Hmac_UpdateFinal change to call final as it causing constant timing issues. Improved the wc_HmacFree to handle the case were final isn't called for Crypto callbacks. 2019-02-13 10:24:53 -08:00
toddouska
272181bc2e Merge pull request #2086 from dgarske/atecc_makekey
Fix for ATECC make key case when `curve_id == 0`
2019-02-13 09:52:54 -08:00
toddouska
817b82e453 Merge pull request #2084 from cconlon/cmsFeb19
Changes for CMS signedData default signed attributes
2019-02-13 09:49:55 -08:00
Chris Conlon
1fab970316 Merge pull request #2085 from miyazakh/esp-idf_fix_script
modified esp-idf setup script to avoid unnecessary file copy
2019-02-13 08:01:13 -07:00
David Garske
95db819d45 Fixes for warnings when building with --enable-pkcs11. 2019-02-12 16:05:48 -08:00
David Garske
e0b46734d6 Enhnacement to the tls_bench tool to support new -S command to indicate total size of data to exchange. Previously was just sending one packet back and forth. Imporved the shutdown handling code. 2019-02-12 16:03:10 -08:00
David Garske
1a8388641d Change new hash SetFlag/GetFlag API's to private. 2019-02-12 16:03:10 -08:00
David Garske
c9521b56f2 Fix warning about HAL_RNG_GenerateRandomNumber type. 2019-02-12 16:03:10 -08:00
David Garske
eb8a2f3a03 Minor fixes to CryptoCb wolfCrypt test for AES test and hash support for update/final in same callback. 2019-02-12 16:03:10 -08:00
David Garske
454687f429 Fix for TLS HMAC constant timing to ensure final is called for dummy operations. Added devCtx to AES for CryptoCb. 2019-02-12 16:03:10 -08:00
David Garske
dcdb1d7094 Added flag to indicate if hash is copied. 2019-02-12 16:03:10 -08:00
David Garske
e7b23646a5 Updates to HMAC crypto callback support to capture raw KEY and require hmac struct. 2019-02-12 16:03:10 -08:00
David Garske
838652c03b Added flags build option to hashing algorithms. This allows indicator to determine if hash will be "copied" as done during a TLS handshake. 2019-02-12 16:03:10 -08:00
David Garske
40a7bcfc20 Fix for new random seed crypto callback to properly reset error code in NOT_COMPILED_IN case. 2019-02-12 16:03:10 -08:00
David Garske
88d3abb1e6 Added Crypto callback HMAC support. 2019-02-12 16:03:10 -08:00
David Garske
18d5b3393c Correct NULL cryptocb case. 2019-02-12 16:03:10 -08:00
David Garske
891abe130a Added Crypto callback support for ASN CalcHashId. Added arg checking to cryptocb functions. 2019-02-12 16:03:10 -08:00
David Garske
9fc0610720 Fix to ensure hash devCtx is cleared. 2019-02-12 16:03:10 -08:00
David Garske
7e3082906e Fix for ensuring devId is passed into symmetric init. 2019-02-12 16:03:10 -08:00
David Garske
dad88b4c81 Improvements to the STM32L4 random generation code for improved performance and error handling. Added new WOLFSSL_STM32_RNG_NOLIB define to support generic STM32 series RNG without external ST library. 2019-02-12 16:03:10 -08:00
Chris Conlon
08bcef7c0c adjust wolfSSL_PKCS7_verify API test 2019-02-12 14:48:49 -07:00
Kaleb Himes
f824c8c769 Merge pull request #2077 from ejohnstown/ocsp-ecdsa
OCSP and ECDSA Signers
2019-02-12 09:50:37 -07:00
David Garske
acb983a154 Fix for ATECC make key case when curve_id == 0 (default). ZD 4383 2019-02-12 08:34:34 -08:00
toddouska
feae776ee3 Merge pull request #2078 from SparkiDev/ssl_priv_id
Support in SSL for setting a private key id
2019-02-12 07:56:47 -08:00
Hideki Miyazaki
e5f94e5884 modified script to avoid unnecessary file copy 2019-02-12 10:37:30 +09:00
Sean Parkinson
66ab6d8c22 Check FindObjectFinal call for error 2019-02-12 09:07:14 +10:00
Jacob Barthelmeh
acc0121e0f account for WOLF_C99 with ipv6 test cases 2019-02-11 15:07:12 -07:00
Chris Conlon
fb6aaf2ae2 rearrange order of default CMS SignedData signed attributes for better interop compatibility 2019-02-11 14:48:37 -07:00
Chris Conlon
56736a3563 always include default signed attributes for CMS SignedData bundles, add function to remove if needed 2019-02-11 14:41:32 -07:00
toddouska
4e5ea71118 Merge pull request #2081 from dgarske/dh_max_sz
Fix to detect maximum DH key size
2019-02-11 13:21:08 -08:00
Sean Parkinson
e86aae00ed Change to allow setting of devId for private key 2019-02-11 12:37:44 +10:00
Sean Parkinson
47922a4d87 Support in SSL for setting a private key id
Works with PKCS #11 to use key on device.
2019-02-11 10:38:38 +10:00
Sean Parkinson
88050de1ff Fix length passed to key share entry parsing 2019-02-11 08:29:28 +10:00
David Garske
dd32df5df1 Merge pull request #2080 from kaleb-himes/ZD4795
fix typo revcd vs recvd and spell out to avoid confusion: received
2019-02-08 17:38:48 -08:00
David Garske
aa21a0e6df Fix to increase maximum DH key size if using fast math and FP_MAX_BITS supports it. 2019-02-08 17:36:40 -08:00
kaleb-himes
b6d322cd14 fix typo revcd vs recvd and spell out to avoid confusion: received 2019-02-08 14:27:19 -07:00
John Safranek
6298074f93 OCSP and ECDSA Signers
OCSP uses an identified hash of the issuer's public key to identify the
certificate's signer. (Typically this is SHA-1, but can be any SHA
hash.) The AKID/SKID for the certificates usually are the SHA-1 hash of
the public key, but may be anything. We cannot depend on the AKID for
OCSP purposes. For OCSP lookups, wolfSSL calculates the hash of the
public key based on the copy saved for use with the handshake signing.
For RSA, that was fine. For ECDSA, we use the whole public key including
the curve ID, but for OCSP the curve ID isn't hashed. Stored the hash of
the public key at the point where we are looking at the key when reading
in the certificate, and saving the hash in the signer record.
2019-02-07 17:34:25 -08:00
toddouska
e52f4494f0 Merge pull request #2069 from dgarske/fix_8192
Fixes for handling 6144 and 8192 bit with TLS v1.3
2019-02-07 15:02:40 -08:00
toddouska
4f4d16d9e5 Merge pull request #2068 from dgarske/pkcs7_verify_degenerate
Fixes to handle degenerate PKCS 7 with BER encoding
2019-02-07 15:00:21 -08:00
kaleb-himes
9a67d2a869 Update support for entropy source with HARMONYv3 2019-02-06 13:25:05 -07:00
Jacob Barthelmeh
8666b7de9a add test-ber-exp02-05-2022.p7b file for test 2019-02-06 11:11:27 -07:00
Jacob Barthelmeh
ec28376e7f add PKCS7 BER verify test and fix for streaming 2019-02-06 11:05:15 -07:00
David Garske
f61d99526b Merge pull request #2072 from JacobBarthelmeh/Testing
fix macro with pic32 mx build
2019-02-04 17:11:13 -08:00
David Garske
53bf510740 Merge pull request #2073 from JacobBarthelmeh/Jenkins
fix typo with getting cipher suite : Jenkins Nightly Build test 499
2019-02-04 17:10:57 -08:00
Jacob Barthelmeh
be4d6bc204 fix typo with getting cipher suite 2019-02-04 10:53:59 -07:00
Sean Parkinson
390f3f5fca Merge pull request #4 from SparkiDev/pr_2069
Disallow SupportedGroups in ServerHello for TLS 1.3
2019-02-04 09:05:36 +10:00
Sean Parkinson
b7179c2a54 Disallow SupportedGroups in ServerHello for TLS 1.3
But allowed when downgrading to TLS 1.2.
2019-02-04 09:04:11 +10:00
Takashi Kojo
f8ff68ca7a Merge branch 'master' of https://github.com/wolfssl/wolfssl 2019-02-03 16:19:59 +09:00
Takashi Kojo
099d813a8c Fix headers 2019-02-03 15:44:41 +09:00
toddouska
73fbf845f2 Merge pull request #2066 from SparkiDev/sec_reneg_scsv
Fix empty renegotiation info ciphersuite handling
2019-02-01 10:05:59 -08:00
toddouska
8fc1780688 Merge pull request #2065 from SparkiDev/ossl_fix1
Changes to make symbols available for OpenSSL compat
2019-02-01 10:04:41 -08:00
toddouska
14a2343118 Merge pull request #2064 from SparkiDev/tls13_dhkeysz
Set the DH key size for TLS 1.3 when secret calculated
2019-02-01 10:04:15 -08:00
toddouska
4a5652f318 Merge pull request #2061 from SparkiDev/x86_asm_not_in_c
Pull out x86_64 ASM into separate files
2019-02-01 10:01:34 -08:00
toddouska
1258467b0a Merge pull request #2054 from SparkiDev/pkcs11_rng
Add support for random and getting entropy (seed) with PKCS#11
2019-02-01 09:59:12 -08:00
toddouska
4a177a8a30 Merge pull request #1997 from tmael/portingDeos
Initial Deos RTOS port
2019-02-01 09:56:55 -08:00
David Garske
c080050c80 Fix to detect larger key size requirement based on FP_MAX_BITS. Fix for TLSv1.3 to allow server_hello for TLSX_SUPPORTED_GROUPS. ZD 4754. 2019-02-01 09:53:30 -08:00
David Garske
c82d11f47d Cleanup of the PKCS7 stream long rc and braces. 2019-01-31 14:37:25 -08:00
David Garske
3a0afc3506 Fixes to handle degenerate PKCS 7 with BER encoding in PKCS7_VerifySignedData. Fix for PKCS7 API unit test with SHA512 disabled. ZD 4757. 2019-01-31 14:36:46 -08:00
Sean Parkinson
7822cef1ac Pull out x86_64 ASM into separate files 2019-01-29 13:08:24 +10:00
Sean Parkinson
e8b46caf75 Fix empty renegotiation info ciphersuite handling 2019-01-29 12:51:49 +10:00
Sean Parkinson
574238dea0 Set the DH key size for TLS 1.3 when secret calculated 2019-01-29 08:59:49 +10:00
Chris Conlon
0b2bbc33bd Merge pull request #2059 from miyazakh/openssl_bksize_digest
Added EVP_MD_CTX_block_size and exposed EVP_Digest()
2019-01-28 15:17:26 -07:00
John Safranek
1288036dbe Merge pull request #2047 from kojo1/freeCRL
wolfSSL_CertManagerFreeCRL: exposing FreeCRL
2019-01-25 16:08:31 -08:00
Tesfa Mael
5c6b42e60d cast to a char 2019-01-25 15:30:09 -08:00
toddouska
66987b4f2a Merge pull request #2058 from SparkiDev/tls13_earlydata_bench
Added EarlyData support to benchmark loop
2019-01-25 14:31:54 -08:00
toddouska
67f615f42f Merge pull request #2053 from dgarske/warn_secrets
Show warning if secrets debugging options are enabled
2019-01-25 14:26:47 -08:00
toddouska
0d8ca06928 Merge pull request #2052 from dgarske/atecc_fixes
Fixes for ATECC with PMS outlen and `ATECC_MAX_SLOT`
2019-01-25 14:26:09 -08:00
Jacob Barthelmeh
61e8d1ab92 fix macro with pic32 mx build 2019-01-25 14:13:51 -07:00
Hideki Miyazaki
e4abcc0a15 fixed api unit test 2019-01-25 09:38:19 +09:00
Hideki Miyazaki
53adb93ae4 Added EVP_MD_CTX_block_size and publicized EVP_Digest() 2019-01-25 09:05:36 +09:00
Sean Parkinson
743f8b576f Add support for random and getting entropy (seed) with PKCS#11
Getting the seed from a device has been added.
If the HASH_DRBG is available, PKCS#11 will be used for generating the
seed.
Otherwise, all generated random data will come from PKCS#11 device.
2019-01-25 08:01:30 +10:00
Sean Parkinson
0fe7591b0f Added EarlyData support to benchmark loop 2019-01-24 18:10:56 +10:00
Sean Parkinson
4ef6841465 Changes to make symbols available for OpenSSL compat 2019-01-24 08:38:05 +10:00
Tesfa Mael
2fa8e8bb94 realloc improvements 2019-01-22 19:21:51 -08:00
toddouska
d16c2ca7c6 Merge pull request #1865 from JacobBarthelmeh/Optimizations
--enable-afalg=xilinx
2019-01-22 14:19:54 -08:00
David Garske
7c4fa33937 Improve the error handling for non ECC_SECP256R1 curve in wc_ecc_make_key_ex. 2019-01-22 14:04:18 -08:00
David Garske
fd429bb656 Show warning if secrets debugging options (SHOW_SECRETS or WOLFSSL_SSLKEYLOGFILE) are enabled. The #warning can be ignored as error using ./configure CFLAGS="-W#warnings". 2019-01-22 13:29:25 -08:00
David Garske
c48786c649 Correct the ATECC slot maximum. 2019-01-22 12:14:05 -08:00
David Garske
7ce255aa4d Fixes for ATECC with PMS outlen and ATECC_MAX_SLOT. 2019-01-21 18:45:42 -08:00
David Garske
eaf5c3042d Merge pull request #2050 from toddouska/sub
remove outdated submission note
2019-01-21 18:41:38 -08:00
toddouska
952d0b3b6b Merge pull request #2044 from dgarske/safertos
Fixes to resolve possible build issues with SafeRTOS.
2019-01-21 15:40:48 -08:00
toddouska
52e8e77390 Merge pull request #2046 from cconlon/addalert
add alert number and string for "unknown_ca" (48)
2019-01-21 15:39:47 -08:00
toddouska
d00dd9d7c9 Merge pull request #2049 from danielinux/ecc-verify-only
Allow ECC Verify-only operations with NO_ASN and SP_MATH
2019-01-21 15:37:55 -08:00
toddouska
e87dac66ac Merge pull request #2021 from ejohnstown/dtls-resume
DTLS Update
2019-01-21 15:35:40 -08:00
Todd Ouska
f7c0a77c9c reomved outdated submission note 2019-01-21 09:14:58 -08:00
Tesfa Mael
5ce6a9009e perform mem copy in realloc 2019-01-20 22:55:51 -08:00
Daniele Lacamera
501a3a287b Allow ECC Verify-only operations with NO_ASN and SP_MATH 2019-01-21 07:11:35 +01:00
Takashi Kojo
5539b0eb38 wolfSSL_CertManagerFreeCRL: exporsing FreeCRL 2019-01-20 10:11:19 +09:00
Jacob Barthelmeh
db5c63bb25 fix for benchmarking specific RSA key size with -rsa-sz 2019-01-18 16:47:10 -07:00
Chris Conlon
8ecee6a7e9 add unknown_ca alert number (48) and string 2019-01-18 15:36:33 -08:00
Jacob Barthelmeh
253915866d make build more modular 2019-01-18 16:25:24 -07:00
JacobBarthelmeh
4fb6e65857 alignment check and authin size check 2019-01-18 16:25:24 -07:00
Jacob Barthelmeh
b8ebd41fbc key size with AES-CMAC benchmark 2019-01-18 16:25:24 -07:00
Jacob Barthelmeh
f0a3045d62 af_alg sha3 addition
hardware acceleration with RSA

add AES-GCM hardware acceleration

refactor setting RSA IV flag

check and set AF_ALG flags

fix for default AF_ALG use

set buffer alignment with Xilinx RSA

macro guard after rebase

use ALIGN64

clean up test cases
2019-01-18 16:25:24 -07:00
Tesfa Mael
5dbd074f33 adding eclipse project 2019-01-18 14:46:40 -08:00
Tesfa Mael
1f26282bf2 update include.am and add function description 2019-01-18 14:46:39 -08:00
Tesfa Mael
58da860cd6 update readme with config info 2019-01-18 14:46:39 -08:00
Tesfa Mael
e51cc4e99d Removed unneeded \n from WOLFSSL_MSG 2019-01-18 14:46:39 -08:00
Tesfa Mael
534fe6ab39 Updated with PR review comments 2019-01-18 14:46:39 -08:00
Tesfa Mael
739b57c753 Initial Deos RTOS port
- Added support for Deos with no file system
- Implemented a custom malloc since reusing and freeing memory is disallowed in avionics and mission critical applications.
- Added TLS client and server example with a TCP setup mailbox transport
- Timer starts at an offset of CURRENT_UNIX_TIMESTAMP specified by the user
- Uses rand_r() as a pseudo random number generator and uses the current time in seconds as a seed
- Uses strnicmp for XSTRNCASECMP instead of strncasecmp
- a readme doc included
2019-01-18 14:46:39 -08:00
David Garske
f2732a4ecd Fixes to resolve possible build issues with SafeRTOS.
* Support for building `WOLFSSL_SAFERTOS` without heap.
* Allows `XSTRNCASECMP` macro to be customized.
* USER_TIME supports checks for existing `strct tm` and `time_t`.
2019-01-18 10:02:20 -08:00
John Safranek
c282f5b726 DTLS Nonblocking Updates
Modify the DtlsMsgPoolSend() function to keep track of the last message
retransmit. If a write would block, it allows the retransmit pick up
where it left off.
2019-01-18 09:15:11 -08:00
John Safranek
cc3c2ef683 DTLS Nonblocking Updates
Add command line option to the example server to fake a write block on a
specified DTLS sequence number in epoch 0.
2019-01-18 09:15:11 -08:00
John Safranek
aa4de6e170 DTLS Nonblocking Updates
Do not allow the DTLS message flight be retransmit without being
finished. This can happen if a non-blocking transmit times out the
response and the application tries to retransmit.
2019-01-18 09:15:11 -08:00
John Safranek
8356c3d7e2 DTLS Nonblocking Updates
1. Add a second select for tx.
2. Revised tcp_select to work for either rx or tx.
3. Updated client and server to use new tcp_select_tx() for checking the
tx socket if the nonblocking connect/accept would block on transmit.
2019-01-18 09:15:11 -08:00
John Safranek
63f6c1d280 DTLS Nonblocking Updates
1. Add error code for trying to retransmit a flight when transmitting
the flight hasn't finished.
2. Add function to retransmit the stored flight without updating the
timeout count.
2019-01-18 09:15:11 -08:00
John Safranek
91d81ea691 Add some more debug logging for DTLS retransmission support. 2019-01-18 09:13:28 -08:00
John Safranek
d3e2488552 DTLS Resume Fix
1. In DTLS, when transmitting the Change Cipher Spec message increment the
sequence number.
2. In DTLS, when client receives the CCS message, sanity check that the
server hello has been received in the case of resume.
2019-01-18 09:13:28 -08:00
toddouska
d07cf53bb1 Merge pull request #2034 from miyazakh/Espressif_port_Phase2B
Initial support atecc608a on 32se
2019-01-18 09:07:51 -08:00
toddouska
02ef2ede12 Merge pull request #2041 from dgarske/crypto_cb
Refactor and rename of cryptodev to cryptocb
2019-01-18 09:02:44 -08:00
toddouska
b632c8dcc1 Merge pull request #2043 from SparkiDev/tls13_psk_down
Fix PSK support when no PSK extension
2019-01-18 09:00:56 -08:00
toddouska
33f876bb20 Merge pull request #2029 from SparkiDev/sni_tls13
Fix SNI on client when downgrading from TLS 1.3
2019-01-18 08:59:47 -08:00
toddouska
fe97264ff9 Merge pull request #2028 from dgarske/spcortex
Added Cortex-M support for Single Precision (SP) math
2019-01-18 08:59:10 -08:00
toddouska
d02f7a75b9 Merge pull request #2019 from dgarske/arduino
Improvements to Arduino sketch
2019-01-18 08:54:42 -08:00
toddouska
aba726fcd3 Merge pull request #2004 from embhorn/prf_move
Moving PRF to wolfcrypt
2019-01-18 08:53:13 -08:00
David Garske
c6a0d32979 Merge pull request #2042 from ejohnstown/ocsp-script
OCSP Script Update
2019-01-18 08:51:08 -08:00
toddouska
2bcde06f90 Merge pull request #2001 from kojo1/embed_benchmark
Missing project file
2019-01-18 08:44:09 -08:00
David Garske
357e0c9d15 Fixes for better backwards compatibility. 2019-01-18 06:54:48 -08:00
Sean Parkinson
e18891aed8 Fix PSK support when no PSK extension 2019-01-18 16:13:07 +10:00
Hideki Miyazaki
9879425c5f Addressed review comments 2019-01-18 10:53:48 +09:00
Hideki Miyazaki
4a5c380f32 Addressed review comments 2019-01-18 08:20:20 +09:00
Hideki Miyazaki
2753d2d548 clean up 2019-01-18 08:20:20 +09:00
Hideki Miyazaki
e519e1eb2a Support atecc608a on 32se with example programs 2019-01-18 08:20:20 +09:00
David Garske
8fb7892013 Merge pull request #2040 from ejohnstown/fix-checks
Fix Checks
2019-01-17 12:54:25 -08:00
John Safranek
0459e9842e OCSP Script Update
The check status variable GL_UNREACHABLE is not initialized and there
are times when it is checked and hasn't been set. Initialize it to zero.
2019-01-17 11:36:44 -08:00
David Garske
ee45cfdbcb Refactor and rename of cryptodev to cryptocb. Refactor API names from wc_CryptoDev to use wc_CryptoCb. Backwards compatibility is retained for anyone using old WOLF_CRYPTO_DEV name. Added comment about fall-through case when CryptoCb return NOT_COMPILED_IN. 2019-01-17 11:01:14 -08:00
John Safranek
8edd7d0b17 Fix Checks
1. In the tls_bench, check the return code on wolfSSL_CTX_SetMinDhKey_Sz() as it is checked in the examples.
2019-01-17 10:32:34 -08:00
John Safranek
f6240e5558 Fix Checks
1. In the client, check the return code on wolfSSL_CTX_SetMinDhKey_Sz() as it is checked in the server. (Resolves issue #2037.)
2. In HashOutput(), check that the hsHashes exists for the session before hashing. (Resolves issue #2038.)
2019-01-17 09:52:00 -08:00
David Garske
91573735b1 Merge pull request #2036 from ejohnstown/fragsz
TLS Record Fragment Size Check Change
2019-01-17 08:56:45 -08:00
John Safranek
5e03ac13f6 TLS Record Fragment Size Check Change
Fixed a potential bug with respect to processing fragmented handshake
messages. If a handshake message is fragmented across multiple TLS
records and the last fragment's record has the next handshake message in
it, we would throw a buffer error instead of processing the next
message. Changed this so it will finish the handshake message and return
out to process the next message. Also changed the handling of the
handshake message to follow the calling pattern.
2019-01-16 15:53:57 -08:00
Eric Blankenhorn
02ff19a6c4 Moving PRF to wolfcrypt 2019-01-16 17:23:49 -06:00
Takashi Kojo
bcc2458be6 add t4_demo/t4_demo.mtpj in am 2019-01-17 06:39:49 +09:00
John Safranek
d5b06f93fd Merge pull request #2031 from SparkiDev/sec_reneg_chrome
Changes to secure renegotiation for TLS 1.3 and Chrome
2019-01-16 12:00:08 -08:00
David Garske
c26cb53c05 Merge pull request #2035 from miyazakh/fix_cmake_build
fixed cmake build on esp-idf
2019-01-16 11:21:11 -08:00
toddouska
32ed53a991 Merge pull request #2012 from dgarske/cryptocb_sym
Added CryptoDev callback support for AES CBC, SHA1/SHA256 and RNG
2019-01-16 10:41:49 -08:00
toddouska
5d262e9123 Merge pull request #2027 from dgarske/fix_buildopts
Fixes for various build options and warnings
2019-01-16 10:32:19 -08:00
toddouska
d7ecdf110e Merge pull request #2013 from dgarske/tls_bench
Enhancements to the TLS benchmark tool
2019-01-16 10:30:55 -08:00
toddouska
b683a5a6bb Merge pull request #1945 from victork1996/bugfix/openssl-evp-bytes-to-key-compatibility
Fixed OpenSSL compatibility issues in wolfSSL_EVP_BytesToKey
2019-01-16 10:18:08 -08:00
David Garske
bb74dca6e7 Added certificate and private key to server example. Enable error strings, server side code and remove slow sha option for Arduino. 2019-01-16 10:07:56 -08:00
toddouska
b37c94a15c Merge pull request #2022 from JacobBarthelmeh/OCSP
memory management with OCSP requests
2019-01-16 08:52:50 -08:00
Hideki Miyazaki
1226bc3379 fixed cmake build on esp-idf 2019-01-16 18:01:18 +09:00
Sean Parkinson
b2e4c86028 Changes to secure renegotiation for TLS 1.3 and Chrome 2019-01-15 09:47:23 -08:00
Sean Parkinson
53ad7728bf Fix SNI on client when downgrading from TLS 1.3 2019-01-14 15:09:52 -08:00
David Garske
8352365160 Fixes to resolve Cortex-M issue with ECC. 2019-01-14 14:16:56 -08:00
Jacob Barthelmeh
e4132d32a4 add ocsp test for more code coverage 2019-01-14 13:52:13 -07:00
Jacob Barthelmeh
6ac384793f memory management with OCSP requests 2019-01-14 09:49:50 -07:00
David Garske
809fed8f05 Fix to resolve unit test error with WOLFSSL_CIPHER_INTERNALNAME or NO_ERROR_STRINGS defined. 2019-01-13 11:06:04 -08:00
David Garske
864df5f9de Make sure SP ASM is defined for WOLFSSL_SP_ARM_CORTEX_M_ASM. 2019-01-12 09:52:26 -08:00
David Garske
cfc66dab47 Fix compiler complaints when using Curve25519. 2019-01-11 21:16:13 -08:00
David Garske
3c2aa60862 Fix to allow RSA public only to build without verify only. 2019-01-11 21:11:40 -08:00
David Garske
45cd80b4b7 Fix define check of NO_CERT to be NO_CERTS. 2019-01-11 21:10:07 -08:00
David Garske
bcc177b23d Fixes for build warnings. 2019-01-11 21:07:23 -08:00
David Garske
406d2ceb6b Merge pull request #2023 from miyazakh/fix_no_hash_raw
fix no_hash_raw for esp32 hw acceleration
2019-01-11 21:04:04 -08:00
David Garske
56415928ff Added Arduino TLS server sketch. 2019-01-11 17:20:35 -08:00
David Garske
ebd68e6afd Fix to return the internal cipher suite name instead of NULL if NO_ERROR_STRINGS is defined. Fix for stray "if" in wolfSSL_SESSION_CIPHER_get_name. 2019-01-11 17:20:35 -08:00
David Garske
0ef4856039 Added connect and shutdown calls to Arduino sketch. Improved the get cipher suite. Improved error handling. 2019-01-11 17:20:35 -08:00
toddouska
141b263546 Merge pull request #2024 from dgarske/nb_timeout_det
Nonblocking connect timeout check
2019-01-11 17:12:48 -08:00
Takashi Kojo
8df27ffdcf Fix for RTOSv2 2019-01-12 09:11:04 +09:00
Takashi Kojo
cb39768e09 SimpleServer: update projectfile 2019-01-12 08:52:59 +09:00
Takashi Kojo
92fd92c208 SimpleServer/main.c for RTOSv2 and RLnet4 2019-01-12 08:51:29 +09:00
Takashi Kojo
034d1dff21 remove unused project file 2019-01-12 08:05:11 +09:00
Takashi Kojo
64a528f318 remove unused code 2019-01-12 08:03:49 +09:00
Takashi Kojo
4821d06dff fix worning 2019-01-12 07:50:15 +09:00
Takashi Kojo
6a25b42efb fix worning 2019-01-12 07:49:49 +09:00
Takashi Kojo
50598dcbac wc_port.c nad header files for ROTSv2 2019-01-12 07:49:20 +09:00
David Garske
f67b8fa6a3 Experimental SP Cortex M support for Single Precision math. 2019-01-11 14:38:34 -08:00
Takashi Kojo
6f760d796c update project files: CryptTest, benchmark, SimpleClient 2019-01-12 07:31:25 +09:00
Takashi Kojo
cca27f6724 examples/celient.c, server.c: removing unused headers 2019-01-12 07:29:19 +09:00
Takashi Kojo
13f4086d53 SImpleClient/main.c for CMSIS-RTOSv2 and net4 2019-01-12 07:27:58 +09:00
Takashi Kojo
55fdeacf87 CryptTest, CryptBenchmark/main.c for CMSIS-RTOSv2 2019-01-12 07:26:41 +09:00
David Garske
a4a6895900 Fix for scan-build "Value stored to 'err' is never read`" 2019-01-11 09:42:41 -08:00
David Garske
6eea924a5c Fix for non-blocking read timeout. 2019-01-11 08:45:34 -08:00
David Garske
3f46250994 Fix to timeout after 10 seconds in non-blocking mode if connect does not complete. 2019-01-10 17:12:37 -08:00
David Garske
ebc9533bc7 Fixes and improvements to the new Crypto callback code for AES and Hashing. 2019-01-09 17:39:05 -08:00
David Garske
ba0d488807 Added RNG Crypto callback support. 2019-01-09 14:36:40 -08:00
toddouska
e1fd7b86f7 Merge pull request #2014 from JacobBarthelmeh/Testing
add ocsp stapling test and initialize values
2019-01-09 10:41:56 -08:00
Hideki Miyazaki
bdc5dd41d1 fix no_hash_raw for esp32 hw acceleration 2019-01-09 16:56:47 +09:00
David Garske
003360237f Fixes for building with NO_WOLFSSL_SERVER. Minor test.h cleanups. 2019-01-07 10:08:16 -08:00
Jacob Barthelmeh
26ae39a217 check if secure renegotiation struct available 2019-01-04 13:22:34 -07:00
Jacob Barthelmeh
a00eaeb877 add ocsp stapling test and initialize values 2019-01-04 13:16:47 -07:00
David Garske
df2a0f9a4f Fixes for scan-build warnings. 2019-01-03 12:47:46 -08:00
David Garske
f3c08ae8b9 Better fixes for ret unused. 2019-01-03 12:42:31 -08:00
David Garske
ff0a4eb69a Fix for float compare warning. Minor cleanups. 2019-01-03 11:40:04 -08:00
David Garske
a7251e4158 Fixes for minor Jenkins build warnings. 2019-01-03 11:22:01 -08:00
David Garske
ef916f2c55 Enhancements to the TLS benchmark tool:
* Added support for running as only Client (`-c`) or Server (`-s`).
* Added support for using sockets (in addition to in memory mode `-m`).
* Fixed support for 16KB test packet (memory version needed TLS header space). Changed to default to 16KB.
* Fixed so transfer is done on each connection and there is not transfer limit (instead "shutdown" message is used).
* Made pthread support optional and based on HAVE_PTHREAD.
* Tested non-blocking support with sockets or shared memory.

To use with localhost sockets and threading use `./examples/benchmark/tls_bench`
To use with threading and in-memory use `./examples/benchmark/tls_bench -m`
To use as separate server client applications with localhost sockets use: `./examples/benchmark/tls_bench -s` and `./examples/benchmark/tls_bench -c` in separate terminals.

```
./examples/benchmark/tls_bench -?
tls_bench 3.15.7 NOTE: All files relative to wolfSSL home dir
-?          Help, print this usage
-c          Run as client only, no threading and uses sockets
-s          Run as server only, no threading and uses sockets
-h          Host (default localhost)
-P          Port (default 11112)
-e          List Every cipher suite available
-i          Show peer info
-l <str>    Cipher suite list (: delimited)
-t <num>    Time <num> (seconds) to run each test (default 1)
-p <num>    The packet size <num> in bytes [1-16kB] (default 16384)
-v          Show verbose output
-d          Enable debug messages
-T <num>    Number of threaded server/client pairs (default 1)
-m          Use local memory, not socket
```
2019-01-03 10:57:39 -08:00
David Garske
1201ffb13f Added CryptoDev callback support for AES CBC and SHA1/SHA256. 2019-01-02 14:34:26 -08:00
toddouska
656c7951cd Merge pull request #2010 from dgarske/mdk_fixes
Fixes for MDK5 project
2019-01-02 12:39:35 -08:00
toddouska
ed80cf4f4d Merge pull request #2009 from JacobBarthelmeh/Testing
fix for some warnings and edge case build
2019-01-02 12:38:51 -08:00
toddouska
2121607705 Merge pull request #2005 from dgarske/fix_sp_arm32_asm
Fix for SP ASM when building sources directly
2019-01-02 12:36:40 -08:00
toddouska
71bc571a8a Merge pull request #2000 from kojo1/EVP_CipherInit
EVP_CipherInit: allow NULL iv, key for openSSL compatibility
2019-01-02 12:04:38 -08:00
toddouska
5677e71cba Merge pull request #1987 from dgarske/32bit
Fixes for `--enable-32bit` option
2019-01-02 11:38:31 -08:00
toddouska
9c75753bd2 Merge pull request #1984 from miyazakh/Espressif_port_Phase2A
Support AES and SHA hw acceleration on esp32-wroom-32
2019-01-02 11:37:55 -08:00
John Safranek
d5509a4f37 Merge pull request #2007 from dgarske/fips_build
Fixes for a few FIPS build macro checks
2019-01-02 10:10:08 -08:00
David Garske
332dd75e5f Fix missing semicolon for HAL_CRYP_AESECB_Decrypt call. Fix for NO_MULTIBYTE_PRINT in test.h. These fixes were pulled in from PR #1974. 2018-12-31 13:53:12 -08:00
Jacob Barthelmeh
47f5282416 fixes for gcc 8 string warnings 2018-12-28 17:16:45 -07:00
Jacob Barthelmeh
a1459f6fec fix build when QSH is enabled and TLS 1.3 is enabled 2018-12-28 17:16:34 -07:00
David Garske
fb0eb55f28 Improved FIPS version check logic for error-crypt.h. 2018-12-28 09:36:13 -08:00
David Garske
b5ff99a017 Fixes for a few minor build errors where HAVE_FIPS and HAVE_FIPS_VERSION are not checked. 2018-12-28 09:22:36 -08:00
David Garske
9df0fc9509 Added protection to ensure WOLFSSL_SP_ASM gets defined when required. Updated the SP macro comments in GCC-ARM user_settings.h. ZD 4556. 2018-12-28 08:48:28 -08:00
Hideki Miyazaki
30612ad3ed addressed review comments 2018-12-28 11:48:39 +09:00
Hideki Miyazaki
965c68abdf Chaged to match filename and standard in file header 2018-12-28 08:39:19 +09:00
Hideki Miyazaki
913fe6ea2b addressed review comments 2018-12-28 08:39:19 +09:00
Hideki Miyazaki
e8bf2bbb02 removed multiple user_settings.h 2018-12-28 08:39:19 +09:00
Hideki Miyazaki
9d2294b967 Support AES and SHA hw acceleration on esp32-wroom-32
Removed unnecessary codes
Added README
Some clean up for maintenancebility
Removed unused methods

Removed unused methods
2018-12-28 08:39:19 +09:00
toddouska
c54e8e31bd Merge pull request #2003 from dgarske/async_rel_3.15.7
Async release v3.15.7 prep
2018-12-27 13:55:12 -08:00
David Garske
cc8c6078b6 Fix to adjust WC_ASYNC_DEV_SIZE. Fix for tests/test-trustpeer.conf typo in include.am. 2018-12-27 11:08:49 -08:00
David Garske
2351047409 Fixes for various scan-build reports. 2018-12-27 11:08:30 -08:00
David Garske
1eccaae25f Fix for DTLS async shrinking input buffer too soon and causing -308 (INCOMPLETE_DATA). 2018-12-27 11:07:32 -08:00
David Garske
5cb5b510ab Added blocking support for PKCS 7 with async. Fix for RSA async key gen in wolfCryp test. 2018-12-27 11:07:07 -08:00
Jacob Barthelmeh
66442c4bd5 add initialization value for af_alg 2018-12-26 16:57:24 -07:00
toddouska
697c99a9ec Merge pull request #1934 from dgarske/fix_alt_chain
Fixes and cleanups for processing peer certificates
2018-12-26 15:09:42 -08:00
toddouska
9c88218b62 Merge pull request #1998 from dgarske/async_fix_smallstack
Fix double free with async and small stack
2018-12-26 14:35:57 -08:00
David Garske
a7350b7d2e Merge pull request #1994 from JacobBarthelmeh/Release
prepare for release 3.15.7
2018-12-26 10:49:35 -08:00
Takashi Kojo
f97696a546 AesSetKey_ to AesSetKey_ex 2018-12-26 13:52:41 +09:00
Takashi Kojo
6ff8febf0f README: set properties of CC-RX 2018-12-25 15:37:30 +09:00
Takashi Kojo
1d5c50cc63 Missing project file 2018-12-25 07:14:56 +09:00
Takashi Kojo
0c828d14a0 Name conficted. filter out with NO_AES 2018-12-24 17:27:41 +09:00
Jacob Barthelmeh
a73bca090b fix for nginx port 2018-12-23 22:19:03 -07:00
Jacob Barthelmeh
b6d61f2987 prepare for release 3.15.7 2018-12-23 22:18:48 -07:00
Takashi Kojo
ae09fbe8a2 EVP_CipherInit: allow NULL iv for openSSL compatibility 2018-12-24 12:00:21 +09:00
David Garske
86177d1830 Removes the forced 32-bit instruction (via -m32) from --enable-32bit option and replaces with comment. Some compilers do not support the -m32 option, plus to work properly it must be used with configure directly like ./configure CFLAGS="-m32" LDFLAGS="-m32". Removes the NO_64BIT option to allow building corect on x86_64 and aarch64 (math libs detect platform properly). Fixes #1985. 2018-12-23 15:59:57 -08:00
toddouska
3eff20904a Merge pull request #1991 from dgarske/rsa_nb_time
Adds RSA non-blocking time support
2018-12-21 15:58:54 -08:00
toddouska
75321d72f6 Merge pull request #1996 from JacobBarthelmeh/Testing
free internal OCSP buffers
2018-12-21 15:57:58 -08:00
David Garske
61757c83eb Fix double free with ./configure --enable-asynccrypt --enable-smallstack. 2018-12-21 15:45:33 -08:00
David Garske
a358174b4b Fix for DH prime test (extra leading spaces). Fix for new chain tests with CRL enabled. The current way of testing chain only loads root CA as trusted. The intermediate CA CRL isn't trusted or loaded and causes error. 2018-12-21 12:36:47 -08:00
Jacob Barthelmeh
6191cb1927 free internal OCSP buffers 2018-12-21 12:30:49 -07:00
David Garske
59a3b4a110 New tests for cert chains, alternate cert chains, trusted peer certs and DH prime cleanup:
* Added ECC and RSA intermediate CA's and server/client chain certificates for testing.
* Enhanced suites test to support expected fail arg `-H exitWithRet` in any test .conf file.
* Added new `test-altchains.conf` for testing with `WOLFSSL_ALT_CERT_CHAINS` defined.
* Added new `test-chains` for testing chains.
* Added new `test-dhprime.conf` for DH prime check tests.
* Added new `test-trustedpeer.conf` for testing `WOLFSSL_TRUST_PEER_CERT`.
* Refactor to add `-2` to disable DH prime check by default (except for new test-dhprime.conf).
* Added ability to run a specific test.conf file using syntax like `./tests/unit.test tests/test-altchains.conf`.
2018-12-21 09:54:55 -08:00
David Garske
00dd222aa5 Fix for example client with -X external tests to not disable for PSK build unless usePsk is set. Resolves issue with external tests being skipped if building with PSK enabled. 2018-12-21 08:21:59 -08:00
David Garske
9733076fe0 Fixes and cleanups for processing peer certificates:
* Fix with `WOLFSSL_ALT_CERT_CHAINS` to resolve issue with using a trusted intermediate to validate a partial chain. With the alt cert chain enabled a CA may fail with only `ASN_NO_SIGNER_E` and the connection is allowed if the peer's certificate validates to a trusted CA. Eliminates overly complex 1 deep error alternate chain detection logic. Resolves ZD 4525.
* Refactor and cleanup of ProcessPeerPerts to combine duplicate code and improve code commenting.
* Fix for CA path len check in `ParseCertRelative` to always check for self-signed case (was previously only in NO_SKID case).
* Improvement to include self-signed flag in the DecodedCert struct.
2018-12-21 08:20:04 -08:00
David Garske
3e31115654 Merge pull request #1993 from JacobBarthelmeh/Testing
Release Testing
2018-12-20 16:19:17 -08:00
Jacob Barthelmeh
d3274e28e8 fix for hash types with fips windows opensslextra build 2018-12-20 14:22:35 -07:00
Jacob Barthelmeh
7d11c3f67c fix for reported nightly Jenkins build tests 2018-12-20 13:35:54 -07:00
David Garske
a4a4cd6a3c Merge pull request #1992 from SparkiDev/tls13_group_hrr
Fix HelloRetryRequest to be sent immediately and not grouped
2018-12-20 11:14:30 -08:00
Jacob Barthelmeh
5d2d370bd5 fix for scan-build warning 2018-12-20 11:40:20 -07:00
Jacob Barthelmeh
164a762088 fix afalg/cryptodev + opensslextra build 2018-12-20 10:52:17 -07:00
Sean Parkinson
eba11e097a Fix HelloRetryRequest to be sent immediately and not grouped 2018-12-20 16:41:38 +10:00
Jacob Barthelmeh
48c267dda8 fix warning with secure-renegotiation build and error with ntru build 2018-12-19 15:47:43 -07:00
Jacob Barthelmeh
165a80d02d fix for build with cryptonly + rsapub 2018-12-19 15:30:22 -07:00
Jacob Barthelmeh
92d59c7df4 fix for cryptonly + rsavfy build 2018-12-19 14:36:32 -07:00
David Garske
413506f2b5 Adds new wc_RsaSetNonblockTime API and WC_RSA_NONBLOCK_TIME build option. This new function configures the maximum amount of blocking time in microseconds. It uses a pre-computed table along with the CPU speed in megahertz to determine if the next operation can be completed within the maximum blocking time provided. 2018-12-19 13:15:41 -08:00
Jacob Barthelmeh
fc926d3c61 fixes from infer testing 2018-12-19 11:56:29 -07:00
toddouska
986b5d3951 Merge pull request #1988 from JacobBarthelmeh/ARMv8
add -mstrict-align flag with armasm
2018-12-18 15:51:32 -08:00
toddouska
4068975190 Merge pull request #1983 from dgarske/x509small_verifycb
Include current cert as X509 in verify callback for small build
2018-12-18 15:40:00 -08:00
toddouska
58a2f518e8 Merge pull request #1981 from dgarske/qat_features
Added RSA Key Gen and SHA-3 support for Intel QuickAssist
2018-12-18 15:39:38 -08:00
toddouska
0a6732ee67 Merge pull request #1979 from SparkiDev/tls_sh_tlsx_parse
Fix TLS 1.2 and below ServerHello TLSX_Parse to pass in message type
2018-12-18 15:39:12 -08:00
toddouska
4a170c0399 Merge pull request #1971 from SparkiDev/tls13_old_hello
Don't expect old ClientHello when version is TLS 1.3
2018-12-18 15:38:44 -08:00
toddouska
f1c62f191d Merge pull request #1941 from ejohnstown/rekey
Server Side Secure Renegotiation
2018-12-18 15:38:16 -08:00
Jacob Barthelmeh
c41d02e72f fix for Aarch32 aesgcm sanity checks 2018-12-18 10:35:53 -07:00
Jacob Barthelmeh
412966ed80 add -mstrict-align flag with armasm 2018-12-17 17:36:48 -07:00
David Garske
443dbf251b Fix to supply the X509 current_cert in the verify callback with OPENSSL_EXTRA_X509_SMALL defined or ./configure --enable-opensslextra=x509small. 2018-12-17 13:02:14 -08:00
David Garske
c478a2791a Fix to disable the raw Hmac_UpdateFinal_CT HMAC calculation for async crypt. Resolves issue using -v 2 -l ECDHE-RSA-AES128-SHA with QAT. 2018-12-17 12:54:33 -08:00
David Garske
cbbe63ec62 Added QAT SHA3 support. Fix for SHA512/SHA384 with QAT and Intel ASM enabled. 2018-12-17 12:54:33 -08:00
David Garske
c23489e6ed Added support for QAT RSA Key Generation. 2018-12-17 12:54:33 -08:00
JacobBarthelmeh
b60918b8cd Merge pull request #1982 from kaleb-himes/DGE_REPORT_MAINTENANCE
Address maintenance item: external test w/ static mem
2018-12-17 13:52:33 -07:00
kaleb-himes
15b6c39929 Updates based on Jacobs Feedback 2018-12-17 09:42:15 -07:00
kaleb-himes
502e3c2b6d Address maintenance item: external test w/ static mem 2018-12-14 09:30:03 -07:00
David Garske
249306f08c Merge pull request #1978 from ejohnstown/dot-release
touch version for interstitial release
2018-12-13 10:27:41 -08:00
Sean Parkinson
c628562ee7 Fix the Old ClientHello detection with TLS 1.3 with new state
Put the clientState into CLIENT_HELLO_RETRY (new state) when waiting for
second ClientHello.
Chrome sends change_cipher_spec message, for reasons of compatability,
which meets the requirements of the Old ClientHello detection when state
of client is NULL.
2018-12-13 17:06:00 +10:00
Sean Parkinson
f90e5601ad Fix TLS 1.2 and below ServerHello TLSX_Parse to pass in message type 2018-12-13 16:12:53 +10:00
toddouska
3e326aba15 Merge pull request #1973 from SparkiDev/tls13_max_ticket_nonce_sz
Increase maximum ticket nonce size to 8
2018-12-12 15:00:57 -08:00
toddouska
70cb4dcdb1 Merge pull request #1972 from SparkiDev/tls13_alpn
ALPN is returned in ServerHello even in TLS 1.3
2018-12-12 14:59:59 -08:00
toddouska
fb68b3a450 Merge pull request #1970 from cconlon/yoctoinstall
Add Yocto Project / OpenEmbedded build instructions to INSTALL file
2018-12-12 14:53:44 -08:00
toddouska
122114b840 Merge pull request #1969 from dgarske/atecc508a_fixes
Fixes for ATECC508A/ATECC608A and latest CryptoAuthLib
2018-12-12 14:53:12 -08:00
toddouska
2ef8be2718 Merge pull request #1968 from dgarske/fixes_stm32cube_aes
Fixes for STM32 AES GCM crypto hardware acceleration
2018-12-12 14:52:35 -08:00
toddouska
bdf447cec9 Merge pull request #1966 from cconlon/wctestbench
add define to use test/benchmark.h without path prefix
2018-12-12 14:50:32 -08:00
toddouska
3f7ced3ed5 Merge pull request #1960 from SparkiDev/sp_rsavfy
Allow a very small build based on SHA-256 and RSA verify
2018-12-12 14:49:42 -08:00
John Safranek
f715d9179c Add check for buffer size versus pad size in DoCertificateStatus() 2018-12-12 12:48:30 -08:00
David Garske
8772b5dc51 Merge pull request #1976 from embhorn/test_fix
Fix failing nightly tests
2018-12-12 12:07:01 -08:00
John Safranek
eef48cd8a2 touch version for interstitial release 2018-12-12 11:49:32 -08:00
Eric Blankenhorn
cbc8f4ce38 Fix failing nightly tests 2018-12-12 09:48:34 -06:00
Sean Parkinson
d8adca91b3 Increase maximum ticket nonce size to 8
There is a TLS 1.3 server implementation that uses 8 bytes.
2018-12-12 09:56:05 +10:00
David Garske
c7b0aac47a Merge pull request #1964 from embhorn/codecov
Code coverage tests and fixes
2018-12-11 15:08:56 -08:00
Eric Blankenhorn
195b995bc4 Fixes from review 2018-12-11 12:19:45 -06:00
Eric Blankenhorn
dc104985c3 Fixes from review 2018-12-11 11:41:39 -06:00
Eric Blankenhorn
59bfead3c8 Fixes from review 2018-12-11 11:30:13 -06:00
Eric Blankenhorn
1c0fa6fb58 Code coverage tests and fixes - default config 2018-12-11 08:56:21 -06:00
Sean Parkinson
c844b1c253 ALPN is returned in ServerHello when downgrading from TLS 1.3
TLS 1.3 Specification has extension returned in EncryptedExtensions.
2018-12-11 19:01:49 +10:00
Chris Conlon
a484749f4c Merge pull request #1965 from ejohnstown/vx-mg-updates
VxWorks/Mongoose Updates
2018-12-10 15:56:33 -08:00
Chris Conlon
06d6b06928 add Yocto Project / OpenEmbedded build instructions to INSTALL file 2018-12-10 16:48:14 -07:00
David Garske
a936c609f3 Fixes for ATECC508A/608A CryptoAuthLib demo. 2018-12-10 11:40:37 -08:00
David Garske
7e0e512a5c Minor build fixes for CryptoAuthLib with ATECC508A or ATECC608A. 2018-12-10 11:40:37 -08:00
David Garske
6552455968 Minor improvements to the STM32 CubeMX AES-GCM logic. 2018-12-10 11:40:06 -08:00
John Safranek
c7ffdc8b0b VxWorks Update
1. Replace the WOLFSSL_PTHREADS option for VxWorks builds, but comment it out.
2. Added a comment about using the pthreads wrappers for mutexes in VxWorks.
2018-12-10 11:28:32 -08:00
John Safranek
dc82beea4e Mongoose Update
1. Add a couple more OpenSSL compatibility layer functions to the the HAVE_WEBSERVER option.
2018-12-10 11:28:32 -08:00
John Safranek
bc4150af2c Mongoose Update
1. HAVE_WEBSERVER option turns on a couple more functions that MG is
using for client side authentication.
2. If using webserver, those functions return and error.
2018-12-10 11:28:32 -08:00
John Safranek
70d345eda0 VxWorks Update
1. Remove pthreads enable from VxWorks build.
2. Add mutex wrappers for native VxWorks mutex semaphores.
2018-12-10 11:28:32 -08:00
Sean Parkinson
2208514c98 Merge pull request #1962 from dgarske/fix_fe25519_noavx2
Fix for Intel Speedups with no AVX2 (part 2)
2018-12-10 17:17:42 +10:00
Sean Parkinson
fb41510f12 Fixup for compiling verify only inline for PPC using GCC 2018-12-10 11:52:10 +10:00
Sean Parkinson
c122f6082f Allow a very small build based on SHA-256 and RSA verify 2018-12-10 08:48:01 +10:00
David Garske
e4f60dc894 Merge pull request #1967 from kojo1/ShadowGlobal
Shadowed global: min in misc.c
2018-12-08 09:20:56 -08:00
David Garske
0a725f4d56 Fixes for AES with STM32 crypto hardware:
* Fixes to ensure the "const" input buffer is not modified for AES GCM calls with STM32 hardware crypto.
* Improvements to allow AES GCM hardware acceleration for inputs that are not a multiple of AES block size.
* Switched the wolfCrypt test for STM32_CRYPTO to use the standard AES GCM tests with 12-byte IV and less than 16-byte auth data.
* Fixes for building with the standard peripheral library.
* Fixes for building with `NO_AES_DECRYPT`.
`./configure --enable-debug --disable-shared --enable-cryptonly CFLAGS="-DNO_AES_DECRYPT"`
2018-12-07 17:23:38 -08:00
Takashi Kojo
8f3b05dd33 Shadowed global: min in misc.c 2018-12-08 09:40:31 +09:00
David Garske
43bc0233cb Merge pull request #1963 from SparkiDev/ct_signed
GCC ARM compiler requires explicit signed declaration
2018-12-07 16:32:09 -08:00
Chris Conlon
d662291b3d add define to use test/benchmark.h without path prefix 2018-12-07 10:27:51 -07:00
Sean Parkinson
fe8080ce4a GCC ARM compiler requires explicit signed declaration 2018-12-07 15:01:18 +10:00
Sean Parkinson
0259178033 Merge pull request #1961 from kaleb-himes/ZD4553-MAINTENANCE
Test adjustments for testing with nginx in FIPS mode
2018-12-07 09:29:47 +10:00
David Garske
14c43959f0 Fixes for Curve25519 FE math build error with Intel Speedups enabled and no AVX2. These changes should have been part of PR #1958 and were missed. 2018-12-06 12:40:06 -08:00
kaleb-himes
7048efb5fa Test adjustments for testing with nginx in FIPS mode 2018-12-06 13:02:58 -07:00
toddouska
6dfc723961 Merge pull request #1959 from SparkiDev/tls13_ems_down
Send EMS extension in ClientHello when downgradable from TLSv1.3
2018-12-06 07:42:55 -08:00
David Garske
d6ebd2d832 Merge pull request #1950 from SparkiDev/rsa_unpad
Make RsaUnPad constant time when Block Type 2 message
2018-12-06 06:08:15 -08:00
Sean Parkinson
f468e7f0b6 Merge pull request #1958 from dgarske/fix_fe25519_noavx2
Fix for Intel Speedups with no AVX2
2018-12-06 10:44:12 +10:00
Sean Parkinson
1d5b99eecc Send EMS extension in ClientHello when downgradable from TLSv1.3 2018-12-06 09:41:22 +10:00
Sean Parkinson
8aa54e5453 Merge pull request #1956 from cconlon/selftestfix
CAVP selftest fix for wc_RsaPSS_CheckPadding_ex() in test.c
2018-12-06 09:12:59 +10:00
Sean Parkinson
ab03f9291b Make RsaUnPad constant time when Block Type 2 message 2018-12-06 08:36:49 +10:00
John Safranek
b145aab6b2 Server Side Renegotiation
1. Fix testing issue with a client using the SCSV cipher suite to indicate desire for renegotiation.
2. Add indication to both the server and client examples that the renegotiation was successful.
2018-12-05 13:08:24 -08:00
John Safranek
ec76ab7e42 Server Side Renegotiation
1. Add an extra guard check around a call to SendHelloRequest() in the case where server renegotiation is disabled.
2. Replaced an accidental deletion of an include of the misc.h header for no inline builds.
2018-12-05 13:08:24 -08:00
John Safranek
69436b6d41 Server Side Secure Renegotiation
1. Fix spelling typo in a comment.
2. Correct the server's check of its secure renegotiation extension.
2018-12-05 13:08:24 -08:00
John Safranek
0abf7c4997 Server Side Secure Renegotiation
1. Add the server side renegotiation flag to the secure renegotiation option.
2. Changed the AddEmptyNegotiationInfo so it doesn't create an extension, just adds a reply if SCR is enabled.
3. Fix the server's reaction to the client sending the SCR extension.
2018-12-05 13:08:24 -08:00
John Safranek
175c91ab4e Server Side Secure Renegotiation
1. Fix an incorrect function entry log string.
2. Restart the server's accept state assuming the client hello was
received when the client initiates renegotiation.
2018-12-05 13:08:24 -08:00
John Safranek
d168d60ade Server Side Secure Renegotiation
1. Add enables to the example server for turning on secure renegotiation.
2. Add encryption assists to the handhshake message handler functions.
3. Add a hello request message function. Includes handshake timing pre/postambles.
2018-12-05 13:08:24 -08:00
David Garske
8355dd29cb Fix for Curve25519 FE math build error with Intel Speedups enabled and no AVX2. Fixes to allow forcing NO_AVX2_SUPPORT. Reproducible with ./configure --enable-curve25519 --enable-ed25519 --enable-intelasm CFLAGS="-DNO_AVX2_SUPPORT". 2018-12-05 13:04:30 -08:00
toddouska
74eadf556e Merge pull request #1946 from ejohnstown/dh-speedup
DHE Speed Up
2018-12-05 12:22:21 -08:00
toddouska
dfcfbc885d Merge pull request #1955 from JacobBarthelmeh/Testing
add mynewt_port.c to make dist
2018-12-05 10:39:02 -08:00
toddouska
ac0f71f4c4 Merge pull request #1954 from JacobBarthelmeh/DH
remove restriction on max key size with wolfSSL_DH_generate_key
2018-12-05 10:38:31 -08:00
toddouska
cc93c43a52 Merge pull request #1953 from dgarske/qat2
Fixes for building with the latest QuickAssist v1.7 driver
2018-12-05 10:37:45 -08:00
toddouska
68e1091627 Merge pull request #1952 from cconlon/cmstestfix
Fix for PKCS7 unit test with AES disabled
2018-12-05 10:36:52 -08:00
Chris Conlon
ecdb27289c Merge pull request #1951 from ejohnstown/ios-bench-touchup
Touch Up iOS Project
2018-12-05 08:08:39 -08:00
Jacob Barthelmeh
f4831b9fbb add mynewt_port.c to make dist 2018-12-04 16:45:30 -07:00
John Safranek
188a15428d Touch Up iOS Project
1. Remove the file async.c from the iOS Benchmark project.
2. Update the organization name in the Benchmark project to "wolfSSL Inc".
3. In the workspace project, change the path to the wolfSSL test to be a local relative path rather than an absolute path.
4. In the workspace project, remove the benchmark project and re-add it. It becomes a local relative reference with the correct name.
2018-12-04 15:29:41 -08:00
Jacob Barthelmeh
d90e66da80 remove restriction on max key size with wolfSSL_DH_generate_key 2018-12-04 16:20:31 -07:00
Chris Conlon
60a424d4e9 CAVP selftest fix for wc_RsaPSS_CheckPadding_ex() in test.c 2018-12-04 15:19:08 -08:00
David Garske
ec1bd3951e Fixes for building with the latest QuickAssist v1.7 driver:
* Updated `--with-intelqa=` to support detection of QAT driver version and use different .so libs.
* Added include and lib reference for new libusdm.
* Added `QAT_ENABLE_RNG` option.
* Fix for dynamic type spelling error (`DYNAMIC_TYPE_SYMETRIC_KEY` -> `DYNAMIC_TYPE_SYMMETRIC_KEY`).
* Fix benchmark output to use "took" not "tooks".
2018-12-04 12:54:11 -08:00
John Safranek
a47e08c49e DHE Speed Up
1. Add missing "-2" flags to the last line of most of the test conf files.
2018-12-04 12:04:12 -08:00
John Safranek
6254062438 Merge pull request #1948 from dgarske/fix_fips
Fix missing fips.h error
2018-12-04 11:32:37 -08:00
John Safranek
fa0b4cd2d5 DHE Speed Up
1. Modify all the test configuration files to disable the DHE prime test.
2. Add a test configuration that tests three cipher suites with the DHE prime test enabled.
2018-12-03 15:15:30 -08:00
John Safranek
a55f11cdd8 DHE Speed Up
1. Also apply the setting to the client side.
2. Updated the server and client command line options to use "-2" for disabling the DHE check.
2018-12-03 13:56:14 -08:00
Chris Conlon
4995051081 Merge pull request #1947 from miyazakh/fix_uninitialize_vars
Fixed uninitialized vars
2018-12-03 11:16:42 -08:00
Chris Conlon
9bda19fd25 fix for PKCS7 KEKRI array bounds check warning on gcc 8.2.0 2018-12-03 11:15:33 -08:00
Chris Conlon
28dc1cbb67 fix unit test for PKCS#7 with AES disabled 2018-12-03 12:00:04 -07:00
John Safranek
f74fb84337 Touch Up iOS Project
1. Fix iOS Benchmark reference to the async.c file.
2. Fix iOS Benchmark reference to the sp.c file. Changed to spr_c64.c.
3. Removed misc.c from iOS Benchmark as it is using inlined misc.h.
4. Added define of HAVE___UINT128_T to the user_settings.h so the
benchmark would build.
5. Wrapped the benchmark usage strings in NO_MAIN_DRIVER.
2018-12-03 10:38:56 -08:00
Hideki Miyazaki
ea769bcf38 Fixed uninitialized vars 2018-12-01 10:13:00 +09:00
David Garske
bdfa0e1745 Reapplying fix from PR #1423. Fixes issue #1415 (again). 2018-11-30 14:32:55 -08:00
John Safranek
564a1ee499 Make the skip DH test flag build-conditional. 2018-11-30 09:19:11 -08:00
Chris Conlon
34d8437a2e Merge pull request #1944 from ejohnstown/ios-touchup
Touch Up iOS Project for FIPS
2018-11-30 08:57:54 -08:00
John Safranek
ff1a1dc5d5 DHE Speed Up
When loading DH domain parameters into a CTX, test the prime
immediately. When loading them into a session, test the prime right
before using it during the handshake. Sessions that get their prime from
their context do not need to test their prime. Added a function to
disable testing the prime in a session. The goal is to speed up testing
as every single test case loads DH parameters whether they are used or
not.
2018-11-29 17:04:04 -08:00
Victor Kolesnikov
a8e21d1c09 Changed tabs to spaces to be consistent with the project's convention 2018-11-29 23:29:18 +02:00
Victor Kolesnikov
938e9ad7be Fixed some OpenSSL compatibility issues in wolfSSL_EVP_BytesToKey
Fixed wrong error checks, changed return value to the size of the derived key, added support for the case where data == NULL and removed the assignment of constant value to info->ivSz (the correct value is assigned to it inside 'wc_EncryptedInfoGet')
2018-11-29 23:19:23 +02:00
Chris Conlon
2c48553a29 Merge pull request #1936 from kojo1/multi-byte
NO_MULTIBYTE option
2018-11-29 13:16:10 -08:00
Chris Conlon
bea93e9159 Merge pull request #1943 from abrahamsonn/doxygen-update
Doxygen update
2018-11-29 13:06:21 -08:00
John Safranek
af0bb278a1 Touch Up iOS Project
1. Updated a config item regarding the order of searching headers to the current recommendation from Apple.
2. Added the define flag CYASSL_USER_SETTINGS to the FIPS project so the user settings are loaded into the FIPS files.
2018-11-29 12:46:39 -08:00
abrahamsonn
48252524dc Merge branch 'master' of https://github.com/wolfssl/wolfssl into doxygen-update 2018-11-29 10:16:33 -07:00
abrahamsonn
1b5ac2ea8d Updated an API's documented return codes
Added ASN_BEFORE_DATE_E and ASN_AFTER_DATE_E to
wolfSSL_CTX_load_verify_locations
2018-11-29 10:03:38 -07:00
Takashi Kojo
bbea4aba59 IAR EWARM 2018-11-29 07:21:56 +09:00
Takashi Kojo
a203cd4901 NO_MULTIBYTE to NO_MULTIBYTE_PRINT 2018-11-29 07:04:01 +09:00
abrahamsonn
95c6c0df28 Updated doxygen with some more API
Added new DH API function signatures/some descriptions
2018-11-28 15:03:01 -07:00
Takashi Kojo
0e94ae529c Rollback stacing 2018-11-29 06:52:43 +09:00
abrahamsonn
a3d1ea20ff updated page list to include PKCS#11 page 2018-11-28 14:49:42 -07:00
toddouska
8c0a55d43b Merge pull request #1939 from cconlon/selftestfix
exclude wolfSSL_EC_POINT_point2hex() in CAVP selftest build
2018-11-28 13:13:25 -08:00
abrahamsonn
424196cb03 Doxygen format updates
Updated the doxygen page list to include PKCS#11, and create the PKCS#11 page
2018-11-28 13:45:19 -07:00
abrahamsonn
c4919d191b Added doxygen comment page
The new doxygen comment page (pkcs11.h) lets Doxygen know when running that
there are new API and that they will need a page created.
2018-11-28 13:36:00 -07:00
abrahamsonn
74b8c2795b Merge branch 'master' of https://github.com/wolfssl/wolfssl into doxygen-update 2018-11-28 11:35:17 -07:00
toddouska
70305758d4 Merge pull request #1942 from SparkiDev/asn_trad_fix
Return ToTraditional API to original signature
2018-11-28 08:08:26 -08:00
toddouska
33db5babc9 Merge pull request #1940 from SparkiDev/pkcs11_cast
Fix for clang - cast down
2018-11-28 08:06:28 -08:00
toddouska
2827ef6a57 Merge pull request #1938 from SparkiDev/tls13_ext
Check for TLS 1.3 version in the method for extenstions.
2018-11-28 08:05:42 -08:00
toddouska
814e45a12b Merge pull request #1925 from kaleb-himes/ZD4486-XCODE
i386 arch lacks registers to support some tfm assembly without correct CFLAGS
2018-11-28 08:04:09 -08:00
Sean Parkinson
310ffd0045 Check for TLS 1.3 version in the method for extenstions.
During parsing of ClientHello, ServerHello and HelloRetryRequest, the
SSL object version may not be set to the negotiated version.
2018-11-28 14:59:43 +10:00
Sean Parkinson
918c769284 Return ToTraditional API to original signature 2018-11-28 12:27:57 +10:00
Sean Parkinson
1a518c6c46 Fix for clang - cast down 2018-11-28 08:49:33 +10:00
kaleb-himes
6ed462f564 Provide example of appropriate CFLAGS for exposing registers on i386 required for inline assembly in tfm.c 2018-11-27 15:22:42 -07:00
David Garske
11810160b4 Merge pull request #1937 from tmael/portingMicriumIII
Micrium uC/OS-III port (updated readme & user_settings)
2018-11-27 11:08:53 -08:00
Chris Conlon
a5e3b18252 exclude wolfSSL_EC_POINT_point2hex() in CAVP selftest build 2018-11-27 09:12:55 -08:00
Tesfa Mael
216b2bf3fe rerun benchmark tests 2018-11-26 18:17:10 -08:00
Takashi Kojo
3cee583f8d NO_MULTIBYTE option in RTE/wolfssl/user_settings.h 2018-11-27 07:26:19 +09:00
toddouska
55bbffe3c6 Merge pull request #1932 from dgarske/maxfrag_reconf
Post-handshake max fragment size adjustment
2018-11-26 13:27:26 -08:00
toddouska
3afa9a3886 Merge pull request #1929 from ejohnstown/sniffer
Sniffer Updates
2018-11-26 13:24:31 -08:00
toddouska
4afa0f72fe Merge pull request #1926 from cconlon/cms2
CMS expansion, SignedData detached signature support
2018-11-26 13:22:26 -08:00
Takashi Kojo
c529e011a7 NO_MULTIBYTE for multibyte non-supported IDEs 2018-11-26 08:11:31 +09:00
Tesfa Mael
d51d8d86b5 update readme 2018-11-21 12:08:54 -08:00
John Safranek
96b4ddad82 Sniffer Update
1. Collect the SSL Info capture into its own function.
2. Add a Trace function for the SSL Info.
3. When copying the IANA name for the cipher suite, use a strncpy
instead of a memcpy and cap the copy at the length of the destination.
Force a null terminator at the end of the destination, just in case.
4. Modify the snifftest to collect the SSL Info.
2018-11-21 11:29:28 -08:00
David Garske
7a24d4e46f Adds new WOLFSSL_ALLOW_MAX_FRAGMENT_ADJUST macro around non-standard feature. This allows for adjustment of the maximum fragment size post handshake. 2018-11-21 10:30:24 -08:00
toddouska
4bf61a81e4 Merge pull request #1930 from tmael/portingMicriumIII
Micrium uC/OS-III port
2018-11-21 10:29:17 -08:00
toddouska
f87c327fae Merge pull request #1933 from SparkiDev/tls13_ems
No Extended Master Secret in ServerHello if protocol TLSv1.3
2018-11-21 10:25:59 -08:00
toddouska
f11809aa62 Merge pull request #1923 from JacobBarthelmeh/Testing
cast to resolve warning, check size of time_t, and check for null tes…
2018-11-21 10:17:23 -08:00
toddouska
73dbd15b2b Merge pull request #1896 from SparkiDev/openssl_extra2
More OpenSSL API support
2018-11-21 10:16:37 -08:00
Chris Conlon
09141d479e store CMS detached variable when using streaming API 2018-11-21 10:12:36 -08:00
Chris Conlon
1244212d41 Merge pull request #1921 from miyazakh/Espressif_port_Phase1
Porting wolfssl into ESP-IDF development framework
2018-11-21 08:16:56 -08:00
Tesfa Mael
101966329e add readme doc 2018-11-20 22:56:04 -08:00
Tesfa Mael
da71d7243e adding new files for make dist 2018-11-20 18:40:25 -08:00
Sean Parkinson
5156641f2b No Extended Master Secret in ServerHello if protocol TLSv1.3 2018-11-20 08:38:14 +10:00
Sean Parkinson
95bd340de5 Add support for more OpenSSL APIs
Add support for PEM_read and PEM_write
Add OpenSSL PKCS#7 signed data support
Add OpenSSL PKCS#8 Private key APIs
Add X509_REQ OpenSSL APIs
2018-11-20 07:54:24 +10:00
David Garske
e81436ffe9 Add support for altering the max-fragment size post-handshake using existing API wolfSSL_UseMaxFragment. 2018-11-19 13:26:48 -08:00
Tesfa Mael
b05782a5c9 use static const 2018-11-19 09:13:09 -08:00
Tesfa Mael
3a033cae8c Add standard GPLv2 header 2018-11-19 08:59:48 -08:00
Tesfa Mael
7ac8acff09 fix IAR EWARM Error[Pe028]: expression must have a constant value 2018-11-19 00:19:58 -08:00
Tesfa Mael
2ad6ce351b add micrium current_time and use correct serial function 2018-11-18 23:44:20 -08:00
Tesfa Mael
061757c909 remove WOLFSSL_TYPES, add defines in user settings 2018-11-18 23:44:20 -08:00
Tesfa Mael
11ccce809d fix formatting, converted tabs to spaces 2018-11-18 23:44:20 -08:00
Tesfa Mael
ac8c4adc06 port to uC/OS-III
remove uC/OS-III eclipse project files

Adding wolfSSL client example for uC/TCP-IP with WinPcap running on Win7

Cleaned up user_settings and client example code

wolfSSL server example for uCOS-III/TCP-IP

Fixed typo and formating

Removed comments from user settings

serial (UART) interface isn't available on all targets

Updated to use PEM certs

add XSNPRINTF snprintf

define tx msg and size for clarity
2018-11-18 23:44:20 -08:00
Hideki Miyazaki
bc09f4bd30 Porting wolfssl into ESP-IDF development framework 2018-11-17 09:36:09 +09:00
John Safranek
3599798aac Move a variable declaration to the start of a block instead of in the
middle.
2018-11-16 15:54:19 -08:00
John Safranek
6ee60bbb49 Sniffer Update
1. Adds a new function ssl_DecodePacketWithSessionInfo() that returns a
copy of the TLS session info (version and suite ID) for the packet that
is decoded.
2. Adds a new function DecodePacketInternal() that does the same work as
the old DecodePacket() with the additional Session Info behavior.
3. Both DecodePacket public functions call the internal version.
2018-11-16 15:00:06 -08:00
John Safranek
d2989d9f43 Sniffer Fix
Drop a handshake message if it is split across TLS records. The likely
messages dropped are certificate and certificate request, which are
ignored by the sniffer.
2018-11-16 15:00:06 -08:00
Chris Conlon
e756c5ffc9 use devId variable in test.c for PKCS7 examples 2018-11-16 15:54:32 -07:00
Chris Conlon
4295db218a add CMS SignedData support for detached signatures 2018-11-16 15:54:32 -07:00
Chris Conlon
7f76af0b36 Merge pull request #1927 from JacobBarthelmeh/AES
additional macro guards for disabling aescbc with opensslextra
2018-11-16 15:53:04 -07:00
Jacob Barthelmeh
ee30b2b476 better name for time_t size macro guard 2018-11-16 15:51:38 -07:00
Jacob Barthelmeh
ae1b1d777a compile out aescbc function declarations when off 2018-11-15 14:08:40 -07:00
Jacob Barthelmeh
c307fd7af4 additional macro guards for disabling aescbc with opensslextra 2018-11-15 13:40:04 -07:00
kaleb-himes
8399a7a517 i386 arch lacks registers to support some tfm assembly, detect and disable 2018-11-15 09:52:20 -07:00
JacobBarthelmeh
c592a1d6cb Merge pull request #1924 from dgarske/fix_fipscheck
Fix to resolve issue with fips_check.sh
2018-11-14 09:05:20 -07:00
David Garske
ed79aa1dc5 Fix to resolve issue with fips_check.sh after --depth=1 change in PR #1920. Fixes Jenkins report error: pathspec 'v3.6.0' did not match any file(s) known to git. 2018-11-13 06:30:05 -08:00
Jacob Barthelmeh
0f4a06594e cast to resolve warning, check size of time_t, and check for null test case 2018-11-12 16:02:33 -07:00
toddouska
8689cc6a04 Merge pull request #1922 from SparkiDev/tls_pad_fix
Fix for checking of TLS padding when padding byte value > msg len
2018-11-12 13:20:35 -08:00
toddouska
2503a4c0de Merge pull request #1920 from dgarske/check_speedup
Various script improvements for git clone calls
2018-11-12 13:17:14 -08:00
toddouska
0452594cf7 Merge pull request #1905 from SparkiDev/sp_thumb
Single Precision: ARM Thumb assembly implementation
2018-11-12 13:16:11 -08:00
toddouska
254b0f665b Merge pull request #1918 from dgarske/async_rel_v3.15.5
wolfSSL Async Release v3.15.5 Fixes
2018-11-12 11:22:55 -08:00
Sean Parkinson
61c7be669b Fix for checking of TLS padding when padding byte value > msg len 2018-11-12 17:37:34 +10:00
David Garske
533f4a5c77 Speedups for the git clone calls in check scripts to use --depth 1.
```
BEFORE CHANGE:

time ./fips-check.sh windows keep
Receiving objects: 100% (18408/18408), 12.61 MiB | 625.00 KiB/s, done.
Receiving objects: 100% (7045/7045), 110.48 MiB | 488.00 KiB/s, done.

real	5m4.604s
user	1m38.039s
sys	0m25.984s

AFTER CHANGE:
time ./fips-check.sh windows keep
Receiving objects: 100% (642/642), 1.02 MiB | 1.26 MiB/s, done.
Receiving objects: 100% (767/767), 24.15 MiB | 487.00 KiB/s, done.

real	1m43.194s
user	1m34.100s
sys	0m24.046s
```
2018-11-09 09:36:41 -08:00
David Garske
ba8d1962c7 Fix for test case wc_AesInit with bad argument. Adds bad arg check for API in FIPS mode. 2018-11-09 09:26:01 -08:00
David Garske
9f6167872f Fixes for additional use of unititlized variable with async for AES and DH. 2018-11-08 15:56:51 -08:00
David Garske
b3d5999be9 Fix for unused variables with --disable-rsa --enable-tls13 case in InitSuites. 2018-11-08 15:54:06 -08:00
David Garske
d5dddd2b29 Fix for unused useSupCurve in example client with --disable-ecc. 2018-11-08 15:43:18 -08:00
David Garske
e9a10e3614 Scan-build fix for possible case where r and s aren't initalized for wc_ecc_verify_hash. 2018-11-08 15:40:06 -08:00
David Garske
fcb40570e2 Fixes for warnings with possible use of uninitialized variable in async with DES3 and AES. 2018-11-08 15:39:52 -08:00
David Garske
da76fb6861 Fixes for warning about possible uninitialized use of asyncDev for wc_Gmac and wc_GmacVerify. 2018-11-08 13:43:13 -08:00
toddouska
39506e61d1 Merge pull request #1916 from JacobBarthelmeh/Release
Prepare for release v3.15.5
2018-11-08 12:59:05 -08:00
toddouska
4a88626500 Merge pull request #1917 from SparkiDev/sp_def
Fix define to use letter S instead of 5
2018-11-08 10:39:52 -08:00
Jacob Barthelmeh
078db9e445 fix for nightly cavp test 2018-11-08 09:25:10 -07:00
Jacob Barthelmeh
cd37e3967c prepare for release 3.15.5 2018-11-07 16:08:29 -07:00
Sean Parkinson
94c75aa3ed Fix define to use letter S instead of 5 2018-11-08 08:25:29 +10:00
Jacob Barthelmeh
2468a19c82 static analysis fix on non default build and g++ warning 2018-11-07 14:50:07 -07:00
David Garske
6e4ab91ccf Merge pull request #1915 from JacobBarthelmeh/Testing
fix side init for set connect/accept functions
2018-11-07 09:24:44 -08:00
JacobBarthelmeh
196791390b Merge pull request #1911 from kaleb-himes/CRYPT_LOGIC_UPDATES-R2
Fix pre-processor checks in wolfCrypt test for unique configuration
2018-11-07 10:22:03 -07:00
JacobBarthelmeh
5a53048e8f Merge pull request #1914 from kaleb-himes/FIX_x_OPT_SERVER
Fix -x option in server to continue in event of error (R)
2018-11-07 10:11:27 -07:00
toddouska
f7f6506a54 Merge pull request #1898 from cconlon/cmsupdates
wolfCrypt PKCS#7/CMS Expansion
2018-11-07 08:36:02 -08:00
toddouska
24e2a2b228 Merge pull request #1912 from dgarske/fix_BN_bn2hex
Fixes for compatibility function `BN_bn2hex`
2018-11-07 08:35:15 -08:00
Jacob Barthelmeh
100bf76748 sanity check on length befor checking ASN.1 tag 2018-11-06 18:35:13 -08:00
Jacob Barthelmeh
27db083733 make degenerate test structure dynamic to set the uninitialized dynamic flag 2018-11-06 18:35:13 -08:00
Jacob Barthelmeh
820ee0439a handle degenerate case after rebase 2018-11-06 18:35:13 -08:00
Chris Conlon
9fa4f754ab fix PKCS7/CMS conditional build errors 2018-11-06 18:35:13 -08:00
Jacob Barthelmeh
a2b2ce124e add a check to help out static analysis tool 2018-11-06 18:35:13 -08:00
Jacob Barthelmeh
afbf09b970 fix for building with clang 2018-11-06 18:35:13 -08:00
Chris Conlon
773a81ef6a CMS fixes for building with NO_ASN_TIME 2018-11-06 18:35:13 -08:00
Jacob Barthelmeh
448f91b56d fixes after more fuzz testing 2018-11-06 18:35:13 -08:00
Chris Conlon
cc32466603 build fix for test.c when disabling CMS EncryptedData content type 2018-11-06 18:35:13 -08:00
Chris Conlon
9bef9bad8e PKCS7/CMS build fixes when disabling individual AES sizes 2018-11-06 18:35:13 -08:00
Chris Conlon
4d9375b862 PKCS7/CMS build fixes when disabling AES 2018-11-06 18:35:13 -08:00
Chris Conlon
004b0d3793 PKCS7/CMS build fixes when disabling RSA, ECC, or AES-GCM/CCM 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
867bcb4545 small stack memory management 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
77a1dafed0 fix for fall through with gcc-7 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
62a2847d75 make internal stream buffer dynamic
formating and build without stream api
2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
048a7f4c57 fix for memory leak after resetting stream state 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
5a59fdd6fd scan-build warnings 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
b3506c836c remove content type restriction and fix build with compkey 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
98efc1e9de testing with verify signed stream function 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
752259e343 first addition of decode enveloped stream 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
5525f59852 first addition of verify sign stream data 2018-11-06 18:35:12 -08:00
Chris Conlon
47303ed445 fix decryption of EnvelopedData PWRI KEK size 2018-11-06 18:35:12 -08:00
Chris Conlon
b4d02d6d99 fix setting and checking CMS EnvelopedData version 2018-11-06 18:35:12 -08:00
JacobBarthelmeh
b0e4cb3572 valgrind testing 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
5d8f59d83b initial AuthEnvelopedData stream and add debug messages 2018-11-06 18:35:12 -08:00
Chris Conlon
d69a3c1092 add single-shot API for generating CMS Signed Encrypted Compressed FirmwarePkgData 2018-11-06 18:35:12 -08:00
Chris Conlon
c9f75fe7b4 add test cases for CMS Signed-Encrypted and Signed-Compressed FirmwarePkgData to test.c 2018-11-06 18:35:12 -08:00
Chris Conlon
175e32b468 add single-shot API for generating CMS Signed Compressed FirmwarePkgData 2018-11-06 18:35:12 -08:00
Chris Conlon
ed7cd54a91 add single-shot API for generating CMS Signed Encrypted FirmwarePkgData 2018-11-06 18:35:12 -08:00
Chris Conlon
cc05c46318 add single-shot API for generating CMS Signed FirmwarePkgData 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
2cc89936e3 add semicolon after FALL_THROUGH 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
02df920269 use fall through and update api tests to use wc_PKCS7_New 2018-11-06 18:35:12 -08:00
Jacob Barthelmeh
83a150c4df stream of PKCS7 decode encrypted 2018-11-06 18:35:12 -08:00
Chris Conlon
40ef246b1f add CMS AuthEnvelopedData support for unauthAttrs 2018-11-06 18:35:12 -08:00
Chris Conlon
4315384051 update test.c error returns for PKCS7 2018-11-06 18:35:12 -08:00
Chris Conlon
06a6f8400b add CMS AuthEnvelopedData support for authAttrs 2018-11-06 18:35:12 -08:00
Chris Conlon
bc94cdc11b add CMS AuthEnvelopedData content type support 2018-11-06 18:35:12 -08:00
Chris Conlon
a4da14f4b0 allow CMS CompressedData to be disabled with NO_PKCS7_COMPRESSED_DATA 2018-11-06 18:35:12 -08:00
Chris Conlon
75349bbba5 add support for SubjectKeyIdentifier to KTRI CMS RecipientInfo types 2018-11-06 18:35:12 -08:00
Chris Conlon
794137c20c add CMS EnvelopedData OtherRecipientInfo support 2018-11-06 18:35:12 -08:00
Chris Conlon
85e0c203ea ignore pkcs7 test files 2018-11-06 18:35:12 -08:00
Chris Conlon
0b3930e24f save and set PKCS7 isDynamic flag in wc_PKCS7_Init 2018-11-06 18:35:12 -08:00
Chris Conlon
13b30a6a21 add CMS EnvelopedData PasswordRecipientInfo support 2018-11-06 18:35:12 -08:00
Chris Conlon
dbb5bb7570 add CMS EnvelopedData KEKRecipientInfo support 2018-11-06 18:35:12 -08:00
Chris Conlon
ec07fe492e misc CMS fixes from review and valgrind 2018-11-06 18:35:11 -08:00
Chris Conlon
1f8c4c2613 merge CMS changes with master 2018-11-06 18:35:11 -08:00
Chris Conlon
7841434744 add support for multiple certificates in CMS SignedData certificates field 2018-11-06 18:35:11 -08:00
Chris Conlon
897c6b455f move CMS signed attribute OIDs into BuildSignedAttributes() 2018-11-06 18:35:11 -08:00
Chris Conlon
a25a637270 add CMS signingTime attribute support for SignedData 2018-11-06 18:35:11 -08:00
Chris Conlon
56f1b68442 use SetContentType() to set SignedData content type 2018-11-06 18:35:11 -08:00
Chris Conlon
ce1381dc9a add contentType check to CMS compressed tests 2018-11-06 18:35:11 -08:00
Chris Conlon
6a06a3b63b add CMS CompressedData test using FirmwarePkgData 2018-11-06 18:35:11 -08:00
Chris Conlon
c51cf4472e add support for CMS CompressedData content type 2018-11-06 18:35:11 -08:00
Chris Conlon
32b70dd56c add support for FirmwarePkgData in CMS SignedData EncapsulatedContentInfo 2018-11-06 18:35:11 -08:00
Chris Conlon
2a60fbd766 add support for SubjectKeyIdentifier in CMS SignedData SignerInfo 2018-11-06 18:35:11 -08:00
Chris Conlon
70ca95b357 add support for custom contentType with CMS SignedData type 2018-11-06 18:35:11 -08:00
toddouska
bdf07e64cf Merge pull request #1901 from dgarske/rsa_nonblock
Added RSA non-blocking support
2018-11-06 16:39:43 -08:00
toddouska
5d8f4351ff Merge pull request #1903 from dgarske/dhkeycheck
Speed improvements for DH public key prime checking
2018-11-06 16:35:27 -08:00
Jacob Barthelmeh
7a2a66743b fix side init for set connect/accept functions 2018-11-06 16:48:06 -07:00
kaleb-himes
bc2bb78010 Fix -x option in server to continue in event of error (R) 2018-11-06 14:09:46 -07:00
toddouska
144ff68cfb Merge pull request #1882 from SparkiDev/pkcs11_lib
Improvements for PKCS#11 library
2018-11-06 08:53:57 -08:00
toddouska
2c7ff56a3e Merge pull request #1907 from JacobBarthelmeh/Testing
infer and g++ build fixes
2018-11-06 08:48:28 -08:00
David Garske
95092696bf Fix to make sure mp_toradix and mp_radix_size are included for OPENSSL_EXTRA. 2018-11-06 08:38:47 -08:00
David Garske
efb1efcc0d Fixes and additional tests for compatibility function BN_bn2hex. In the DEBUG_WOLFSSL case it was returning a (char*)"", which was trying to be free'd. We cannot return const char* here, since its assumed to be an allocated pointer. Fix the dynamic type for XMALLOC/XFREE to match, since OPENSSL_free is used to free returned value. Fix to add room for null term. Added missing API unit test for BN_print_fp. Exposed these functions for OPENSSL_EXTRA. 2018-11-06 05:55:25 -08:00
David Garske
1a4533f166 Merge pull request #1910 from embhorn/zd4324
Handle incomplete shutdown
2018-11-06 05:19:58 -08:00
JacobBarthelmeh
ee00852509 Merge pull request #1909 from ejohnstown/filedist
Added the resource.h and wolfssl.rc to the list of EXTRA_DIST files.
2018-11-05 14:40:04 -07:00
Eric Blankenhorn
d61ae3a02a Handle incomplete shutdown 2018-11-05 10:30:48 -06:00
kaleb-himes
92d6dc36af Fix pre-processor checks in wolfCrypt test for unique configuration 2018-11-02 15:22:11 -06:00
John Safranek
c1ca1f1b78 Remove DH prime check on selftest/fips builds. 2018-11-02 12:55:07 -07:00
David Garske
6372c3d6e1 * Added RSA non-blocking support enabled with WC_RSA_NONBLOCK. Adds new wc_RsaSetNonBlock function for enabling / non-block context. Added wolfCrypt test function rsa_nb_test to validate. Result is: RSA non-block sign: 8200 times and RSA non-block verify: 264 times
* Signature wrapper improvements to eliminate mallocs/frees unless small stack is used. If small stack is used only one allocation is done based on actual max (was previously was allocating too much and in the encoding case was reallocating a second buffer).
2018-11-02 12:41:23 -07:00
John Safranek
98291f8465 Update comment in dh.c. 2018-11-02 11:38:52 -07:00
John Safranek
1261247e2a Added the resource.h and wolfssl.rc to the list of EXTRA_DIST files. 2018-11-02 11:30:29 -07:00
John Safranek
cfafbd9659 Added the prime check to the functions wolfSSL_SetTmpDh() and wolfSSL_CTX_SetTmpDh(). 2018-11-02 11:01:39 -07:00
JacobBarthelmeh
1ffc1108a6 Merge pull request #1906 from cconlon/selftest-fixes
fixes for CAVP selftest build errors
2018-11-01 11:31:39 -06:00
Jacob Barthelmeh
a953a3141e infer and g++ build fixes 2018-11-01 09:59:35 -06:00
Sean Parkinson
81650d6cef Fix for subtract
Added cortex-m support using umull for faster implementation.
2018-11-01 15:21:51 +10:00
Sean Parkinson
2b3b19d1c8 Merge pull request #1904 from JacobBarthelmeh/PKCS7
add test for degenerate case and allow degenerate case by default
2018-11-01 08:36:15 +10:00
Jacob Barthelmeh
6dd4fba888 fix for clang warning 2018-10-30 17:41:03 -06:00
Jacob Barthelmeh
cc3ccbaf0c add test for degenerate case and allow degenerate case by default 2018-10-30 17:04:33 -06:00
David Garske
f6093e1e0d Fixes to remove DH prime checks for server side DH parameters. 2018-10-30 15:51:47 -07:00
Chris Conlon
def7a91e70 fix CAVP selftest build errors 2018-10-30 16:35:45 -06:00
David Garske
f4b0261ca7 Fix to not do prime test on DH key the server loaded. Now it will only do the prime test on the peer's provided public DH key using 8 miller rabbins. Refactored the fast math miller rabin function to reuse mp_int's, which improved peformance for mp_prime_is_prime_ex from 100ms to 80ms. Normal math mp_prime_is_prime_ex is ~40ms (as-is). Added test for wc_DhSetCheckKey. 2018-10-30 11:20:07 -07:00
Chris Conlon
2c0edae96f Merge pull request #1889 from kojo1/t4_demo
Renesas RX demo
2018-10-30 10:14:02 -06:00
Sean Parkinson
ab458db504 Review comment changes
Add heap as a device initialization parameter.
Allocate slot info pointer wiht device heap pointer.
ForceZero user pin on token finalization.
Add comments to structure definitions.
2018-10-30 15:56:31 +10:00
Takashi Kojo
b64c527138 added files under t4_demo to include.am 2018-10-30 13:18:58 +09:00
David Garske
ba90674357 Merge pull request #1897 from WolfWalter/fix_sigrs_length
ATECC508 reference PK callback fix for signature length
2018-10-29 08:54:46 -07:00
toddouska
ae07ba93ad Merge pull request #1894 from dgarske/pk_keysize
Fixes for key size detection when using PK callbacks
2018-10-26 09:46:10 -07:00
toddouska
d18c9cad61 Merge pull request #1895 from dgarske/test_384bit
Added ECC P-384 bit test certs and keys
2018-10-26 09:44:41 -07:00
toddouska
a6adfd434d Merge pull request #1893 from dgarske/ecdsa_hashalgo
New build option to match ECDSA hash algo digest size with ephemeral key size
2018-10-26 09:43:07 -07:00
Wolf Walter
a47eeec145 fixed sigRs length
atmel_ecc_sign and atmel_ecc_verify expect sigRS length to be 64 Byte (32 Byte each).
2018-10-26 16:43:03 +02:00
David Garske
153c7cc684 Fix for unused variable in new fast-rsa function wc_RsaPublicKeyDecode_ex. 2018-10-25 11:12:33 -07:00
David Garske
3be7eacea9 Added client/server certs and keys for P-384-bit signed by P-384 CA. Fix for broken certs/ecc/genecc.sh script. Added simple P-384 cipher suite test. 2018-10-25 09:21:27 -07:00
David Garske
d21603334b Added build option USE_ECDSA_KEYSZ_HASH_ALGO to alter the hash algorithm selection for ecc_dsa_sa_algo. With this build option we try and choose a hash algorithm digest size that matches the ephemeral key size, if not found then will match on next highest. We've seen cases with some Windows based TLS client's where they do not properly support hashing a smaller ephemeral key with a larger hash digest size (such as P-256 key and SHA512 hash). 2018-10-25 09:19:35 -07:00
David Garske
81651c351b Added optional logging for example PK callbacks in test.h enabled with DEBUG_PK_CB. 2018-10-25 09:15:34 -07:00
David Garske
86758f9640 Fixes for key size detection when using PK callbacks (HSM) and no private key has been loaded (affects HAVE_PK_CALLBACKS on server side only when no dummy private key is loaded). Fix for possible leak during ECC min key size failure with small stack. Added new API wc_RsaPublicKeyDecode_ex for parsing an RSA public key for the modulus and exponent. Changed wolfSSL_CTX_SetTmpEC_DHE_Sz to support a size == 0 for using the long-term private key's size. Changed ECDHE_SIZE so it can be overridden and build-time. Added tests for wolfSSL_CTX_SetTmpEC_DHE_Sz and wolfSSL_SetTmpEC_DHE_Sz. 2018-10-25 09:15:23 -07:00
toddouska
23445546c5 Merge pull request #1892 from dgarske/ecdhe_keysize
Fix for ephemeral key size selection
2018-10-25 07:27:20 -07:00
David Garske
c4d6f886b7 Revert change from PR #1845 commit 24f9f12844. This ensure the ephemeral key is P-256 or the overridden value determined by wolfSSL_CTX_SetTmpEC_DHE_Sz and wolfSSL_SetTmpEC_DHE_Sz. This restores previous behavior from last release. 2018-10-24 09:48:03 -07:00
toddouska
0eb115e7a1 Merge pull request #1884 from kaleb-himes/ECC_DISABLED_TEST_FIX
Fixes to resolve skipped tests with ECC disabled
2018-10-24 09:30:47 -07:00
Sean Parkinson
7586e1df42 Only do early data in initial handshake when using PSK 2018-10-24 09:47:30 +10:00
toddouska
c173d72423 Merge pull request #1891 from SparkiDev/nginx-1.15.5
Add defines for latest nginx
2018-10-23 08:07:52 -07:00
Sean Parkinson
ef8b564d2e Add defines for latest nginx 2018-10-23 22:08:44 +10:00
toddouska
22aa01a547 Merge pull request #1881 from SparkiDev/pkcs7_no_si
Return error when attempting to verify signed data without signers
2018-10-22 15:00:55 -07:00
toddouska
878b5925fc Merge pull request #1877 from dgarske/pkcs8_ec
Added support for ECC private key with PKCS8 encoding
2018-10-22 14:59:10 -07:00
toddouska
42fecee77b Merge pull request #1859 from SparkiDev/pkcs7-cons
Support constructed OCTET_STRING in PKCS#7 signed data
2018-10-22 14:52:50 -07:00
Chris Conlon
353f9018f5 Merge pull request #1890 from miyazakh/jamsg
Added Japanese message into the examples client and server
2018-10-22 13:44:11 -06:00
David Garske
0b720c4412 Fixes for TLSv1.3 early data. 2018-10-22 11:35:40 -07:00
Chris Conlon
96abf43238 Merge pull request #1888 from MJSPollard/nidFIX
Fixed compilation issues with Asio, Websocket++, and HAProxy
2018-10-22 10:19:05 -06:00
Hideki Miyazaki
6953677a8f Keep the max line length to 80 2018-10-20 17:15:17 +09:00
Hideki Miyazaki
a27b4c2efb Added Japanese message into the examples client and server 2018-10-20 13:40:01 +09:00
David Garske
7ce236f3af Fix for new test_wolfSSL_PKCS8 changes to init/free the ecc_key. 2018-10-19 16:04:02 -07:00
Takashi Kojo
dabeccca27 README_en 2018-10-20 07:59:22 +09:00
Takashi Kojo
f2ef67446d T4 demo 2018-10-20 07:21:52 +09:00
David Garske
c268829b68 Fix bug with SendClientKeyExchange and ifdef logic for ecdhe_psk_kea, which was preventing ECDHE-PSK from working if HAVE_CURVE25519 was defined. Disabled broken downgrade test in test-tls13-down.conf (@SpariDev will need to investigate). Various spelling fixes. 2018-10-19 13:21:56 -07:00
Carie Pointer
fac6ce794d Fix HAProxy redefinition warning 2018-10-19 12:14:57 -06:00
MJSPollard
355184bc9b added fix for failing asio and haproxy tests 2018-10-18 17:32:42 -06:00
David Garske
4a4ae446aa Fix for unit.test fails with -H verifyFail. 2018-10-18 11:58:00 -07:00
David Garske
84fb23cfab Merge pull request #1880 from kojo1/NID
NID definitions are in asn.h
2018-10-18 09:48:20 -07:00
Sean Parkinson
7551e49fed Improvements for PKCS#11 library 2018-10-18 17:31:17 +10:00
Sean Parkinson
67bb558025 Return error when attempting to verify signed data without signers 2018-10-18 13:44:13 +10:00
Takashi Kojo
8a872891c5 NID_domainComponent is moved to asn.h 2018-10-18 09:28:15 +09:00
kaleb-himes
cdd8f6b950 Macro guard on cipher suite added - Thanks Jacob\! 2018-10-17 16:44:47 -06:00
kaleb-himes
dc519e6a45 When no cert specified using default, do not return failure in suite tests 2018-10-17 15:20:39 -06:00
David Garske
095337b1cf Merge pull request #1878 from kaleb-himes/TEST_COVERAGE_3
Test coverage 3
2018-10-17 13:47:10 -07:00
toddouska
dcb105deff Merge pull request #1876 from dgarske/max_frag_256
Added new 256-byte max fragment option `WOLFSSL_MFL_2_8`
2018-10-17 13:21:57 -07:00
David Garske
8b529d3d57 Add test for ECC private key with PKCS 8 encoding (no crypt) and -----BEGIN EC PRIVATE KEY----- header. 2018-10-17 10:01:29 -07:00
kaleb-himes
5ca822b1e9 Peer review changes requested 2018-10-17 10:46:45 -06:00
toddouska
7391f4db90 Merge pull request #1815 from dgarske/atecc508_fixes
Fixes for ATECC508A
2018-10-17 08:35:09 -07:00
toddouska
969098518f Merge pull request #1873 from dgarske/fix_async_multi_rec
Fixes and improvements for wolfSSL asynchronous mode
2018-10-17 08:23:27 -07:00
kaleb-himes
2aa6f91144 Reset IV after update via call to encrypt 2018-10-16 18:31:16 -06:00
David Garske
0d7d8f54e0 Added support for ECC private key with PKCS8 parsing. Fix is to attempt pkcs8 parse for -----BEGIN EC PRIVATE KEY----- and if parse fails to treat as normal private key. ZD 4379. 2018-10-16 16:56:42 -07:00
David Garske
d7d102d90a Added cipher suite unit tests for max fragment options 1-6 for TLS v1.2 and DTLS v1.2. Fix for client usage comment for max fragment. 2018-10-16 16:47:24 -07:00
David Garske
ab61cefa58 Fix max frag error case tests to use min/max. 2018-10-16 08:58:46 -07:00
David Garske
4adaeb8585 Added new 256-byte max fragment option WOLFSSL_MFL_2_8. 2018-10-15 17:06:21 -07:00
David Garske
e53694b351 Fix for shared secret callback for client side, where it was not using the provided peer's public key. Fix for ATECC508A to put it into idle mode after operations to prevent watchdog fault mode (can be disabled by defining WOLFSSL_ATECC508A_NOIDLE). Fixes for callbacks to support using software for non P-256 curves (can be disabled by defining WOLFSSL_ATECC508A_NOSOFTECC). 2018-10-15 16:01:04 -07:00
David Garske
bd57f5b385 Fix to resolve possible buffer overflow with atmel_get_rev_info when using byte. 2018-10-15 14:17:43 -07:00
David Garske
177bf49fa6 Updates to the atmel.c code to allow easier customization of the hardware interface. 2018-10-15 14:17:43 -07:00
David Garske
bb737ec99d Fixes for building against latest CryptoAuthLib. Refactor to eliminate the atcatls function calls, since these have been removed from latest CryptoAuthLib. Cleanup of the slot assignment handling. 2018-10-15 14:17:43 -07:00
David Garske
d67cb9e875 Added new build option for Microchip CryptoAuthLib (--enable-cryptoauthlib). Build fixes with WOLFSSL_ATECC508A enabled. 2018-10-15 14:17:43 -07:00
David Garske
ba9f21bad6 Improvements to the ATECC508A README.md. 2018-10-15 14:17:42 -07:00
David Garske
c51c607e96 Fix to use inLen for raw public key copy. No need to throw an error for other curve types as this function may be used for software only import/export. In the TLS case with only SECP256R1 there are other places where an error will be thrown. 2018-10-15 14:17:42 -07:00
David Garske
53c2264327 Fix for checking the inLen when setting raw public key len for hardware. Finished the ATECC508A ECC functions to support native TLS with the WOLFSSL_ATECC508A option and SECP256R1. Added slot type for alloc/free. Added helper functions for setting the PK callbacks and custom content. Updated the README.md with build options. Added support for overriding the ATECC_MAX_SLOT. Added overridable define for encryption slot number ATECC_SLOT_I2C_ENC. Added new build option WOLFSSL_ATECC_PKCB for using just the reference PK callbacks. 2018-10-15 14:17:42 -07:00
David Garske
7074625048 Added slot callbacks. Improvements for the Atmel time support. Fix to make sure read encryption key is cleared from stack buffer. 2018-10-15 14:17:42 -07:00
David Garske
e78ddfce75 Fix for wc_ecc_import_x963_ex to handle ATECC508A raw public key. Cleanup of the ATECC508A encryption key support. Added new macro ATCA_TLS_GET_ENC_KEY to allow setting your own function at build-time for getting the encryption key. 2018-10-15 14:17:42 -07:00
David Garske
be318abbc2 Fixes for building with WOLFSSL_ATECC508A with latest atca. 2018-10-15 14:17:42 -07:00
David Garske
7c3313481a Fix for memory cleanup cases in MakeTlsMasterSecret. 2018-10-15 13:22:55 -07:00
toddouska
f7eb8bf080 Merge pull request #1874 from JacobBarthelmeh/HardwareAcc
fix for afalg header install and macro set
2018-10-15 11:51:10 -07:00
Jacob Barthelmeh
23ef832dd3 fix for afalg header install and macro set 2018-10-12 15:45:46 -06:00
David Garske
a0608151cf Fix for the WOLFSSL_NONBLOCK_OCSP case to reset the error code as well. 2018-10-12 11:20:13 -07:00
David Garske
5904a97378 Added comments in aes.c for locating software implementation of algorithm using Software AES. 2018-10-12 10:48:26 -07:00
David Garske
23a0f3cfa1 Added new WOLFSSL_SSLKEYLOGFILE define to output master secret used by Wireshark logging to file. Defaults to sslkeylog.log, but can be overridden using WOLFSSL_SSLKEYLOGFILE_OUTPUT. 2018-10-12 10:47:30 -07:00
David Garske
52210c9d16 Improved error trapping in BuildTlsHandshakeHash, without altering timing. 2018-10-12 10:45:47 -07:00
David Garske
fc77ed068c Fix for verify callback to not report override when there is no error. Cleanup of the myVerify example callback return code handling. 2018-10-12 10:45:20 -07:00
David Garske
6fbeae8f11 Fixes for building with WC_ASYNC_NO_SHA256. Improvements with WC_ASYNC_NO_HASH or WC_ASYNC_ENABLE_ECC to avoid unnecessary memory allocations. 2018-10-12 10:44:26 -07:00
David Garske
fec726f10a Fix for async issue with receiving multiple TLS records (server_key_exchange and server_hello_done) in same packet, which may miss call to DoHandShakeMsgType -> HashInput because ssl->error is still marked pending WC_PENDING_E. 2018-10-12 10:39:40 -07:00
Chris Conlon
45eb3ae72d Merge pull request #1871 from miyazakh/work
Added Japanese messages that can be enabled by option switch
2018-10-12 10:54:59 -06:00
toddouska
0b78b75530 Merge pull request #1860 from dgarske/tls_either_side
Methods cleanup and new DTLS "either" side methods
2018-10-12 07:35:17 -07:00
Hideki Miyazaki
1a34b9da03 Added NO_RSA condition for build failure 2018-10-12 11:02:01 +09:00
David Garske
19905b7798 Merge pull request #1872 from ejohnstown/ext-skip
Skip Server Supported Curve Extension
2018-10-11 17:47:08 -07:00
David Garske
1fd791da21 Fix to check response code on InitSSL_Side calls. 2018-10-11 15:50:22 -07:00
John Safranek
b404d4805f Skip Server Supported Curve Extension
Added a build option, WOLFSSL_ALLOW_SERVER_SC_EXT, that skips the
client's parsing of the supported curve extension if sent by the
server for sessions using < TLSv1.3. The server doesn't need to send it
and the RFCs don't specify what should happen if it does in TLSv1.2, but
it is sent in response from one particular Java based TLS server.
2018-10-11 15:21:32 -07:00
Hideki Miyazaki
63878f32ab Fixed tests failures on jenkins 2018-10-11 21:43:39 +09:00
Hideki Miyazaki
b736012214 Fixed disable Option Test on jenkins 2018-10-11 19:40:35 +09:00
Hideki Miyazaki
e774bfcf60 Tweaked message in Usage 2018-10-11 18:06:02 +09:00
Hideki Miyazaki
b4b180c1b9 Added Japanese messages that are enabled by option switch 2018-10-11 15:42:50 +09:00
David Garske
9a0ecd4eb6 Merge pull request #1870 from tmael/AddressingCodeCoverage
Addressing code coverage
2018-10-10 14:46:32 -07:00
kaleb-himes
f9ff151ee7 wolfSSL_AES_cbc_encrypt unit test refactor, TODO: Decrypt 2018-10-10 16:16:57 -04:00
kaleb-himes
23797ab4cb wolfSSL_AES_cbc_encrypt unit tests, TODO: Decrypt 2018-10-10 15:59:10 -04:00
Tesfa Mael
5d047cc4d9 Added test_wc_curve25519_size to increase code coverage 2018-10-10 12:46:25 -07:00
Tesfa Mael
8f1ad656c2 Improving code coverage 2018-10-09 16:13:26 -07:00
David Garske
0293686990 Added example client/server support for loading certificate and private key into WOLFSSL object using -H loadSSL. Added load_ssl_buffer function to load buffers into WOLFSSL objects. Changed wolfSSL_get_SSL_CTX API to always be exposed. Added TEST_LOAD_BUFFER build option to use the load_buffer and load_ssl_buffer calls for example client/server. 2018-10-09 12:54:41 -07:00
David Garske
7a3a314ece Merge pull request #1868 from kaleb-himes/TEST_COVERAGE_2
Test coverage 2
2018-10-09 11:16:31 -07:00
toddouska
355048230f Merge pull request #1866 from dgarske/openssl_leak_fix
Fix leaks in compatibility functions `wolfSSL_X509_print` and `wolfSSL_i2d_RSAPublicKey`
2018-10-08 09:38:26 -07:00
toddouska
7a02832547 Merge pull request #1849 from dgarske/asn_piv
Added ASN certificate PIV and GZIP support
2018-10-08 09:32:19 -07:00
Kaleb Himes
c6e3e34ff7 Remove unused macro 2018-10-08 09:35:37 -06:00
David Garske
1ed50a40e7 Fix for wolfSSL_i2d_RSAPublicKey leak. 2018-10-05 14:09:12 -07:00
kaleb-himes
66420db07c Initializing coverage for CRL APIs 2018-10-05 15:05:03 -06:00
Takashi Kojo
93c85caec4 Merge pull request #1867 from miyazakh/work
fixed typo
2018-10-05 16:26:00 +09:00
Hideki Miyazaki
67cab29d81 fixed typo 2018-10-04 21:02:22 -07:00
David Garske
cec61ac3c9 Fix for leak in wolfSSL_X509_print, where the RsaKey is not free'd. Cleanup of formatting. 2018-10-04 16:51:51 -07:00
David Garske
1d7c4f96fa Fix windows build warning with side data type mismatch. 2018-10-04 16:10:50 -07:00
David Garske
319096e7e7 Fix indent for error case. 2018-10-04 16:07:35 -07:00
David Garske
bbdb17975c Adds build option WOLFSSL_EITHER_SIDE for deferring the "side" of the TLS session until first connect or accept. Added the DTLS generic v1.0 and v1.2 methods for "either" side. Added "either" methods unit tests. Added "either" -v e support to example client/server. Fix to expose wolfSSL_use_certificate_file and wolfSSL_use_PrivateKey_file without OPENSSL_EXTRA. Cleanup of the methods for (void)heap and log messages. Spelling fixes. 2018-10-04 15:47:50 -07:00
toddouska
846ae06ae9 Merge pull request #1863 from tmael/mingw32Fix
Fixed MINGW32 build errors
2018-10-04 09:15:01 -07:00
David Garske
0ec9b28402 Added GZIP compression tests. Added new wc_Compress_ex API to support GZIP compression option. 2018-10-03 16:29:45 -07:00
kaleb-himes
08654ce71d Start hitting up the stubs, more to come 2018-10-03 17:01:12 -06:00
Tesfa
f83ea9a9d5 Fixed MINGW32 build errors 2018-10-03 13:58:51 -07:00
John Safranek
d473fd38ab Merge pull request #1861 from dgarske/coding_cleanup
Cleanup of the base64/base16 start hex values
2018-10-03 09:36:49 -07:00
David Garske
c619bfebda Add test for NIST PIV case. 2018-10-02 17:08:27 -07:00
David Garske
f0350c1efb Refactor of the wc_ParseCertPIV to support detection of Identiv format header. Added flag to indicate Identiv type. Added wolfCrypt test for wc_ParseCertPIV function with Identiv PIV template. 2018-10-02 17:01:56 -07:00
David Garske
0c72dee315 Fixes for building with ./configure --enable-asn=nocrypt. Added wolfCrypt test template for certpiv_test, pending test PIV certs to use. 2018-10-02 15:18:57 -07:00
David Garske
680a863054 Added support for building with certificate parsing only. ./configure --enable-asn=nocrypt. Added new API for parsing PIV format certificates wc_ParseCertPIV with WOLFSSL_CERT_PIV build option. Added wc_DeCompress_ex with ability to decompress GZIP. Moved the ZLIB error codes into wolfCrypt. 2018-10-02 15:18:56 -07:00
Sean Parkinson
0829af7a05 Support constructed OCTET_STRING in PKCS#7 signed data 2018-10-03 07:51:37 +10:00
David Garske
cfba86d3ab Further cleanup of the Base64 and Base16 encoding start/min value. 2018-10-02 14:38:08 -07:00
David Garske
be2f68d183 Cleanup of the base64 decode start hex 0x2b. 2018-10-02 08:33:45 -07:00
David Garske
4ca7460735 Merge pull request #1856 from ejohnstown/version-indication
Windows DLL Version Resource
2018-10-01 12:51:38 -07:00
David Garske
142111da3b Merge pull request #1857 from kaleb-himes/MORE_TEST_COVERAGE
Add more coverage cases to unit tests
2018-10-01 12:19:12 -07:00
John Safranek
8f36a78a71 Exclude the version resource from the static library builds. It triggers a linker warning for Win32 builds and it isn't used in the static builds. 2018-10-01 10:37:45 -07:00
kaleb-himes
1f643800a6 Add more coverage cases to unit tests 2018-09-28 15:32:16 -06:00
John Safranek
05ca60a266 Add a version resource to the wolfSSL library for Visual Studio builds. 2018-09-28 11:46:22 -07:00
Chris Conlon
13bf2fc342 Merge pull request #1854 from dgarske/fix_ecdsa_sig_leak
Fix for leak with openssl compatibility API and normal math
2018-09-28 09:26:26 -06:00
David Garske
f19f803098 Fix for possible leak with openssl comatibility API wolfSSL_d2i_ECDSA_SIG when fast math is disabled. 2018-09-27 11:39:30 -07:00
David Garske
6d18f58f81 Merge pull request #1848 from JacobBarthelmeh/Benchmark
changes to benchmark app
2018-09-26 15:10:20 -07:00
Chris Conlon
d30c45a79c Merge pull request #1637 from ghoso/openssl_compat201805
OpenSSL Compatibility APIs 2018/06
2018-09-26 14:54:14 -06:00
Kaleb Himes
5cd428eaa8 Merge pull request #1853 from dgarske/mp_add_d
Fixes for missing `mp_add_d`
2018-09-26 13:50:14 -06:00
JacobBarthelmeh
fc81467715 Merge pull request #1851 from dgarske/lighttpd_fix
Lighttpd fixes
2018-09-26 13:24:16 -06:00
Jacob Barthelmeh
d0abc10fe9 update RSA keygen benchmark and test with asynccrypt 2018-09-26 13:10:05 -06:00
Chris Conlon
8ccd715f31 Merge branch 'master' into openssl_compat201805 2018-09-26 11:06:26 -06:00
David Garske
441c0492f6 Fixes for missing mp_add_d. Fix for IDE/GCC-ARM user_settings.h to remove redudant USE_FAST_MATH option. 2018-09-26 08:34:08 -07:00
David Garske
6e629a51f8 Added test case for scenario where error is pushed, cleared then try to get current. Without fix to clear wc_current_node in wc_ClearErrorNodes this causes access to invalid/free'd memory. 2018-09-26 08:16:58 -07:00
David Garske
3c828c0547 Merge pull request #1850 from ejohnstown/const
DecodedCert der to const
2018-09-26 07:52:19 -07:00
David Garske
1bf7cad633 Fix for case where wc_ClearErrorNodes is called, but then wc_PullErrorNode is called and wc_current_node is populated with invalid ->next pointer. 2018-09-25 16:13:13 -07:00
David Garske
d7249068db Fix for Lighttpd 1.4.49, which requires HAVE_EX_DATA. 2018-09-25 15:14:57 -07:00
John Safranek
18a27cfe75 Changed the DecodedCert's der pointer to be a pointer to const. The
DecodedCert doesn't own the der value, so it should be const. Had to
make many other changes downstream of this.
2018-09-25 12:55:52 -07:00
Go Hosohara
52b5fe569b restore PR#1819 to pass Jenkins tests. 2018-09-25 18:04:27 +09:00
Go Hosohara
ff5506faf2 define wolfSSL_OPENSSL_add_all_alogrithms_noconf alias for wolfSSL_OpenSSL_add_all_algorithms_noconf and some fixes 2018-09-25 15:39:56 +09:00
Takashi Kojo
71863c462e (void) for unused in NO_RSA case 2018-09-25 15:39:56 +09:00
Takashi Kojo
dc06bb075d moving and consoridating NID defines to enum in asn.h 2018-09-25 15:39:56 +09:00
Takashi Kojo
01654dac1a minor fix 2018-09-25 15:39:56 +09:00
Go Hosohara
cfa99c567b merge PR #1820 Porting aid 2018-09-25 15:39:56 +09:00
Go Hosohara
ca9f62713d fix test_wolfSSL_CTX_load_verify_locations() build error 2018-09-25 15:39:56 +09:00
Takashi Kojo
cf5377ec5b Revert "fix api.c error code to fit into"
This reverts commit 9eddc2ed3598dbede3c6a3aa1e0b50e111369d63.
2018-09-25 15:39:56 +09:00
Takashi Kojo
921992e689 fix api.c error code to fit into 2018-09-25 15:39:55 +09:00
Go Hosohara
d9c0e1ddde increase memory bucket size 2018-09-25 15:39:55 +09:00
Takashi Kojo
c28e981b9b avoid shadow 2018-09-25 15:39:55 +09:00
Go Hosohara
c7cfa74577 Fix some flaws caused by rebase 2018-09-25 15:39:55 +09:00
Takashi Kojo
a189d00fc9 Refactor cs+ project 2018-09-25 15:39:55 +09:00
Takashi Kojo
3c93d4e638 KEEP_STORE_CERTS release elimination, limited to FreeX509 in X509_STORE_CTX 2018-09-25 15:39:55 +09:00
Takashi Kojo
226bc54b57 ctx->ourCert keeps duplicated x509 2018-09-25 15:39:55 +09:00
Takashi Kojo
8a046b0bac WOLFSSL_KEEP_STORE_CERTS for wolfSSL_X509_free 2018-09-25 15:39:55 +09:00
Takashi Kojo
59beba6338 WOLFSSL_CIPHER_INTERNALNAME option 2018-09-25 15:39:55 +09:00
Go Hosohara
c3abb6c0cd HAVE_HTTP_CLIENT is disabled if WOLFSSL_USER_IO is defined in wolfsssl/wolfio.h 2018-09-25 15:39:55 +09:00
Takashi Kojo
93e1221894 WOLFSSL_KEEP_STORE_CERTS for X509_STOREmake 2018-09-25 15:39:55 +09:00
Takashi Kojo
9ea88b5181 wc_PKCS12_free, EVP_PKEY_free for PKCS12 in test_wolfSSL_OBJ 2018-09-25 15:39:55 +09:00
Takashi Kojo
89dcbd6693 set dynamic flag when wolfSSL_ASN1_OBJECT_new() 2018-09-25 15:39:55 +09:00
Takashi Kojo
511b59cf73 set dynamic flag in ASN1_OBJECT_new 2018-09-25 15:39:55 +09:00
Takashi Kojo
9ae3ccb3ba OBJ_sn2nid with OPENSSL_EXTRA_X509_SMALL 2018-09-25 15:39:55 +09:00
Takashi Kojo
094141b4ea initiallizing asn1Name 2018-09-25 15:39:55 +09:00
Takashi Kojo
7d2a03f8c9 OBJ_obj2nid memory leak 2018-09-25 15:39:55 +09:00
Go Hosohara
2669b80943 Fix crashed issue if you call X509_free() after X509_STOER_CTX_free() 2018-09-25 15:39:55 +09:00
Go Hosohara
5de7a34fd4 Add memory free to prevent from leaking 2018-09-25 15:39:55 +09:00
Go Hosohara
1c627430c7 increase wolfcrypt test program memory size along to WOLFSSL structure modificaiton.
rebase with master branch
2018-09-25 15:39:55 +09:00
Go Hosohara
1d1f4df8cb Fix XBADFILE typo 2018-09-25 15:39:55 +09:00
Takashi Kojo
7af43b6cf0 test_wolfSSL_OBJ with NO_DES3, NO_RSA 2018-09-25 15:39:55 +09:00
Takashi Kojo
7767d802b7 arg_obj check has done before 2018-09-25 15:39:55 +09:00
Takashi Kojo
c673884cbb #ifdef HAVE_ECC to OBJ_nid2obj, and its test in api.c 2018-09-25 15:39:55 +09:00
Takashi Kojo
4d03b55fef XBADFILE in bio.c 2018-09-25 15:39:55 +09:00
Go Hosohara
fd634141bd wolfSSL_get_rbio,wolfSSL_get_wbio.
fix to check XBADFILE in wolfSSL_BIO_write_file.
2018-09-25 15:39:55 +09:00
Go Hosohara
fd01659baa Obj_obj2nid 2018-09-25 15:39:55 +09:00
Go Hosohara
19c1a3a3f9 Fix i2d_RSAPublicKey() memory leak issue. 2018-09-25 15:39:55 +09:00
Go Hosohara
3f993c280c Change buffer variable name for preventing from conflict with debug option. 2018-09-25 15:39:54 +09:00
Go Hosohara
3f82fb62a0 SSL_get_peer_cert_chain() count value check in api.c 2018-09-25 15:39:54 +09:00
Takashi Kojo
259d3b5720 WOLFSSL_USER_FILESYSTEM option 2018-09-25 15:39:54 +09:00
Takashi Kojo
1e87eae3b7 i2d_RSAPublicKey(rsa, NULL) 2018-09-25 15:39:54 +09:00
Takashi Kojo
52cee17668 use XSEEK_END 2018-09-25 15:39:54 +09:00
Takashi Kojo
e6612b34f7 use XFILE, BADFILE, XFxxxx 2018-09-25 15:39:54 +09:00
Takashi Kojo
787fa5d49a get name in X509_NAME_get_entry 2018-09-25 15:39:54 +09:00
Go Hosohara
3bf776baf4 wolfSSL_ASN1_TIME_get_data() changed 2018-09-25 15:39:54 +09:00
Go Hosohara
29d3303995 Add tests for d2i_PKCS12_fp,i2d_RSAPublicKey,RSA_verify and X509_print 2018-09-25 15:39:54 +09:00
Go Hosohara
b588e6ab29 ERR_peek_last_error() and SSL_get_SSL_CTX reference error on opensslextra.
Implemented wolfSSL_X509_get_version().
2018-09-25 15:39:54 +09:00
Go Hosohara
e79cdefcde X509_NAME_ENTRY_get_object 2018-09-25 15:39:54 +09:00
Go Hosohara
2922a93bf7 PEM_read_X509_CRL 2018-09-25 15:39:54 +09:00
Go Hosohara
050fa2f8f8 wolfSSL_X509_CA_num() 2018-09-25 15:39:54 +09:00
Go Hosohara
aaa26f3f41 wolfSSL_ASN1_TIME_get_data() 2018-09-25 15:39:54 +09:00
Go Hosohara
a002a6715f wolfSSL_ASN1_TIME_get_length() 2018-09-25 15:39:54 +09:00
Go Hosohara
98ae3bb7fd Add define for OpenSSL API. 2018-09-25 15:39:54 +09:00
Sean Parkinson
741301bb2c Single Precision: ARM Thumb assembly implementation
Remove AVX2 code from platform specific code that doesn't support it.
Fix sp_lshd to memmove correct amount.
2018-09-25 09:10:45 +10:00
Sean Parkinson
c4e1cdf335 Merge pull request #1845 from dgarske/tls_curve_order
TLS supported curve selection fixes
2018-09-25 08:26:14 +10:00
Jacob Barthelmeh
27aaedf37c add -rsa-sz which benches any RSA key size 2018-09-24 16:21:13 -06:00
JacobBarthelmeh
4855246fc6 Merge pull request #1847 from kaleb-himes/ASN_T_LONG
Address a potential out of bounds write
2018-09-24 10:51:49 -06:00
JacobBarthelmeh
3be25441fa Merge pull request #1843 from dgarske/async_fixes
Fixes for wolfCrypt async use with TLS
2018-09-24 09:51:19 -06:00
JacobBarthelmeh
0efc637d2d Merge pull request #1834 from SparkiDev/pkcs11
Support for PKCS#11
2018-09-24 09:41:45 -06:00
David Garske
038b5e8a66 Fix comment spelling error. 2018-09-24 07:23:54 -07:00
Sean Parkinson
d273d1dc81 Fixes from review 2018-09-24 08:44:31 +10:00
Sean Parkinson
3a72cf7996 Fixes from review 2018-09-24 08:41:25 +10:00
Sean Parkinson
f7f158cbd9 Fix encode and decoding of EC signature 2018-09-24 08:41:25 +10:00
Sean Parkinson
77a81057be Casting fixes 2018-09-24 08:41:25 +10:00
Sean Parkinson
5744e4227d Rewrote the public pkcs11 headers
Fixed file name in comment.
2018-09-24 08:41:25 +10:00
Sean Parkinson
8a5a03ea35 Support for PKCS#11
Support for RSA, ECDSA and AES-GCM operations.
2018-09-24 08:41:25 +10:00
David Garske
dfec7f2263 Fix for TLS v1.3 async case with cipher suite TLS_AES_128_GCM_SHA256 and RSA key type. Fix for issue with long cipher suite name test for TLS 1.3. 2018-09-21 16:30:05 -07:00
kaleb-himes
29d60ec7e9 Changed to MAX over LONG based on peer review 2018-09-21 17:09:37 -06:00
kaleb-himes
fc77590c4e Address a potential out of bounds write 2018-09-21 17:02:56 -06:00
David Garske
b2575b0b60 Fix to only skip early key free if async pending. 2018-09-21 15:13:15 -07:00
David Garske
e07e8a6a6e Merge pull request #1846 from cconlon/validity
fix daysValid seconds calculation
2018-09-21 12:02:11 -07:00
Chris Conlon
0591b18339 fix daysValid seconds calculation 2018-09-21 11:04:39 -06:00
David Garske
a643aeac41 * Fixes for async with TLS where keys are being free'd too soon.
* Fix for possible NULL RNG case in mp_rand.
* Fix for memory macros to handle expression for `HEAP`.
* Fix for possible unknown uint32_t type with mem track.
* Fix for double Alloc/Free print when using track and debug memory at same time.
* Fix for building with `./configure CFLAGS="-DECC_USER_CURVES -DNO_ECC256 -DHAVE_ECC160"`
* Performance improvements for cases with `WC_ASYNC_NO_HASH` and `WC_ASYNC_ENABLE_SHA256`.
2018-09-21 09:33:40 -07:00
David Garske
24f9f12844 Fix for the curve logic to pick the hightest strength, not just the default 256-bit. Added test for setting user curve. ./examples -H useSupCurve. 2018-09-21 09:27:48 -07:00
David Garske
39019c2418 Re-order the default supported curve groups by strength. Some TLS servers pick the top choice instead of the strongest. 2018-09-21 08:54:32 -07:00
David Garske
a5fffdbbb7 Merge pull request #1844 from kaleb-himes/CERT_UPDATE_FIX
Cert update fix
2018-09-20 18:06:16 -07:00
David Garske
dfb9db2b8d Merge pull request #1832 from JacobBarthelmeh/HardwareAcc
Linux /dev/crypto SHA256 and AES
2018-09-20 18:05:35 -07:00
kaleb-himes
dc942bf9cb Remove unnecessary duplicate revocation 2018-09-20 16:54:35 -06:00
kaleb-himes
ea06a3e8cb Resolve some persistent error report when conf not passed to req 2018-09-20 16:50:02 -06:00
Jacob Barthelmeh
fe2f9d4aa4 minor adjustments and add README 2018-09-20 15:59:29 -06:00
David Garske
427c62e04a Merge pull request #1841 from kaleb-himes/CERT_UPDATE_REFACTOR
Cert update refactor
2018-09-20 14:24:06 -07:00
kaleb-himes
54e04dd312 posix compliance enhancements for portability 2018-09-20 10:30:11 -06:00
toddouska
4177c2f316 Merge pull request #1839 from ejohnstown/rng
RNG Update
2018-09-20 08:49:39 -07:00
David Garske
c225b45364 Merge pull request #1842 from kaleb-himes/NO_SHA_CRL_ON_BUILD_FAILURE
Update certs to address nightly failure with disable sha enable crl
2018-09-20 06:09:29 -07:00
kaleb-himes
17ebb0ea49 Update certs to address nightly failure with disable sha enable crl 2018-09-19 15:22:08 -06:00
Kaleb Himes
afcdfd70fe Merge pull request #1840 from embhorn/fix_renewcerts
Revert addition of OIDs to cnf
2018-09-19 15:11:20 -06:00
kaleb-himes
f3fd67c54b White space updates and revert cnf changes in lieu of PR #1734 2018-09-19 14:54:19 -06:00
kaleb-himes
4f6ee556dc Refactor the cert renewal scripts with error handling
Portability updates
2018-09-19 14:47:21 -06:00
Jacob Barthelmeh
96a7e366bc testing with valgrind and static analysis tools 2018-09-19 14:29:33 -06:00
Jacob Barthelmeh
2e88151cfd crypto only sha256 cryptodev
formating and refactoring

update configure for devcrypto

add AES algorithms to cyrptodev port

increase structure size for compatibility AES with cryptodev

add wc_devcrypto.h to install path
2018-09-19 10:41:29 -06:00
John Safranek
951bd5a01a FIPSv2: RNG Update
1. Put the SeedTest function in the HASH_DRBG scope.
2018-09-19 07:22:04 -07:00
Eric Blankenhorn
b1b7093a1d Revert addition of OIDs to cnf 2018-09-19 08:01:40 -05:00
John Safranek
8972867ada FIPSv2: RNG Update
1. Updated the IDE/WIN10 user settings to enable RDSEED by default.
2. Updated the Windows GenerateSeed() function to take into account the
RDSEED enabled setting.
3. Exclude the TestSeed() function check for the "selftest" build as
well as old FIPS.
2018-09-18 16:08:35 -07:00
John Safranek
582cf3182e FIPSv2: RNG Update
1. Update the SEED_BLOCK_SZ to 4 for non-FIPS builds.
2. Change fips-check.sh to skip copying over the random.{c,h} files for
now. Need the tagged versions of the other files and the new random for
now.
2018-09-18 14:36:43 -07:00
John Safranek
4aa85f956f FIPSv2: RNG Update
1. The wolfcrypt test shouldn't check TestSeed() for old FIPS builds.
2018-09-18 14:36:42 -07:00
John Safranek
b9a850575f FIPSv2: RNG Update
1. For non-FIPS builds, lower the entropy request size to the old value.
2. Added a consistency check to the result of the entropy source. The test
involves requesting an additional 64-bits, then doing a running
comparison of each block of 64-bits. The first block of bits is ignored.
3. Refactored the RNG seeding a bit. Renamed all variables with
"entropy" in the name as "seed". Renamed the constants for entropy sizes
as seed sizes. Changed the security strength to its actual value and
introduced an entropy scaling factor for the number of bits of entropy
per bit and a size for the NDRBG block size.
4. Changed it so the user can change the parameters for the RNG at the
build configuration. If using FIPSv2, triggers an error if the paramters
are changed.
2018-09-18 14:36:42 -07:00
Chris Conlon
085daa78cd Merge pull request #1833 from dgarske/norng_fixes
Fixes for building without RNG enabled
2018-09-18 14:52:21 -06:00
David Garske
4981480215 Fix to make sure wc_RNG_GenerateBlock return code is checked in test.h GetRandomPort. 2018-09-18 12:55:52 -07:00
David Garske
9e305a01b4 More fixes for building with ./configure --disable-rng. 2018-09-18 11:17:39 -07:00
David Garske
d05423af7e Merge pull request #1835 from danielinux/fix-fall-through-define-typo
Fixed typo in the definition of macro FALL_THROUGH
2018-09-18 07:01:15 -07:00
David Garske
b832b7bad3 Fixes for building with ./configure --enable-opensslextra --disable-hashdrbg --disable-rng --enable-cryptonly --disable-dh --disable-rsa --disable-ecc. 2018-09-17 09:38:45 -07:00
David Garske
14815431e7 Merge pull request #1836 from kaleb-himes/MP_SET_IMPL_DEC_FIX
mp_set pre-processor logic in fastmath breaking existing builds, norm…
2018-09-14 16:44:29 -07:00
David Garske
2e4c07ed93 Fixes and improvements for handling the --disable-rng case. Valid make check tests requires wolfCrypt only and no asymmetric crypto (./configure --disable-rng --enable-cryptonly --disable-dh --disable-rsa --disable-ecc). 2018-09-14 14:09:27 -07:00
kaleb-himes
301e91e4d3 mp_set pre-processor logic in fastmath breaking existing builds, normal math not effected 2018-09-14 14:29:19 -06:00
Jacob Barthelmeh
04c444af35 add wolfSSL version print out to benchmark app 2018-09-14 14:17:49 -06:00
David Garske
32d3cb6cfb Fixes for case with Intel rand source and no DRBG (./configure --enable-intelasm --enable-intelrand --disable-hashdrbg). Fixes to wolfSSL_RAND_egd to better handle no DRBG case. 2018-09-14 09:48:57 -07:00
Daniele Lacamera
a7ab98be69 Removed typo in the definition of macro FALL_THROUGH 2018-09-14 11:02:23 +02:00
Chris Conlon
fb699acec4 Merge pull request #1831 from MJSPollard/benchmarkCSV
added option to print wolfcrypt benchmark tests in CSV format
2018-09-13 16:16:09 -06:00
David Garske
a4d502e22a Additional fixes for no RNG cases. Specifically ./configure --disable-hashdrbg --disable-rng --enable-cryptonly 2018-09-13 14:07:08 -07:00
David Garske
77cd361bca Fixes for building with WC_NO_RNG. 2018-09-13 13:23:55 -07:00
toddouska
e071f1ca7e Merge pull request #1825 from SparkiDev/compat_apis_1
Add more compatability APIs.
2018-09-13 13:13:12 -07:00
Chris Conlon
8a6a9e7620 Merge pull request #1820 from kojo1/portingAid
Porting aid
2018-09-13 11:06:55 -06:00
MJSPollard
d4d6346ee5 fixed unused variable error 2018-09-13 08:47:01 -06:00
MJSPollard
7457ab3e14 added define to work with certain enabled options 2018-09-12 23:37:31 -06:00
MJSPollard
037151eae0 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into benchmarkCSV 2018-09-12 23:32:45 -06:00
abrahamsonn
1c25fc801e Changed up some words 2018-09-12 16:58:32 -06:00
abrahamsonn
4f95ba0f69 Where did a bunch of those links even come from? 2018-09-12 16:51:45 -06:00
Sean Parkinson
0275366fb6 Fixes from code review
Document how length of ECDSA signature calculated.
Check parameter not NULL before use.
Formatting fix.
Also, disable RSA test of EVP_DigestSign/Verify* when HAVE_USER_RSA.
2018-09-13 08:47:09 +10:00
abrahamsonn
e809fc2d5d Updated some of the links on the Doxygen page 2018-09-12 16:45:18 -06:00
toddouska
324235f698 Merge pull request #1823 from dgarske/cert_ext_only
Fix for build with cert extensions and openssl extra only
2018-09-12 13:03:37 -07:00
toddouska
581f72adf8 Merge pull request #1822 from dgarske/fixes_async
Fix for dh_test to make sure the provided agree size is populated
2018-09-12 13:03:04 -07:00
toddouska
5b985c7dbd Merge pull request #1821 from dgarske/nxp-ltc
Fixes for NXP LTC support with K82
2018-09-12 13:02:21 -07:00
John Safranek
b330c6e035 Merge pull request #1801 from kaleb-himes/OCSP-GLOBALSIGN-FIXr2
Address issues when testing with WOLFSSL_OCSP_TEST set
2018-09-12 11:36:41 -07:00
David Garske
bd1d36f0aa Merge pull request #1818 from aaronjense/IAR-EWARM-build-update
fixed compile time errors and warnings for IAR-EWARM projects
2018-09-12 11:15:59 -07:00
abrahamsonn
8aae8ceb2a Changed mobile viewport scale 2018-09-12 10:16:45 -06:00
Sean Parkinson
df20daa1ae Support RSA and ECC in wolfSSL_DigestSign/Verify* 2018-09-12 16:31:39 +10:00
Takashi Kojo
7ddc756d15 eliminate double semi-colon 2018-09-12 10:13:30 +09:00
Chris Conlon
66dc735454 Merge pull request #1830 from dgarske/renesas
Fixes for Renesas example projects
2018-09-11 15:40:00 -06:00
David Garske
4bbbb82a01 Merge pull request #1829 from embhorn/zd3928
Make DecodedCert elements available with WOLFSSL_CERT_EXT
2018-09-11 14:38:31 -07:00
MJSPollard
d280359548 added option to print wolfcrypt benchmark tests in CSV format 2018-09-11 14:49:54 -06:00
abrahamsonn
6876b7d98e Removed comment from HTML header 2018-09-11 13:35:49 -06:00
abrahamsonn
93e3db3ae2 Merge branch 'master' of https://github.com/wolfssl/wolfssl into doxygen-update 2018-09-11 13:33:47 -06:00
David Garske
0ad77628f1 Merge pull request #1827 from kaleb-himes/CPP_POLY1305
Fix for HAVE_POLY1305 without one time auth
2018-09-11 10:00:39 -07:00
David Garske
ca83f97508 Merge pull request #1828 from cconlon/nucleusfix
Pass arguments through to Nucleus memory functions in 1.2 build
2018-09-11 09:41:01 -07:00
David Garske
a63da76e07 Fixes for Renesas example projects. 2018-09-11 09:38:24 -07:00
Aaron
d658701350 Added NO_WOLF_C99 define, replaced sp.c with relevant sp_*.c, removed evp.c and bio.c from compiling seperately from ssl.c 2018-09-11 11:16:04 -05:00
Eric Blankenhorn
01dc018cda Make DecodedCert elements available with WOLFSSL_CERT_EXT 2018-09-11 10:41:12 -05:00
Chris Conlon
8060deb40a pass arguments through to Nucleus memory functions in 1.2 build 2018-09-11 09:26:12 -06:00
Sean Parkinson
330a7048c7 Add more compatability APIs.
d2i_ECDSA_SIG, i2d_ECDSA_SIG, EVP_DigestVerifyInit,
EVP_DigestVerifyUpdate, EVP_DigestVerifyFinal, EVP_PKEY_id,
PEM_read_bio_PUBKEY
2018-09-11 09:28:03 +10:00
David Garske
f90b7d6c37 Merge pull request #1826 from embhorn/serialnumOID_new
`wolfSSL_CTX_load_verify_chain_buffer_format` and device serial number OID
2018-09-10 11:33:37 -07:00
David Garske
238f45d89d Fix for build with ./configure --enable-certext --enable-opensslextra. 2018-09-10 08:22:17 -07:00
David Garske
f48e2067ae Added new API wolfSSL_CTX_load_verify_chain_buffer_format for loading CA cert chain as DER buffer list including API unit test. Support for device serial number OID. 2018-09-10 08:15:17 -07:00
David Garske
2c5b0d82da Fix for dh_test to make sure the provided agree size is populated. This resolves issue with async and QuickAssist DH. 2018-09-10 07:13:52 -07:00
David Garske
a2be7590d1 Fixes for NXP LTC support with K82. Fix for SHA384/512. Fix for AES CBC not storing previous IV. Fix for wc_AesSetKey arg check. Fix for AES GCM IV != 12 test. Changed LTC default in settings.h to not enable SHA512 and Ed/Curve25519. Tested using Rowley Crossworks v4.2.0 on a FRDM-K82F. There is an initial stack pointer issue with the arm-startup code here for Rowley still outstanding, but these fixes are valid as-is. 2018-09-10 07:13:32 -07:00
David Garske
8fdb6b79d0 Merge pull request #1824 from SparkiDev/tls_cam_no_aes
Camellia is a block cipher in TLS - can't turn on AEAD only define
2018-09-09 17:28:34 -07:00
Sean Parkinson
f8ac5b5f71 Merge pull request #1819 from dgarske/fix_load_loc
Fix for load location test to handle multiple failure codes
2018-09-10 08:36:19 +10:00
Sean Parkinson
2d413c5bb8 Camellia is a block cipher in TLS - can't turn on AEAD only define 2018-09-10 08:18:03 +10:00
Takashi Kojo
0d44252608 error pass though build flag WOLFSSL_PASSTHRU_ERR 2018-09-08 10:19:31 +09:00
Takashi Kojo
902008f5ea refer unit_PassThrough flag at least once 2018-09-08 09:17:52 +09:00
Eric Blankenhorn
412eecd51a Add wc_SetIssuerRaw and EncodeCert with raw fields (#1798)
* Make cert with raw issuer
* Add wc_SetIssuerRaw
* Use issuer raw in EncodeCert
2018-09-07 16:22:23 -07:00
David Garske
7d1ab5e9d2 Merge pull request #1817 from danielinux/fix-old-style-definitions
Remove old-style function definitions
2018-09-07 15:52:45 -07:00
David Garske
575382e5a9 Fix for load location test to handle multiple failure codes (failure may return ProcessFile error code or WOLFSSL_FAILURE). Moved expired certs and setup load location test for expired certs. 2018-09-07 15:30:30 -07:00
Takashi Kojo
e677c32714 test file access functions 2018-09-08 07:27:33 +09:00
Takashi Kojo
294a22e938 flag to pass throug errors for correcting as many error information as possible. 2018-09-08 06:02:20 +09:00
David Garske
c98f8842a3 Merge pull request #1816 from ejohnstown/ocsp-no-server
OCSP Stapling/No Server Build
2018-09-07 11:48:13 -07:00
Daniele Lacamera
27555d6eb7 Fix old-style function definitions 2018-09-07 09:13:20 +02:00
toddouska
a7fb48e157 Merge pull request #1783 from dgarske/load_loc
Enhanced load verify locations to support flags
2018-09-06 17:00:09 -07:00
John Safranek
15be0aceed OCSP Stapling/No Server Build
In the case of OCSP Stapling being enabled and NO_WOLFSSL_SERVER being
set, there was a spot where the ocsp_stapling list was still being
touched even though it is left out of the build. Just needed to add the
right #ifdefs.
2018-09-06 16:56:09 -07:00
David Garske
ed14b68c38 Merge pull request #1813 from ejohnstown/bitfield
Bitfield Fixes
2018-09-06 16:01:59 -07:00
abrahamsonn
0a7b06857d Merge branch 'master' of https://github.com/wolfssl/wolfssl into doxygen-update 2018-09-06 14:56:24 -06:00
abrahamsonn
6981d48a4d Made some general Doxygen fixes 2018-09-06 14:54:13 -06:00
John Safranek
5360faac9d Bitfield Fixes
A couple flags were being implemented as bitfields from an int type.
GCC-8 is being more strict of type and value checking and is treating
single bit ints as both 1 and -1 and complaining about value changes.
Change the two int bitfields to use word16 bitfields as is the
pattern elsewhere.
2018-09-06 13:46:00 -07:00
David Garske
d9a6484b75 Fix to improve return code logic in wolfSSL_CTX_load_verify_locations_ex. 2018-09-06 13:01:44 -07:00
David Garske
ae3d8d3779 * Fixed wolfSSL_CTX_load_verify_locations to continue loading if there is an error (ZD 4265).
* Added new `wolfSSL_CTX_load_verify_locations_ex` that supports flags `WOLFSSL_LOAD_FLAG_IGNORE_ERR`, `WOLFSSL_LOAD_FLAG_DATE_ERR_OKAY` and `WOLFSSL_LOAD_FLAG_PEM_CA_ONLY`.
* Fix for `PemToDer` to handle PEM which may include a null terminator in length at end of file length causing wrong error code to be returned. Added test case for this. (ZD 4278)
* Added macro to override default flags for `wolfSSL_CTX_load_verify_locations` using `WOLFSSL_LOAD_VERIFY_DEFAULT_FLAGS`.
* Added tests for loading CA PEM's from directory using `wolfSSL_CTX_load_verify_locations` and `wolfSSL_CTX_load_verify_locations_ex` with flags.
* Added tests for `wolfSSL_CertManagerLoadCABuffer`.
* Updated the expired test certs and added them to `./certs/test/gen-testcerts.sh` script.
2018-09-06 12:51:22 -07:00
abrahamsonn
8719b888eb Added some files to the .gitignore
Specifically, added
    doc/doxygen_warnings
    doc/html
    doc/pdf
2018-09-06 13:02:30 -06:00
David Garske
d998d10f02 Merge pull request #1805 from dgarske/fix_csr
Fix for CSR generation email value
2018-09-05 19:44:41 -07:00
David Garske
a7821e0d6d Merge pull request #1810 from quinnmiller1997/fp_mul_comba_7-typo
Fixed typo in fp_mul_comba_7
2018-09-05 19:43:47 -07:00
David Garske
30d968d6b0 Merge pull request #1811 from SparkiDev/tls_sig_ret
Fix CheckCertSignature return to be remembered past ParseCertRelative
2018-09-05 19:43:23 -07:00
Sean Parkinson
a3cc2119d7 Fix CheckCertSignature return to be remembered past ParseCertRelative 2018-09-06 10:42:49 +10:00
Quinn Miller
b8605fa544 Fixed typo in fp_mul_comba_7 2018-09-05 14:51:50 -06:00
kaleb-himes
0626338be2 Fix for HAVE_POLY1305 without one time auth 2018-09-05 14:41:57 -06:00
Chris Conlon
5ee09f77a1 Merge pull request #1796 from ghoso/e2studio
add project files for Renesas e2studio
2018-09-05 11:41:01 -06:00
David Garske
d432d346aa Merge pull request #1809 from cconlon/stm32rngfix
enable RNG clock when WOLFSSL_STM32F427_RNG is defined
2018-09-04 17:21:01 -07:00
Eric Blankenhorn
28ad8e591d Adding comment for empty case in GetNameType 2018-09-04 18:08:40 -05:00
toddouska
bac8b78a8c Merge pull request #1803 from SparkiDev/tfm_stack
Small stack for fast math code
2018-09-04 15:57:59 -07:00
toddouska
d149795648 Merge pull request #1759 from dgarske/verifycbfail
Fix to resolve issue with verify callback not causing an error
2018-09-04 15:52:58 -07:00
toddouska
8e67ef33b2 Merge pull request #1799 from SparkiDev/cert_vfy_small
Smaller dynamic memory usage in TLS
2018-09-04 15:40:11 -07:00
toddouska
8584da60a8 Merge pull request #1802 from SparkiDev/tls13_0rtt_ch
Group Early Data message with ClientHello for faster delivery
2018-09-04 15:39:14 -07:00
toddouska
e1c4d3f5e6 Merge pull request #1808 from ejohnstown/vali-date
Validate Date
2018-09-04 15:33:41 -07:00
Chris Conlon
d3ea903c55 enable RNG clock when WOLFSSL_STM32F427_RNG is defined 2018-09-04 16:13:09 -06:00
John Safranek
e730cda550 Validate Date
The ValidateDate() function is wrapped by a macro so it may be replaced
in environments without ASN_TIME built in. In two cases, OCSP and CRL,
ValidateDate() is called directly instead of by the macro. This change
fixes that.
2018-09-04 13:39:26 -07:00
Sean Parkinson
17a70aee1b Added test and minor fixes for CheckCertSignature 2018-09-03 10:50:47 +10:00
Sean Parkinson
4b208f4fe5 Make grouping EarlyData and ClientHello a configuration option 2018-09-03 08:48:28 +10:00
Sean Parkinson
4d0478a287 Fix fp_div_2d to return remainder correctly
If a == c are then a and c don't equal d:
calculate d before c
If a != c then a doesn't change in calculating c:
calculate d after c
2018-09-03 08:32:55 +10:00
David Garske
d2b9b230a0 Added additional verify callback override test cases. 2018-08-31 16:26:51 -07:00
David Garske
6171e29fe8 Fix for CSR generation after PR (https://github.com/wolfSSL/wolfssl/pull/1734). This resolves issue with email name in CSR. (Thanks to Forum post https://www.wolfssl.com/forums/post4137.html).
Failed examples:

```
145:d=5  hl=2 l=  16 prim: EOC
      0000 - 69 6e 66 6f 40 77 6f 6c-66 73 73 6c 2e 63 6f 6d   info@wolfssl.com
```

```
SET {
138  23:         SEQUENCE {
140   3:           OBJECT IDENTIFIER objectClass (2 5 4 0)
       :             Error: Spurious EOC in definite-length item.
```

Success Examples:

```
140:d=5  hl=2 l=   9 prim: OBJECT            :emailAddress
  151:d=5  hl=2 l=  16 prim: IA5STRING         :info@wolfssl.com
```

```
SET {
138  29:         SEQUENCE {
140   9:           OBJECT IDENTIFIER emailAddress (1 2 840 113549 1 9 1)
151  16:           IA5String 'info@wolfssl.com'
```
2018-08-31 11:20:04 -07:00
Sean Parkinson
41ab3d91fd Small stack for fast math code
Any large stack usages have been changed to dynamic memory allocations
when WOLFSSL_SMALL_STACK is defined.
Modified functions to return error codes.
2018-08-31 17:55:49 +10:00
Go Hosohara
697c61af35 correct typo in IDE/include.am 2018-08-31 14:57:16 +09:00
Go Hosohara
00ff519b23 remove wrong configuration in IDE/include.am 2018-08-31 14:52:12 +09:00
Sean Parkinson
d089a4651a Group Early Data message with ClientHello for faster delivery 2018-08-31 09:28:38 +10:00
Sean Parkinson
d86fc2dbbe Smaller dynamic memory usage in TLS
Code doesn't require a DecodedCert which saves on dynamic memory usage.
WOLFSSL_SMALL_CERT_VERIFY: Don't have a DecodedCert allocated and verify
certificate signature in ProcessPeerCerts as this is maximum dynamic
memory usage.
WOLFSSL_SMALL_CERT_VERIFY is enabled with 'lowresource' configuration
option.
Fix sp_clear to work with NULL parameter.
Define a new function HashId that maps to the hashing function
available.
Set MAX_CERT_VERIFY_SZ to be the maximum based on what algorithms are
compiled in.
Fix usage of MAX_CERT_VERIFY_SZ in functions sending certificate verify
messages.
2018-08-31 08:29:28 +10:00
David Garske
ffc0f0fb26 Fix for building with SESSION_CERTS using pointer after free. Documented store->discardSessionCerts. 2018-08-30 13:57:21 -07:00
kaleb-himes
3729b12fae Address issues when testing with WOLFSSL_OCSP_TEST set 2018-08-30 14:44:49 -06:00
David Garske
b369e524d4 Fix for the ECDSA verify callback override test case. Switched to AES128-GCM cipher suite (better cipher suite overall). 2018-08-30 11:48:08 -07:00
David Garske
3d0d10345a Added test cases for ensuring forced error fails on client and server. Added test cases to ensure bad certificate can be overriden. 2018-08-30 11:17:21 -07:00
David Garske
944342b386 Fixes for verify callback failure override handling. Fixes the return codes in the failure cases. 2018-08-30 11:17:21 -07:00
David Garske
53c0003cad Fix to resolve issue with verify callback not causing an error (if one not already present) when returning 0. Test case to follow shortly. 2018-08-30 11:17:21 -07:00
Go Hosohara
2551512718 add CS+ and e2studio settings in IDE/include.am 2018-08-30 13:50:50 +09:00
toddouska
31e37ea5df Merge pull request #1797 from SparkiDev/stack_size
Small stack usage fixes
2018-08-29 16:19:46 -07:00
toddouska
fc64788092 Merge pull request #1795 from SparkiDev/tls13_no_tls12
Fixes to work when compiled with TLS 1.3 only
2018-08-29 16:16:46 -07:00
toddouska
d084a4bcb8 Merge pull request #1794 from SparkiDev/sp_armasm_modexp
Fix for SP ASM arm and no DH
2018-08-29 16:13:34 -07:00
toddouska
03fbad22a6 Merge pull request #1792 from SparkiDev/gcc_8_fixes
GCC 8 new warnings in -Wall fix
2018-08-29 16:12:19 -07:00
toddouska
818b0a3c9c Merge pull request #1791 from SparkiDev/keyshare_ecc_free
Fix memory leak in KeyShare using ECC and not fast math
2018-08-29 16:11:32 -07:00
toddouska
ab487e25a0 Merge pull request #1790 from JacobBarthelmeh/SanityChecks
change grep message for RSA key size with tests
2018-08-29 16:11:14 -07:00
toddouska
4fd805ff1e Merge pull request #1789 from JacobBarthelmeh/Fuzzer
sanity check on buffer before clearing it
2018-08-29 16:10:56 -07:00
toddouska
e4ccb2fe83 Merge pull request #1784 from dgarske/stsafe_server
Added ST-Safe PK callback example for Key Generation (TLS server only)
2018-08-29 16:07:14 -07:00
Go Hosohara
4d79eb121e add include.am file and comment for related code of Renesas cs+ and e2studio 2018-08-29 11:06:13 +09:00
Sean Parkinson
4dbe86f1fd Small stack usage fixes
Stack pointer logging added.
2018-08-29 10:16:51 +10:00
Go Hosohara
4d6f43277e add project files for Renesas e2studio 2018-08-28 17:56:55 +09:00
Sean Parkinson
487c60df78 Fixes to work when compiled with TLS 1.3 only
TLS 1.3 Early Data can be used with PSK and not session tickets.
If only TLS 1.3 and no session tickets then no resumption.
External sites don't support TLS 1.3 yet.
2018-08-28 15:37:15 +10:00
Sean Parkinson
57620caac8 Fix for SP ASM arm and no DH
Fix mod exp in ARM asm to work for different size exponents.
In ASM code, mont_norm is not used in RSA so protect from no DH.
2018-08-28 11:24:38 +10:00
Sean Parkinson
551201c00c GCC 8 new warnings in -Wall fix 2018-08-27 12:51:01 +10:00
Sean Parkinson
24694ef7b0 Fix memory leak in KeyShare using ECC and not fast math 2018-08-27 10:50:57 +10:00
Jacob Barthelmeh
46c04cafd3 change grep message for RSA key size with tests 2018-08-24 16:47:37 -06:00
Jacob Barthelmeh
d122b9f8b5 sanity check on buffer before clearing it 2018-08-24 16:29:43 -06:00
David Garske
205088d1bc Merge pull request #1787 from ejohnstown/patches
Patches for various build errors
2018-08-24 14:46:28 -07:00
David Garske
459455328f Merge pull request #1788 from ejohnstown/oid
OID handling in DecodeExtKeyUsage
2018-08-24 14:46:19 -07:00
John Safranek
1d9b482711 Merge pull request #1747 from kaleb-himes/XCODE-UPDATES
Xcode updates
2018-08-24 14:01:39 -07:00
John Safranek
86ce22c32e Merge pull request #1785 from embhorn/zd4225
Fix for old certs not discarded when server does not resume session
2018-08-24 13:22:06 -07:00
David Garske
1005ca0703 Merge pull request #1786 from kaleb-himes/USER-HEAP-WITH-CM
Unloading from CM, and using custom heap, ensure XFREE has acces…
2018-08-24 11:56:48 -07:00
John Safranek
bd5e507617 OID
1. When checking an OID sum against an OID string based on context, skip the unknown OIDs instead of treating them as parse errors.
2. When getting an OID, pass the lower error upstream instead of just PARSE error.
2018-08-24 11:51:25 -07:00
John Safranek
4eb0d32fa8 Patches
1. Define Timeval in callbacks.h if the file sys/time.h is missing.
2. When picking the correct strtok() function, take into account MINGW64.
3. In the example server, changed the call to SSL_accept_ex() as it doesn't exist. Using wolfSSL_accept_ex(). Only a problem when setting WOLFSSL_CALLBACKS.
4. PickHashSigAlgo() is missing a ; when WOLFSSL_CALLBACKS is set.
2018-08-24 11:46:02 -07:00
David Garske
347fdccf1c Added missing README.md. 2018-08-24 11:11:30 -07:00
David Garske
c96aeb4550 Added documentation and benchmarks for STM32 and STSAFE-A100 support. 2018-08-24 11:03:14 -07:00
toddouska
7f324d2c3b Merge pull request #1781 from JacobBarthelmeh/Compatibility-Layer
fix for IV of DES_ncbc function
2018-08-24 10:16:21 -07:00
kaleb-himes
b7b99a2e92 Unloading from CM, and using custom heap, ensure XFREE has access to custom heap 2018-08-24 10:07:10 -06:00
Kaleb Himes
274b41dea5 Merge pull request #1782 from JacobBarthelmeh/SanityChecks
refactor CloseSocket for WOLFSSL_BIO free with USER IO
2018-08-24 09:08:05 -06:00
Eric Blankenhorn
498d8e6c15 Fix for old certs not discarded when server does not resume session 2018-08-24 07:53:35 -05:00
David Garske
88e6bd2915 Added ST-Safe server side PK callback example for key gen. Added helper API's for setting up the PK callbacks and custom context. 2018-08-23 15:57:14 -07:00
Jacob Barthelmeh
40551720ab refactor CloseSocket and add guard 2018-08-23 16:30:53 -06:00
kaleb-himes
689da22799 Refactor and updates for XCODE projects following peer review 2018-08-23 15:41:35 -06:00
David Garske
c7dde6c682 Merge pull request #1656 from danielinux/contiki-port
Contiki port
2018-08-23 12:31:56 -07:00
toddouska
cc39f3211a Merge pull request #1780 from dgarske/pkcs7_ex
Added new PKCS7 ex API's to support signing and validation of large data
2018-08-23 08:41:25 -07:00
toddouska
5d8a2a7702 Merge pull request #1778 from SparkiDev/sp_mem
Make ALT_ECC_SIZE with SP work
2018-08-23 08:25:44 -07:00
toddouska
554d40a62e Merge pull request #1777 from dgarske/async_fixes
Build fixes for async
2018-08-23 08:23:20 -07:00
toddouska
0d171e591b Merge pull request #1776 from SparkiDev/inline_cmpl_fix
Fix for clang builds with configs not using inline funcs
2018-08-23 08:22:39 -07:00
toddouska
54a379d8e0 Merge pull request #1775 from SparkiDev/tls_no_cert_vfy
Fix for no certificates and calling DoVerifyCallback.
2018-08-23 08:22:07 -07:00
toddouska
8477d5ba1b Merge pull request #1773 from ejohnstown/critical-option
Certificate Extension Critical Check Optionality
2018-08-23 08:21:19 -07:00
JacobBarthelmeh
5ce1757e05 Merge pull request #1779 from dgarske/pic32mz_crypt_align
Fix for PIC32MZ crypto hardware alignment
2018-08-23 09:05:50 -06:00
Jacob Barthelmeh
f23eb37ade fix for IV of DES_ncbc function 2018-08-23 09:03:09 -06:00
David Garske
57d72028f6 Fix for missing return code on wc_Pic32HashFree. 2018-08-22 16:38:55 -07:00
David Garske
d0d28c82cd Added new PKCS7 ex API's for supporting signing and validation of large data blobs. New API's are wc_PKCS7_EncodeSignedData_ex and wc_PKCS7_VerifySignedData_ex. Includes header docx and unit tests for new API's. Cleanup for the PKCS7 small stack and const oid's. 2018-08-22 15:46:37 -07:00
David Garske
53af520911 Fix to resolve issue with PIC32MZ crypto hardware (AES/DES3 only) where an unaligned input/output buffer was not handled correctly. This results in a BUFFER_E. This was seen with DTLS v1.0 and TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA cipher suite. Fix is to allocate a dynamic buffer from heap if the input/output are not aligned. Tested and verified with a PIC32MZ2048EFM144 and the wolfssl_udp_client example for Harmony using DTLS v1.0 and the setudppacketoptions 192.168.0.107 11111 hello -> sendudppacket commands. Cleanups in older ctoacrypt/settings.h for PIC32MZ. 2018-08-22 13:39:03 -07:00
Daniele Lacamera
d7d2fb34af fixed ifdef WOLFSSL_CONTIKI 2018-08-22 17:37:47 +02:00
Daniele Lacamera
bdb5d3c191 Improved support for contiki/uIP. 2018-08-22 09:15:10 +02:00
Daniele Lacamera
7bd16a2582 Fixed after second review 2018-08-22 09:15:10 +02:00
Daniele Lacamera
b74869a61a Moved contiki + uIP support in the library 2018-08-22 09:15:10 +02:00
Daniele Lacamera
b7385476f0 Removed empty ifdef section 2018-08-22 09:15:09 +02:00
Daniele Lacamera
79a7518fdd Using inline functions for XMALLOC/XFREE/XREALLOC in contiki
This is necessary to avoid the "unused variable" warnings
2018-08-22 09:15:09 +02:00
Daniele Lacamera
3d27a8dc53 Contiki port 2018-08-22 09:15:09 +02:00
Sean Parkinson
783c4a0c5e Make ALT_ECC_SIZE with SP work
Change to more relevant dynamic types in SP also.
2018-08-22 16:02:51 +10:00
David Garske
9ae4ef2d5c Build fixes for --enable-async --enable-all --with-intelqa. Resolves conflict for stat variable name. Fix for DH with async. Fix for async devSize. 2018-08-21 19:51:13 -07:00
Takashi Kojo
08c2d94011 return value check of XFSEEK 2018-08-22 10:46:46 +09:00
Sean Parkinson
31bd844d6f Fix for clang builds with configs not using inline funcs 2018-08-22 11:16:57 +10:00
Sean Parkinson
fff5cff273 Fix for no certificates and calling DoVerifyCallback. 2018-08-22 10:57:19 +10:00
toddouska
776fd51720 Merge pull request #1768 from SparkiDev/tls13_final
Use final TLS 1.3 version value by default.
2018-08-21 12:29:51 -07:00
toddouska
e635e49635 Merge pull request #1772 from SparkiDev/tls13_point_ext
Send EC poiint format extension if downgradable from TLS 1.3
2018-08-21 12:27:10 -07:00
toddouska
a505f2b063 Merge pull request #1662 from SparkiDev/mem_track
Add memory usage tracking and logging
2018-08-21 12:25:49 -07:00
John Safranek
a0f1c9dbe4 Make the check of the certificate extension critical flag optional based on compile option. 2018-08-21 10:57:04 -07:00
Sean Parkinson
1ab17ac827 More changes to minimize dynamic memory usage.
Change define to WOLFSSL_MEMORY_LOG.
Fix for ED25519 server certificate - single cert to allow comparison
with ECC dynamic memory usage.
Free memory earlier to reduce maximum memory usage in a connection.
Make MAX_ENCODED_SIG_SZ only as big as necessary.
Change memory allocation type in sha256 from RNG to DIGEST.
If we know the key type use it in decoding private key
2018-08-21 14:41:01 +10:00
Sean Parkinson
d29118ba58 Merge pull request #1771 from dgarske/tls13only
Fixes for building with TLS v1.3 only enabled.
2018-08-21 14:25:54 +10:00
Sean Parkinson
103a0d351b Send EC poiint format extension if downgradable from TLS 1.3 2018-08-21 10:11:12 +10:00
David Garske
389f56b5c7 Fix for building with TLS 1.3 only when AES CBC is enabled. Algorithm is allowed to be enabled, but the AES CBC cipher suites should not be. Fixed AEAD enable to check AES CBC based on HAVE_AES_CBC define. 2018-08-20 16:29:48 -07:00
Sean Parkinson
506c858ed6 Add memory usage tracking and logging
Add WOLFSSL_MEMORY_TRACKING to report allocations and frees with the
type.
Fix places where memory can be freed earlier.
2018-08-21 08:54:57 +10:00
David Garske
b12386fbb1 Fixes for building with TLS v1.3 only (./configure --disable-tlsv12 --enable-tls13 --disable-aescbc --enable-ed25519 --enable-curve25519) 2018-08-20 15:49:03 -07:00
Sean Parkinson
20950ffde8 Remove TODOs around TLS 1.3 draft version. 2018-08-21 08:41:50 +10:00
David Garske
3d16ed9c02 Merge pull request #1770 from ejohnstown/prime-fix
Prime Test Bug Fix
2018-08-20 13:24:05 -07:00
John Safranek
e4757f1283 Prime Test Bug Fix
Using the wrong size for the MR test check value. Converting from size
of FP_MAX_BITS to the DH prime size, dividing too much. Switched it to
its own constant.
2018-08-20 11:43:06 -07:00
toddouska
f3c4d5442e Merge pull request #1757 from dgarske/pkcs8_pad
Fix to resolve padding issue with PKCS 8 encryption.
2018-08-20 09:32:34 -07:00
toddouska
0e1b8b7bd8 Merge pull request #1760 from dgarske/atmel_asf
Fixes for building with Atmel ASF (`WOLFSSL_ATMEL`)
2018-08-20 09:20:01 -07:00
toddouska
0f539616be Merge pull request #1766 from JacobBarthelmeh/UnitTests
cleanup with test cases and access to FP_MAX_BITS
2018-08-20 09:19:14 -07:00
toddouska
683182f494 Merge pull request #1765 from SparkiDev/sp_fixes_1
Fixes for SP
2018-08-20 09:18:31 -07:00
toddouska
555714afa3 Merge pull request #1764 from SparkiDev/tls13_psk_cb
Separate PSK callback for TLS 1.3
2018-08-20 09:17:01 -07:00
toddouska
c8814a7ee1 Merge pull request #1769 from SparkiDev/tls13_dh
TLS 1.3: Always left-pad DH secret to length of prime
2018-08-20 09:13:50 -07:00
toddouska
3e08c27512 Merge pull request #1715 from SparkiDev/disable_aescbc
Config option to disable AES-CBC
2018-08-20 09:08:19 -07:00
Sean Parkinson
d104ae39e3 TLS 1.3: Always left-pad DH secret to length of prime 2018-08-20 14:20:50 +10:00
Sean Parkinson
3cdeccc36e Use final TLS 1.3 version value by default. 2018-08-20 14:17:38 +10:00
David Garske
a7b5ed1c27 Merge pull request #1767 from aaronjense/dsa-unreachable-statement
silence warning for unreachable statement from some compilers.
2018-08-18 17:50:45 -07:00
Aaron Jense
79590f3310 silence warning for unreachable statement from some compilers. 2018-08-17 15:13:06 -06:00
Jacob Barthelmeh
ed9aaa93f4 include tfm in example client for veiwing FP_MAX_BITS 2018-08-17 11:06:40 -06:00
Jacob Barthelmeh
cc10c971cd make sure that even if wolfSSL_Init has been called multiple times that wolfSSL_Cleanup gets called in tests 2018-08-17 11:04:21 -06:00
David Garske
ff635d5b2b Merge pull request #1763 from aaronjense/ecc-check-key-type
Fix error with wolfCrypt-JNI having ECC_PRIVATEKEY_ONLY and d != NULL
2018-08-16 18:16:43 -07:00
Sean Parkinson
f1222c3f9f Separate PSK callback for TLS 1.3
It is highly recommended that the PSK be different for each protocol.
Example callback already returns a different key for TLS 1.3.
New callback includes the ciphersuite, as a string, to use with the key.
2018-08-17 10:18:28 +10:00
Sean Parkinson
2ac2c24f22 Fixes for SP
More places to mask shifted n.
Fix conditional check on NO_3072 in sp_int.h
Disable prime checking when using SP maths.
Add support for mp_tohex to SP maths.
Fix wolfmath.c to support including SP maths.
2018-08-17 10:13:29 +10:00
Aaron Jense
93546694ca modify for readability 2018-08-16 17:04:32 -06:00
Aaron Jense
aeb9ab8aea Combine if statements 2018-08-16 16:25:53 -06:00
Aaron Jense
eb08c6f6fc Fix error with wolfCrypt-JNI having ECC_PRIVATEKEY_ONLY and d != NULL 2018-08-16 15:29:46 -06:00
Sean Parkinson
f487b0d96a Config option to disable AES-CBC
AEAD only detection and removeal of code.
Also in single threaded builds, reference the ctx suites in ssl object
if it exists.
2018-08-16 08:25:13 +10:00
David Garske
9db7ba2f0d Fix for cast mismatch and spelling of state. 2018-08-15 12:00:44 -07:00
David Garske
c6e075f077 Fixes for building with Atmel ASF and no ECC508A. 2018-08-15 12:00:44 -07:00
David Garske
739bbd1355 Merge pull request #1750 from JacobBarthelmeh/SanityChecks
update condition for include of sys/time.h
2018-08-15 11:28:05 -06:00
toddouska
baab6755b2 Merge pull request #1756 from dgarske/norng
Fixes for building with `WC_NO_RNG`
2018-08-15 10:18:44 -07:00
toddouska
be0523b7cd Merge pull request #1749 from JacobBarthelmeh/UnitTests
check max key size with ocsp stapling test
2018-08-15 10:18:12 -07:00
Jacob Barthelmeh
373258a0c2 account for NO_RSA and SP math when printing max RSA key size 2018-08-15 09:52:43 -06:00
Jacob Barthelmeh
c3ab52ed44 key size check on ocsp-stapling2 test 2018-08-15 09:52:43 -06:00
Jacob Barthelmeh
f74406d2c9 check max key size with ocsp stapling test 2018-08-15 09:52:43 -06:00
David Garske
3d16f891d4 Fix to check for buffer overrrun with the additional padding in PKCS12 EncryptContent function. 2018-08-14 19:20:24 -06:00
David Garske
cdff2869c2 Fixes for building with WC_NO_RNG (applies to wolfCrypt only builds). Tested with ./configure --enable-cryptonly CFLAGS="-DWC_NO_RNG" && make. 2018-08-14 18:53:25 -06:00
Eric Blankenhorn
2420af3cf2 Merge pull request #1758 from dgarske/certext
Fix for building certext without certgen
2018-08-14 17:00:51 -05:00
toddouska
9ad059542a Merge pull request #1745 from dgarske/ecc_export_hex
Added new ECC export API's to support export as hex string
2018-08-14 14:19:23 -07:00
toddouska
e2de988f98 Merge pull request #1739 from dgarske/asio
Fixes to openssl compatibility for Boost.Asio with SSF
2018-08-14 14:18:08 -07:00
David Garske
d1e13a973c Fix for building WOLFSSL_CERT_EXT without WOLFSSL_CERT_GEN due to missing CTC_MAX_EKU_OID_SZ. Change to allow --enable-certext without certgen. 2018-08-14 15:00:56 -06:00
David Garske
1c297b3ac4 Cleanup of some macro logic for enabling the mp_toradix. 2018-08-14 12:58:00 -06:00
David Garske
f23915baa1 Fix for BIO ssl case, which is not supported (for the Boost.Asio project this isn't required either). 2018-08-14 12:44:31 -06:00
David Garske
6ca56ee98c Fix to handle carriage return case in PEM end of line character handling (for Windows). Cleanup to consolidate duplicate end of line character handling code. 2018-08-14 12:22:18 -06:00
David Garske
ff7d2fefdc Fix for DH max size calc not including DH_Pub. 2018-08-14 12:22:18 -06:00
David Garske
7b83db0f65 Fix for PemToDer which was not properly handling extra new lines at end of file. 2018-08-14 12:22:18 -06:00
David Garske
eca64717be Fix for BIO_wpending to work correctly. 2018-08-14 12:22:18 -06:00
David Garske
17e102d914 Fixes for asio build options (so includes OPENSSL_EXTRA). Fix for bad named variable shutdown. Fix for the side size in Options struct to support WOLFSSL_SIDE_NEITHER (3). Fix to set the side on wolfSS_connect() or wolfSS_accept(). 2018-08-14 12:22:18 -06:00
David Garske
be33e69b22 Refactor to rename wc_ecc_export_int to wc_export_int for generic API for exporting an mp_int as hex string or unsigned bin. 2018-08-14 12:17:20 -06:00
David Garske
368227be2c Fix to make sure fp_div_d is available. 2018-08-14 12:05:22 -06:00
David Garske
c073aee87c Added new ECC export API's to support export as hex string. New API's are wc_ecc_export_ex and wc_ecc_export_int. For hex string use ECC_TYPE_HEX_STR as encType arg. Refactor to reduce duplicate code. Build fixes for NO_ECC_KEY_EXPORT. 2018-08-14 12:05:22 -06:00
David Garske
04c2b51b4d Fix for padding size calculation and cast warning. 2018-08-14 11:49:21 -06:00
Jacob Barthelmeh
278fd9c054 update condition for include of sys/time.h 2018-08-14 10:51:05 -06:00
David Garske
d823d6f7b6 Fix to resolve padding issue with PKCS 8 encryption. 2018-08-14 10:51:04 -06:00
Kaleb Himes
64f553d944 Merge pull request #1755 from ejohnstown/scan-build-fix
Scan-Build Fix
2018-08-14 10:11:02 -06:00
David Garske
aee4aea64d Merge pull request #1748 from JacobBarthelmeh/Testing
call hamc init with blake2 software test
2018-08-14 10:07:01 -06:00
toddouska
d4f908c372 Merge pull request #1728 from JacobBarthelmeh/HardwareAcc
Add build for AF_ALG
2018-08-13 16:27:51 -07:00
toddouska
a3627106ea Merge pull request #1753 from dgarske/gcc_arm_fips
Enhancements to the GCC-ARM example
2018-08-13 16:20:13 -07:00
John Safranek
91d2b17139 Scan-Build Fix
1. Initialize the sz variable in wc_BerToDer().
2018-08-13 14:37:04 -07:00
David Garske
f44d42b1c8 Enhancements to the GCC-ARM example to support FIPS and additional build options. Added examples for memory overrides and standard library overrides. Fixes for building without test, benchmark or TLS. Changed the ARM startup code to only work for the Cortex M0 example using the define USE_WOLF_ARM_STARTUP. 2018-08-13 12:22:14 -06:00
John Safranek
5caaa94868 Merge pull request #1754 from dgarske/fix_fipsv2
Fix for FIPS PRB error with CAVP test
2018-08-13 11:18:33 -07:00
Jacob Barthelmeh
b71c2ddf38 call hamc init with blake2 software test 2018-08-13 08:58:01 -06:00
David Garske
93a7b76da5 Fix missing RSA_MIN_SIZE and RSA_MAX_SIZE and case where HAVE_FIPS_VERSION is not defined. 2018-08-13 08:18:51 -06:00
David Garske
80e46253d9 Fix for FIPS v1 CAVP case so the wc_RsaExportKey and wc_CheckProbablePrime functions are available. Cleanup to remove unused ERROR_OUT. 2018-08-13 06:25:55 -06:00
Eric Blankenhorn
bb574d28b2 Support for more cert subject OIDs and raw subject access (#1734)
* Add businessCategory OID
* Raw subject support methods
* Support for jurisdiction OIDs
* Wrap in WOLFSSL_CERT_EXT
* Adding tests
2018-08-12 12:53:29 -07:00
David Garske
6d10efe79c Merge pull request #1752 from kaleb-himes/ocsp-stapling-pzero-take2
Use port 0 (dynamic) solution on servers and clients in addition to ocsp responders. Fix for OCSP tests when running concurrently.
2018-08-10 15:15:43 -07:00
kaleb-himes
280de47d06 Use pzero solutions on servers and clients in addition to ocsp responders 2018-08-10 14:17:17 -06:00
kaleb-himes
c288a214b1 give servers time to shut-down after client connection 2018-08-10 11:57:35 -06:00
kaleb-himes
ba3bc59771 further test control over ocsp-stapling tests 2018-08-10 11:44:16 -06:00
kaleb-himes
735e4a0986 ocsp stapling tests to wait until unit tests are complete 2018-08-10 11:18:04 -06:00
kaleb-himes
6113f68c21 make renewcerts-for-test use portable function declaration 2018-08-10 10:40:16 -06:00
kaleb-himes
35dbf9a6fe address file restoration issue present when git not available 2018-08-10 10:24:42 -06:00
JacobBarthelmeh
a9a9dd257e Merge pull request #1743 from kaleb-himes/ocsp-logic-update
update ocsp test case for portability and informative updates on use …
2018-08-08 10:45:26 -06:00
kaleb-himes
c7f1d810c3 update ocsp test case for portability and informative updates on use of environment variable 2018-08-07 10:42:18 -06:00
toddouska
cc1680dc98 Merge pull request #1741 from dgarske/verify_cb
Refactor of the verify callback
2018-08-06 13:12:54 -07:00
David Garske
56974c099e Improved the logic for WOLFSSL_ALWAYS_VERIFY_CB to be more explicit and updated comments. 2018-08-06 11:40:35 -07:00
David Garske
c4ea50b956 Fix for issue with using CopyDecodedToX509 again for existing X509 and freeing the altNames in original. Fix was to use the ssl->peerCert directly for the index 0 cert. Improvement to make sure ex_data is always populated. Added NULL arg check on wolfSSL_get_peer_certificate. 2018-08-06 11:40:35 -07:00
David Garske
7d39a897dc Refactor of the verify callback to eliminate duplicate code and provide consistency with various build options. Documented build options and added code comments in new DoVerifyCallback function. Added documentation in test.h myVerify function for arguments and return code. Fix from commit da1ac36 which added current_cert to WOLFSSL_X509_STORE_CTX, but is only required for ASIO compatibility and is not used. 2018-08-06 11:40:35 -07:00
David Garske
30d6c0c1fc Merge pull request #1737 from ejohnstown/ocsp-free
OCSP Free
2018-08-06 09:08:01 -07:00
Jacob Barthelmeh
30e787b10c create buffer with structure copy and set fd after close 2018-08-03 16:46:15 -06:00
Jacob Barthelmeh
7726786998 fix comment and remove duplicate free 2018-08-03 15:04:37 -06:00
David Garske
738a121d61 Merge pull request #1740 from ejohnstown/null-check
NULL Check
2018-08-03 13:53:53 -07:00
toddouska
b88d60ecbb Merge pull request #1665 from ejohnstown/mr
Prime Number Testing
2018-08-03 12:50:27 -07:00
John Safranek
f6a8a2f5bd NULL Check
When using the async option, the RSA key is checked on the first call to
DoTls13CertificateVerify() when the async state machine is set up. On
the subsequent call, the pointer to the key isn't checked again. Added a
check. (This was from a static analysis report.)
2018-08-03 11:09:43 -07:00
John Safranek
368b5b1072 Merge pull request #1729 from kaleb-himes/init-array
Initialize array to zero(s)
2018-08-02 16:33:37 -07:00
John Safranek
f45dbed8f9 OCSP
1. Modify the other OCSP Stapling scripts to better manage the OCSP responder.
2. Modify the client's W option to take:
 - 1 for Stapling v1
 - 2 for Stapling v2
 - 3 for Stapling v2 MULTI
3. Modify the client to disallow stapling v2 with TLSv1.3.
2018-08-02 16:25:38 -07:00
David Garske
a43d4d16ba Merge pull request #1719 from MJSPollard/OpenSSLAllFix
Added boost define and openssl bug fix with WOLFSSL_KEY_GEN
2018-08-02 15:20:27 -07:00
David Garske
a915c3a381 Merge pull request #1738 from ejohnstown/DH
DH SP Fix
2018-08-02 15:04:33 -07:00
Kaleb Himes
660c3300e1 Merge pull request #1730 from dgarske/dertoc
Added handy script for converting DER file to C array
2018-08-02 15:54:15 -06:00
John Safranek
5ae45436f4 OSCP
1. Added a missed attr files for the OSCP status files. Bare minimum attr.
2. Added the attr files to the automake include.
3. Fix out of bounds read with the OCSP URL.
2018-08-02 14:50:59 -07:00
JacobBarthelmeh
782ea74fbf Merge pull request #1732 from kojo1/Ticket-4169-2
Ticket 4169: eliminate ssl->CBIORecv/Send overwritten in SSL_set_bio
2018-08-02 14:58:25 -06:00
JacobBarthelmeh
99b556c07d Merge pull request #1735 from embhorn/zd4179
Fix for resource leak
2018-08-02 14:27:04 -06:00
John Safranek
c71f730d67 OSCP
1. Made killing the OCSP server process more reliable.
2. Added attr files for the OSCP status files. Bare minimum attr.
3. Added a NL to the error string from the client regarding external tests.
2018-08-02 11:32:36 -07:00
kaleb-himes
ddec878152 Disable external tests for OCSP scripts 2018-08-02 10:03:47 -06:00
Eric Blankenhorn
b248af6f84 Update from review 2018-08-02 10:59:07 -05:00
kaleb-himes
a178764a8b Portability and self-cleanup changes to ocsp test scripts 2018-08-02 09:47:13 -06:00
kaleb-himes
93c2f3b170 Initialize array to zero(s) 2018-08-02 09:21:09 -06:00
Takashi Kojo
fd75f35801 fix cbioFlag check 2018-08-02 10:18:09 +09:00
John Safranek
6527c2a724 DH SP Fix
When doing the sp_2048_mod_exp_*() is processed, one of the index
variables is masked with 0x1f when it was updated. Added the masking to
the initial set of the index.
2018-08-01 16:32:22 -07:00
John Safranek
c87d6b27e2 OCSP Free
Free the OCSP request when creating the response only if there is an error making the request.
2018-08-01 15:34:43 -07:00
David Garske
0ccdefb8d0 Merge pull request #1733 from ejohnstown/des-iv
Fix DES IV value
2018-08-01 14:57:26 -07:00
John Safranek
7647d52d77 Prime Number Testing
1. Remove a copy-paste error when clearing up the RNG used to test a prime.
2. Tag a some const test values as static in the wolfCrypt test.
2018-08-01 14:49:06 -07:00
JacobBarthelmeh
244d931e75 Merge pull request #1721 from kaleb-himes/cleanup-debug
Cleanup debug errors
2018-08-01 15:01:25 -06:00
Eric Blankenhorn
ba2f0fd8fc Fix for zd4179, 4181, 4182 2018-08-01 15:56:15 -05:00
John Safranek
5ca2ff187b DES IV
Change the DES_IV_SIZE back to 8 bytes, rather than 16.

DES/DES3 was passing the wolfCrypt test becuase the main DES code uses
the DES_BLOCK_SIZE when handling the IV. The TLS/SSL code uses the
DES_IV_SIZE when generating the session keys.
2018-08-01 13:08:52 -07:00
Takashi Kojo
98f6ae16ca copy cbioFlag from ctx to ssl 2018-08-02 04:48:39 +09:00
toddouska
8bc5bc227d Merge pull request #1634 from ejohnstown/gcc-8-fixes
GCC-8 String Fixes
2018-08-01 12:13:10 -07:00
toddouska
da096497e0 Merge pull request #1727 from dgarske/memdocs
Documented memory build options
2018-08-01 12:12:34 -07:00
Jacob Barthelmeh
ce5e787afc formating and sanity check on pointer with test case 2018-08-01 11:57:36 -06:00
David Garske
dba8131b19 Merge pull request #1731 from ejohnstown/redundant-cert
redundant certificate fix
2018-08-01 10:42:30 -07:00
David Garske
a72cbcf8eb Merge pull request #1726 from ejohnstown/memcb-test
memory callback test fix
2018-08-01 10:05:14 -07:00
JacobBarthelmeh
cb756397b3 inital AES-CBC with af_alg
progress on AES-GCM with AF_ALG and add SHA256

add aes-gcm test cases and finish logic of aes-gcm with AF_ALG

formating of tabs and white space

add files to dist

adding ecb and ctr mode with af_alg

make length of buffers for ctr be AES_BLOCK_SIZE

formating and add support for sha256 copy/gethash

sanity checks on arguments

cast return values and valgrind tests

make it easier to use sha256 with af_alg

remove hard tabs

add endif for after rebase
2018-08-01 08:54:20 -06:00
Takashi Kojo
96c1a567f0 #4169: CBIO set flag to escape from overwritten in SSL_set_bio 2018-08-01 19:16:42 +09:00
John Safranek
61ac7315e2 a certificate was named in an automake include that isn't actually in the tree, a similar named certificate is actually used 2018-07-31 17:25:35 -07:00
David Garske
72aef0ab11 Added handy script for converting DER file to C array. Example: ./scripts/dertoc.pl ./certs/server-cert.der server_cert_der_2048 server-cert.c. 2018-07-31 15:57:02 -07:00
John Safranek
f5b3de6b54 GCC-8 string fixes
1. Found one more case where a string is copied, potentially without the null. In wc_ports w.r.t. directory and file names.
2018-07-31 14:02:44 -07:00
John Safranek
7053830628 GCC-8 string fixes
Fix for the Windows directory search code.
2018-07-31 14:02:44 -07:00
John Safranek
af89458af0 GCC-8 string fixes
1. strncpy needs to include the source string's NULL.
2. Deleted a few redundant string modifications.
2018-07-31 14:02:44 -07:00
John Safranek
ed208efc4d GCC-8 string fixes
1. Modify wolfSSL_get_ciphers() to limit the XSTRNCPY based on the dst buf length, not the src string.
2018-07-31 14:02:44 -07:00
John Safranek
2e1a1681ec GCC-8 string fixes
1. strncat() does not like to copy single byte strings with "n = 1", as it won't null-terminate.
2. strncpy()'s len parameter is the size of the dst not the src.
3. Replaced the echoserver HTTP response composition of const strings with a copy of a single string.
2018-07-31 14:02:44 -07:00
John Safranek
50372b7033 Memory Callback
1. Allow SetAllocators to use NULL as a callback. Memory wrappers will use default with NULL.
2. Remove the ResetAllocators function. Use SetAllocators with NULL.
3. Modify memory tracker to save the old allocators on init and restore them on cleanup.
2018-07-31 09:30:03 -07:00
David Garske
0e1588f4ad Documented memory build options. Added logging for normal wolf malloc/free opterations when using WOLFSSL_DEBUG_MEMORY and WOLFSSL_DEBUG_MEMORY_PRINT (previously only worked with WOLFSSL_STATIC_MEMORY and WOLFSSL_TRACK_MEMORY). Changed WOLFSSL_MALLOC_CHECK option to use WOLFSSL_MSG. 2018-07-31 09:03:40 -07:00
kaleb-himes
fe08b98117 Adjust guards following peer review 2018-07-31 09:50:44 -06:00
David Garske
2b3f94944d Merge pull request #1723 from kaleb-himes/overhead-avoidance
avoid overhead call to alloc and free when sigSz invalid
2018-07-31 08:14:49 -07:00
toddouska
f18351fef5 Merge pull request #1718 from dgarske/memtest
New memory testing feature and fixes for null checks
2018-07-31 07:56:29 -07:00
toddouska
f5bd376450 Merge pull request #1720 from dgarske/stsafe_wolf
Added STM32L4/ST-Safe support. Fixes for AES CBC Decrypt w/CubeMX
2018-07-31 07:41:49 -07:00
David Garske
0f86494161 * Added support for STM32L4 AES hardware crypto.
* Added reference PK callbacks functions for ECC sign, verify and shared secret used by TLS in `wolfcrypt/src/port/st/stsafe.c`.
* Fix for wolfcrypt_test to not require args to be provided.
* Fix for wolfCrypt `ecc_test_buffers` to poperly init ecc_key (resolves devId issue).
* Fix for STM32 AES CBC Decrypt with CubeMX, which was not capturing the first input block for next IV.
* Refactor to combine STM32 hardware init code.
2018-07-30 13:58:19 -07:00
David Garske
656c0453a2 Fix for unit test abort(). 2018-07-30 13:53:54 -07:00
David Garske
6a91fbcfdd Fixes for warnings from Jenkins reports. 2018-07-30 13:53:54 -07:00
David Garske
4eff7b641b First pass at bugs found with ./scripts/memtest.sh. Fixes for NULL pointer checks, making sure free'd pointers are reset, making sure pointers are initialized and making sure memory is always free'd. Fix for TicketInit() which was using non-thread safe RNG and key_ctx. Fix for possible double free case in wolfSSL_PEM_read_X509_CRL. 2018-07-30 13:53:54 -07:00
David Garske
6ed6876b1f Enhanced the --enable-memtrack option to keep list of pointers allocated and reports leaked memory at end. Cleanup of the wolfCrypt_Init and wolfCrypt_Cleanup calls in unit.test and SrpTest memory tracking feature. 2018-07-30 13:53:54 -07:00
David Garske
2c3475c1d6 Added new build option --enable-memtest or WOLFSSL_FORCE_MALLOC_FAIL_TEST which enables random malloc failures for testing. This test supresses the abort() calls to detect seg faults. A new script ./scripts/memtest.sh starts the test. If an issue is found it can be reviewed with the ./scripts/memtest.txt log and reproduced using the seed printed at top of unit test as --- RNG MALLOC FAIL AT 295--- and rerun using ./tests/unit.test 295. 2018-07-30 13:53:35 -07:00
toddouska
62cb69ded6 Merge pull request #1724 from dgarske/pemtoder
Added API's to expose alloc/free of DerBuffer and new unit tests
2018-07-30 13:50:19 -07:00
toddouska
335f467b8c Merge pull request #1714 from dgarske/pic32hashleak
Fixes for PIC32MZ hash memory leak
2018-07-30 13:48:59 -07:00
David Garske
50115e55b3 Merge pull request #1725 from kaleb-himes/USER_CONF_SIZES
Allow users to adjust upper bounds
2018-07-30 13:44:58 -07:00
kaleb-himes
ec238c0553 Allow users to adjust upper bounds 2018-07-30 13:44:40 -06:00
Chris Conlon
c71d8eb6ba Merge pull request #1653 from Naruto/feature/mynewt
port apache mynewt
2018-07-30 13:33:25 -06:00
Chris Conlon
1079b0e3b3 Merge pull request #1716 from cariepointer/osp/haproxy
Define functions required by HAProxy and enable SSLV3 dependency
2018-07-30 13:26:38 -06:00
David Garske
0ef63048a0 Fix for new report in wc_BerToDer with uninitialized derSz. 2018-07-30 11:51:26 -07:00
David Garske
309d7a9d0d Added API's to expose alloc/free of DerBuffer using wc_AllocDer and wc_FreeDer. Added unit tests for new API's and missing ones for wc_PemToDer and wc_CertPemToDer. ZD 4185. 2018-07-30 11:19:59 -07:00
Kaleb Himes
d19b78d81a Fix typo in comment 2018-07-30 12:17:55 -06:00
kaleb-himes
166330030c Handle case where external unassigned 2018-07-29 06:46:07 -06:00
Naruto TAKAHASHI
861fec1dc6 porting mynewt 2018-07-28 18:03:20 +09:00
kaleb-himes
0ee4b88e74 avoid overhead call to alloc and free when sigSz invalid 2018-07-27 16:25:10 -06:00
John Safranek
4b8507813e Prime Number Testing
1. Also disable the new prime test from TLS while using SELFTEST.
2018-07-27 13:34:38 -07:00
kaleb-himes
afb2180e80 Cleanup debug errors 2018-07-27 14:00:19 -06:00
Kaleb Himes
04e16b8df8 Merge pull request #1717 from JacobBarthelmeh/Testing
sanity check on pkcs8 variable
2018-07-27 13:33:55 -06:00
MJSPollard
543cac65d8 Added boost define and openssl bug fix with WOLFSSL_KEY_GEN 2018-07-27 12:42:09 -06:00
Jacob Barthelmeh
74c4d31c07 sanity check on pkcs8 variable 2018-07-27 11:16:41 -06:00
John Safranek
31f1692cbf Prime Number Testing
1. Disable the new prime test from TLS while using FIPS or setting the flag WOLFSSL_OLD_PRIME_CHECK.
2018-07-26 16:01:08 -07:00
John Safranek
4b2a591a93 Prime Number Testing
1. Added calls to wc_DhSetCheckKey() on the client side of TLS.
2. Added an API test to the wolfCrypt test.
3. Fixed a bug in the prime test found with the API test. Misuse of tertiary operator.
2018-07-26 14:43:04 -07:00
David Garske
efbabbfb29 Further improvements to hashing code to make sure wc_*Free is always called including wc_HashFree. Added new defines to disable PIC32MZ hardware features using NO_PIC32MZ_HASH, NO_PIC32MZ_RNG and NO_PIC32MZ_CRYPT. 2018-07-26 14:41:30 -07:00
Carie Pointer
a1f69f0d64 Define functions required by HAProxy and enable SSLV3 dependency 2018-07-26 12:53:21 -07:00
toddouska
90367df13c Merge pull request #1710 from SparkiDev/ed25519_only
Changes to build with X25519 and Ed25519 only
2018-07-25 14:24:03 -07:00
toddouska
84c1b633fb Merge pull request #1713 from JacobBarthelmeh/UnitTests
fix buffer types for ARC4 test
2018-07-25 14:17:10 -07:00
David Garske
92cb8f06ea Fixes to make sure hash free is always called (resolves memory leaks with PIC32MZ hashing hardware). Only print Alloc/Free messages with track memory when WOLFSSL_DEBUG_MEMORY_PRINT is defined. Added test for ForceZero with 0 length. 2018-07-25 11:22:03 -07:00
David Garske
beceab2734 Fix for leak with WOLFSSL_PIC32MZ_HASH and TLS. The PIC32 update cache buffer was not always being free'd. 2018-07-25 11:22:03 -07:00
JacobBarthelmeh
74fbd06817 Merge pull request #1686 from cconlon/nucleus-update
Nucleus port and PB changes
2018-07-25 09:17:40 -06:00
Jacob Barthelmeh
003b7b28f4 fix buffer types for ARC4 test 2018-07-24 17:37:39 -06:00
toddouska
fe2aee11d8 Merge pull request #1712 from JacobBarthelmeh/Testing
check if internal of WOLFSSL_RSA struct is already set
2018-07-24 11:55:15 -07:00
toddouska
17c7ecb2bc Merge pull request #1711 from dgarske/memtrack
Fix for memory tracking cleanup
2018-07-24 11:53:08 -07:00
toddouska
169cca355f Merge pull request #1705 from cconlon/truestudio-project
Add wolfSSL library project for Atollic TrueSTUDIO
2018-07-24 11:52:11 -07:00
toddouska
018573bcf3 Merge pull request #1695 from JacobBarthelmeh/Optimizations
add some macro guards for CipherRequires function
2018-07-24 11:51:03 -07:00
Chris Conlon
0175447eb3 tie TRUESTUDIO files into include.am 2018-07-24 09:36:49 -06:00
Jacob Barthelmeh
f69c6e382c check if internal of WOLFSSL_RSA struct is already set 2018-07-23 17:17:27 -06:00
toddouska
92bc891713 Merge pull request #1709 from SparkiDev/rsa_low_mem_fix
Fix for RSA_LOW_MEM and other configurations
2018-07-23 16:15:28 -07:00
toddouska
e618f34c2f Merge pull request #1707 from kaleb-himes/ARM_GCC_EX_FIXES
Fixes for building without DRBG and ForceZero test
2018-07-23 16:14:43 -07:00
David Garske
ef076a68d3 Added new API wolfSSL_ResetAllocators to allow reset of memory callbacks to defaults. Added new CleanupMemoryTracker which restores memory callback functions. This resolves issue with trying to free memory allocated prior to InitMemoryTracker. 2018-07-23 16:03:08 -07:00
toddouska
ab3ffaa26a Merge pull request #1706 from SparkiDev/sha384_not_sha512
Allow SHA384 to be compiled in without SHA512
2018-07-23 09:47:49 -07:00
Chris Conlon
69aa74d220 Merge pull request #1708 from ejohnstown/config-fix
Configure Fix
2018-07-23 10:43:12 -06:00
Sean Parkinson
6d3e145571 Changes to build with X25519 and Ed25519 only
Allows configurations without RSA, DH and ECC but with Curve25519
algorithms to work with SSL/TLS using X25519 key exchange and Ed25519
certificates.
Fix Ed25519 code to call wc_Sha512Free().
Add certificates to test.h and fix examples to use them.
2018-07-23 10:20:18 +10:00
Sean Parkinson
06b888a997 Fix for RSA_LOW_MEM and other configurations
Also cast return of XMALLOCs.
2018-07-23 08:47:11 +10:00
John Safranek
3957bb4ebe Configure Fix
1. The check for options that start with an underscore to wrap them with another check was broken. Replaced with a use of grep. The old original version breaks on some shells.
2018-07-20 15:14:03 -07:00
kaleb-himes
c432bb5e82 Revert back to no tests for test.h consideration 2018-07-20 14:41:46 -06:00
kaleb-himes
887e3deee8 Move ForceZero test to api.c and turn on tests when inline disabled 2018-07-20 13:30:06 -06:00
kaleb-himes
027f18919a Resolving some unwanted dependencies 2018-07-20 11:54:36 -06:00
Chris Conlon
7f19f914c0 create WOLFSSL_NUCLEUS_1_2 for older 1.2 version 2018-07-20 10:51:15 -06:00
David Garske
d54c7a7df8 Merge pull request #1704 from quinnmiller1997/crossworks
Added support for Jenkins testing in Rowley Crossworks
2018-07-20 08:15:16 -07:00
Sean Parkinson
9433fcb820 Allow SHA384 to be compiled in without SHA512 2018-07-20 09:42:01 +10:00
David Garske
c5a44c083a Merge pull request #1703 from cconlon/truestudio
Fix Atollic TrueSTUDIO warning, add WOLFSSL_STM32F427_RNG
2018-07-19 15:59:11 -07:00
Chris Conlon
b6ac3379f0 add wolfSSL library project for Atollic TrueSTUDIO 2018-07-19 16:06:42 -06:00
Quinn Miller
6d0c49a425 Added support for Jenkins testing in Rowley Crossworks 2018-07-19 15:34:28 -06:00
David Garske
59f241e510 Merge pull request #1702 from ejohnstown/fips-ecc
FIPS build and ECC fixes
2018-07-19 13:56:03 -07:00
JacobBarthelmeh
a58d1cf030 Merge pull request #1655 from MJSPollard/wolfASIO
Added wolfSSL compatability for Asio C++ library
2018-07-19 13:44:07 -06:00
MJSPollard
19dd08e191 requested style changes 2018-07-19 11:05:56 -06:00
John Safranek
c9434c5ad8 FIPS build and ECC fixes
1. The fips-check script was missing the ecc file when building the FIPSv2 test directory. The correct file was sent in for testing.
2. When building with ECC import validation enabled, one usage of the ALLOC_CURVE_SPECS macro had an extra parameter. (copy-and-paste error)
2018-07-19 10:02:14 -07:00
Chris Conlon
213f79f06f only require Nucleus XTIME when NO_ASN_TIME is not defined 2018-07-19 10:47:37 -06:00
MJSPollard
42985d8250 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into wolfASIO 2018-07-19 10:26:54 -06:00
Chris Conlon
5c940351b7 add include for task.h for FREERTOS in benchmark.c 2018-07-18 16:52:16 -06:00
Chris Conlon
5b9fbb5d42 add WOLFSSL_STM32F427_RNG support 2018-07-18 16:44:30 -06:00
Chris Conlon
27b7791f5e fix TrueSTUDIO warning in PKCS12_create_key_bag() 2018-07-18 16:15:33 -06:00
MJSPollard
da1ac3643f added current_issuer member in X509_STORE_CTX struct for SSF use 2018-07-18 16:01:16 -06:00
David Garske
70dfb9af72 Merge pull request #1700 from embhorn/zd4110
Move #if blocking wc_PubKeyPemToDer
2018-07-18 12:33:01 -07:00
MJSPollard
0dbd35ae01 websocketpp compat. addition, add new define for asio 2018-07-18 12:09:12 -06:00
MJSPollard
db8939c578 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into wolfASIO 2018-07-18 11:10:35 -06:00
toddouska
227e7cc8c7 Merge pull request #1690 from SparkiDev/tls_sha384_copy
Remove special case SHA-384 copy code
2018-07-18 09:37:50 -07:00
toddouska
aa2d6f8060 Merge pull request #1699 from dgarske/ecc508a_pkcb
Added reference PK callbacks for ATECC508A to support TLS
2018-07-18 09:35:58 -07:00
toddouska
436e774729 Merge pull request #1685 from SparkiDev/dh_max
Add support for maximum DH key size
2018-07-18 09:33:43 -07:00
David Garske
52aac6e641 Merge pull request #1697 from embhorn/zd4060
Dead code in wolfSSL_BIO_gets()
2018-07-18 09:22:35 -07:00
Eric Blankenhorn
0c59aa8e31 Move #if blocking wc_PubKeyPemToDer 2018-07-18 11:15:06 -05:00
John Safranek
17d5b6a42b Merge pull request #1694 from SparkiDev/stack_ecc
Small stack support in ECC
2018-07-18 08:57:35 -07:00
David Garske
ebdfe9715e Merge pull request #1698 from SparkiDev/ed25519_def
Fix define protection to be ED25519 not ECC
2018-07-17 20:05:47 -07:00
David Garske
74c391d138 Added reference PK callbacks (HAVE_PK_CALLBACKS) for ATECC508A device for wolfSSL TLS. 2018-07-17 19:02:56 -07:00
Sean Parkinson
0236a293e4 Fix define protection to be ED25519 not ECC 2018-07-18 10:12:57 +10:00
Sean Parkinson
ce092a96a2 Change default maximum to 4096 bits. 2018-07-18 08:40:43 +10:00
David Garske
a862ef860b Merge pull request #1696 from quinnmiller1997/crossworks
Updated Rowley-Crossworks settings for CMSIS 4, added support for Jenkins testing
2018-07-17 13:32:34 -07:00
toddouska
1840ae7013 Merge pull request #1693 from SparkiDev/stack_rsa
Small stack fixes and ignore RSA fields in RSA_LOW_MEM
2018-07-17 12:24:00 -07:00
Eric Blankenhorn
6a6f5d01b4 Fix for zd4060 2018-07-17 14:20:14 -05:00
toddouska
f693c9cc8b Merge pull request #1692 from SparkiDev/stack_hashalgs
Stack hashalgs
2018-07-17 12:20:02 -07:00
toddouska
96567112cd Merge pull request #1691 from SparkiDev/stack_dh_tls
Small stack fixes
2018-07-17 12:15:26 -07:00
Chris Conlon
8fed6dfb27 Merge pull request #1687 from cariepointer/openssh-des3
Update configure to enable des3 when building OpenSSH
2018-07-17 12:03:18 -06:00
Quinn Miller
1766b69de2 Added suppport for Jenkins testing on FRDM-K64F and updated README 2018-07-17 11:30:33 -06:00
David Garske
d6c9d30aee Merge pull request #1689 from ejohnstown/atomic-dtls
DTLS and Atomic Encrypt Callback
2018-07-17 09:37:50 -07:00
JacobBarthelmeh
eebbe0239a Merge pull request #1683 from kaleb-himes/SGX_STATIC_LIB_FIX
Update SGX Static lib solution, solve through settings.h
2018-07-17 10:22:14 -06:00
Jacob Barthelmeh
7e5bf9b8a9 add some macro guards for CipherRequires function 2018-07-17 09:04:06 -06:00
Sean Parkinson
e6c22fbd85 Small stack support in ECC
Small stack builds now dynamically allocate large stack variables.
Cache option added to avoid repeated allocation of temporaries in add
points, double point and map.
Cached memory allocated in mulmod and mul2add.
2018-07-17 16:39:53 +10:00
Sean Parkinson
c01c79349e Small stack fixes and ignore RSA fields in RSA_LOW_MEM
Fix asn.c and rsa.c small stack to not have large stack variables.
In RSA code don't load or store dP, dQ or u when using RSA_LOW_MEM as
they are not used.
Fix SP to recognize RSA_LOW_MEM means to use d, private exponent.
Fix wc_CheckRsaKey to work with SP.
Fix sp_int to support mp_set_int for wc_CheckRsaKey().
2018-07-17 11:05:38 +10:00
Sean Parkinson
befe15ddb9 Add configure option to cache when using small stack 2018-07-17 09:36:49 +10:00
Sean Parkinson
6ef800e5f7 Cache Sha256 for small stack when asked in random
Small stack builds see SHA-256 allocating W a lot.
Cache the SHA-256 object in DRBG when WOLFSSL_SMALL_STACK_CACHE is
defined.
Call free function on SHA-256 object now that it is required.
2018-07-17 09:33:24 +10:00
Sean Parkinson
88a2531652 Cache the data allocated in SHA-2 Transform functions
SHA-2 algorithms allocate W each call to transform when using
WOLFSSL_SMALL_STACK.
Put a pointer into the SHA-2 object to cache W.
Change code to call the SHA-2 Free functions now that they are required.
Only cache when WOLFSSL_SMALL_STACK_CACHE is defined.
2018-07-17 09:17:39 +10:00
Sean Parkinson
514a949557 Small stack fixes
Changes to DH and SSL/TLS code to dynamically allocate large stack
variables when compiled with WOLFSSL_SMALL_STACK.
2018-07-17 09:04:00 +10:00
Sean Parkinson
87f378efb5 Remove special case SHA-384 copy code
SHA-384 implementation has a GetHash API and TLS code uses it.
2018-07-17 08:16:46 +10:00
John Safranek
49fefe176e DTLS and Atomic Encrypt Callback
When using the encrypt callback, the DTLS sequence number isn't incremented. Moved the increment to later in the BuildMessage() function.
2018-07-16 13:33:03 -07:00
Carie Pointer
ea769b831c Fix tab indentation 2018-07-16 13:09:45 -07:00
Carie Pointer
dbe0ac6fec Update configure to enable des3 when building OpenSSH 2018-07-16 09:49:23 -07:00
John Safranek
00fd7ff8de Prime Number Testing
1. Added some new ifdef clauses to tfc and integer so that
the prime checking is available when using RSA, DSA, or DH.
A couple functions used were dependent on ECC being enabled.
2018-07-13 17:42:35 -07:00
toddouska
f0422bec41 Merge pull request #1681 from dgarske/pk_keygen
Added ECC and Curve25519 Key Generation PK callback support
2018-07-13 14:03:13 -07:00
Chris Conlon
f59fb0df8e add custom print to test.c for PB 2018-07-13 14:58:48 -06:00
Chris Conlon
eeb50099d9 initial Nucleus port with PB changes 2018-07-13 14:58:37 -06:00
toddouska
1337f7ddec Merge pull request #1674 from dgarske/derchainsz
Fix for max cert chain size calculation
2018-07-13 13:53:35 -07:00
kaleb-himes
ddd6563442 Dependencies for SGX project updated 2018-07-13 13:18:15 -06:00
toddouska
6c1778d373 Merge pull request #1669 from cconlon/mqxfixes
fixes for MQX classic 4.0 with IAR-EWARM
2018-07-13 11:59:28 -07:00
toddouska
223c71b96c Merge pull request #1673 from ejohnstown/configure-update
Yet Another Configure Update
2018-07-13 11:55:08 -07:00
David Garske
0a19dc0940 Don't run new cert chain test if RSA is disabled (test chain contains RSA certs). 2018-07-13 11:41:06 -07:00
David Garske
2f00c0b465 Added test case for new server ECDHE PK callback. 2018-07-13 10:45:36 -07:00
JacobBarthelmeh
71d8946ee6 Merge pull request #1678 from cariepointer/osp/openssh
Move function prototypes from wolfss/ssl.h and openssl/ssl.h to appropriate header files for OpenSSH compatibility
2018-07-13 10:05:18 -06:00
Eric Blankenhorn
9bc0e0c4fc Static analysis fixes (#1658)
* Static analysis fixes
* Fixes for zd4071, zd4074, zd4093-zd4094, zd4096, zd4097-zd4104.
* Add test cases.
2018-07-13 09:02:09 -07:00
JacobBarthelmeh
f22f33606a Merge pull request #1684 from ejohnstown/distcheckfix
add missing certificates to the automake include
2018-07-13 09:41:10 -06:00
Sean Parkinson
ffc6cf4eb8 Add support for maximum DH key size 2018-07-13 17:36:42 +10:00
John Safranek
771e349925 Prime Number Testing
1. Moved a few functions around in tfm.c and integer.c.
2. Added some new ifdef clauses to tfc and integer so that the prime checking is available when using RSA, DSA, or DH.
3. Added an internal version of function wc_DhSetKey and wc_DsaImportParamsRaw that always checks to see if the prime value is prime. Modified the original function to be a wrapper.
2018-07-12 17:22:44 -07:00
John Safranek
0240cc7795 add missing certificates to the automake include 2018-07-12 17:06:02 -07:00
John Safranek
997a377310 Prime Number Testing
1. In wc_DhGenerateParams(), changed the call to mp_prime_is_prime() to
mp_prime_is_prime_ex().
2. In wc_MakeDsaParameters(), changed the call to mp_prime_is_prime() to
mp_prime_is_prime_ex().
3. Added wc_CheckProbablePrime_ex in RSA that also takes an RNG to call
mp_prime_is_prime_ex(). If RNG is NULL, call mp_prime_is_prime().
4. Rewrite wc_CheckProbablePrime() in terms of
wc_CheckProbablePrime_ex().
2018-07-12 15:00:13 -07:00
Carie Pointer
7d5da4d122 Fix typo in function name 2018-07-12 14:40:46 -07:00
David Garske
0ce6cbd4c4 Added API unit test for wolfSSL_CTX_use_certificate_chain_file_format. 2018-07-12 13:22:21 -07:00
kaleb-himes
1b965491d9 Solve through settings.h instead 2018-07-12 14:09:57 -06:00
John Safranek
f7c5b27bfc Merge pull request #1675 from toddouska/zero-error
make SOCKET_PEER_CLOSED_E consistent between read and 2 write cases
2018-07-12 12:53:48 -07:00
Chris Conlon
cadd556b3a cast result of bitwise not back to original type to prevent compiler warnings 2018-07-12 13:46:55 -06:00
David Garske
eeece1df1e Fix for duplicate declaration of EccMakeKey. 2018-07-12 12:13:10 -07:00
David Garske
81d13e15d5 Added ECC and Curve25519 Key generation callback support for HAVE_PK_CALLBACKS. The TLS server side ECDHE could not correctly handle PK callback based shared secret calculation using a hardware based generated key. Refactor internal functions to use the callback ctx getter API. 2018-07-12 11:52:54 -07:00
John Safranek
d486df50aa fix an error where mp_copy was used instead of mp_sub_d 2018-07-12 11:03:41 -07:00
MJSPollard
93d7891701 Added different tls version support for asio 2018-07-12 11:59:58 -06:00
MJSPollard
d8dff3e4de Merge branch 'master' of https://github.com/wolfSSL/wolfssl into wolfASIO 2018-07-12 11:57:34 -06:00
David Garske
40d0e7f711 Merge pull request #1677 from ejohnstown/gcc-arm-update
GCC-ARM README Update
2018-07-12 10:27:07 -07:00
Carie Pointer
c1af8d2190 Move function prototypes from wolfss/ssl.h and openssl/ssl.h to appropriate header files for OpenSSH compatibility 2018-07-12 08:13:51 -07:00
John Safranek
5908230d20 Prime Number Testing
1. Fixed variable name typo in DH for the FFDHE 8192-bit q value.
2. Updated some error strings in wolfSSL_BN_is_prime_ex().
3. Changed the calls to mp_prime_is_prime_ex() in fp_randprime() and
mp_randprime() so they go back to the 8 rounds of MR, which is more than
adequate in this situation.
2018-07-11 16:24:41 -07:00
John Safranek
2f638a0ae1 GCC-ARM README Update
Added directions for building wolfSSL using the gcc-arm-none-eabi tools.
2018-07-11 16:05:02 -07:00
toddouska
23687f44bc Merge pull request #1643 from ejohnstown/altnames
Subject Alt Name Matching
2018-07-11 13:20:58 -07:00
Todd Ouska
d639939a07 make SOCKET_PEER_CLOSED_E consistent between read and 2 write cases 2018-07-11 13:00:29 -07:00
David Garske
05cfeae3ce Fix for handling max cert chain size. It was not accounting for the 3 byte header in max size calculation. 2018-07-11 12:32:49 -07:00
John Safranek
eb32935081 Configure Update
1. Fix typo.
2. Change the parsing of the -D options to be more POSIX friendly.
Removed the "==" and replaced the multi escaped [] with a test command.
2018-07-11 12:01:05 -07:00
Chris Conlon
0f2b5ca181 fixes for MQX classic 4.0 with IAR-EWARM 2018-07-11 10:54:24 -06:00
toddouska
df6c496c4e Merge pull request #1671 from SparkiDev/x25519_asm_fix
Fix for Curve25519 ASM
2018-07-11 09:50:57 -07:00
toddouska
c1a9945656 Merge pull request #1670 from JacobBarthelmeh/UnitTests
check that fp max bits is large enough before test
2018-07-11 09:49:22 -07:00
Sean Parkinson
9281f30deb Fix for Curve25519 ASM
On rare occasions, multiplication and/or squaring result had top bit set
after overflow add - must to be reduced in that case.
2018-07-11 11:53:53 +10:00
John Safranek
239880a9de Subject Alt Name Matching
1. Removed an external test tag from a failure test case. Ends up leaving a thread still running on exit.
2018-07-10 17:07:48 -07:00
David Garske
e2dec618d8 Merge pull request #1667 from ejohnstown/certgentime
Cert Gen Time
2018-07-10 14:40:37 -07:00
John Safranek
0e06f6413d Prime Number Testing
1. Update the function wolfSSL_BN_is_prime_ex to use mp_prime_is_prime_ex.
2. Modified fast and normal mp_prime_is_prime_ex() to use random numbers
that are in the range 2 < a < n-2.
2018-07-10 14:30:53 -07:00
Chris Conlon
9ca5c65f33 Merge pull request #1645 from abrahamsonn/doxygen-appearance-fix
Doxygen appearance fix
2018-07-10 15:27:07 -06:00
Jacob Barthelmeh
58478c50af check that fp max bits is large enough before test 2018-07-10 15:09:47 -06:00
MJSPollard
4cbae0bca3 changes to make jenkins tests work 2018-07-10 13:34:16 -06:00
MJSPollard
3fc7424e03 implemented requested changes 2018-07-10 11:52:41 -06:00
MJSPollard
d361a1aebd Merge branch 'master' of https://github.com/wolfSSL/wolfssl into wolfASIO 2018-07-10 11:04:53 -06:00
John Safranek
f1c3098bdc Prime Number Testing
Made modifications to the primality testing so that the Miller-Rabin tests check against up to 40 random numbers rather than a fixed list of small primes.
2018-07-09 16:33:26 -07:00
toddouska
87499aa7bd Merge pull request #1668 from ejohnstown/ignore-file
Ignore File
2018-07-09 11:18:44 -07:00
toddouska
376a4d3ca8 Merge pull request #1666 from dgarske/fix_always_verify
Fix for building with `WOLFSSL_ALWAYS_VERIFY_CB`
2018-07-09 11:13:28 -07:00
toddouska
90cf4ad7ad Merge pull request #1648 from embhorn/pkcb
Add PK_CALLBACK support for RSA/ECC verify to ConfirmSignature
2018-07-09 11:05:48 -07:00
David Garske
9c2a5d2906 Further simplification of the PK verify wrapping to avoid malloc/free. Thanks Todd! 2018-07-06 16:21:43 -07:00
John Safranek
ed17963f21 Add fipsv2.c to the gitignore file. 2018-07-06 16:08:16 -07:00
toddouska
2e2a502683 Merge pull request #1659 from ejohnstown/configure-update
Configure Update
2018-07-06 16:08:11 -07:00
David Garske
85d58cbf8c Fix for building with WOLFSSL_ALWAYS_VERIFY_CB. 2018-07-06 15:31:52 -07:00
John Safranek
5cc8771b43 Cert Gen Time
When generating the times for a generated certificate, calculate the
time differences based on the seconds from epoch rather then converting
back and forth between tm structures. One particular RTOS calculates the
date change when generating a certificate on the first of the month. It
leaves the certificate valid on the zeroth of the month.
2018-07-06 15:31:34 -07:00
David Garske
595beb3fec Fixup for the removal of const. 2018-07-06 09:35:00 -07:00
David Garske
32f1b0a9c2 Added separate context for each SignatureCtx verify callback. Added missing ssl info to callback context. 2018-07-06 09:28:46 -07:00
David Garske
9bf8122af7 Merge pull request #1660 from JacobBarthelmeh/ARMv8
adjust macro guards for additional functions
2018-07-06 09:02:35 -07:00
toddouska
8ba4dda8a8 Merge pull request #1663 from dgarske/lib_isolate
Cleanup old `WOLFSSL` and `WOLFSSL_CTX` references in wolfCrypt
2018-07-05 16:09:56 -07:00
Eric Blankenhorn
80f98f7ab7 Merge pull request #1664 from JacobBarthelmeh/Testing
keep length value after call to wc_BerToDer
2018-07-05 18:05:28 -05:00
David Garske
3cbcc872c1 Improved PK callback support for ConfirmSignature so certificate verification uses the callbacks. Retained wolfSSL/wolfCrypt isolation (I.E. no wolfSSL references from wolfCrypt). 2018-07-05 14:04:06 -07:00
Jacob Barthelmeh
e44cb91a3b keep length value after call to wc_BerToDer 2018-07-05 14:35:35 -06:00
David Garske
0e8e3b7441 Cleanup old WOLFSSL and WOLFSSL_CTX references in wolfCrypt that are no longer required. 2018-07-05 09:58:47 -07:00
Jacob Barthelmeh
c8e118cd12 adjust macro guards for additional functions 2018-07-03 16:52:29 -06:00
John Safranek
af65a9520a Configure Update
Change the increment of the number of jobservers to be more posixish.
More compatible with HPUX's ksh.
2018-07-03 14:42:51 -07:00
toddouska
ae54bae2fa Merge pull request #1654 from SparkiDev/tls13_stapling
TLS 1.3 OCSP Stapling
2018-07-03 12:56:28 -07:00
Michael Pollard
ad0f775911 Merge branch 'master' into wolfASIO 2018-07-03 11:14:16 -06:00
MJSPollard
ac0b31dee8 refactored and added defines for wolfSSL/Asio Compat 2018-07-03 11:07:15 -06:00
toddouska
f809a6a17b Merge pull request #1651 from dgarske/pkcs7_dynamic
Added PKCS7 dynamic allocation support
2018-07-02 16:26:03 -07:00
toddouska
fbd5a4f67f Merge pull request #1650 from dgarske/fix_armv8_aes
Fix ARMv8 AES code build error
2018-07-02 16:23:32 -07:00
toddouska
77f11a6be9 Merge pull request #1649 from embhorn/zd4043
Fix for memory leak in wolfSSL_BN_hex2bn
2018-07-02 16:22:57 -07:00
toddouska
9f35d211e0 Merge pull request #1644 from JacobBarthelmeh/Compatibility-Layer
add ca when getting chain from x509 store
2018-07-02 16:22:11 -07:00
toddouska
e17a16a45a Merge pull request #1600 from dgarske/lighttpd
Changes to support Lighttpd 1.4.49
2018-07-02 16:18:41 -07:00
JacobBarthelmeh
df9ed87c5f Merge pull request #1652 from ejohnstown/dhtestleak
Fixed a memory leak in the wolfCrypt test for DH key generation.
2018-07-02 17:05:22 -06:00
Sean Parkinson
52d9803d72 Merge pull request #1657 from JacobBarthelmeh/Testing
casts for tls 1.3 windows warnings
2018-07-03 08:25:01 +10:00
John Safranek
adb3cc5a5a Subject Alt Name Matching
1. Added certificates for localhost where the CN and SAN match and differ.
2. Change subject name matching so the CN is checked if the SAN list doesn't exit, and only check the SAN list if present.
3. Added a test case for the CN/SAN mismatch.
4. Old matching behavior restored with build option WOLFSSL_ALLOW_NO_CN_IN_SAN.
5. Add test case for a correct certificate.

Note: The test for the garbage certificate should fail. If you enable the old behavior, that test case will start succeeding, causing the test to fail.
2018-07-02 13:39:11 -07:00
John Safranek
cf191a4d96 Fixed a memory leak in the wolfCrypt test for DH key generation. 2018-07-02 13:31:13 -07:00
Jacob Barthelmeh
201217bd97 casts for tls 1.3 windows warnings 2018-07-02 13:55:38 -06:00
David Garske
2bd4fb110c Fix additional cases for use of unititlized PKCS isDynmaic in unit test. 2018-07-02 10:24:41 -07:00
MJSPollard
e319987579 Added wolfSSl compatability for Asio C++ library 2018-07-02 10:48:02 -06:00
David Garske
fb3d3dce0e Fix for use of unititlized PKCS7.isDynamic case in unit test. Added return code checks for wc_PKCS7_Init. 2018-07-02 09:38:14 -07:00
Jacob Barthelmeh
a9ff79e321 check return value 2018-07-02 10:10:30 -06:00
Sean Parkinson
0bf3a89992 TLS 1.3 OCSP Stapling
Introduce support for OCSP stapling in TLS 1.3.
Note: OCSP Stapling v2 is not used in TLS 1.3.
Added tests.
Allow extensions to be sent with first certificate.
Fix writing out of certificate chains in TLS 1.3.
Tidy up the OCSP stapling code to remove duplication as much as
possible.
2018-07-02 16:59:23 +10:00
David Garske
3adbb07abe Comment correction. 2018-06-29 15:07:56 -07:00
David Garske
733cb74ea8 Updated all PKCS7 XMALLOC/XFREE to use heap pointer (even small stack). 2018-06-29 15:05:37 -07:00
David Garske
07401d909c Added support for dynamic allocation of PKCS7 structure using wc_PKCS7_New and wc_PKCS7_Free. Updated the test examples to use the dynamic method. Add API unit test for wc_PKCS7_New. 2018-06-29 15:04:28 -07:00
toddouska
33b72a3dfe Merge pull request #1647 from ejohnstown/akid-not-crit
Add error case for critical Auth Key ID extension
2018-06-29 10:41:04 -07:00
David Garske
44c4e33290 Fix ARMv8 AES code to use the shared aes.h CTR_SZ and GCM_NONCE_MID_SZ. 2018-06-29 10:22:25 -07:00
Eric Blankenhorn
ebb3eb87d1 Update from review 2018-06-29 11:02:10 -05:00
JacobBarthelmeh
42ece70ff2 Merge pull request #1635 from ejohnstown/rpm-fixes
RPM Fixes
2018-06-29 09:44:11 -06:00
Eric Blankenhorn
c6890d518e Fix resource leak in wolfSSL_BN_hex2bn 2018-06-29 09:44:01 -05:00
toddouska
54f2c3fe18 Merge pull request #1646 from dgarske/stm32l4_iar
Added support for the STM32L4 and fixed mixed enum warnings
2018-06-28 15:34:33 -07:00
toddouska
b4da4340a1 Merge pull request #1640 from SparkiDev/tls13_nb
Fix non-blocking and buffered I/O
2018-06-28 15:32:42 -07:00
toddouska
ea32f2dbef Merge pull request #1638 from SparkiDev/nginx-ocsp
Fix support for OCSP and Nginx
2018-06-28 15:31:18 -07:00
Jacob Barthelmeh
e204b19923 add statusCb variable to OPENSSL_EXTRA build 2018-06-28 14:36:15 -06:00
John Safranek
6fa92fdd71 Add error case for critical Auth Key ID extension 2018-06-28 13:03:16 -07:00
David Garske
cd2971fb93 Abstracted code for setting options mask to improve wolfSSL_CTX_set_options, so it doesn't require allocating a WOLFSSL object. 2018-06-27 21:30:25 -07:00
David Garske
6dbca2b718 Fix to resolve the increased stack by allocating the temp ssl from the heap. 2018-06-27 19:44:34 -07:00
David Garske
66c2c65444 Changes to support Lighttpd 1.4.49:
* Fix for `wolfSSL_CTX_set_options` to work correctly when no certificate has been set for WOLFSSL_CTX, otherwise this operation fails with `Server missing certificate`.
* Fix for bad argument name `time`.
* Fix for `warning: type of bit-field`: Allowed types for bit-fields are int and unsigned int only.
* Exposed `ERR_remove_thread_state` and `SSL_CTX_set_tmp_ecdh` for lighttpd
* Renamed `WOLFSSL_ERR_remove_thread_state` to `wolfSSL_ERR_remove_thread_state` and setup old name macro.
* Add missing newline on asn1.h.
* Whitespace cleanup in ssl.c.
2018-06-27 19:44:34 -07:00
David Garske
7ae9e4359d Added support for the STM32L4 with AES/SHA hardware acceleration. Fixed a few minor compiler warnings with mis-matched enum types. 2018-06-27 19:40:03 -07:00
Sean Parkinson
abaa5daf43 Fix non-blocking and buffered I/O
Fix states in TLS 1.3 connect and accept to be monotonically increasing
by 1.
Always have a new state after a buffer is constructed to be sent.
Add non-blocking support into TLS benchmark and support TLS 1.3.
2018-06-28 08:49:32 +10:00
Sean Parkinson
7fbe1d3049 Fix support for OCSP and Nginx
Store DER copy of CA certificate with signer when
WOLFSSL_SIGNER_DER_CERT is defined.
Keep the bad issuer error for later when compiling for OpenSSL
compatability.
Authority Info string needs to be passed back with a nul terminator.
2018-06-28 08:48:06 +10:00
abrahamsonn
f32bd77a1d Updating appearance
In the past, Doxygen just listed API for wolfSSL and wolfCrypt in one long list.
Now there are two separate pages for the wolfSSL and wolfCrypt API references.
2018-06-27 16:29:37 -06:00
abrahamsonn
765d97ae01 1. Trailing whitespace removal 2018-06-27 16:22:12 -06:00
Jacob Barthelmeh
af75145602 adjust macro guards 2018-06-27 16:13:46 -06:00
Chris Conlon
ac3eb470f9 Merge pull request #1642 from ejohnstown/conner-doc-update
Doxy Update
2018-06-27 14:37:52 -06:00
Jacob Barthelmeh
c2c209fb89 add ca when getting chain from x509 store 2018-06-27 14:09:32 -06:00
John Safranek
47497f5aaa Removed stray merge failure marker debris. 2018-06-27 10:40:03 -07:00
connerwolfssl
554275ba71 documentation fix, changes made to x509_print for wolfCLU 2018-06-27 10:29:18 -07:00
connerwolfssl
13b7dad0fa documentation clean up, added check for asn generalized time 2018-06-27 10:22:47 -07:00
toddouska
5d767aa004 Merge pull request #1641 from ejohnstown/rename-inline
Rename INLINE
2018-06-27 09:34:41 -07:00
toddouska
0c74e778dc Merge pull request #1633 from dgarske/bench_3072
Benchmark support for 3072-bit RSA and DH
2018-06-27 07:17:53 -07:00
John Safranek
3572b26bd9 Merge pull request #1636 from JacobBarthelmeh/Testing
add options for OCSP test and combine certs
2018-06-26 22:46:11 -07:00
toddouska
1b2876679b Merge pull request #1631 from ejohnstown/wolfio-select
wolfIO Select Update
2018-06-26 19:27:20 -07:00
Jacob Barthelmeh
f031a6fc67 check on variable for printout 2018-06-26 17:03:04 -06:00
John Safranek
586874b997 Rename INLINE
1. Renamed the macro INLINE as WC_INLINE.
2. For FIPS and the "selftest" build, define INLINE as WC_INLINE. Allows the FIPS code to work unchanged.
2018-06-26 15:17:46 -07:00
Chris Conlon
d8086ded6a Merge pull request #1639 from ejohnstown/selftest-fixes
netbsd-selftest fix
2018-06-26 15:38:03 -06:00
toddouska
d9b5948947 Merge pull request #1605 from dgarske/asyncfsanitize
Fixes for async to resolve runtime fsanitize issues
2018-06-26 14:27:07 -07:00
John Safranek
4151af4b4a A few new functions in AES-GCM and DH don't exist in the netbsd-selftest build of wolfSSL. Option them out of the wolfCrypt self-test. 2018-06-25 17:49:11 -07:00
toddouska
a7d761c336 Merge pull request #1424 from ejohnstown/fipsv2
FIPSv2
2018-06-25 09:58:48 -07:00
Jacob Barthelmeh
8c9e0cd427 add options for OCSP test and combine certs 2018-06-22 15:58:27 -06:00
John Safranek
d13dfa309e RPM Fixes
1. Fixed a few parsing checks in the dates in the RPM changelog.
2. Moved some file names between sections in the include.am and spec.in files.
3. Added the match-start-of-line to the regex for finding the -D items for the options file.
2018-06-22 11:55:09 -07:00
John Safranek
9d7bcf8ec7 wolfIO Select Update
1. In wolfIO_Select(), separate out the fd lists into separate read and write lists.
2. Check the read and write fds lists to see if the connect() succeeded or failed.
3. Windows doesn't use the nfds parameter to Select. Initialize it to zero and reset it to the right value when building for not-Windows.
4. Remove the warning disable for Windows.

GCC 8.1 checks that "restrict" pointer parameters don't point to the same thing and will error if they do.
2018-06-22 10:49:57 -07:00
John Safranek
e6c7952f50 Merge master into fipsv2. Resolved a conflict in api.c. 2018-06-22 09:52:26 -07:00
David Garske
ed1c56a4fc Benchmark support for 3072-bit RSA and DH when USE_CERT_BUFFERS_3072 is defined. 2018-06-22 09:30:33 -07:00
David Garske
522f365279 Fix one more issue with PKCS7 and async, which is not supported. 2018-06-22 09:30:25 -07:00
David Garske
1cb5bbf8ea Fixes for some async issues. Fixes an async issue with BuildMessage. Fixes for PKCS7 tests to not use async since it is not supported. 2018-06-22 09:30:25 -07:00
David Garske
71606dde45 Fixes for a few wolfCrypt test memory leaks. Fix for HMAC with empty input not supported on QuickAssist. 2018-06-22 09:30:25 -07:00
David Garske
ec132cd3f4 Fix fsanitize issue for mp_rand. 2018-06-22 09:30:25 -07:00
David Garske
623f1b58ac Fix for min IV size check. Cleanup of the max IV to use new enum MAX_IV_SZ. 2018-06-22 09:30:25 -07:00
David Garske
64ba151c35 Experimental fixes for async to resolve runtime fsanitize issues with invalid memory access due to attempting realloc on non NUMA type. Tested with ./configure --with-intelqa=../QAT1.6 --enable-asynccrypt CC="clang -fsanitize=address" --enable-debug --disable-shared --enable-trackmemory CFLAGS="-DWOLFSSL_DEBUG_MEMORY -DWOLFSSL_DEBUG_MEMORY_PRINT" && make and sudo ./tests/unit.test. 2018-06-22 09:30:25 -07:00
toddouska
1179969dcf Merge pull request #1630 from embhorn/zd3963
Add support for C99 tools without strings.h and add option to disable C99
2018-06-21 18:00:23 -07:00
toddouska
8e78623123 Merge pull request #1632 from JacobBarthelmeh/Release
prepare for release v3.15.3
2018-06-21 15:37:32 -07:00
Jacob Barthelmeh
8fd18e06f7 prepare for release v3.15.3 2018-06-21 12:22:27 -06:00
Jacob Barthelmeh
518c987c61 update CA for ocsp test 2018-06-21 12:13:33 -06:00
toddouska
9d86d323ef Merge pull request #1628 from JacobBarthelmeh/Fuzzer
sanity check on hashing size
2018-06-20 17:46:38 -07:00
Jacob Barthelmeh
bf63003237 sanity check before reading word16 from buffer 2018-06-20 16:48:40 -06:00
Jacob Barthelmeh
2f43d5eece update size to be used with fuzzing 2018-06-20 15:29:05 -06:00
Eric Blankenhorn
0dc9a19835 Remove check to include strings.h 2018-06-20 10:40:03 -05:00
Jacob Barthelmeh
777c89a257 sanity check on pointer 2018-06-20 09:37:36 -06:00
Jacob Barthelmeh
61655ef56d comment on sz value and sanity check before fuzzing 2018-06-20 09:21:56 -06:00
Jacob Barthelmeh
83324f39d7 update IO callback function names with CSharp wrapper 2018-06-20 09:10:19 -06:00
Eric Blankenhorn
07810eb21e Merge branch 'master' into zd3963 2018-06-20 10:05:20 -05:00
Eric Blankenhorn
6d3237a0b4 Add support for C99 tools withoutstrings.h and add option to disable C99 checking. 2018-06-20 09:49:33 -05:00
toddouska
c1362cca60 Merge pull request #1629 from JacobBarthelmeh/Certs
disable CRL with additional cn/alt test certs
2018-06-19 14:42:21 -07:00
toddouska
d481a3fb92 Merge pull request #1625 from JacobBarthelmeh/Testing
memory management with test cases
2018-06-19 14:41:18 -07:00
Jacob Barthelmeh
d8e278b6b3 revert free on sig and add comment 2018-06-18 18:15:26 -06:00
toddouska
e348522353 Merge pull request #1627 from ejohnstown/pkcs7-verify
Fix PKCS7 Sign Verify
2018-06-18 15:32:18 -07:00
toddouska
4e6a88caf9 Merge pull request #1626 from JacobBarthelmeh/UnitTests
fix for implicit declaration error
2018-06-18 15:30:06 -07:00
Jacob Barthelmeh
d3cd0b6b2e disable CRL with additional cn/alt test certs 2018-06-18 16:10:45 -06:00
Jacob Barthelmeh
38f916a798 sanity check on hashing size 2018-06-18 15:50:44 -06:00
John Safranek
2fd000532a A length value was set to zero in a situation where the existing value was needed. 2018-06-18 11:48:45 -07:00
Jacob Barthelmeh
c98aca32c4 static analysis report fixes 2018-06-15 17:00:45 -06:00
Jacob Barthelmeh
bade35bd76 update return value 2018-06-15 16:25:09 -06:00
Jacob Barthelmeh
0f9063d2a9 fix for implicit declaration error 2018-06-15 16:14:22 -06:00
Jacob Barthelmeh
a1295b3148 memory management with test cases 2018-06-15 15:43:42 -06:00
toddouska
c78a552eb3 Merge pull request #1598 from JacobBarthelmeh/Nucleus
wolfCrypt only Nucleus
2018-06-15 14:23:54 -07:00
toddouska
0d0aa74444 Merge pull request #1623 from dgarske/fix_atecc508a
Fixes for build with `WOLFSSL_ATECC508A` defined
2018-06-15 11:06:33 -07:00
toddouska
55945acd55 Merge pull request #1622 from cconlon/cavp-selftest-fix
fix CAVP self test build with newer raw hash functions
2018-06-15 11:02:15 -07:00
Jacob Barthelmeh
b90fa909ef add warning for source of entropy 2018-06-15 11:40:05 -06:00
toddouska
495e3552d2 Merge pull request #1624 from JacobBarthelmeh/Testing
move location of wolfSSL_d2i_RSA_PublicKey to fix x509 small build
2018-06-15 10:39:08 -07:00
Jacob Barthelmeh
c03c10e1d4 move location of wolfSSL_d2i_RSA_PublicKey to fix x509 small build 2018-06-14 14:38:15 -06:00
toddouska
139a08a98e Merge pull request #1621 from SparkiDev/tls13_no_cs
Allow NO_WOLFSSL_CLIENT/SERVER to compile and pass tests
2018-06-14 09:08:13 -07:00
David Garske
5b2bb44bc8 Fixes for build with WOLFSSL_ATECC508A defined. 2018-06-13 20:10:01 -07:00
toddouska
aa01fd8adf Merge pull request #1619 from JacobBarthelmeh/HardwareAcc
RAW hash function APIs not supported with ARMv8 build
2018-06-13 16:07:53 -07:00
toddouska
15348d4936 Merge pull request #1612 from dgarske/fixmatchdomainname
Fixes for `MatchDomainName` to properly detect failures
2018-06-13 13:13:52 -07:00
John Safranek
534114d979 For the FIPSv2 build, remove the define for FP_MAX_BITS from the CFLAGS. Default value was appropriate. 2018-06-13 09:35:42 -07:00
David Garske
61056829c5 Added success test cases for domain name match (SNI) in common name and alternate name. 2018-06-13 09:26:54 -07:00
Chris Conlon
1db5d6ebd6 fix CAVP self test build with newer raw hash functions 2018-06-13 09:55:16 -06:00
Sean Parkinson
a03c15e598 Allow NO_WOLFSSL_CLIENT/SERVER to compile and pass tests 2018-06-13 11:42:16 +10:00
toddouska
e60262cbf1 Merge pull request #1604 from TimParrish/addAMDFunk
Update cpuid.c to optimize intelasm for performance on AMD processors
2018-06-12 16:19:33 -07:00
David Garske
8fa1592542 Fix to use SHA256 for the self-signed test certificates. 2018-06-12 16:12:29 -07:00
Jacob Barthelmeh
9dc560dd01 RAW hash function APIs not supported with ARMv8 build 2018-06-12 16:45:38 -06:00
David Garske
1f16b36402 Fixes for MatchDomainName to properly detect failures:
* Fix `MatchDomainName` to also check for remaining len on success check.
* Enhanced `DNS_entry` to include actual ASN.1 length and use it thoughout (was using XSTRLEN).

Added additional tests for matching on domain name:
* Check for bad common name with embedded null (CN=localhost\0h, Alt=None) - Note: Trouble creating cert with this criteria
* Check for bad alternate name with embedded null (CN=www.nomatch.com, Alt=localhost\0h)
* Check for bad common name (CN=www.nomatch.com, Alt=None)
* Check for bad alternate name (CN=www.nomatch.com, Alt=www.nomatch.com)
* Check for good wildcard common name (CN=*localhost, Alt=None)
* Check for good wildcard alternate name (CN=www.nomatch.com, Alt=*localhost)
2018-06-12 14:15:34 -07:00
Tim Parrish
9448b96afd updated change log 2018-06-12 14:15:57 -06:00
Tim Parrish
26835bef79 Updated README.md 2018-06-12 13:54:50 -06:00
Tim Parrish
1dd7f83752 Merge branch 'addAMDFunk' of https://github.com/TimParrish/wolfssl into addAMDFunk 2018-06-12 13:50:07 -06:00
John Safranek
af7b676405 Merge pull request #1602 from dgarske/compat_withnotls
Fixes for building with openssl compatibility enabled and no SSL/TLS
2018-06-12 12:25:32 -07:00
Tim
d043b2c559 Merge branch 'addAMDFunk' of github.com:TimParrish/wolfssl into addAMDFunk 2018-06-12 13:17:53 -06:00
Tim
d518e0b7f6 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into addAMDFunk 2018-06-12 13:16:01 -06:00
John Safranek
5e516cc2e0 Merge branch 'master' into fipsv2 2018-06-12 10:10:50 -07:00
Tim Parrish
53b0d2cba3 updated readme to show that AMD processors are supported 2018-06-12 10:59:42 -06:00
David Garske
dac5f84f61 Fix build error with missing bio. Fix for pkey not being reset to NULL for d2i_PrivateKey failure case test. 2018-06-12 09:38:18 -07:00
David Garske
292e9535ae Fix for wolfSSL_ERR_clear_error to call wc_ClearErrorNodes when its available (mismatched macros), which was incorrectly causing test_wolfSSL_ERR_put_error to fail. Added test_wolfSSL_PEM_PrivateKey test for ECC based key. Refactored the RNG test to only run the reseed test if TEST_RESEED_INTERVAL is defined. This is the test that was causing the tests/api.c to take so long to complete. Will add this macro to the enable options test. 2018-06-12 09:38:18 -07:00
David Garske
9cbd2b00d4 Added test for PEM_read_bio_PrivateKey using BIO loaded using BIO_new_mem_buf. 2018-06-12 09:38:18 -07:00
David Garske
e1890a4b0e Added some bad argument checks on compatibility functions BIO_new_mem_buf and PEM_read_bio_PrivateKey. 2018-06-12 09:38:18 -07:00
David Garske
ad0a10441d Fixes for building with openssl compatibility enabled and no TLS client/server.
Resolves issues building with:
`./configure --enable-opensslextra --disable-rsa --disable-supportedcurves CFLAGS="-DNO_WOLFSSL_CLIENT -DNO_WOLFSSL_SERVER" --disable-examples`
`./configure --enable-opensslextra --disable-ecc --disable-supportedcurves CFLAGS="-DNO_WOLFSSL_CLIENT -DNO_WOLFSSL_SERVER" --disable-examples`

Ticket 3872
2018-06-12 09:38:18 -07:00
toddouska
39f3df0778 Merge pull request #1610 from SparkiDev/ed25519_priv
Fix private-only keys and make them script generated
2018-06-12 08:34:38 -07:00
toddouska
8ecb9aacd3 Merge pull request #1592 from SparkiDev/psk_test_fix
Fix test to work with configurations not including AES-GCM
2018-06-12 08:33:44 -07:00
toddouska
82550b2f8c Merge pull request #1617 from dgarske/fix_arduino
Fixes for Arduino
2018-06-12 08:31:51 -07:00
toddouska
cb8351c027 Merge pull request #1607 from SparkiDev/tls13_interop_ver
Return TLS 1.3 draft version in ServerHello
2018-06-12 08:30:48 -07:00
toddouska
766323e90f Merge pull request #1613 from SparkiDev/tls13_post_auth
Fix post authentication for TLS 1.3
2018-06-12 08:29:38 -07:00
toddouska
83ffb64cda Merge pull request #1599 from dgarske/pkcs7free
Fixes for PKCS7 error case that might leak memory
2018-06-12 08:28:19 -07:00
toddouska
3b74dbf86a Merge pull request #1609 from SparkiDev/tls13_time
Don't include sys/time.h explicitly in tls13.c
2018-06-12 08:27:43 -07:00
toddouska
2c8f89ae33 Merge pull request #1611 from kaleb-himes/AN_UP2
Allow for wc_SetAltNamesBuffer call with larger than 16384 bytes
2018-06-12 08:26:58 -07:00
toddouska
49b82456eb Merge pull request #1618 from cconlon/opensslcompat
Align return values for EVP_DigestUpdate/Final for OpenSSL Compatibility
2018-06-12 08:25:18 -07:00
toddouska
29410ada1e Merge pull request #1595 from SparkiDev/tls13_cipher_down
Fix for downgrading from TLS 1.3 due to old cipher suite
2018-06-12 08:24:26 -07:00
toddouska
f2a20c4232 Merge pull request #1573 from SparkiDev/tls_pad_vfy
Constant time padding and HMAC verification in TLS
2018-06-12 08:22:32 -07:00
toddouska
22ddd41b61 Merge pull request #1581 from ejohnstown/update-configure
Update configure.ac
2018-06-12 08:17:35 -07:00
Sean Parkinson
b7caab938e Fix post authentication for TLS 1.3 2018-06-12 09:49:23 +10:00
John Safranek
7827712fcc FIPS Revalidation (acceptance fixes)
1. The Windows 10 wolfcrypt test project was missing the flag for USE_CERT_BUFFERS_256.
2. Add note to fips-check about using linuxv2 with Win10.
2018-06-11 15:27:52 -07:00
toddouska
35c8ba3188 Merge pull request #1601 from SparkiDev/ecdsa_sign
Change ECDSA signing to use blinding.
2018-06-11 14:13:24 -07:00
toddouska
637eaa08ba Merge pull request #1614 from SparkiDev/tls13_log_file
Remove log file and change location to local
2018-06-11 13:51:51 -07:00
Chris Conlon
a472325f89 return WOLFSSL_FAILURE on error from EVP_DigestUpdate() and EVP_DigestFinal() 2018-06-11 14:27:08 -06:00
David Garske
7e5c41ca35 Fixes for some async issues in FIPSv2. 2018-06-11 12:41:15 -07:00
John Safranek
10070bb5fd FIPS Revalidation (acceptance fixes)
1. Backed out some changes to AES-GCM with respect PIC32 only code. (This change will not be in the FIPS boundary.)
2018-06-11 10:21:19 -07:00
Sean Parkinson
74d4a02542 Remove log file and change location to local 2018-06-11 15:00:17 +10:00
David Garske
cf9c352d91 Fixes for Arduino. Don't use C99 for Arduino. Enhanced the script to create as new folder in IDE/ARDUINO/wolfSSL. Updated README.md. 2018-06-08 14:27:54 -07:00
John Safranek
ce2f393bc7 Autoconf Update
1. Remove many redundant macros.
2. Reorder several macros to more appropriate locations.
3. Several macros take lists of items to process, not just individual items. Combined duplicated macros' parameters into lists.
4. Some macros had unnecessary parameters.
5. Added some AX_REQUIRE_DEFINED() checks for the macros used.
6. Add cyassl/options.h to the AC_CONFIG_FILES list. It will be recreated from the template when running config.status the same as wolfssl/options.h
7. Remove the dist-dir rule from Makefile.am. This is prefering the process rather than automating that one step. Make dist will not run config.status.

* AC_PROG_CC must be before any macros that will try to compile for tests.
* AC_CHECK_SIZEOF takes a single type, no size values.
* Only one of the AC_CANONICAL_X macros are expanded. Removed AC_CANONICAL_BUILD since it is never actually used.
* Removed the AC_PROG_CXX and anything C++ related.
* Removed LT_LANG([C]) as it is the default and the C doesn't do anything.
2018-06-08 10:47:14 -07:00
John Safranek
df6fe0b07c FIPS Revalidation (acceptance fixes)
1. Update the fips-check script to pull the FIPSv2 code from the main repositories.
2. Script cleanup.
3. Disable the api.test check of wc_ecc_mulmod() when WOLFSSL_VALIDATE_ECC_IMPORT is enabled.
2018-06-08 10:36:28 -07:00
David Garske
e99fc3026d Fixed issue with MatchDomainName. Fixes issue #1606. This is a valid and confirmed bug report in v3.15.0. Applies to ./configure --enable-sni case with wolfSSL_CTX_UseSNI where common name has wildcards. Pushing fix for visibility now and will add test case. 2018-06-08 10:09:53 -07:00
kaleb-himes
1123beb2d2 Allow for wc_SetAltNamesBuffer call with larger than 16384 buffers at user discretion 2018-06-08 10:16:40 -06:00
toddouska
bea0e6142a Merge pull request #1608 from dgarske/maxcerfix
Resolves issue with reassembling large certificates
2018-06-08 08:25:14 -07:00
Sean Parkinson
5547a7b4bd Fix private-only keys and make them script generated 2018-06-08 17:38:11 +10:00
Sean Parkinson
587f4ae79e Don't include sys/time.h explicitly in tls13.c 2018-06-08 09:00:12 +10:00
David Garske
00ddeb07d8 Resolves issue with reassembling large certificates. The ProcessPeerCerts function was using the wrong max size check for certs. Built and test with ./configure CFLAGS="-DMAX_CERTIFICATE_SZ=20000". 2018-06-07 15:56:37 -07:00
John Safranek
391d1953fa FIPS Revalidation (acceptance fixes)
1. Add a couple of missing options to user_settings.h for Win10 and configure.ac.
2. Clear the execute flag from the ecc.h.
2018-06-07 10:57:46 -07:00
Tim Parrish
c6e2585fbc added check for AMD processor to asm.c 2018-06-07 10:35:54 -06:00
Sean Parkinson
020b69aba0 Return TLS 1.3 draft version in ServerHello 2018-06-07 22:01:42 +10:00
John Safranek
234228e5af FIPS Revalidation (acceptance fixes)
1. Fixed some whitespace in api.c.
2018-06-06 17:50:55 -07:00
David Garske
e673cdf2d2 Merge pull request #1594 from kojo1/openSSL-Compat-CRL-STORE
FILE* to XFILE
2018-06-06 16:34:59 -07:00
David Garske
596cedc226 Merge pull request #1603 from ejohnstown/add-changelog
Add ChangeLog
2018-06-06 16:32:18 -07:00
Tim
59067825fc Update cpuid.c to optimize intelasm for performance 2018-06-06 16:44:46 -06:00
John Safranek
a6dd93aa2e Removed replaced the last two references to "CYASSL" macros with "WOLFSSL" in the example server. 2018-06-06 13:14:06 -07:00
John Safranek
7e9a32fffd FIPS Revalidation
Merge branch 'master' into fipsv2. Using a merge instead of a rebase to retain commit IDs and tags.
2018-06-06 12:43:15 -07:00
John Safranek
e9d9e7c37c replaced NEWS.md in Makefile.am with ChangeLog.md 2018-06-06 10:56:24 -07:00
Sean Parkinson
9b9568d500 Change ECDSA signing to use blinding. 2018-06-06 11:52:04 +10:00
John Safranek
1c17f55ee4 updated the readme/changelog with the correct release date 2018-06-05 16:10:08 -07:00
John Safranek
0c966d7700 Update ChangeLog and NEWS
While the GNU coding standard states that the NEWS file should be a list of the high level changes and the ChangeLog should be every change in detail, our public source repository contains the detailed log of all changes and the name "ChangeLog" makes more sense to me than "NEWS".  Instead of keeping two copies of the README, one in plain text and one in MarkDown, only keeping the MarkDown copy. It displays better in the source repository, it is still plain text, and we aren't keeping two separate copies of the files.
2018-06-05 16:07:53 -07:00
David Garske
ab319ae599 Fixed a couple of places in PKCS7 error cases where key free (wc_FreeRsaKey or wc_ecc_free) might not be called. 2018-06-05 14:32:17 -07:00
John Safranek
b63d3173a1 update change log (#1597) 2018-06-05 12:42:43 -07:00
Sean Parkinson
4ac34b74bd Fix test to work with configurations not including AES-GCM 2018-06-05 10:30:15 +10:00
John Safranek
ab5eeb9f79 Merge pull request #1596 from dgarske/leakfixes
Fix for possible leak with normal math and ECC verify fail for R and S
2018-06-04 13:30:09 -07:00
David Garske
5eca844e01 Fix for possible leak with normal math and verify fail for R and S in ECC verify. 2018-06-04 11:05:14 -07:00
Sean Parkinson
fcd2234841 Fix for downgrading from TLS 1.3 due to old cipher suite
TLS 1.3 specification doesn't allow downgrading based on cipher suite.
2018-06-04 12:42:41 +10:00
toddouska
caf88c81c2 Merge pull request #1593 from ejohnstown/fix-cert-includes
Fix Cert Includes
2018-06-01 11:32:18 -07:00
John Safranek
f1588e0ad9 Fix Cert Includes
1. Added files that were missing from the certs directory include.am files.
2. Fixed the duplicate items in the certs directory's include.am files.
3. Reorganized the certs directory include.am files to be a tree.
2018-05-31 17:38:47 -07:00
Takashi Kojo
3ff8c45aa8 FILE to XFILE 2018-06-01 09:30:20 +09:00
Jacob Barthelmeh
1cc6042f01 exlude unneeded files with Nucleus build 2018-05-31 15:27:37 -06:00
Jacob Barthelmeh
0c2199084e single threaded wolfcrypt only Nucleus port 2018-05-31 15:04:44 -06:00
toddouska
70b3ba1c04 Merge pull request #1591 from ejohnstown/release-3.15.0
Release v3.15.0 Preparation
2018-05-31 12:07:43 -07:00
toddouska
c43a84547a Merge pull request #1572 from dgarske/cryptodev
Added crypto device framework
2018-05-31 10:28:58 -07:00
John Safranek
dfca1beff0 Touch the version number on the library filename in the rpm spec. 2018-05-31 10:20:18 -07:00
John Safranek
8a61b7303a Remove execute bit from a few files. 2018-05-31 10:14:47 -07:00
John Safranek
a4e6cfd3ac Added new file NEWS.md to Makefile for dist builds. 2018-05-31 10:12:34 -07:00
John Safranek
6a2c30e593 Release v3.15.0
1. Update configure.ac for new version.
2. Update the version header.
3. Update the README files with the new changelog.
4. Moved all previous change logs from README files to NEWS files.
2018-05-30 20:00:09 -07:00
John Safranek
bca29395a3 Merge pull request #1590 from JacobBarthelmeh/Compatibility-Layer
add NO_OLD_SHA_NAMES macro and add back SHA512, SHA384
2018-05-30 19:56:17 -07:00
Jacob Barthelmeh
5849e9f1a1 update macro name in test case 2018-05-30 17:42:07 -06:00
John Safranek
e358fc03c7 Merge pull request #1589 from quinnmiller1997/pkcs7_fix
Fixed a filename in the pkcs7.h comments
2018-05-30 16:19:50 -07:00
Jacob Barthelmeh
587484a1ef add NO_OLD_SHA_NAMES macro and add back SHA512, SHA384 2018-05-30 16:10:34 -06:00
Quinn Miller
4ecff14bd2 Fixed a filename in the pkcs7.h comments 2018-05-30 14:53:03 -06:00
David Garske
33d416a060 Fix two more scan-build issues with set but not used. 2018-05-30 13:23:08 -07:00
John Safranek
6d84755106 Merge pull request #1587 from cconlon/cavp-selftest-fix
Fix CAVP selftest build
2018-05-30 12:57:35 -07:00
David Garske
d7b560f2ab Fix for scan-build warning about value being stored and not used. Changed the wc_RsaFunction API to public. Added ability to expose wc_RsaDirect with new define WC_RSA_DIRECT. 2018-05-30 12:44:55 -07:00
toddouska
999663fae1 Merge pull request #1498 from JacobBarthelmeh/Certs
update before/after dates with certificates
2018-05-30 10:09:49 -07:00
Chris Conlon
5d99079603 fix HAVE_SELFTEST build for CAVP selftest 2018-05-30 11:08:18 -06:00
David Garske
fc482235b0 Improved the CryptoDev test to include example callback with context. 2018-05-30 09:11:44 -07:00
David Garske
a2fdc6262d Merge pull request #1586 from ejohnstown/suite-info
Rerefactor Cipher Suite List
2018-05-30 07:54:13 -07:00
Chris Conlon
5e4c6e35cc Merge pull request #1542 from ghoso/openssl_compat201805
OpenSSL Compatibility APIs
2018-05-30 08:50:29 -06:00
Go Hosohara
b84f111d51 rebase with master branch and fix some code. 2018-05-30 17:15:07 +09:00
Go Hosohara
8cd357aa3a d2i_PKCS12_fp 2018-05-30 12:10:41 +09:00
Go Hosohara
c715bb5ade X509_check_ca 2018-05-30 12:08:27 +09:00
Go Hosohara
3f6b7c8833 Merge with openSSL-Compat-CRL-STORE on kojo1/wolfssl 2018-05-30 12:08:27 +09:00
Go Hosohara
0fb446ad36 i2c_ASN1_INTEGER 2018-05-30 12:03:58 +09:00
Go Hosohara
d7e4bbf1cf ASN1_STRING_print_ex 2018-05-30 11:56:43 +09:00
Go Hosohara
5c11e1440f ASN1_TIME_to_generalizedtime 2018-05-30 11:56:43 +09:00
Go Hosohara
b1ef0c808e Add all stubs. 2018-05-30 11:56:42 +09:00
Go Hosohara
36ced360cb Add Renesas CS+ project files. 2018-05-30 11:53:18 +09:00
Go Hosohara
5ff460bb7f OPENSSL_add_all_algorightms_noconf 2018-05-30 11:53:18 +09:00
Go Hosohara
005284a127 ASN1_GENERALIZEDTIME_free 2018-05-30 11:53:17 +09:00
Go Hosohara
24ff55b085 RAND_poll 2018-05-30 11:53:17 +09:00
Sean Parkinson
fb7d74c197 FinalRaw parameter hash may not be aligned. 2018-05-30 09:10:46 +10:00
Sean Parkinson
e684156a1e Constant time padding and HMAC verification in TLS 2018-05-30 09:10:46 +10:00
Jacob Barthelmeh
1a7d208a60 add crl2.pem to renew certs script 2018-05-29 16:57:30 -06:00
John Safranek
b2225a0bc0 Rerefactor Cipher Suite List
1. Do not add iana_name to the struct if disabling error strings.
2. Change the IANA_NAME macro to SUITE_INFO, and build the suite info records as appropriate for the error string enablement.
2018-05-29 14:34:57 -07:00
Kaleb Himes
cc58d3160f Merge pull request #1579 from C-Treff/Tenasys_Review
time 64bit, test update
2018-05-29 14:06:44 -07:00
toddouska
0a35c37211 Merge pull request #1584 from SparkiDev/tls_many_nst
Allow multiple NewSessionTicket messages
2018-05-29 13:43:59 -07:00
toddouska
52179eba16 Merge pull request #1583 from dgarske/nomatch
Added test for common name failure with check domain name
2018-05-29 13:30:42 -07:00
toddouska
2cf853d1f1 Merge pull request #1582 from SparkiDev/tls13_only
Allow TLS 1.2 to be compiled out.
2018-05-29 13:26:54 -07:00
John Safranek
92dd231c27 Merge pull request #1585 from SparkiDev/new_compiler
New compilers
2018-05-29 12:25:56 -07:00
Chris Conlon
16738f1449 Merge pull request #1569 from kojo1/openSSL-Compat-CRL-STORE
openSSL compatibility APIs: X509_CRL, STORE
2018-05-29 09:47:22 -06:00
Sean Parkinson
f871bafe3a Fix uninitialized 2018-05-29 11:06:26 +10:00
Sean Parkinson
68666101b7 Fix for g++ 7.3 - macro strings in asm 2018-05-29 09:25:38 +10:00
Sean Parkinson
1d8fb7be82 Allow multiple NewSessionTicket messages
Interopability testing with OpenSSL
2018-05-28 09:18:26 +10:00
Takashi Kojo
c60b60c50c #if condition to refer wc_PKCS12_new, wc_d2i_PKCS12 2018-05-26 16:02:51 +09:00
Takashi Kojo
ba03f6e08b wolfSSL_d2i_PKCS12_fp 2018-05-26 13:04:06 +09:00
Takashi Kojo
3939eadf9c get derLen by RsaPublicKeyDerSize 2018-05-26 10:55:17 +09:00
Chris Conlon
af471a360d Merge pull request #1574 from cariepointer/test/wolfcrypt
Add unit test for wc_SignatureGetSize
2018-05-25 11:29:58 -06:00
Carie Pointer
12dc346058 Change return value to 0 for null key when HAVE_USER_RSA is defined 2018-05-25 09:25:25 -06:00
Sean Parkinson
ba8e441e53 Allow TLS 1.2 to be compiled out. 2018-05-25 11:00:00 +10:00
Carie Pointer
65014248f9 Fix typos, update ret for if HAVE_USER_RSA defined 2018-05-24 16:32:27 -06:00
David Garske
a5c2e8b912 Added test for common name with invalid domain fails as expected when set with wolfSSL_check_domain_name. 2018-05-24 14:39:35 -07:00
toddouska
453daee965 Merge pull request #1523 from SparkiDev/ed25519_key
Allow Ed25519 private-only keys to work in TLS
2018-05-24 09:56:17 -07:00
toddouska
87f9d0f141 Merge pull request #1566 from ejohnstown/tcp-timeout
Fix TCP with Timeout
2018-05-24 09:07:50 -07:00
C-Treff
5d693b263d removed more tabs 2018-05-24 09:56:54 +02:00
C-Treff
06e9354629 removed tabs 2018-05-24 09:48:18 +02:00
C-Treff
1d281ce515 replace memset by XMEMSET
replaced memset with XMEMSET as requested by @dgarske

INtime project files cleanup
2018-05-24 09:35:46 +02:00
Carie Pointer
005a0d4dff Define devId if RSA is enabled 2018-05-23 20:17:11 -06:00
toddouska
d38a0039ed Merge pull request #1549 from JacobBarthelmeh/Cert-Report1
fix for relative URI detection
2018-05-23 17:05:35 -07:00
toddouska
e4e0dfe9d3 Merge pull request #1564 from JacobBarthelmeh/PKCS12
Pkcs12
2018-05-23 16:59:13 -07:00
David Garske
6f221ff75c Fix possible leak in PKCS for failure case with small stack enabled. 2018-05-23 16:21:49 -07:00
John Safranek
0315b378f5 Fix TCP with Timeout
Updated example client and server to use the new wolfSSL_dtls_set_using_nonblock() function.
2018-05-23 16:07:45 -07:00
toddouska
6a00bfc9f7 Merge pull request #1580 from JacobBarthelmeh/Testing
check on cipher suites for AEAD
2018-05-23 17:02:01 -06:00
Sean Parkinson
450741f8ef Change checks for message chaching to happen once
Add compile option to remove Ed25119 client auth in TLS 1.2.
Cipher suite choice does not affect client auth.
2018-05-24 08:43:28 +10:00
Sean Parkinson
982119b495 Only cache messages when required. 2018-05-24 08:43:28 +10:00
Sean Parkinson
9358edf5dd Fixes from code review
Include new private key files in release.
Set messages field to NULL after free.
2018-05-24 08:43:28 +10:00
Sean Parkinson
58f523beba Allow Ed25519 private-only keys to work in TLS
Change Ed25519 in TLS 1.2 to keep a copy of all the messages for
certificate verification - interop with OpenSSL.
2018-05-24 08:43:28 +10:00
cariepointer
4eeb9c8c56 Merge branch 'master' into test/wolfcrypt 2018-05-23 16:35:10 -06:00
David Garske
72d168028e Fixes to better handle PKCS7 error cases. 2018-05-23 15:29:33 -07:00
David Garske
9a75e5cf68 Fixes in PKCS7 for handling hardware based devId and no private key. Fix to handle scenario where kari->decoded is allocated, but not initalized (was causing use of unitliaized in FreeDecodedCert). Fix to handle hardware base RSA key size. 2018-05-23 14:48:10 -07:00
Chris Conlon
555efe0345 Merge pull request #1577 from TimParrish/firstUnitTest
First unit test
2018-05-23 15:24:56 -06:00
Carie Pointer
a18f220a5a Remove trailing whitespaces 2018-05-23 14:39:36 -06:00
Carie Pointer
8bd41629ae Split wc_SignatureGetSize test into wc_SignatureGetSize_ecc and wc_SignatureGetSize_rsa tests 2018-05-23 14:26:35 -06:00
Jacob Barthelmeh
9021091896 update comments 2018-05-23 14:04:41 -06:00
toddouska
690f98fb0f Merge pull request #1578 from SparkiDev/test_cov
Improve coverage
2018-05-23 12:51:37 -06:00
John Safranek
b1ed852f36 Fix TCP with Timeout
wolfSSL remains agnostic to network socket behavior be it blocking or non-blocking. The non-blocking flag was meant for the default EmbedRecvFrom() callback for use with UDP to assist the timing of the handshake.

1. Deprecate wolfSSL_set_using_nonblock() and wolfSSL_get_using_nonblock() for use with TLS sockets. They become don't-cares when used with TLS sessions.
2. Added functions wolfSSL_dtls_set_using_nonblock() and wolfSSL_dtls_get_using_nonblock().
3. Removed a test case from EmbedReceive() that only applied to UDP.
4. Removed the checks for non-blocking sockets from EmbedReceive().
5. Socket timeouts only apply to DTLS sessions.
2018-05-23 11:29:16 -07:00
Jacob Barthelmeh
89fbb1b40d only compile SEQ increment function in case of DTLS or HAVE_AEAD 2018-05-23 12:07:35 -06:00
Tim
4fd85853c5 I think I now understand the trailing white space... 2018-05-23 11:57:12 -06:00
Jacob Barthelmeh
29d9759aa0 check on cipher suites for AEAD 2018-05-23 11:53:33 -06:00
C-Treff
cd9f86d921 time 64bit, test update
64bit settings for time is mandatory for INtime. Changed the project file.

Test for ecc_test_buffers was unreliable, as the structs were not initialized befor usage.
2018-05-23 10:33:56 +02:00
Sean Parkinson
3bb4949e02 Improve coverage
Renumber errors in test.c to be unique.
Fix stack usage to work in --enable-distro --enable-stacksize builds.
2018-05-23 16:24:23 +10:00
Tim
124f45d449 re-upload 2018-05-22 17:45:04 -06:00
Tim
83e67a4197 additional changes made 2018-05-22 17:25:22 -06:00
toddouska
438f8da11f Merge pull request #1559 from ejohnstown/update-ar
Hush ar warning
2018-05-22 17:22:48 -06:00
Tim
58ac951471 Changes made- Thank you 2018-05-22 16:00:40 -06:00
Chris Conlon
abf93c9c2c Merge pull request #1575 from quinnmiller1997/Unit_Test
Added unit test for Blake2
2018-05-22 14:22:05 -06:00
Tim
b308fa9a39 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into firstUnitTest 2018-05-22 13:26:45 -06:00
Carie Pointer
6321008ef4 Modify wc_SignatureGetSize test for ECC and RSA specific API 2018-05-22 13:24:36 -06:00
Tim
d6809c029d First unit test 2018-05-22 13:21:37 -06:00
Quinn Miller
f2ce8dcbca Added unit test for Blake2 2018-05-22 10:47:44 -06:00
Carie Pointer
df24bc6096 Update unit test 2018-05-22 09:22:01 -06:00
Carie Pointer
6cc84d2301 Add initial test_wc_SignatureGetSize() method 2018-05-21 17:11:21 -06:00
Chris Conlon
be9ae9a3c4 Merge pull request #1570 from MJSPollard/MikePollardBranch
added Poly1305SetKey Unit Test
2018-05-21 16:35:15 -06:00
David Garske
85511067e4 Added crypto device framework to handle PK RSA/ECC operations using callbacks. Adds new build option ./configure --enable-cryptodev or #define WOLF_CRYPTO_DEV. Added devId support to PKCS7. 2018-05-21 14:31:08 -07:00
John Safranek
1b9cff1c5d Hush ar warning
At some point, ar on Ubuntu started throwing the following warning:

    ar: `u' modifier ignored since `D' is the default (see `U')

Add the "U" option to the ar flags if the version of ar supports it.
(The version used by macOS does not support the flag, for example.) The
AR_FLAGS set in configure will later be used by libtool.
2018-05-21 13:49:20 -07:00
toddouska
2021bcb188 Merge pull request #1560 from dgarske/ciphernamecleanup
Refactor of the cipher suite names to use single array
2018-05-21 14:24:53 -06:00
toddouska
e7de654b61 Merge pull request #1558 from dgarske/fsanitize
Fixes for fsanitize reports
2018-05-21 14:18:07 -06:00
toddouska
2d88e2efe7 Merge pull request #1567 from SparkiDev/intel_64_align
ForceZero - align 64-bit access on Intel 64-bit
2018-05-21 14:16:36 -06:00
MJSPollard
fb247a5d8d added null check for key 2018-05-21 13:59:15 -06:00
Chris Conlon
6e13bfcfce Merge pull request #1571 from aaronjense/unit-test-curve25519
Added unit-test for wc_curve25519_init and wc_curve25519_free
2018-05-21 13:42:11 -06:00
MJSPollard
2b49f69f1b updated unit test 2018-05-21 12:44:59 -06:00
Aaron Jense
f214dbc3dd Removed unneeded call on test_wc_curve25519_init 2018-05-21 11:50:52 -06:00
Aaron Jense
8197d9ec36 Added unit-test for wc_curve25519_init and wc_curve25519_free in tests/api.c 2018-05-21 10:59:02 -06:00
MJSPollard
f447fe22b0 added Poly1305SetKey Unit Test 2018-05-21 10:55:56 -06:00
Sean Parkinson
3a27d85c4e Use sizeof instead of constant value 2018-05-21 21:26:25 +10:00
Takashi Kojo
22078d6811 wc_Sha512 type 2018-05-20 15:50:16 +09:00
Takashi Kojo
da8452ab29 Removed redundant #defines 2018-05-20 14:29:40 +09:00
Takashi Kojo
d347f5ca77 #define SHA384/512 WC_SHA384/512 -> wolfSSL_SHA384/512 2018-05-20 13:55:47 +09:00
Takashi Kojo
d10f0911a4 sHA384, SHA512 conflict with openSSL 2018-05-20 13:55:47 +09:00
Takashi Kojo
874022d938 fix #if conditions and others 2018-05-20 13:55:47 +09:00
Takashi Kojo
153bcb5297 d2i_X509_fp 2018-05-20 13:55:47 +09:00
Takashi Kojo
460becf739 SHA256, SHA384, SHA512 2018-05-20 13:55:47 +09:00
Takashi Kojo
c275dfc5ab X509_STORE_add_crl 2018-05-20 13:55:46 +09:00
Takashi Kojo
4efe8740ad Eliminate d2i_RSAPublicKey test when HAVE_FAST_RSA is enabled 2018-05-20 13:55:46 +09:00
Takashi Kojo
98ef7f43e1 use wolfSSL_X509_CRL_free instead of XFREE 2018-05-20 13:55:46 +09:00
Takashi Kojo
c26bcdd199 Enable RSA_LoadDer with HAVE_FAST_RSA 2018-05-20 13:55:45 +09:00
Takashi Kojo
03d68812a9 Fix #if condition for test 2018-05-20 13:55:45 +09:00
Takashi Kojo
ad71f44f3c suppress i2d_RSAPublicKey with HAVE_FAST_RSA 2018-05-20 13:55:45 +09:00
Takashi Kojo
6cef2e5d31 memory leak in d2i_X509_CRL 2018-05-20 13:55:45 +09:00
Takashi Kojo
76686c9e20 fix error return, i2d_RSAPublicKey 2018-05-20 13:55:44 +09:00
Takashi Kojo
6580a1fefa enable SetBitString, SetASNInt, SetASNIntMP with OPENSSL_EXTRA 2018-05-20 13:55:44 +09:00
Takashi Kojo
5d4c0c582e skip d2i_X509_CRL_fp test. Done locally. 2018-05-20 13:55:44 +09:00
Takashi Kojo
2e4884b6f9 PEM_read_X509_CRL only with HAVE_CRL 2018-05-20 13:55:44 +09:00
Takashi Kojo
f56fd5db00 eliminate dupricated func prototypes 2018-05-20 13:55:44 +09:00
Takashi Kojo
138f9f8f66 add wc_RsaKeyToPublicDer in asn.c when OPENSSL_EXTRA, fix wolfSSL_i2d_RSAPublicKey 2018-05-20 13:55:43 +09:00
Takashi Kojo
03846b2d2d d2i_RSAPublicKey, d2i_X509_CRL, d2i_X509_CRL_fp, X509_CRL_free, PEM_read_X509_CRL 2018-05-20 13:55:43 +09:00
John Safranek
6e697c21d9 Fix the include.am to include aes_asm.S with the correct filename. 2018-05-18 15:02:43 -07:00
David Garske
cf70b1a013 Revert ForceZero changes in favor of PR #1567. 2018-05-18 05:29:09 -07:00
John Safranek
dd0489db8c 1. Added the pair-wise consistency test to the RSA Key Gen.
2. Modified an RSA key size test case so it didn't try to make a key that was too big.
2018-05-17 17:41:34 -07:00
Sean Parkinson
d63da10c96 ForceZero - align 64-bit access on Intel 64-bit
Test added to ensure ForceZero works.
2018-05-18 10:38:21 +10:00
Jacob Barthelmeh
f67046f485 better bounds checking 2018-05-17 16:55:59 -06:00
John Safranek
d8c33c5551 Fix TCP with Timeout
1. Take out DTLS support from EmbedReceive(). DTLS uses EmbedReceiveFrom().
2. Modify EmbedReceive() to return TIMEOUT if the session is set to blocking mode.
2018-05-17 15:53:38 -07:00
David Garske
096456f466 Merge pull request #1565 from embhorn/zd3883
wolfSSL_HMAC_Final parameter len should be optional
2018-05-17 13:19:19 -07:00
David Garske
b973d6e8b1 Fix to handle NO_ERROR_STRINGS case in unit test. The IANA names are disabled when NO_ERROR_STRINGS is defined. 2018-05-17 10:24:02 -07:00
Jacob Barthelmeh
b6a92a97ce convert to byte to fix warning 2018-05-17 08:55:07 -06:00
Eric Blankenhorn
5cbb9e8341 wolfSSL_HMAC_Final parameter len should be optional 2018-05-17 08:53:21 -05:00
Jacob Barthelmeh
e1745428ac add set short int helper function 2018-05-16 20:16:40 -06:00
David Garske
8163225180 Refactor of the cipher suite names to use single array, which contains internal name, IANA name and cipher suite bytes. 2018-05-16 15:29:27 -07:00
David Garske
dad574edb8 Fix to use proper type (size_t) for alignment check. 2018-05-16 14:34:16 -07:00
David Garske
52b66edf72 Fixes for a few more fsanitize issues. Added alignment for ForceZero. Added word32 aligned acceleration for ForceZeero. Added 'NO_ALIGNED_FORCEZERO' define to allow disabling aligned ForceZero acceleration. We cast the 24 left-shifts to word32 because compiler assumes signed int type, and a runtime value with MSB set results into runtime fsanitize error. 2018-05-16 13:27:13 -07:00
John Safranek
4dacd31ea4 Force to zero the buffer used to generate the DH private key. 2018-05-16 15:47:13 -04:00
John Safranek
6a31f103aa Test Fixes
1. When building on VS, it didn't like using a variable for an array size. Fixed it so it was a constant.
2. In dh.c, there were a few #if that should have been #ifdef.
3. Tweaked a return value in the wolfCrypt test so it was read after being set.
2018-05-16 15:47:13 -04:00
John Safranek
12edf80e2b FIPS Revalidation
1. ForceZero the odd block when using RDSEED to seed the DRBG.
2. When using FIPSv2 and Intel_ASM speedups, force RDSEED failure flag.
3. Annotate the ecc key pair checking code with NIST process references.
4. Add function to pair-wise check the DH key.
5. Add optional "Q" values for the FFDHE canned parameters from RFC 7919.
6. Enabled the ECC key checks by default for FIPS.
7. Added DH private key check function.
8. Enabled the DH key checks by default for FIPS.
2018-05-16 15:47:13 -04:00
John Safranek
ceed6e08fd FIPS Revalidation
1. Add second RNG initialization API to let caller pass in a nonce.
2018-05-16 15:47:13 -04:00
John Safranek
20d8a4a376 FIPS Revalidation
1. Added missing pair-wise consistency test for RSA keys.
Note: This function is not available to old FIPS and user RSA.
2018-05-16 15:47:13 -04:00
John Safranek
1ff4ea1ec9 Test Fixes
1. Changed the ecc_sets table for Windows builds to use arrays instead of pointers to strings.
2. Updated the initializer to play nice with the Windows and not-Windows versions of the ecc_sets table.

This is a change for FIPS mode on Windows. The ecc_sets table has pointers to constants. When the FIPS POST runs, the pointers stored in the table are relocated pointers so the verify fails.
2018-05-16 15:47:13 -04:00
John Safranek
6b6ed2c42f FIPS Revalidation
1. Created a new IDE project directory for WIN10.
2. Reverted the Windows IDE project files.
2018-05-16 15:47:13 -04:00
John Safranek
a8dbdd6c28 Test Fixes
1. Windows IDE project, clean up the preprocessor flags.
2. Add command line define to the MASM steps to set HAVE_FIPS and HAVE_FIPS_VERSION=2.
3. Disable the whole program optimization for the non-DLL builds for the file fips.c.
4. Tweaked the aes_asm.asm's code segment line to be dependant on the FIPS setting. Only place it specially for FIPSv2.
5. Reverted the Windows IDE project and copied the new setting to a WIN10 directory.
2018-05-16 15:47:13 -04:00
John Safranek
4d0a061acb FIPS Revalidation
1. Updated the segment tags in the aes_asm.asm file so that it is linked in order between aes.obj and des3.obj.
2018-05-16 15:47:13 -04:00
John Safranek
3be824ad68 Test Fixes
1. Changed the _InitHmac() function in ssl.c to have a different name.
2. Added switch in ssl.c to use _InitHmac or _HMAC_Init depending on FIPS option.
2018-05-16 15:47:13 -04:00
John Safranek
f7fa648f77 Test Fixes
1. Found a problem in AES-GCM encrypt where it could step on the ciphertext with the correct sized IV.
2018-05-16 15:47:13 -04:00
John Safranek
1538ceef47 FIPS Revalidation
1. Update the Windows project settings.
2018-05-16 15:47:13 -04:00
John Safranek
dde1f87de9 Test Fixes
1. The intrinsic versions of AES_GCM_encrypt and AES_GCM_decrypt needed updates for variable length tags.
2018-05-16 15:47:13 -04:00
John Safranek
6d4777f3ca Test Fixes
1. MSC doesn't allow for inline assembly. Restore the intrinsic version of AES_GCM_encrypt and AES_GCM_decrypt for MSC AES-NI builds. This is lacking AVX.
2018-05-16 15:47:13 -04:00
John Safranek
418cca5efd Test Fixes
1. Something changed in the wolfSSL layer with respect to setting some constants for old FIPS mode, didn't take into account new FIPS mode.
2018-05-16 15:47:13 -04:00
John Safranek
b120a27c3e FIPS Revalidation
1. Update the GenerateSeed() function for RDSEED on Windows to use the intrinsic function instead of inline assembly.
2018-05-16 15:47:13 -04:00
John Safranek
4f1dd3b9a7 Test Fixes
1. Update gitignore with some more VS outputs.
2. Update the Windows IDE user settings with FIPSv2 settings.
3. Remove redundant _InitHmac() function from ssl.c.
4. In wc_DhGenerateParams(), initialize the groupSz and bufSz to 0.
5. In wc_DhExportParamsRaw(), initialize pLen, qLen, and gLen to 0.
6. In wc_MakeRsaKey(), initialize isPrime to 0.
7. In ecc_test_make_pub(), initialize exportBuf and tmp to NULL and initialize the ECC key before any chance of trying to free it.
8. In fips_test.h header, update types.h include to use the wolfCrypt types rather than ctaocrypt types.
9. In fips_test.h header, change the visibility tags on all the function prototypes to use the WOLFSSL tags rather than CYASSL.
10. Change the wolfCrypt visibility tags to use CyaSSL's tags for old FIPS and the regular tags for new FIPS and non-FIPS builds.
2018-05-16 15:47:13 -04:00
John Safranek
eea4d6da50 Test Fixes
1. Modify RSA-PSS to be able to sign and verify SHA-384 and SHA-512 hashes with 1024-bit RSA keys.
2018-05-16 15:47:12 -04:00
John Safranek
dc31dbaeaf FIPS Revalidation/Test Fixes
1. Added APIs to perform RSA-PSS verify and padding operation in the same call.
2. Change to RsaPSS sign and verify to pick the proper salt length if the key is 1024-bits and the hash is SHA-512.
2018-05-16 15:47:12 -04:00
John Safranek
27470aa704 FIPS Revalidation/Test Fixes
1. For FIPSv2 builds, changed the FP_MAX_BITS to 6144.
2. Fixed bug in HMAC-SHA-3 where the digest size was being used instead of the block size for processing the key.
2018-05-16 15:47:12 -04:00
John Safranek
8fb3a0c078 FIPS Revalidation
1. Add a copy of the DSA parameter generation function to DH for use without DSA.
2018-05-16 15:47:12 -04:00
John Safranek
6796ab5f8c FIPS Revalidation
1. Bug fixes to AES-GCM. Separated out the internal and external IV set functions.
2018-05-16 15:47:12 -04:00
John Safranek
c2f964039e FIPS Revalidation
1. Updated the configure.ac to add in the RSA direct function to FIPS builds
2018-05-16 15:47:12 -04:00
John Safranek
6d7599cf47 FIPS Revalidation
1. Add new APIs for AES-GCM so it can manage the IV per SP 800-38D.
2. Add new APIs for AES-CCM so it can manage the IV, similar to the behavior in AES-GCM.
3. Add new APIs for GMAC that use the new AES-GCM APIs.
2018-05-16 15:47:12 -04:00
John Safranek
4ba026c0bf Test Fixes
1. Added error code for ECDHE FIPS KAT failure.
2018-05-16 15:47:12 -04:00
John Safranek
19da916102 Test Fixes
1. Removed redundant forward declaration of RsaKey from hmac.h.
2. Updated gitignore with the first and last files.
3. Updated autogen with touching the first and last files.
2018-05-16 15:47:12 -04:00
John Safranek
3685b7b176 Test Fixes
1. AesGcmEncrypt_ex requires the RNG, remove function if RNG disabled.
2. Fix a couple function name changes in the example server.
3. Removed the old FIPS wrapping added to dh.h, was redundant.
4. Move include of random.h in the aes.h file.
5. Fix where ecc.c was being left out of old FIPS builds.
6. Exclude the AES-GCM internal IV test case when building without the RNG.
7. Fix api test where AES-GCM Encrypt was called with a too-long IV in old FIPS mode. Non-FIPS and new FIPS are allowed longer IVs.
2018-05-16 15:47:12 -04:00
John Safranek
13ff245166 FIPS Revalidation
1. AES-GCM encrypt IV length allowed to be 8-bits.
2018-05-16 15:47:12 -04:00
John Safranek
90a5bde0f2 FIPS Revalidation
1. Update the const data and code segment tags for the Windown builds.
2018-05-16 15:47:12 -04:00
John Safranek
4b3933aa1b FIPS Revalidation
1. Enabled ECC Cofactor DH for the FIPSv2 build.
2. Updated the wolfCrypt HMAC-SHA-3 test to leave out the set of test cases that use the four-byte key in FIPS mode.
2018-05-16 15:47:12 -04:00
John Safranek
33040a25d8 FIPS Revalidation
1. Change to configure.ac to automatically enable HKDF in FIPSv2 builds.
2018-05-16 15:47:12 -04:00
John Safranek
d0d2527950 FIPS Revalidation
1. Change to configure.ac to automatically enable AES-CTR in FIPSv2 builds.
2. Move the aes-ni asm file into the boundary if enabled.
3. Enable AES-ECB by default.
2018-05-16 15:47:12 -04:00
John Safranek
4bcd7b7986 AES-GCM
1. Updated the wolfCrypt GMAC test to leave out the test case with the 15-byte tag when building for FIPS.
2. Replace tabs with spaces.
2018-05-16 15:47:12 -04:00
John Safranek
eb1a76bf2a FIPS Revalidation
1. Updated CMAC to allow tag length from 4 to 16 bytes, inclusive.
2018-05-16 15:47:12 -04:00
John Safranek
aa968eac98 FIPS Revalidation
1. Enable SHA-224 by default if building for FIPSv2.
2018-05-16 15:47:12 -04:00
John Safranek
fe8d46da95 FIPS Revalidation
1. Added new AES-GCM Encrypt API for FIPS where the IV is generated internally.
2. Fix the AES-NI guard flags so it can be used when FIPS enabled.
2018-05-16 15:47:12 -04:00
John Safranek
be61204fd7 FIPS Revalidation
1. Added CMAC to the boundary.
2. Added DHE to the boundary.
2018-05-16 15:47:12 -04:00
John Safranek
f6fe3744a7 FIPS Update
1. Moved the rest of the FIPS algorithms to FIPSv2.
2. Updated the fips-check and autogen scripts.
3. Updated the automake include for the crypto files.
4. Updated the example server to use the wolfSSL API and wolfSSL-based OpenSSL compatibility layer.
5. Added error code for the SHA-3 KAT.
6. Updated an test case in the API test for AES-GCM encrypt that is now considered a success case, but the FIPS mode was still treating as a failure.
2018-05-16 15:47:12 -04:00
John Safranek
df4d748f59 FIPS Update
1. Move SHA-224 and SHA-256 into FIPSv2.
2. Move HMAC into FIPSv2.
3. Move Hash_DRBG into FIPSv2.
2018-05-16 15:47:12 -04:00
John Safranek
6352208e04 FIPS Update
1. Add SHA-3 to the src/include.am so that it is always included in FIPSv2.
2. Tweak the SHA-3 header to follow the new FIPS pattern.
2018-05-16 15:47:12 -04:00
John Safranek
0c5d704c7f AES-CCM FIPS
1. Add new error code for the AES-CCM FIPS KAT failure.
2. When enabling FIPSv2, force enable AES-CCM.
2018-05-16 15:47:12 -04:00
Jacob Barthelmeh
d373844a18 fix sequence with pkcs12 shrouded keybag creation 2018-05-16 10:16:15 -06:00
toddouska
8ff328cb39 Merge pull request #1551 from dgarske/asynccheck
Added new `async-check.sh` script
2018-05-16 08:02:11 -07:00
toddouska
b5e0499022 Merge pull request #1550 from dgarske/rsaverify
Check returned size matches signature size for RSA verify in openssl compatibility
2018-05-16 08:00:31 -07:00
toddouska
bbc178a704 Merge pull request #1548 from JacobBarthelmeh/Testing
fix ecc public key print with X509 print function
2018-05-16 07:59:19 -07:00
toddouska
8619062ae7 Merge pull request #1522 from dgarske/mbedtls_compat
Port for using AWS FreeRTOS
2018-05-16 07:57:55 -07:00
toddouska
1be8a6e4ef Merge pull request #1502 from ejohnstown/update-m4
Update M4 Autoconf Files
2018-05-16 07:57:13 -07:00
Jacob Barthelmeh
566bb4cefe version for PBE SHA1 DES oid 2018-05-16 08:38:50 -06:00
Jacob Barthelmeh
1ca62ee0a1 add error return for unsuported version 2018-05-15 22:51:11 -06:00
David Garske
f021375c4b Fixes for fsanitize reports. 2018-05-15 17:23:35 -07:00
Jacob Barthelmeh
a6ad6b94d1 account for IGNORE_NAME_CONSTRAINTS when testing the parsing of a relative URI 2018-05-14 16:03:51 -06:00
Jacob Barthelmeh
63a0e872c5 add test for fail case when parsing relative URI path 2018-05-14 14:27:02 -06:00
John Safranek
9c33244158 Update ax_pthread.m4
The AX_PTHREAD macro has a check for side-effects of the pthread flag beyond the functions being available. It also checks for a particular macro being set when compiling the test file. When running the build through the scan-build static analysis, for some reason, the check value isn't set. The build fails. I commented the check out for now.
2018-05-11 17:39:51 -07:00
John Safranek
2a4d386a50 Update ax_pthread.m4
1. Updated to the most recent copy of ax_pthread.m4.
2. Removed the darwin-clang check m4.
3. Added a check to see if AX_PTHREAD added the flag `-Qunused-arguments` for clang and if so prepend `-Xcompiler` so libtool will use it. Otherwise when building on Sierra's clang you get "soft" warnings on the build of the dylib.
2018-05-11 10:21:47 -07:00
David Garske
83257d662a Also check returned size matches for RSA verfiy in openssl compatability layer. 2018-05-11 17:09:07 +02:00
David Garske
af9507391a Fixes and improvements for FreeRTOS AWS. Fixes for building openssl compatibility with FreeRTOS. Fixes for TLS 1.3 possibly uninitialized vars. 2018-05-11 16:40:32 +02:00
David Garske
cb2f1d6d7d Added new async-check.sh script for setting up the async simulator for internal testing. 2018-05-11 16:38:24 +02:00
toddouska
7a4da340d4 Merge pull request #1547 from JacobBarthelmeh/Docs
add aes init function to docs
2018-05-09 16:40:36 -07:00
Jacob Barthelmeh
110c41613f cast on return of malloc 2018-05-09 14:50:26 -06:00
Jacob Barthelmeh
d1192021a5 alter search behavior for testing if URI is a absolute path 2018-05-09 14:43:52 -06:00
Chris Conlon
c910d84507 Merge pull request #1527 from kojo1/RenesasCSPlus
Renesas CS+ projects
2018-05-09 10:07:16 -06:00
Takashi Kojo
66e59e4a6a Rollback #if condition 2018-05-09 10:58:10 +09:00
Jacob Barthelmeh
bb979980ca add test case for parsing URI from certificate 2018-05-08 16:24:41 -06:00
Jacob Barthelmeh
4ee957afa3 fix for relative URI detection 2018-05-08 10:19:51 -06:00
Jacob Barthelmeh
4f0893bda5 fix ecc public key print with X509 print function 2018-05-07 14:16:27 -06:00
Jacob Barthelmeh
fd691a5795 add aes init function to docs 2018-05-07 10:24:44 -06:00
toddouska
08165d5a16 Merge pull request #1540 from SparkiDev/tls13_ticket_fix
NewSessionTicket parsing error fix
2018-05-04 10:54:23 -07:00
toddouska
0fec651338 Merge pull request #1539 from cconlon/toradix
expose mp_toradix() when WOLFSSL_PUBLIC_MP is defined
2018-05-04 10:49:21 -07:00
toddouska
6e5258b56e Merge pull request #1538 from dgarske/fixmatchdomainnull
Fix for handling match on domain name that may have a null terminator inside
2018-05-04 10:25:28 -07:00
Takashi Kojo
ecd2e75564 #ifndef FREESCALE_LTC_ECC with fe_init 2018-05-04 07:34:47 +09:00
Sean Parkinson
69ce10f292 NewSessionTicket parsing error fix 2018-05-04 08:18:54 +10:00
David Garske
3fd47bdff3 Fix for example client/server with -H exitWithRet option to make sure all cleanup is performed. Resolves valgrind report due to TicketCleanup() not being called. 2018-05-03 13:39:37 -07:00
Chris Conlon
bb7bcfd877 expose mp_toradix() when WOLFSSL_PUBLIC_MP is defined 2018-05-03 13:41:23 -06:00
toddouska
a2fa61cd3d Merge pull request #1534 from SparkiDev/tls13_static_rsa
Fix TLS 1.3, change Client Hello version to work with static RSA (TLS 1.0 - TLS 1.2)
2018-05-03 12:38:55 -07:00
toddouska
1c09c06349 Merge pull request #1533 from SparkiDev/tls13_draft26
Allow building TLS 1.3 at draft 26
2018-05-03 12:37:39 -07:00
toddouska
74618d0e3c Merge pull request #1532 from SparkiDev/test_fix
Fixes for tests
2018-05-03 11:44:01 -07:00
toddouska
73d85774df Merge pull request #1525 from dgarske/sockclose
Cleanup of the socket close code
2018-05-03 11:42:30 -07:00
David Garske
325402cf5a Minor fix for the expected failure case use of ssl after free. Renamed skipExit to exitWithRet. 2018-05-03 10:02:59 -07:00
David Garske
89a4c98670 * Added support for expected fail test cases with example client/server and suites unit test.
* Added test for certificate with bad alt name containing a null character mid byte stream.
* Fix for issue with suites unit test where last arg in file doesn't conain data for a param, causing it to skip test.
* Fix for last test in tests/test.conf not being run for `TLSv1.2 RSA 3072-bit DH 3072-bit`.
* Moved the `tls-cert-fail.test` tests into the new expected failure suite test (`./tests/test-fails.conf`). Now it explicilty checks RSA and ECC for the no signer and no sig tests.
2018-05-03 09:40:51 -07:00
David Garske
d43aa37041 Fix for handling match on domain name that may have a null terminator inside. The check should match on len from ASN.1 reguardless of a null character. 2018-05-03 09:33:05 -07:00
Sean Parkinson
996ee78d50 Fix Client Hello version to work with static RSA 2018-05-02 10:20:55 +10:00
Chris Conlon
d60b16c5b8 Merge pull request #1531 from kaleb-himes/FIPS-CHECK-SCRIPT
revert to default but exclude for sgx/netos
2018-05-01 15:14:00 -06:00
Sean Parkinson
27c3a70e13 Allow building TLS 1.3 at draft 26 2018-05-01 15:19:18 +10:00
Sean Parkinson
5845482fc0 Fixes for tests
Fix the benchmark client to set all groups supported.
Fix TLS 1.3 test script to work on PPC - check counter in separate test.
2018-05-01 14:27:38 +10:00
kaleb-himes
c5a39b9048 rever to default but exclude for sgx/netos projects 2018-04-30 15:17:58 -06:00
toddouska
65eb79e5cd Merge pull request #1519 from dgarske/buildfixes
Build fixes for a few configurations
2018-04-30 11:49:16 -07:00
toddouska
d53716496a Merge pull request #1521 from dgarske/tlsx_returncodes
Refactor of the TLSX code to support returning error codes
2018-04-30 11:46:41 -07:00
toddouska
3ad708fb20 Merge pull request #1514 from dgarske/certdates
Enhancements and cleanup to ASN date/time
2018-04-30 11:14:38 -07:00
toddouska
8311628f93 Merge pull request #1508 from kaleb-himes/FIPS-CHECK-SCRIPT
Fips check script
2018-04-30 10:50:03 -07:00
Takashi Kojo
4c5982949e minor fix 2018-04-28 13:25:41 +09:00
toddouska
7de23d65ce Merge pull request #1517 from dgarske/sighash
Added new signature wrapper functions to allow use of hash directly
2018-04-27 16:07:56 -07:00
Takashi Kojo
6e96318785 Readme.txt 2018-04-28 06:36:56 +09:00
toddouska
8ef777315a Merge pull request #1516 from dgarske/gccarm
GCC-ARM IDE example improvements
2018-04-27 14:13:45 -07:00
Takashi Kojo
e69af98a7e fix warnings 2018-04-28 06:06:45 +09:00
Takashi Kojo
3e9028387f test project 2018-04-28 05:46:42 +09:00
Takashi Kojo
c5df9d56ad wolfssl_lib project 2018-04-28 05:39:42 +09:00
Takashi Kojo
ac791610dd USE_WOLF_TIMEVAL_T 2018-04-28 05:28:49 +09:00
Takashi Kojo
22a2b45108 duplicated fe_init for non-configure based IDE 2018-04-28 05:07:00 +09:00
Takashi Kojo
a91ac55e24 define valiable before exec statements 2018-04-28 05:05:45 +09:00
Takashi Kojo
2cc2f224f8 XTIME in LowResTimer 2018-04-28 05:03:51 +09:00
David Garske
e9dd44a667 Merge pull request #1524 from abrahamsonn/master
Doxygen landing page update
2018-04-27 11:44:00 -07:00
David Garske
3200040d1a Cleanup of the socket close code used for examples, CRL/OCSP and BIO. Now only a single macro is responsible for closing a socket CloseSocket and all duplicate code is eliminated. 2018-04-27 10:29:19 -07:00
abrahamsonn
9424a96289 Doxygen landing page update 2018-04-27 10:56:13 -06:00
connerWolfSSL
e45f0efc3f Documentation Fixes (#1520)
* Fixed documentation errors found by check_api script
* Formatting changes so that comments/API pairs are more obvious
2018-04-27 09:50:34 -07:00
David Garske
5c97374156 Fix for RSA RSS check to make sure RSA is enabled. Added TLS 1.3 DH check for key sizes. 2018-04-26 14:04:54 -07:00
David Garske
ef7b40dcab Refactor of the TLSX code to support returning error codes.
* The `SANITY_MSG_E` responses in `TLSX_SupportedVersions_GetSize`, `TLSX_SupportedVersions_Write`, `TLSX_Cookie_GetSize` and `TLSX_Cookie_Write` would incorrectly be handled.
* Added build-time checks in `tls13.c` for dependencies on `HAVE_HKDF` and `WC_RSA_PSS`.
2018-04-26 11:30:57 -07:00
David Garske
fe4cbb2a03 Fix for Jenkins report Expected Configurations Test - NIGHTLY BUILD #267, building ./configure --disable-asn --disable-ecc --disable-rsa --enable-psk --enable-sni. Reported unused variables, parameters and function. 2018-04-26 05:47:48 -07:00
David Garske
04626c6a1f Fixes build issue using wrong DES define for WC_MAX_SYM_KEY_SIZE macro. Reproduced using ./configure --enable-leanpsk --enable-des3. Fixes issue #1518. 2018-04-26 05:35:04 -07:00
David Garske
fc02003f76 Added new signature wrapper functions to allow direct use of hash wc_SignatureVerifyHash and wc_SignatureGenerateHash. These new function abstract existing signature wrapper code, so minimal code size increase. Added test cases for new functions for RSA (with and without DER encoding) and ECC. 2018-04-25 13:10:53 -07:00
toddouska
c1d4f659ad Merge pull request #1511 from ejohnstown/dist-tweak
Make Dist Automation Tweak
2018-04-25 10:56:40 -07:00
toddouska
107290b552 Merge pull request #1515 from dgarske/buildfixes
Fixes for various build configurations
2018-04-25 10:23:27 -07:00
toddouska
5c61810d4d Merge pull request #1497 from SparkiDev/tls13_draft28
Tls13 draft28
2018-04-25 10:17:37 -07:00
David Garske
a9f32c30da Fix for SGX build after C99 changes strings.h: No such file or directory. 2018-04-25 07:56:54 -07:00
David Garske
3c684886ad Fixes to resolve building --enable-tls13 --disable-ecc --enable-curve25519 --enable-ed25519. 2018-04-25 07:54:53 -07:00
David Garske
089e1b6b9b Fix for expected Configurations Test - NIGHTLY BUILD #265 and ifdef cleanup. 2018-04-25 07:54:53 -07:00
David Garske
2e6c195b43 GCC-ARM IDE improvements:
* Added documentation for `ECC_USER_CURVES`.
* Added option for RSA PSS padding support.
2018-04-24 15:26:53 -07:00
David Garske
65c9277213 More fixes from Jenkins testing. 2018-04-24 14:01:33 -07:00
toddouska
ff1559275d Merge pull request #1512 from dgarske/c99
Fixes to resolve issues with c99 compliance
2018-04-24 13:36:41 -07:00
toddouska
1ddccf63dc Merge pull request #1496 from JacobBarthelmeh/Compatibility-Layer
Compatibility layer
2018-04-24 13:33:33 -07:00
David Garske
e63afa08bd Fix a couple of minor Jenkins issues. 2018-04-24 13:25:28 -07:00
David Garske
56025f38b9 Enhancements and cleanup to ASN date/time:
* Refactor the ASN get date logic to combine shared code.
* Added new API `wc_GetDateInfo` to get raw date, format and length.
* Added new API `wc_GetCertDates` to extract certificate before/after dates as `struct tm` type.
* Added new API `wc_GetDateAsCalendarTime` which parses the raw date string and convers to `struct tm`.
* Added tests for new API's.
* Added missing tests for `wc_SetAltNames`, `wc_SetAltNamesBuffer` and `wc_SetDatesBuffer`.
* Fixed build for older `NO_TIME_H` macro.
2018-04-24 13:04:36 -07:00
David Garske
b48a9ded15 Fix to allow user to force build using WOLF_C99 option. 2018-04-23 13:52:58 -07:00
David Garske
289a282183 Fixes to resolve issues with c99 compliance (building with ./configure CFLAGS="-std=c99").
* Fix for ReadDir checking for file flag to use `S_ISREG(ctx->s.st_mode)` syntax.
* Added macro for strsep `XSTRSEP`. Added wolf implementation as `wc_strsep` enabled as C99 or `USE_WOLF_STRSEP`.
* Fix to use `gethostbyname` for c99 instead of `getaddrinfo`.
* For c99 use wolf strtok `wc_strtok`.
* Exposed API's for `wc_strtok` and `wc_strsep` when available.
* Include `sys/time.h` when available from autocon `HAVE_SYS_TIME_H` or c99.
* include `<strings.h>` when `HAVE_STRINGS_H` or c99.
2018-04-23 13:47:22 -07:00
Eric Blankenhorn
568d24c63c Coverity fixes (#1509)
* Coverity fixes 3
2018-04-23 09:20:28 -07:00
John Safranek
9831a8ac94 Added a dist-hook target to the Makefile to copy the default options.h.in over options.h. 2018-04-20 11:07:57 -07:00
thivyaashok
7d425a5ce6 Added support for an anonymous cipher suite (#1267)
* Added support for cipher suite TLS_DH_anon_WITH_AES256_GCM_SHA384
* Added test cases for verification of anonymous cipher suite
2018-04-20 10:35:37 -07:00
thivyaashok
853756a73c Added a TLS alert message 115 (#1391)
Added a new TLS alert message `unknown_psk_identity` (115) from RFC 4279,  section 2.
2018-04-20 10:23:57 -07:00
Sean Parkinson
94157634e1 TLS 1.3 fixes/improvements
Support Draft 28: able to compile code to return BAD_BINDER if no PSKs
match and certificates not to be used.
Change key share implementation to use server preference - server now
checks each client key share's group is in supported_groups extension.
Client and server examples modified to support server preference.
Application can set client's and server's supported groups by rank.
Server's supported groups is sent back in encrypted_extensions if
preferred group is not in client's list - able to be turned off at
compile time.
Application can query server's preferred group from client.
Able to compile using 0x0304 as version instead of draft version.
Fix state machine in TLS 1.3 to support unexpected hello_retry_request.
Also fixes non-blocking.
Fix resumption to use the named group from session.
Fix named group in session structure to be a 2-byte field.
Better detection of errors in message flow.
Fix DoTls13ClientHello when downgrading - don't do TLS 1.3 things.
Not downgrading on client fixed.
Downgrade protocol version from TLS 1.3 when not TLS 1.3 ciphersuite.
Get downgrading from TLS 1.3 and resumption working.
Change earlyData value to an enum.
Support no extensions data (as opposed to zero length extension data) in
TLS 1.3 ClientHello.
Check PSK cipher suite is available to both client and server before
using.
Check first PSK identity chosen when server says it is using early data
at client.
Check PSK extension is last in client_hello on server.
Check the PSK cipher suite to use is supported on client.
Check the returned cipher suite for pre-shared keys is the same as
client expects.
Send alert decrypt_error when verification fails in certificate_verify
or finished message doesn't match calculated value.
Fail when certificate messages recieved in handshake when using PSK.
Validate on the server that EndOfEarlyData message has been recieved
before finished message when server sent EarlyData extension.
2018-04-20 09:44:02 +10:00
kaleb-himes
3476a9b55a versions for Baxter updated, new tag in fips v3.12.6 2018-04-19 15:24:22 -06:00
David Garske
9e4bb3fee1 Merge pull request #1504 from SparkiDev/nginx-pemenc
Key derivation for encrypted PEM uses salt length of 8 in OpenSSL
2018-04-19 11:23:39 -07:00
David Garske
f7cb5c5c15 Merge pull request #1507 from kaleb-himes/README-update
Bring special notes inline with commit 8edbca1b21b6fcd6d09910c66bbf35…
2018-04-19 11:17:25 -07:00
JacobBarthelmeh
b7c61a72c8 Merge pull request #1503 from kojo1/Ticket3793
HMAC with SHA2
2018-04-19 09:38:55 -06:00
kaleb-himes
23615dd15f Bring special notes inline with commit 8edbca1b21 2018-04-18 09:58:03 -06:00
Takashi Kojo
bf950198f2 api.c: option conditions 2018-04-18 13:02:40 +09:00
Sean Parkinson
6689ee965a Key derivation for encrypted PEM uses salt length of 8 in OpenSSL 2018-04-18 12:37:06 +10:00
Takashi Kojo
7c7913264b remove printf 2018-04-18 09:25:24 +09:00
Takashi Kojo
56af3a5b36 add HMAC SHA2 2018-04-18 08:47:39 +09:00
Jacob Barthelmeh
57d40bc6d1 remove internal data types in ssl.h 2018-04-17 15:57:23 -06:00
John Safranek
11065f9222 added the missing macro file ax_require_defined.m4. 2018-04-17 13:23:17 -07:00
brian@tangent.org
48b3aa90d3 Update autoconf m4 files, except pthreads which should be its own commit 2018-04-17 13:20:33 -07:00
John Safranek
a116b5ba83 Merge pull request #1500 from BrianAker/patch-1
Adding Copyright notice to autoconf files.
2018-04-17 11:15:36 -07:00
toddouska
09706a4ed2 Merge pull request #1488 from SparkiDev/tls13_perf
Changes for interop and performance
2018-04-16 09:16:13 -07:00
Brian Aker
3179d6ce2b Adding Copyright notice to autoconf files. 2018-04-14 22:30:02 -10:00
toddouska
942c720dc4 Merge pull request #1499 from ejohnstown/aes-asm
AES assembly file name change
2018-04-13 11:23:03 -07:00
Jacob Barthelmeh
e895bacbba update before/after dates with certificates 2018-04-13 09:31:32 -06:00
Jacob Barthelmeh
f9eda5d790 free test certificate after use 2018-04-13 09:16:22 -06:00
Eric Blankenhorn
a0d8327320 Coverity fixes 2 (#1493)
* Coverity fixes for wolfcrypt folder
* Fixes for remaining issues
* Fixes for test files
2018-04-13 05:35:18 -07:00
Sean Parkinson
9600266483 WOLFSSL_FUNC_TIME changes
Warning in code about using this define.
Remove usage of WOLFSSL_FUNC_TIME from server.c.
2018-04-13 12:13:31 +10:00
Sean Parkinson
0b47811c46 Changes for interop and performance
Changes made to test.h to allow interop of PSK with OpenSSL.
Changes to allow server to pre-generate key share and perform other
operations at later time.
Fix ChaCha20 code header to have bigger state to support assembly code
for AVX1.
Fix Curve25519 code to use define instead.
Change Curve25519 to memset all object data on init.
Change Poly1305 to put both sizes into one buffer to avoid a second call
to wc_Poly1305Update().
Added WOLFSSL_START and WOLFSSL_END API and calls to show time of
protocol message function enter and leave to analyse performance
differences.
Moved Curve25519 code in KeyShare extension out of general ECC code.
2018-04-13 12:01:20 +10:00
John Safranek
425cee64a7 AES assembly file name change
Some versions of GCC on the Mac will not run the file aes_asm.s through the preprocessor. There are some ifdefs in the file that are included when they shouldn't be. This is not a problem on Linux. Renaming the file to have a capital S extension forces the assembler to run with the preprocessor.
2018-04-12 16:47:58 -07:00
toddouska
84f7bd8cde Merge pull request #1494 from dgarske/wpas
Fix for building wpa_supplicant
2018-04-12 13:49:31 -07:00
toddouska
eacd98fe4e Merge pull request #1491 from dgarske/config
Configure improvements and new options
2018-04-12 13:48:20 -07:00
toddouska
8f1e8be2d0 Merge pull request #1490 from dgarske/hashoid_cleanup
Hash OID cleanup
2018-04-12 13:46:47 -07:00
Jacob Barthelmeh
cfaed48f90 adjust GetInt call with ASN1 integer to big number 2018-04-12 14:40:20 -06:00
Jacob Barthelmeh
df06707496 Handle larger values with ASN1 INTEGER structure 2018-04-12 14:07:29 -06:00
David Garske
cf1230d232 Fix for building wpa_supplicant (./configure --enable-wpas) after PemToDer refactor in PR #1467. 2018-04-12 06:53:44 -07:00
David Garske
1f7b954d47 Fix for wc_GetCTC_HashOID in FIPS mode. Uses the new wc_HashTypeConvert to handle conversion from unique WC_ALGO (int) to WC_HASH_TYPE_ALGO (enum wc_HashType). 2018-04-12 06:51:23 -07:00
David Garske
ce6728951f Added a new --enable-opensslall option, which ensures all openssl features are enabled. Documented and tested building the various open source defines we support in our build. 2018-04-11 13:54:07 -07:00
David Garske
689203d310 Added some more features to the --enable-all. Added new --enable-webclient option. 2018-04-11 13:54:07 -07:00
David Garske
ee5d78f84f Added new wc_OidGetHash API for getting the hash type from a hash OID. Refactor PKCS7 and PKCS12 to use new API and reduce duplicate ocde. Updated wc_GetCTC_HashOID to use wc_HashGetOID and maintain back compat. 2018-04-11 13:53:30 -07:00
toddouska
d85580691b Merge pull request #1492 from dgarske/fix_noasn_pwdbased
Fixes for ASN disabled and PWDBASED enabled / Win FIPS
2018-04-11 12:09:30 -07:00
David Garske
83bfdb1594 Fix for issue with unique hash types on ctoacrypt FIPS using different values than WC_HASH_TYPE_*. Add new API wc_HashTypeConvert to handle the conversion between enum wc_HashType and int. For FIPS it uses a switch() to convert and for non-FIPS it uses a simple cast. Changed the pwdbased_test to return actual ret instead of adding values (made it difficult to track down error location). 2018-04-11 09:30:30 -07:00
David Garske
3f3e332a3a Fix for evp.c statement will never be executed in wolfSSL_EVP_CIPHER_CTX_block_size. 2018-04-11 08:18:39 -07:00
David Garske
38aa56cc40 Fix for Windows FIPS build in current master. Resolves issue with missing DES/AES key size enums. 2018-04-10 20:07:14 -07:00
David Garske
565f394972 Fix for building without ASN and PWDBASED enabled (./configure --disable-asn --enable-pwdbased). 2018-04-10 16:36:11 -07:00
toddouska
e25da80766 Merge pull request #1467 from dgarske/asnpemtoder
PEM Encrypted Keys cleanup and PemToDer move to wolfCrypt asn.c
2018-04-09 16:33:30 -07:00
David Garske
a38576146e * Added support for disabling PEM to DER functionality using WOLFSSL_PEM_TO_DER. This allows way to use with DER (ASN.1) certificates only in an embedded environment. This option builds, but internal make check requires PEM support for tests.
* More cleanup to move PEM functions from ssl.c to asn.c (`wolfSSL_CertPemToDer`, `wolfSSL_KeyPemToDer`, `wolfSSL_PubKeyPemToDer`). Renamed these API's to `wc_` and added backwards compatability macro for old function names.
2018-04-09 13:28:15 -07:00
David Garske
5a46bdf6f6 Added unit test for using encrypted keys with TLS. Only works with --enable-des3, since the keys are all encrypted with DES3 (also requires either --enable-opensslextra or --enable-enckeys). 2018-04-09 13:28:15 -07:00
David Garske
d68a6fb4c7 Make sure wc_encrypt.h includes the ciphers. 2018-04-09 13:28:15 -07:00
David Garske
98c186017a Fixes for build failures. Added new WC_MAX_SYM_KEY_SIZE macro for helping determine max key size. Added enum for unique cipher types. Added CHACHA_MAX_KEY_SZ for ChaCha. 2018-04-09 13:28:15 -07:00
David Garske
2c72f72752 Fixes for FIPS, sniffer (w/o enc keys), scan-build issues and backwards compatability. 2018-04-09 13:28:15 -07:00
David Garske
9be11bf62c Fix to correct missing wolfSSL_EVP_BytesToKey header int he NO_MD5 case. 2018-04-09 13:28:15 -07:00
David Garske
1f00ea2115 Fixes for various build issues with type casting and unused functions. Moved mystrnstr to wc_port.c. Added some additional argument checks on pwdbased. 2018-04-09 13:28:15 -07:00
David Garske
e60032b961 Fix for duplicate API defs. 2018-04-09 13:28:15 -07:00
David Garske
b01535b483 Fix for stray character. 2018-04-09 13:28:15 -07:00
David Garske
8a31f13cb6 Remove obsolete WOLFSSL_PEMPUBKEY_TODER_DEFINED header logic. 2018-04-09 13:28:15 -07:00
David Garske
6de8348918 Fixes for various build configurations. Added --enable-enckeys option to enable support for encrypted PEM private keys using password callback without having to use opensslextra. Moved ASN CryptKey function to wc_encrypt.c as wc_CryptKey. Fixup some missing heap args on XMALLOC/XFREE in asn.c. 2018-04-09 13:28:15 -07:00
David Garske
1315fad7dc Added ForceZero on the password buffer after done using it. 2018-04-09 13:28:15 -07:00
David Garske
3a8b08cdbf Fix to move the hashType out of EncryptedInfo. Fix for parsing "DEC-Info: ". Fix for determining when to set and get ivSz. 2018-04-09 13:28:15 -07:00
David Garske
c83e63853d Refactor unqiue hash types to use same internal values (ex WC_MD5 == WC_HASH_TYPE_MD5). Refactor the Sha3 types to use wc_ naming. 2018-04-09 13:28:15 -07:00
David Garske
264496567a Improvements to EncryptedInfo. Added build option WOLFSSL_ENCRYPTED_KEYS to indicate support for EncryptedInfo. Improvements to wc_PBKDF1 to support more hash types and the non-standard extra data option. 2018-04-09 13:28:15 -07:00
David Garske
f9e830bce7 First pass at changes to move PemToDer into asn.c. 2018-04-09 13:28:14 -07:00
toddouska
2ded38ec2b Merge pull request #1485 from dgarske/tlskeygeneccorcurve
Fix TLS 1.3 with ED25519/CURVE25519 enabled and ECC disabled
2018-04-09 12:12:31 -07:00
David Garske
21833e245f Fix TLS 1.3 with ECC disabled and CURVE25519 enabled. Resolves issue with using ./configure --disable-ecc --enable-curve25519 --enable-ed25519 --enable-tls13. Refactor TLSX_KeyShare_GenEccKey to support either ECC or CURVE25519. Fix for PemToDer to handle ED25519 without ECC enabled. 2018-04-09 10:10:08 -07:00
David Garske
2a460d3d05 Merge pull request #1484 from embhorn/coverity
Coverity fixes
2018-04-06 18:18:38 -07:00
Eric Blankenhorn
36b9b0b558 Updates from code review 2018-04-06 17:29:27 -05:00
Eric Blankenhorn
86767e727c Fixes for CID 185033 185028 185142 185064 185068 185079 185147 2018-04-06 13:15:16 -05:00
Eric Blankenhorn
d2c1a1906d Fixes for CID 184980 185017 185047 185167 2018-04-06 11:10:37 -05:00
toddouska
6090fb9020 Merge pull request #1483 from dgarske/winvs
Fixes for unused `heap` warnings
2018-04-06 09:01:49 -07:00
toddouska
e56209cee4 Merge pull request #1482 from dgarske/nourand
Added new define `NO_DEV_URANDOM` to disable the use of `/dev/urandom`
2018-04-06 09:00:37 -07:00
Eric Blankenhorn
920e6ed911 Fix warning in ssl.c 2018-04-06 09:30:54 -05:00
Eric Blankenhorn
c6ad885459 Coverity fixes for tls.c/n CID 184996 185112 185122 2018-04-06 09:08:00 -05:00
Eric Blankenhorn
ec429e50b1 Fixes for ssl.c 2018-04-06 07:45:12 -05:00
David Garske
426335b68f Found additional VS unused heap warnings. Replace tabs with 4-spaces. 2018-04-05 12:28:32 -07:00
toddouska
2b48a074eb Merge pull request #1480 from dgarske/extcache
Fix for HAVE_EXT_CACHE callbacks not being available without OPENSSL_EXTRA
2018-04-05 10:52:44 -07:00
David Garske
bab62cc435 Added new define NO_DEV_URANDOM to disable the use of /dev/urandom. Added better named define WC_RNG_BLOCKING to indicate block w/sleep(0) is okay. 2018-04-05 09:34:43 -07:00
David Garske
ede006b3e1 Merge pull request #1479 from JacobBarthelmeh/HardwareAcc
Fix PIC32 AES-CBC and add test case
2018-04-05 09:15:08 -07:00
Eric Blankenhorn
5439402c1d Refactor for max record size (#1475)
* Added new internal function `wolfSSL_GetMaxRecordSize`.
* Modified tls_bench to use dynamic buffer based on max record size.
* Added comment for DTLS maxFragment calculation.
2018-04-05 09:11:58 -07:00
David Garske
412d4d76ee Fix for HAVE_EXT_CACHE callbacks not being available without OPENSSL_EXTRA defined. Added tests for external cache callbacks. 2018-04-05 07:10:04 -07:00
toddouska
a1d6bc68de Merge pull request #1478 from dgarske/fixeccmaxsize
Fix for ECC max bits
2018-04-04 16:27:15 -07:00
Jacob Barthelmeh
815219b589 fix pic32 AES-CBC and add test case 2018-04-04 16:09:11 -06:00
David Garske
bc76f57959 Fix for ECC max bits ( MAX_ECC_BITS). 2018-04-04 13:39:14 -07:00
David Garske
a78c6ba4ea Fix for unused heap warnings. 2018-04-04 12:51:45 -07:00
toddouska
aa660bc9b8 Merge pull request #1477 from dgarske/fix_strtok
Fix for issue with `wc_strtok` function declaration
2018-04-04 12:35:38 -07:00
David Garske
2189827287 Fix for issue with wc_strtok function declaration not being available because of include order. Fixes issue #1469. 2018-04-04 10:41:14 -07:00
toddouska
0da4a8f1fe Merge pull request #1476 from dgarske/fix_haveextcache
Fix building with `HAVE_EXT_CACHE` when `OPENSSL_EXTRA` is not defined
2018-04-04 10:34:07 -07:00
toddouska
2deb977ecf Merge pull request #1473 from dgarske/pkcs7_norsa
Enabled PKCS7 support without RSA
2018-04-04 10:33:11 -07:00
toddouska
960d2ec031 Merge pull request #1471 from JacobBarthelmeh/Fuzzer
sanity check on buffer read
2018-04-04 10:31:55 -07:00
toddouska
1196a3b64d Merge pull request #1455 from dgarske/nitroxv
Nitrox V fixes and additions
2018-04-04 10:27:53 -07:00
David Garske
5702e8ee48 Fix building with HAVE_EXT_CACHE when OPENSSL_EXTRA is not defined. Fixes issue #1474. 2018-04-04 09:02:52 -07:00
David Garske
c288d0815d Added support for building and using PKCS7 without RSA (assuming ECC is enabled). 2018-04-03 09:26:57 -07:00
David Garske
0c898f513d Nitrox V fixes and additions:
* Added support for ECC, AES-GCM and HMAC (SHA-224 and SHA3).
* Fixes for Nitrox V with TLS.
* ECC refactor for so key based `r` and `s` apply only when building with `WOLFSSL_ASYNC_CRYPT`.
* ECC refactor for `e` and `signK` to use key based pointer for Nitrox V.
* Improved the Nitrox V HMAC to use start, update and final API's instead of caching updates.
* Fix for Intel QuickAssist with unsupported HMAC hash algos using `IntelQaHmacGetType` (such as SHA3).
* Added new API `wc_mp_to_bigint_sz` to zero pad unsigned bin.
* Fix for AES GCM to gate HW use based on IV len in aes.c and remove the gate in test.c.
* Implemented workaround to use software for AES GCM Nitrox V hardware and 13 byte AAD length for TLS.
* New debug option `WOLFSSL_NITROX_DEBUG` to add pending count.
2018-04-03 09:14:20 -07:00
Eric Blankenhorn
adb817e8d2 Feature update for tls_bench test that will allow passing in arguments (#1466)
* Feature update for tls_bench test that will allow passing in command line arguments that enable test features.
* Fix type conversion errors.
* Fixed use of uninitialized data. Declare DH arrays as const.
2018-04-02 14:00:34 -07:00
Jacob Barthelmeh
6a1013888f sanity check on buffer read 2018-04-02 14:30:58 -06:00
JacobBarthelmeh
b33feb9dbf Merge pull request #1470 from kojo1/EVP
EVP_CipherUpdate return value for inlen == 0
2018-04-02 14:03:48 -06:00
Takashi Kojo
c60d9ff983 if(ret != 1) error 2018-04-01 13:27:08 +09:00
Takashi Kojo
1c0b84d47d openSSL compatibility, EVP_CipherUpdate, if(inlen == 0)return 1; 2018-04-01 12:13:18 +09:00
kaleb-himes
effaa18b32 Fixing some kinks 2018-03-30 12:46:59 -06:00
Chris Conlon
87c1658ab8 Merge pull request #1464 from jrblixt/unitTest_api_addPkcs7-nightlyBuildFix2
Nightly build fix for PKCS#7 errors.
2018-03-29 15:26:11 -06:00
toddouska
86a5330b31 Merge pull request #1462 from ejohnstown/cxxflags
Configure Update
2018-03-28 16:41:15 -07:00
John Safranek
e59bb43878 Configure Update
Revise default compiler optimization flags enable name to something more descriptive.
2018-03-28 13:19:46 -07:00
toddouska
3a8a7b8a55 Merge pull request #1458 from dgarske/cleanupthreaded
wolfCrypt ECC FP cleanup for thread local storage cases
2018-03-28 12:25:20 -07:00
John Safranek
e6a19bb1e8 Configure Update
Add a disable option to turn off the default optimization options so the user may set their own in a CFLAGS.
2018-03-27 16:41:39 -07:00
jrblixt
1cd6075b9d Nightly build fix. 2018-03-27 16:54:14 -06:00
David Garske
c9d840ed8d Fix for the HAVE_THEAD_LS case with FP_ECC where starting a new thead and doing ECC operations and not calling wc_ecc_fp_free. Added missing wolfCrypt_Init to API docs. 2018-03-27 14:29:39 -07:00
toddouska
f62d372bbe Merge pull request #1461 from cconlon/netbsd-update
update NetBSD fips-check version to include selftest ECDSA fix
2018-03-27 13:28:49 -07:00
toddouska
9de2bdce24 Merge pull request #1460 from dgarske/winecc
Enable ECC, AES-GCM and SHA-512/384 by default in VS
2018-03-27 13:28:23 -07:00
toddouska
504b13530e Merge pull request #1459 from cconlon/selftest_fixes
Fix for wolfCrypt test and CAVP selftest build
2018-03-27 13:27:28 -07:00
John Safranek
477d2413cd Configure Update
1. Initialize CXXFLAGS (C++ compiler flags) the same way we do CFLAGS.
2. Add CPPFLAGS (C preprocessor flags) to the options.h file with the other CFLAGS.
2018-03-27 10:23:44 -07:00
toddouska
9f231e0020 Merge pull request #1453 from dgarske/ecc508a_linux
Support for building with `WOLFSSL_ATECC508A` on other targets
2018-03-27 09:57:39 -07:00
David Garske
42e6ea8685 Added ECC_TIMING_RESISTANT to eliminate harden warnings. 2018-03-26 15:54:29 -07:00
David Garske
8fbc765dba Enable ECC, AES-GCM and SHA-512/384 by default in Windows Visual Studio projects. 2018-03-26 15:09:51 -07:00
Chris Conlon
9edaac8e1c update NetBSD fips-check version to include selftest ECDSA fix 2018-03-26 14:37:39 -06:00
Chris Conlon
021560035b fix unused var warning for extNameConsOid with IGNORE_NAME_CONSTRAINTS 2018-03-26 09:43:37 -06:00
Chris Conlon
d2aa7d0a37 exclude ecc_import_unsigned test when building for CAVP selftest 2018-03-23 16:31:17 -06:00
Chris Conlon
c08f5b86cf Merge pull request #1444 from jrblixt/unitTest_api_addPkcs-PR03162018
Unit test functions for PKCS#7.
2018-03-23 10:00:33 -06:00
toddouska
aee6f4d0ca Merge pull request #1457 from dgarske/base16
Base16/64 improvements
2018-03-22 15:14:57 -07:00
jrblixt
316a2b9fb4 Review changes: Chris. 2018-03-22 15:35:25 -06:00
toddouska
a92696edec Merge pull request #1454 from dgarske/noprivkey
Support for not loading a private key when using `HAVE_PK_CALLBACKS`
2018-03-22 12:47:22 -07:00
toddouska
040e0ab752 Merge pull request #1456 from dgarske/iocbname
Refactor IO callback function names to use `_CTX_`
2018-03-22 12:40:48 -07:00
toddouska
43f4faa7be Merge pull request #1452 from cconlon/mcapifix
fix unused param warning with NO_ERROR_STRINGS
2018-03-22 12:39:19 -07:00
David Garske
3bf325290d Base16/64 improvements:
* Add define `WOLFSSL_BASE16` to explicitly expose base16 support.
* Add `./configure --enable-base16` option (disabled by default in configure, but enabled in coding.h when required internally).
* Added base16 tests in test.c `base16_test`.
* Enabled base64 decode tests when `WOLFSSL_BASE64_ENCODE` is not defined.
2018-03-22 10:36:56 -07:00
David Garske
0cff2f8b10 Replace use of PUB_KEY_SIZE (from CryptoAuthLib) with new ECC_MAX_CRYPTO_HW_PUBKEY_SIZE. 2018-03-22 09:45:27 -07:00
David Garske
8c4bfd825a Support for building the ATECC508A without WOLFSSL_ATMEL defined, which enables features specific to Atmel Studio Framework (ASF) and an embedded target. This allows for building with WOLFSSL_ATECC508A defined on other targets such as Linux. 2018-03-22 09:39:21 -07:00
Chris Conlon
2989c73411 Merge pull request #1447 from JacobBarthelmeh/PKCS7
remove pkcs7 requirement of x963kdf when ecc is disabled
2018-03-22 10:01:55 -06:00
David Garske
e564c973b6 Refactor IO callback function names to use _CTX_ to eliminate confusion about the first parameter. 2018-03-21 16:08:55 -07:00
David Garske
4b51431546 Fix for possible unused ctx in wolfSSL_CTX_IsPrivatePkSet when no ECC, RSA or ED25519. 2018-03-21 15:46:08 -07:00
toddouska
104f7a0170 Merge pull request #1451 from JacobBarthelmeh/Optimizations
Adjust X509 small build and add more macro guards
2018-03-21 15:15:27 -07:00
toddouska
f3d0879ed7 Merge pull request #1449 from dgarske/asn_nullterm
ASN improvements for building header/footer in `wc_DerToPemEx`
2018-03-21 15:13:46 -07:00
toddouska
2a356228be Merge pull request #1445 from SparkiDev/wpas_fix
Fixes for wpa_supplicant
2018-03-21 15:11:43 -07:00
David Garske
dbb34126f6 * Added support for not loading a private key for server or client when HAVE_PK_CALLBACK is defined and the private PK callback is set. Tested with all cipher suites, TLS 1.2/1.3, client/server certs, RSA/ECC/ED25519.
* Added PK callback context tests for client/server examples (`SetupPkCallbackContexts`).
* Added new test define for `TEST_PK_PRIVKEY` to allows simulating hardware based private key.
* Added new test.h function for loading PEM key file and converting to DER (`load_key_file`).
* Added way to get private key signature size (`GetPrivateKeySigSize`).
* Added new ECC API `wc_ecc_sig_size_calc` to return max signature size for a key size.
* Added inline comments to help track down handshake message types.
* Cleanup of RSS PSS terminating byte (0xbc) to use enum value.
* Fixed bug with PK callback for `myEccVerify` public key format.
* Fixed bug with PK callback for ED25519 verify key buffer in DoServerKeyExchange.
2018-03-21 11:27:08 -07:00
Jacob Barthelmeh
26bb86690a fix for unused parameter warning 2018-03-21 10:06:06 -06:00
Chris Conlon
14bb14c6ab fix unused param warning with NO_ERROR_STRINGS 2018-03-21 09:56:08 -06:00
Jacob Barthelmeh
90f97f4a5a fix for unused variable 2018-03-21 09:16:43 -06:00
Jacob Barthelmeh
0aa3b5fa0e macros for conditionally compiling code 2018-03-21 00:09:29 -06:00
Jacob Barthelmeh
d9917049c4 use bit fields with WOLFSSL_CTX structure 2018-03-20 22:07:42 -06:00
Jacob Barthelmeh
087df8f1cd more macro guards to reduce size 2018-03-20 17:15:16 -06:00
Sean Parkinson
c9c2e1a8a7 Don't base signature algorithm support on certificate
The signature algorithm support is what you can do with another key, not
what you can do with your key.
2018-03-21 08:33:54 +10:00
Jacob Barthelmeh
4d65e4cc1e add WOLFSSL_NO_DH186 macro to optionally compile out DH186 function 2018-03-20 15:31:20 -06:00
Jacob Barthelmeh
df6ea54cd5 add support for PKCS8 decryption to OPENSSL_EXTRA_X509_SMALL build 2018-03-20 15:06:35 -06:00
jrblixt
2788183e79 Known config. tests fix. 2018-03-20 14:35:26 -06:00
toddouska
bba0a3e88c Merge pull request #1448 from dgarske/ecc_cleanup
ECC import/export cleanups and additions
2018-03-20 11:05:15 -07:00
toddouska
38d1eea8cd Merge pull request #1446 from SparkiDev/tls13_draft27
TLS v1.3 support for Draft 23 and Draft 27
2018-03-20 09:13:03 -07:00
toddouska
18879ce271 Merge pull request #1440 from dgarske/VerifyRsaSign_PKCallback
Added VerifyRsaSign PK callback
2018-03-20 09:02:18 -07:00
David Garske
764aec071c Further improvement to the null termination and newline logic in wc_DerToPemEx. 2018-03-19 22:58:18 -07:00
David Garske
59aa893260 Cleanup ECC point import/export code. Added new API wc_ecc_import_unsigned to allow importing public x/y and optional private as unsigned char. Cleanup wc_ecc_sign_hash to move the hardware crypto code into a separate function. Added missing tests for wc_ecc_export_public_raw, wc_ecc_export_private_raw and new test for wc_ecc_import_unsigned. 2018-03-19 13:28:57 -07:00
toddouska
87c70e76a9 Merge pull request #1441 from dgarske/ocsp_nb
Fix for handling OCSP with non-blocking
2018-03-19 12:05:59 -07:00
David Garske
2cc1a1c5bf Renamed callbacks for VerifySign to SignCheck. Switched the new callback context to use the one for the sign. Fix for callback pointer check on VerifyRsaSign. Added inline comments about the new RsaSignCheckCb and RsaPssSignCheckCb. 2018-03-19 10:19:24 -07:00
toddouska
cb8f8a953b Merge pull request #1438 from SparkiDev/nginx_pem_write
Fix PEM_write_bio_X509 to work with new BIO code
2018-03-19 09:13:51 -07:00
toddouska
1040cf9caa Merge pull request #1437 from dgarske/eccrsrawtosig
Added new ECC API `wc_ecc_rs_raw_to_sig`
2018-03-19 09:12:39 -07:00
Jacob Barthelmeh
467608b6c9 remove pkcs7 requirement of x963kdf when ecc is disabled 2018-03-19 10:08:46 -06:00
toddouska
7ce2efd572 Merge pull request #1431 from JacobBarthelmeh/Optimizations
more aes macro key size guards
2018-03-19 09:07:05 -07:00
toddouska
b28c6a394f Merge pull request #1428 from JacobBarthelmeh/Certs
Update to certificate renew scripts
2018-03-19 09:05:15 -07:00
Sean Parkinson
bd53d7ba59 TLS v1.3 support for Draft 23 and Draft 27
Draft 24: Second ClientHello usees version 0x0303 - no change.
Draft 25: The record layer header is now additional authentication data to
encryption.
Draft 26: Disallow SupportedVersion being used in ServerHello for
negotiating below TLS v1.3.
Draft 27: Older versions can be negotiated (by exclusion of 0x0304) in
SupportedVersion - no change.
2018-03-19 16:15:02 +10:00
Sean Parkinson
b325e0ff91 Fixes for wpa_supplicant 2018-03-19 11:46:38 +10:00
John Safranek
465f1d491f Merge pull request #1443 from cconlon/dhagree
check z against 1 in wc_DhAgree()
2018-03-17 20:15:31 -07:00
David Garske
250cd3b7eb Merge pull request #1433 from SparkiDev/sp_size
Fix size on Intel and improve 32-bit C code performance
2018-03-16 17:05:46 -07:00
jrblixt
1aba6e9b44 Prepare for PR. 2018-03-16 17:07:28 -06:00
Chris Conlon
3118c8826b check z against 1 in wc_DhAgree() 2018-03-16 15:59:48 -06:00
kaleb-himes
323abafc1c backup updates for SGX and DB jobs 2018-03-16 15:34:30 -06:00
David Garske
fa73f7bc55 Fix for handling OCSP with non-blocking. The HashInput function was being called on the re-entry, which produced a bad mac response from server. Also cleanup for some of the WC_PENDING_E logic for the non-async cases to reduce code size. 2018-03-16 12:05:07 -07:00
David Garske
e858ec11ac Fix unused arg when building with pk callbacks disabled. 2018-03-16 09:37:07 -07:00
David Garske
ed7774e94a Added new callbacks for the VerifyRsaSign, which uses a private key to verify a created signature. The new callbacks API's are wolfSSL_CTX_SetRsaVerifySignCb and wolfSSL_CTX_SetRsaPssVerifySignCb. These use the same callback prototype as the CallbackRsaVerify and use the same context. 2018-03-15 14:43:41 -07:00
JacobBarthelmeh
f70351242b Merge pull request #1432 from kojo1/mdk5
3.14.0 update on mdk5 pack
2018-03-15 14:47:14 -06:00
Sean Parkinson
3f99a2a391 Fix PEM_write_bio_X509 to work with new BIO code 2018-03-15 10:45:49 +10:00
Jacob Barthelmeh
a207cae0f4 add some more macro guards to reduce size 2018-03-14 17:24:23 -06:00
Jacob Barthelmeh
607bd96317 add ocsp cert renew and test-pathlen to script 2018-03-14 16:35:16 -06:00
Sean Parkinson
4d1986fc21 Improve speed of 32-bit C code 2018-03-15 08:33:04 +10:00
David Garske
9ccf876a21 Added new ECC API wc_ecc_rs_raw_to_sig to take raw unsigned R and S and encodes them into ECDSA signature format. 2018-03-14 10:59:25 -07:00
David Garske
d8fe341998 First pass at added PK_CALLBACK support for VerifyRsaSign. 2018-03-14 09:54:18 -07:00
toddouska
717ba83deb Merge pull request #1434 from SparkiDev/tls13_multi_recs
Fix multiple handshake messages in last record of certs
2018-03-14 09:46:32 -07:00
toddouska
262aa7c9a4 Merge pull request #1429 from JacobBarthelmeh/Testing
fix for build with NTRU and certgen
2018-03-14 09:42:39 -07:00
Sean Parkinson
afe300acc0 Fix multiple handshake messages in last record of certs 2018-03-14 16:37:58 +10:00
Takashi Kojo
8d750a22b1 Update project files 2018-03-14 08:15:18 +09:00
Takashi Kojo
1de291be8d macro INLINE 2018-03-14 07:14:07 +09:00
Sean Parkinson
c4dfa41088 SP improvements
Tag functions to not be inlined so llvm doesn't make huge builds.
Add sp_mod to support new DH key generation function.
2018-03-13 14:16:48 +10:00
Jacob Barthelmeh
8fb3ccacb7 opensslextra fixs and warning for unused variable 2018-03-12 18:05:24 -06:00
Jacob Barthelmeh
c41bc8205c account for build with no aes and no des3 2018-03-12 16:41:26 -06:00
Jacob Barthelmeh
6b04ebe3a4 fix for compiling with different build settings 2018-03-12 16:12:10 -06:00
Jacob Barthelmeh
fa21fb4a27 more aes macro key size guards 2018-03-12 15:44:48 -06:00
toddouska
15805d626d Merge pull request #1430 from SparkiDev/srp_test_fix
Fix SRP test to have 2048 bit test data
2018-03-12 11:33:50 -07:00
toddouska
b297d9dce0 Merge pull request #1427 from JacobBarthelmeh/Compatibility-Layer
return value on bad mutex with error nodes and add x509 host check to OPENSSL_EXTRA
2018-03-12 11:33:20 -07:00
Sean Parkinson
00203d66d5 Fix SRP test to have 2048 bit test data 2018-03-12 17:32:27 +10:00
Jacob Barthelmeh
8fdb99443a fix for build with NTRU and certgen 2018-03-09 14:21:43 -07:00
David Garske
72f390a102 Merge pull request #1361 from connerWolfSSL/doxygen_project
wolfSSL with Doxygen Documentation
2018-03-09 13:17:54 -08:00
Jacob Barthelmeh
e41f5de556 default generate ed25519 cert with renew and add ecc crls to script 2018-03-09 14:09:34 -07:00
Jacob Barthelmeh
d9738563af add ed25519 certificate generation to renewcerts.sh 2018-03-09 10:43:36 -07:00
Jacob Barthelmeh
f6b5427f2b bad sig certificate renew script 2018-03-09 09:50:52 -07:00
Jacob Barthelmeh
849e1eb10d updating renewcerts script 2018-03-09 00:35:14 -07:00
toddouska
3b4d1bc796 Merge pull request #1425 from dgarske/config_defaults
Enable ECC by default and for aarch64 more algos
2018-03-08 14:05:03 -08:00
toddouska
0ab4166a80 Merge pull request #1421 from JacobBarthelmeh/Optimizations
trim out more strings and fix DN tag
2018-03-08 14:03:10 -08:00
toddouska
1f9583c59c Merge pull request #1409 from SparkiDev/tls13_old_ver_fix
Fix downgrading when WOLFSSL_TLS13 is defined (despite NO_OLD_TLS being defined)
2018-03-08 13:59:59 -08:00
toddouska
200077c62c Merge pull request #1426 from cconlon/dh186
DH - Use q parameter when available, add wc_DhSetKey_ex()
2018-03-08 13:57:54 -08:00
Jacob Barthelmeh
e0afec0600 fix RSA macro, tickets without server, and add test case 2018-03-08 14:36:43 -07:00
Jacob Barthelmeh
e960e0544a try to clear out error queue with failing mutex 2018-03-08 11:49:16 -07:00
Jacob Barthelmeh
2a0ef55a66 fix for check on return value with mutex error case 2018-03-08 11:26:22 -07:00
Jacob Barthelmeh
74475a26ba compile more functions in with OPENSSL_EXTRA 2018-03-08 11:06:40 -07:00
connerwolfssl
0535a8a68a Added isntall flag, improved pathing for using doxygen to generate documentation 2018-03-08 10:53:44 -07:00
Chris Conlon
0ac833790d check q in wc_CheckPubKey_ex() if available in DhKey 2018-03-08 10:17:52 -07:00
Chris Conlon
6f95677bb8 add wc_DhSetKey_ex() with support for q and SP 800-56A 2018-03-08 09:36:44 -07:00
connerwolfssl
9e6b9a3793 Merge https://github.com/wolfssl/wolfssl into doxygen_project 2018-03-08 08:10:10 -07:00
Sean Parkinson
d6ffa0dd8e Fix downgrade when doing TLS v1.3 2018-03-08 15:05:36 +10:00
Sean Parkinson
d35a3f1e69 Fixes from code review
If doing TLS v1.3 and version on ServerHello is below TLS v1.2 then
handle message with old code.
If doing TLS v1.3, downgrading and version ClientHello is less than
minimum downgrade then this is a version error.
2018-03-08 09:00:36 +10:00
David Garske
8edbca1b21 Enable ECC for all platforms by default. For aarch64 enable SHA512, SHA224, SHA3 and FastMath by default. 2018-03-07 09:41:07 -08:00
Jacob Barthelmeh
612a80609a warning about extra set of parentheses 2018-03-07 10:35:31 -07:00
Jacob Barthelmeh
799a6b6d2d fix warning of unused variable and add guard for disable ecc build 2018-03-07 10:35:31 -07:00
Jacob Barthelmeh
a9c6385fd1 trim out more strings and fix DN tag 2018-03-07 10:35:31 -07:00
David Garske
a4000ba196 Merge pull request #1418 from SparkiDev/sp_armasm
Add assembly code for ARM and 64-bit ARM
2018-03-07 09:18:16 -08:00
toddouska
91a59eb625 Merge pull request #1422 from JacobBarthelmeh/Compatibility-Layer
add stub code for flag with x509 check host
2018-03-07 08:55:21 -08:00
toddouska
35f8460e8a Merge pull request #1419 from dgarske/stm32f1
Added support for `WOLFSSL_STM32F1`
2018-03-07 08:51:22 -08:00
toddouska
cd940ccb5c Merge pull request #1417 from dgarske/asn_x509_header
Cleanup of the ASN X509 header logic
2018-03-07 08:50:00 -08:00
toddouska
71ba87bb4d Merge pull request #1416 from dgarske/fix_pluton_ecc_sign
Fix for Pluton ECC sign (2nd try)
2018-03-07 08:47:46 -08:00
Sean Parkinson
89182f5ca9 Add assembly code for ARM and 64-bit ARM
Split out different implementations into separate file.
Turn on SP asm by configuring with: --enable-sp-asm
Changed small ASM code for ECC on x86_64 to be smaller and slower.
2018-03-07 11:57:09 +10:00
David Garske
602874cff4 Merge pull request #1423 from ejohnstown/touch-file
Fix issue with the creation of dummy fips.h header.
2018-03-06 16:29:05 -08:00
John Safranek
a7fe5e3502 Fix issue with the creation of dummy fips.h header. 2018-03-06 13:15:35 -08:00
Jacob Barthelmeh
3f80006b25 add stub code for flag with x509 check host 2018-03-06 11:55:20 -07:00
connerwolfssl
fcae6d46be Merge https://github.com/wolfssl/wolfssl into doxygen_project 2018-03-06 10:16:21 -07:00
connerwolfssl
5a1bdff0bd Added wolfssl vs doxygen api checking, removed storing warnings and errors in files 2018-03-06 10:13:13 -07:00
David Garske
5699afe63d Fix for minor typos in OPENSTM32 README.md. 2018-03-06 09:09:44 -08:00
David Garske
5174ad77f2 Added support for WOLFSSL_STM32F1. 2018-03-06 09:07:43 -08:00
David Garske
b879d138af Fix for using non-const as array sizer (resolves build error with VS). 2018-03-06 09:04:12 -08:00
David Garske
57e9b3c994 Cleanup of the ASN X509 header and XSTRNCPY logic. 2018-03-05 16:11:12 -08:00
David Garske
d75b3f99ac Proper fix for Pluton ECC sign. 2018-03-05 15:29:34 -08:00
Sean Parkinson
317c890961 Fix minimum downgrade when NO_OLD_TLS is defined 2018-03-05 10:12:04 +10:00
Sean Parkinson
dee74e98dd Fix downgrading when WOLFSSL_TLS13 is defined (despite NO_OLD_TLS being defined) 2018-03-05 10:11:51 +10:00
toddouska
e95fa69a9b Merge pull request #1414 from JacobBarthelmeh/Certs
update certificate after dates
2018-03-02 15:17:25 -08:00
Jacob Barthelmeh
f223f8fdfd update certificate after dates 2018-03-02 14:31:08 -07:00
toddouska
a82dc1ad22 Merge pull request #1413 from JacobBarthelmeh/Release
bump version to 3.14.0
2018-03-02 12:58:31 -08:00
toddouska
48cd2806af Merge pull request #1412 from JacobBarthelmeh/PKCS12
clean up memory in error case with PKCS12 create
2018-03-02 12:37:12 -08:00
toddouska
2c12b0d678 Merge pull request #1411 from ejohnstown/dtls-null-fix
DTLS Import/Export with Null Cipher
2018-03-02 11:41:04 -08:00
Jacob Barthelmeh
922d65d97c bump version to 3.14.0 2018-03-02 12:31:41 -07:00
Jacob Barthelmeh
ae23f777d6 clean up memory in error case with PKCS12 create 2018-03-02 11:35:16 -07:00
toddouska
53c0bf6a20 Merge pull request #1408 from JacobBarthelmeh/Release
Testing in preparation for release
2018-03-02 10:12:27 -08:00
toddouska
e698084eac Merge pull request #1406 from dgarske/mmcau_sha256_cast
Fix for cast warning with NXP CAU and SHA256.
2018-03-02 10:10:14 -08:00
JacobBarthelmeh
edfe16ef8c Merge pull request #1410 from dgarske/fix_pluton_ecc_sign
Fix for pluton ECC sign
2018-03-02 11:07:01 -07:00
John Safranek
da76ee0877 allow import of DTLS sessions with null cipher as the null cipher is allowed with dtls when enabled 2018-03-02 09:57:07 -08:00
Jacob Barthelmeh
223903717a add sanity check for short read 2018-03-02 09:38:11 -07:00
Jacob Barthelmeh
f6869dfe09 AES ECB build with ARMv8 instructions enabled 2018-03-02 09:30:43 -07:00
David Garske
f6d770b5bd Fix for pluton ECC sign. 2018-03-02 07:57:22 +01:00
Jacob Barthelmeh
223facc46a sanity check on index before reading from input 2018-03-01 18:03:21 -07:00
Jacob Barthelmeh
ae21c03d69 check on certificate index when getting Name 2018-03-01 18:00:52 -07:00
Jacob Barthelmeh
e80e82a89b sanity check on reading newline character 2018-03-01 18:00:52 -07:00
Jacob Barthelmeh
e7b0fefd7a add sanity check on read index 2018-03-01 18:00:52 -07:00
Jacob Barthelmeh
d46a2b449d fix for smallstack buffer size 2018-03-01 18:00:52 -07:00
Jacob Barthelmeh
df1c73c8e5 check for case that BER to DER API is available 2018-03-01 18:00:52 -07:00
Jacob Barthelmeh
db18e49920 gcc-7 warning about misleading indentation 2018-03-01 18:00:52 -07:00
Jacob Barthelmeh
2a368abd20 fix build for haproxy 2018-03-01 18:00:52 -07:00
JacobBarthelmeh
b25ebf64b9 Merge pull request #1407 from ejohnstown/new-ca-cert
added another CA to the wolfssl website ca file
2018-03-01 17:58:19 -07:00
John Safranek
ecb2463bbe modify the client external test list to skip the test case when aes and aes-gcm are disabled 2018-03-01 15:22:38 -08:00
John Safranek
7b1f6967c8 added another CA to the wolfssl website ca file 2018-03-01 11:57:12 -08:00
connerwolfssl
ba40a71a3c added script so ensure doxygen api documentation matches wolfssl api 2018-03-01 10:27:30 -07:00
David Garske
59c8d3cdf7 Fix for cast warning with NXP CAU and SHA256. 2018-03-01 08:06:29 +01:00
Chris Conlon
1b2e43478d Merge pull request #1405 from ejohnstown/selftest-errors
added error codes for the FIPS pairwise agreement tests in the POST
2018-02-28 14:16:59 -07:00
John Safranek
d035c1dd81 added error code for the FIPS DH agreement KAT test in the POST 2018-02-28 10:54:53 -08:00
toddouska
b6aae0c2d1 Merge pull request #1402 from JacobBarthelmeh/Testing
Improve bounds and sanity checks
2018-02-28 09:45:19 -08:00
David Garske
02970c9a11 Merge pull request #1404 from JacobBarthelmeh/Compatibility-Layer
reduce impact of NO_OLD_SHA256_NAMES macro
2018-02-28 16:12:37 +01:00
Jacob Barthelmeh
25e7dbd17a add comment on sanity check 2018-02-27 23:30:50 -07:00
John Safranek
5cc046eb6d added error codes for the FIPS pairwise agreement tests in the POST 2018-02-27 12:42:25 -08:00
Jacob Barthelmeh
06163f2bbb reduce impact of NO_OLD_SHA256_NAMES macro 2018-02-27 12:21:11 -07:00
toddouska
91141e43c9 Merge pull request #1403 from cconlon/shadow_warnings
Fix shadow warnings on older compilers in tls_bench example
2018-02-27 08:32:56 -08:00
Jacob Barthelmeh
00b6419964 use XSTRLEN and revert adding outLen parameter 2018-02-26 16:52:09 -07:00
Chris Conlon
306600cba6 resolve variable shadow warnings on older compilers in tls_bench example 2018-02-26 16:14:15 -07:00
Jacob Barthelmeh
e6c95a0854 sanity check on input size 2018-02-26 14:41:00 -07:00
Jacob Barthelmeh
5ef4296b3d sanity check on buffer length with ASNToHexString 2018-02-26 14:25:39 -07:00
Jacob Barthelmeh
e4f40fb6c0 add sanity checks and change index increment 2018-02-26 13:55:56 -07:00
toddouska
f7d70e4650 Merge pull request #1401 from kaleb-himes/NETOS-SV
possible shadowed global variable declaration in NETOS
2018-02-26 12:21:13 -08:00
toddouska
442430d39e Merge pull request #1392 from ejohnstown/rsa-decrypt-check
RSA Decrypt Bounds Checking
2018-02-26 12:19:37 -08:00
kaleb-himes
f58619bb9f possible shadowed global variable declaration in NETOS 2018-02-26 11:48:33 -07:00
toddouska
68b8557878 Merge pull request #1400 from JacobBarthelmeh/Testing
possible shadowed global variable declaration
2018-02-26 10:37:17 -08:00
Jacob Barthelmeh
512a0be75e possible shadowed global variable declaration 2018-02-26 09:52:51 -07:00
toddouska
b527f6fb81 Merge pull request #1397 from JacobBarthelmeh/Optimizations
Optimizations
2018-02-26 08:43:22 -08:00
toddouska
73dbc8f6e7 Merge pull request #1395 from JacobBarthelmeh/Certs
Add support for writing multiple OUs, DCs and for writing a unique EKU OID
2018-02-26 08:39:58 -08:00
John Safranek
a49553df6a RSA Decrypt Bounds Checking
1. Added some bounds checking on the ciphertext passed into the RSA decrypt function. NIST SP 800-56B specifies that the ciphertext shouldn't be a number larger than the modulus.
2. Added an API test to check that the direct RSA decrypt function returns an error with a "bad" message.
3. Added an ifndef guard to disable the bounds check. Default is to keep the bounds check.
4. RSA Decrypt bounds check only checked the first time into wc_RsaFunction().
2018-02-23 17:04:05 -08:00
Jacob Barthelmeh
942f39de3b cast return from XSTRLEN 2018-02-23 17:35:44 -07:00
Jacob Barthelmeh
9391c608cc remove error string function when no error strings is defined 2018-02-23 17:31:20 -07:00
Jacob Barthelmeh
f2cbab95b0 change _EncodeName, add test with wc_MakeCertReq, add XMEMSET with Cert init 2018-02-23 17:22:48 -07:00
toddouska
1c2506f94c Merge pull request #1393 from SparkiDev/sp_math_dh
DH public key check working with sp-math
2018-02-23 16:15:15 -08:00
toddouska
9b90cdc919 Merge pull request #1396 from JacobBarthelmeh/Testing
fix for static analysis warning of null dereference
2018-02-23 15:51:29 -08:00
toddouska
22e55e72c1 Merge pull request #1394 from cconlon/selftest
Add CAVP-only Self Test for special build
2018-02-23 15:50:06 -08:00
toddouska
be8cfcf587 Merge pull request #1379 from JacobBarthelmeh/Compatibility-Layer
Compatibility layer
2018-02-23 14:59:22 -08:00
Jacob Barthelmeh
9757effdc1 fix for static analysis warning of null dereference 2018-02-23 14:49:06 -07:00
Jacob Barthelmeh
79f13478df add AES macro guards and reduce code in GetName 2018-02-23 13:45:42 -07:00
Jacob Barthelmeh
453aa16e8d Add support for writing multiple OUs, DCs and for writing a unique EKU OID 2018-02-23 10:46:26 -07:00
Chris Conlon
ad53037852 add CAVP selftest option for special build 2018-02-23 10:14:56 -07:00
Sean Parkinson
30e8429a3f DH public key check working with sp-math 2018-02-23 15:10:54 +10:00
JacobBarthelmeh
89390180a0 Merge branch 'master' into Compatibility-Layer 2018-02-22 15:24:31 -07:00
David Garske
6500c40015 Merge pull request #1386 from JacobBarthelmeh/RSA
add WC_RSA_NO_PADDING macro and WC_RSA_NO_PAD enum
2018-02-22 13:34:20 -08:00
toddouska
fcb82d561e Merge pull request #1388 from cconlon/dh_check_pubkey
add wc_DhCheckPubKey_ex() with checks against large prime q
2018-02-22 13:10:03 -08:00
Chris Conlon
de4893486e add wc_DhCheckPubKey_ex() with checks against large prime q 2018-02-22 11:09:06 -07:00
Jacob Barthelmeh
63802849a1 remove magic number 2018-02-22 09:55:20 -07:00
toddouska
41ae47fa3c Merge pull request #1390 from SparkiDev/tls13_downgrade
Fix downgrading from TLS v1.3 to TLS v1.2
2018-02-22 08:53:48 -08:00
toddouska
dda7dbd7fd Merge pull request #1389 from JacobBarthelmeh/CAAM
fix unused function warning with CAAM and AES
2018-02-22 08:51:34 -08:00
toddouska
4154492d4b Merge pull request #1387 from JacobBarthelmeh/Testing
fix for unused variables
2018-02-22 08:46:32 -08:00
toddouska
06abc12d40 Merge pull request #1384 from SparkiDev/sp_math_dh
Enable DH public key check code with sp-math
2018-02-22 08:41:25 -08:00
toddouska
5c07aadc41 Merge pull request #1383 from SparkiDev/explicit_curve
Explicit curve
2018-02-22 08:32:44 -08:00
toddouska
20e7d2d426 Merge pull request #1380 from SparkiDev/ber_indef
Support indefinite length BER encodings in PKCS #7
2018-02-22 08:31:26 -08:00
Sean Parkinson
6bf5f06397 Fixes from code review 2018-02-22 14:59:19 +10:00
Sean Parkinson
7160384a19 Explicit curve data in public ECC key
Certificate's public key data contains more of the encoding.
PKCS #7 using public key from certificates calls proper decode.
2018-02-22 14:59:19 +10:00
Sean Parkinson
274110a10c Added tests and fixes from testing 2018-02-22 14:58:37 +10:00
Sean Parkinson
da4024b46a Fix downgrading from TLS v1.3 to TLS v1.2
Fix handling of ServerHello in TLS v1.3 to support TLS v1.2 when
downgrading.
Added support in client and server examples for using downgrade method:
wolfSSLv23_client_method_ex() or wolfSSLv23_server_method_ex().
Add tests, using downgrade version, of client or server downgrading from
TLS v1.3 to TLS v1.2.
2018-02-22 12:48:50 +10:00
Sean Parkinson
76b0464a3b Fixes from review 2018-02-22 08:31:19 +10:00
Jacob Barthelmeh
312d1a2aaf fix unused function warning with CAAM and AES 2018-02-21 15:21:07 -07:00
Jacob Barthelmeh
fd7ffc992f fix for unused variables 2018-02-21 11:19:49 -07:00
Jacob Barthelmeh
08e199d78a add support for async with wc_RsaDirect function 2018-02-21 11:09:38 -07:00
Jacob Barthelmeh
7374e2e751 add WC_RSA_NO_PADDING macro and WC_RSA_NO_PAD enum 2018-02-21 10:10:35 -07:00
Sean Parkinson
dc4edd0cd9 SNI fix for nginx 2018-02-21 23:48:43 +10:00
Sean Parkinson
d1f19e8ecc Fix resumption code around when not available
Can't set a ticket if the encryption callback is NULL.
If no useable pre-shared key is found then we won't do PSK.
2018-02-21 17:45:13 +10:00
Sean Parkinson
7d4c693d7e Enable DH public key check code with sp-math 2018-02-21 09:13:00 +10:00
Sean Parkinson
3dfc2d87f3 Fix leak when wc_PKCS7_InitWithCert is called in verify 2018-02-21 08:29:50 +10:00
Sean Parkinson
6dad94c0fa Change wc_BerToDer signature to have length as param
Clean up code to make readable
2018-02-21 08:29:50 +10:00
Sean Parkinson
d09f26a69f Support indefinite length BER encodings in PKCS #7 2018-02-21 08:29:50 +10:00
toddouska
7a2aa6bc13 Merge pull request #1382 from dgarske/cleanup_strncpy
Fixes for ensuring null termination on all strncpy calls
2018-02-20 08:18:08 -08:00
toddouska
d34309b141 Merge pull request #1381 from JacobBarthelmeh/Testing
macro guard for redefinition warning
2018-02-20 08:14:30 -08:00
toddouska
3586ae04dc Merge pull request #1373 from JacobBarthelmeh/Optimizations
Some memory optimizations
2018-02-20 08:13:02 -08:00
Jacob Barthelmeh
a275022dbe account for pwdbased being enabled with x509small 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
33b699f81a macro guards on PEM strings 2018-02-19 17:32:39 -07:00
David Garske
e4df21df94 More cleanup for const strings. 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
772651c17a update tests and benchmark for HAVE_AES_DECRYPT 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
4614bd4e56 scan-build warning and AES key size builds for ARMv8 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
94b7ab92f3 fix for unused variable 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
801ce67fc9 surround BIO function with macro guard 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
2a15b3912b revert pkcs7 attrib structure for scep and add more macro guards for AES key size 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
8006b68cac more macro guards 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
c9525d9c1d add opensslextra=x509small build option 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
ae2306ebcf more structure packing and macro guards 2018-02-19 17:32:39 -07:00
Jacob Barthelmeh
e187ce42da more macro guards for asn 2018-02-19 17:28:53 -07:00
Jacob Barthelmeh
16a4aef18e clean up of macro guards on OIDs 2018-02-19 17:28:53 -07:00
Jacob Barthelmeh
02753e53a5 add some of AES key size macros to benchmark.c and test.c 2018-02-19 17:28:53 -07:00
Jacob Barthelmeh
7143b09786 pack PKCS7 structure 2018-02-19 17:28:53 -07:00
Jacob Barthelmeh
c2f660c0fc first round of adding AES key size macros 2018-02-19 17:23:49 -07:00
toddouska
08696449f6 Merge pull request #1349 from JacobBarthelmeh/PKCS7
pkcs7 attribute parsing
2018-02-19 15:36:55 -08:00
David Garske
44079e4bb8 Fixes for ensuring null termination on all strncpy calls. Cleanup of the null termination character '\0'; for char types. 2018-02-19 13:33:16 -08:00
Jacob Barthelmeh
b6f96d68be macro guard for redefinition warning 2018-02-19 14:11:41 -07:00
Jacob Barthelmeh
a2d96bad49 update SHA names with mcapi build 2018-02-19 09:29:21 -07:00
Jacob Barthelmeh
165059226e add HAVE_AES_ECB to enable all build 2018-02-16 17:06:26 -07:00
Jacob Barthelmeh
f569645212 add wolfSSL_SHA256 function 2018-02-16 16:57:45 -07:00
Jacob Barthelmeh
a651b08afa add wolfSSL_AES_ecb_encrypt function 2018-02-16 15:08:31 -07:00
JacobBarthelmeh
223edab6d9 Merge pull request #1378 from dgarske/evp_gcc7_async_test
Fixes a few build errors with EVP/wolfCrypt test and async API test hang
2018-02-16 13:11:36 -07:00
toddouska
62c2145e74 Merge pull request #1376 from JacobBarthelmeh/Compatibility-Layer
add wolfSSL_PEM_read_bio_RSAPrivateKey function
2018-02-16 10:20:07 -08:00
David Garske
ae5dac8994 Fixes for GCC 7 build errors with evp.c and switch fall through. General EVP code formatting cleanup. Fix for wolfCrypt test un-used var when HAVE_AES_CBC not defined. Fix for async in test_wolfSSL_SESSION with err not being initialized. 2018-02-16 09:32:40 -08:00
Jacob Barthelmeh
488a795747 add wolfSSL_PEM_read_bio_RSAPrivateKey function 2018-02-15 22:34:50 -07:00
toddouska
74ebf510a3 Merge pull request #1374 from dgarske/pub_ecc_mul2add
Add option for `ecc_mul2add` to be made as exposed API
2018-02-15 14:21:42 -08:00
toddouska
cbd7612324 Merge pull request #1375 from dgarske/ifm_feedback
Add support for `WOLFSSL_NO_MALLOC` with memory callbacks
2018-02-15 14:19:21 -08:00
John Safranek
d8eff923f1 Merge pull request #1372 from JacobBarthelmeh/UnitTests
clear error node queue after test case and initialize logging buffer
2018-02-15 08:40:45 -08:00
David Garske
8c8ed06202 Added the WOLFSSL_NO_MALLOC option for the realloc callback as well. 2018-02-15 07:15:30 -08:00
David Garske
32547e280a Added ecc_mul2add to ecc.h header and is exposed as an API if WOLFSSL_PUBLIC_ECC_ADD_DBL is defined. 2018-02-15 07:04:29 -08:00
David Garske
8285648e46 Fix to support using memory callbacks with no malloc / free using WOLFSSL_NO_MALLOC. Fix to only include <errno.h> if LWIP_PROVIDE_ERRNO is not defined. 2018-02-15 06:54:14 -08:00
toddouska
ad1fc26d4e Merge pull request #1370 from JacobBarthelmeh/Testing
check on verify depth for certificates with opensslextra
2018-02-14 16:29:25 -08:00
Jacob Barthelmeh
1b98ccbac8 add else condition for logging string with OPENSSL_EXTRA 2018-02-14 17:21:42 -07:00
David Garske
9ff97997a6 Merge pull request #1360 from SparkiDev/sp_math
Minimal implementation of MP when using SP.
2018-02-14 15:49:23 -08:00
David Garske
a7a8ce8721 Merge pull request #1371 from ejohnstown/asn-fix
Update wc_GetKeyOID()
2018-02-14 15:10:01 -08:00
Sean Parkinson
641af487ea Changed missed MP_API change 2018-02-15 08:23:49 +10:00
Jacob Barthelmeh
c1b1fbaf7e clear error node queue after test case 2018-02-14 13:55:43 -07:00
John Safranek
0853fcb202 Update wc_GetKeyOID()
1. Check that the algoID is not NULL.
2. Initialize algoID to 0.
3. Moved the key variables around.
2018-02-14 12:43:02 -08:00
toddouska
9a4fe0fe4e Merge pull request #1353 from dgarske/asn_strict
Added RFC 5280 "must" checks
2018-02-14 10:01:58 -08:00
Jacob Barthelmeh
2e15842ef2 revert verify depth check and increase array size to account for possible cert index 2018-02-14 10:01:22 -07:00
Sean Parkinson
09f1247007 Support WOLFSSL_PUBLIC_MP define in SP math 2018-02-14 15:30:33 +10:00
Sean Parkinson
b18fdea2ce Fixes from code review 2018-02-14 11:09:20 +10:00
toddouska
4b5524b39a Merge pull request #1368 from JacobBarthelmeh/PKCS12
add check for having ECC enabled when testing with ECC certificate
2018-02-13 11:42:11 -08:00
toddouska
8b5864c475 Merge pull request #1366 from ejohnstown/hmac-sha3
HMAC-SHA-3
2018-02-13 11:41:34 -08:00
toddouska
4d04f0951c Merge pull request #1363 from SparkiDev/tls13_draft23
Support TLS v1.3 Draft 23
2018-02-13 11:39:53 -08:00
JacobBarthelmeh
9bb29c46e3 Merge pull request #1347 from kaleb-himes/SGX-FIPS-WINDOWS
windows configuration changes
2018-02-13 10:38:25 -07:00
Jacob Barthelmeh
6f1e5383da check on verify depth for certificates with opensslextra 2018-02-13 10:29:23 -07:00
John Safranek
e48eb1ded8 added hmac-sha-3 2018-02-12 13:24:06 -08:00
Jacob Barthelmeh
c09e55c749 add check for having ECC enabled when testing with ECC certificate 2018-02-12 09:59:35 -07:00
toddouska
95ed1a88ed Merge pull request #1364 from SparkiDev/aesni_authtagsz
AES-GCM AES-NI code now handles different tag lengths
2018-02-09 13:19:14 -08:00
toddouska
e254f25baf Merge pull request #1359 from SparkiDev/nginx_fixes
Fixes to get Nginx working again.
2018-02-09 13:17:38 -08:00
toddouska
44be47a83b Merge pull request #1358 from dgarske/fix_aesgcm_emb
Fix for missing `ret` in some `wc_AesGcmEncrypt` functions
2018-02-09 13:16:21 -08:00
toddouska
a27d2448e2 Merge pull request #1344 from dgarske/portability_cleanups
Portability cleanups and `tls_bench` fixes
2018-02-09 13:15:47 -08:00
toddouska
d827e93af9 Merge pull request #1329 from JacobBarthelmeh/PKCS12
PKCS12 reverse order that certificates are compared for keypair
2018-02-09 13:15:07 -08:00
Kaleb Himes
87179837e7 Merge pull request #1365 from cconlon/p7karifix
detect and set keyAgreeOID from CMS EnvelopedData if user has not set
2018-02-09 13:27:40 -07:00
Chris Conlon
fa676d96cf detect and set keyAgreeOID from CMS EnvelopedData if user has not set 2018-02-09 09:37:51 -07:00
Sean Parkinson
35c993e55d AES-GCM AES-NI code now handles different tag lengths
Encrypt and decrypt code modified.
AES-NI, AVX1 and AVX2 code modified.
Test of 15 byte tag added.
2018-02-09 17:21:06 +10:00
Sean Parkinson
0da8694ff3 Fix Hello Retry Request parsing of new KeyShare choice 2018-02-09 11:12:04 +10:00
Sean Parkinson
9a0c822582 Support TLS v1.3 Draft 23
Change KeyShare number.
Support SignatureAlgorithmsCert extension - nothing done with
information as only one chain supported on server.
Compiling for Draft 22 supported: --enable-tls-draft22
Compiling for Draft 18 still supported.
2018-02-09 10:42:15 +10:00
David Garske
e8a5af2651 Merge pull request #1362 from ejohnstown/aesgcmtest
Add AES-GCM Test Case
2018-02-08 16:41:06 -08:00
John Safranek
6907241180 Add AES-GCM Test Case
Added a new AES-GCM test case where the provided IV is of length 1 byte.
2018-02-08 11:37:21 -08:00
connerwolfssl
fab99f9f44 Merge https://github.com/wolfssl/wolfssl into doxygen_project 2018-02-08 10:13:43 -07:00
connerwolfssl
17e88b47f6 Migrated documentation directory to doc. README updated. Error fixes. Moved make options to doc/include.am 2018-02-08 10:05:30 -07:00
Sean Parkinson
a3a4f2d59c Minimal implementation of MP when using SP.
--enable-sp-math to include minimal implementation of MP (only with
--enable-sp.)
Add futher functionality for ECC (conditionally compiled):
- check key
- is point on curve
- API to add and double projective points
- API to map from project to affine
- Uncompress point (including sqrt)
Some configuration options will not work with SP math - configure.ac
detects this and errors out.
Change test code to better support SP sizes only.
2018-02-08 15:50:17 +10:00
Sean Parkinson
297fb1a447 Fixes to get Nginx working again.
Only use weOwnDH as Nginx can change from client to server.
Allow TLS v1.3 with client method for Nginx.
2018-02-08 11:14:31 +10:00
Jacob Barthelmeh
62b8c0c3fd add test case for order of certificates with PKCS12 parse 2018-02-07 16:52:39 -07:00
David Garske
fbdcd3c67f Fix for missing ret in some wc_AesGcmEncrypt functions due to refactor in commit 0765aa0. 2018-02-07 15:40:28 -08:00
David Garske
c2a0de93b8 Fix to resolve wolfCrypt test for `cert_test nameConstraints test. Fixed ASN check to properly determine if certificate is CA type. 2018-02-07 12:48:33 -08:00
Kaleb Himes
266b6fe7a7 Merge pull request #1356 from JacobBarthelmeh/Compatibility-Layer
Fix for Windows FIPS build
2018-02-07 13:18:36 -07:00
David Garske
4a6bb20ba6 Refactor the VERIFY_AND_SET_OID macro to simplify so it works on older C compilers like Visual Studio. 2018-02-07 12:17:03 -08:00
David Garske
d78e45dbb6 Added check to enforce RFC 5280 Sec 4.2: "A certificate MUST NOT include more than one instance of a particular extension". Refactor of the DecodedCert struct to combine bit type options into bit-fields. Fix for wolfCrypt test for error codes to allow -161. 2018-02-07 11:15:22 -08:00
David Garske
d9002bb072 Fix to enforce RFC 5280 Sec 4.2.1.6: "The name MUST NOT be a relative URI". Verifies the URI contains "://". Can be disabled using WOLFSSL_NO_ASN_STRICT. 2018-02-07 11:15:22 -08:00
David Garske
f4ad808d12 Added check to enforce RFC 5280 Sec 4.2.1.10 rule: "The name constraints extension, which MUST be used only in a CA certificate". Added new define WOLFSSL_NO_ASN_STRICT to restore old behavior for compatability. Fix wc_port time HAVE_RTP_SYS (noticed it was missed during ASN time move to wc_port). 2018-02-07 11:15:22 -08:00
David Garske
3e05118995 * Added the tls_bench example to the build output when threading is supported.
* Fixed some `tls_bench` build issues with various configure options.
* Moved the `WOLFSSL_PACK` and `WC_NORETURN` macros into types.h.
* Added support for `__builtin_bswap32` and `__builtin_bswap64`. Since the performance of the builtins varries by platform its off by default, but can be enabled by customer using `WOLF_ALLOW_BUILTIN`. Quick check on x86 showed the 32-bit swap performance matched, but 64-bit swap was slower.
2018-02-07 11:13:13 -08:00
David Garske
e1c246f918 Merge pull request #1355 from JacobBarthelmeh/Testing
Fix for build with having opensslextra and IGNORE_NAME_CONSTRAINTS
2018-02-07 11:12:55 -08:00
toddouska
69db17fcda Merge pull request #1352 from dgarske/freertos_static
Fix to allow `FREERTOS` and `WOLFSSL_STATIC_MEMORY`
2018-02-07 10:06:51 -08:00
toddouska
012fb31f00 Merge pull request #1351 from dgarske/fix_ipv6
Fix for building with IPV6
2018-02-07 10:04:41 -08:00
toddouska
7769ba83ad Merge pull request #1346 from dgarske/stm32_hash_ctx
STM32 Hashing Improvements
2018-02-07 10:03:50 -08:00
Jacob Barthelmeh
47aa4bbe2f handle disable md5 case 2018-02-07 10:44:16 -07:00
Jacob Barthelmeh
61da8ec1dc Fix for Windows FIPS build 2018-02-07 10:13:28 -07:00
Jacob Barthelmeh
a1a1ca9991 Fix for build with having opensslextra and IGNORE_NAME_CONSTRAINTS 2018-02-07 09:54:24 -07:00
David Garske
9afd26e853 Fixes for better supporting FREERTOS with and without static memory. Added fallback case to use pvPortMalloc/vPortFree when heap ptr not available. 2018-02-06 09:28:27 -08:00
David Garske
b3b3a28616 Fix logic typo for IPV6 any addr. 2018-02-06 09:18:42 -08:00
David Garske
172989c3c4 Merge pull request #1343 from ghoso/dev201801
Fix decryption error when EVP_CipherInit is called mulitple times.
2018-02-05 16:51:08 -08:00
Sean Parkinson
82850422fc Merge pull request #1338 from JacobBarthelmeh/Testing
set have session id flag
2018-02-05 14:58:55 -08:00
David Garske
0be1c10fcd Moved the STM32 functions to their own .c file. Added GPL header. Finished testing on STM32 CubeMX with F4 and F7 and StdPeriLib with F4. 2018-02-05 12:57:06 -08:00
Kaleb Himes
4803b3316e Update settings.h 2018-02-05 13:05:24 -07:00
David Garske
81b64742f3 Fix to allow FREERTOS and WOLFSSL_STATIC_MEMORY. 2018-02-05 11:55:35 -08:00
David Garske
1ca56f97a4 Fix warning with pointer compare to zero for IPV6 peer == INADDR_ANY in test.h. Fixes issue #1350. 2018-02-05 11:03:19 -08:00
Jacob Barthelmeh
a196fac0c2 itterate through certificates with PKCS7 2018-02-05 10:52:54 -07:00
toddouska
0765aa0f20 Merge pull request #1342 from SparkiDev/aes_gcm_sb2
Improve performance of AES-GCM for AVX1 and AVX2
2018-02-02 10:56:14 -08:00
toddouska
7ad0ea808c Merge pull request #1341 from JacobBarthelmeh/master
fix build for OLD_HELLO_ALLOWED macro
2018-02-02 10:53:16 -08:00
toddouska
02ef52c3cd Merge pull request #1340 from dgarske/ecc_pub_import_wcurve
Adds curve information to public key import for `wc_EccPublicKeyDecode`
2018-02-02 10:52:06 -08:00
toddouska
d63373066b Merge pull request #1331 from JacobBarthelmeh/Compatibility-Layer
add comments and better error checking for PKCS8 strip
2018-02-02 10:50:29 -08:00
toddouska
c66ebb6748 Merge pull request #1317 from SparkiDev/chacha20_sb_avx2
Improve performance of chacha20-poly1305 on AVX and AVX2.
2018-02-02 10:46:39 -08:00
Jacob Barthelmeh
19ce41c3cc pkcs7 attribute parsing 2018-02-02 09:01:32 -07:00
connerwolfssl
f5c33a9362 added force flag to not through warning if no file present to remove 2018-02-01 10:23:10 -07:00
connerwolfssl
841e75afcf Merge branch 'master' of https://github.com/wolfssl/wolfssl 2018-02-01 09:47:13 -07:00
connerwolfssl
a6bab49f8a fixed bn.h header 2018-02-01 09:43:11 -07:00
kaleb-himes
15486ae379 windows configuration changes 2018-01-31 15:09:16 -07:00
David Garske
a4a5f4f27a STM32 refactor to move hashing code into wolfssl/wolfcrypt/port/stm32.h. Supports CubeMX HAL or StdPeriLib with MD5, SHA1, SHA224 and SHA256. Detects if hardware supports SHA2. Adds hashing context save/restore and hashing clock/power optimizations. Fix for building *.c in wolfcrypt/src/port for caam_driver.c. Fix for warning with wolfSSL_CryptHwMutexUnLock when no threading defined and return code not checked. 2018-01-31 11:25:20 -08:00
JacobBarthelmeh
640015ed5f Merge pull request #1345 from kaleb-himes/SGX-FIPS-UPDATES
Updates to settings necessary for SGX FIPS
2018-01-31 11:09:19 -07:00
JacobBarthelmeh
5b083497da Merge pull request #1300 from kaleb-himes/SGX-FIPS-LINUX
Add build scripts for default SGX build and improve cleanup
2018-01-31 09:34:06 -07:00
Go Hosohara
0101440cc8 Fix decryption error when EVP_CipherInit is called mulitple times. 2018-01-31 17:08:06 +09:00
kaleb-himes
1af85cf9c4 Update include.am 2018-01-30 15:39:20 -07:00
kaleb-himes
7facff2fd2 Feedback update 2018-01-30 15:36:18 -07:00
kaleb-himes
229d98e1f8 Updates to settings necessary for SGX FIPS 2018-01-30 15:30:52 -07:00
kaleb-himes
03fe54dcc4 Update following review 2018-01-30 14:30:44 -07:00
Sean Parkinson
3d3b9f69a6 Test larger variable data size if available 2018-01-30 12:21:25 +10:00
Sean Parkinson
e82e3d3d6e Improve performance of AES-GCM for AVX1 and AVX2 2018-01-30 12:00:13 +10:00
David Garske
9d7374348b Fix the ecc_decode_test to use a real OID (instead of 1), so the tests work properly. 2018-01-29 15:58:04 -08:00
Jacob Barthelmeh
580a55ce49 fix build for OLD_HELLO_ALLOWED macro 2018-01-29 14:55:32 -07:00
David Garske
90a3daa887 Adds curve information to public key import for wc_EccPublicKeyDecode. Cleanup to remove the ECC_CHECK_PUBLIC_KEY_OID define. The call to wc_ecc_get_oid does the same check as CheckCurve. 2018-01-29 12:09:12 -08:00
Jacob Barthelmeh
ca5b1dbbcb set have session id flag 2018-01-26 14:18:36 -07:00
Chris Conlon
d179e442b4 Merge pull request #1337 from dgarske/pkcs7_pad
Expose the PKCS 7 pad functionality `wc_PKCS7_PadData`
2018-01-26 10:01:07 -08:00
David Garske
058c2a7a25 Made public the wc_PKCS7_GetPadSize API. Cleanup to use GetPadSize for the wc_PKCS7_PadData. 2018-01-25 08:14:56 -08:00
Sean Parkinson
4d75f337bb Fix AVX2 final func to reset state 2018-01-24 16:36:44 -08:00
dgarske
776e222143 Merge pull request #1336 from SparkiDev/sha256_freescale
Transform_Sha256 no longer passed a buffer - fix for FREESCALE
2018-01-23 14:51:30 -08:00
David Garske
138bc3e6cc Enhancement to expose the PKCS 7 pad functionality (wc_PKCS7_PadData). 2018-01-23 13:21:56 -08:00
Sean Parkinson
11ea2689d8 Transform_Sha256 no longer passed a buffer - fix for FREESCALE 2018-01-23 12:45:17 -08:00
JacobBarthelmeh
e476cb2958 Merge pull request #1334 from dgarske/fix_asn_leak
Fix for possible leak in error case for `wc_RsaKeyToDer`
2018-01-22 23:20:39 -07:00
David Garske
4e10173eed Fix for possible leak in error case for wc_RsaKeyToDer. 2018-01-22 16:17:08 -08:00
dgarske
79f4b963cd Merge pull request #1333 from SparkiDev/tls13_no_server
Make TLSX_SetResponse available in client and server
2018-01-22 07:43:37 -08:00
Sean Parkinson
6e6085501d Make TLSX_SetResponse available in client and server 2018-01-21 18:12:34 -08:00
dgarske
72b8b71082 Merge pull request #1332 from kojo1/part5
fix shadow global
2018-01-21 16:48:12 -08:00
Takashi Kojo
162326dfcb fix shadow global 2018-01-22 01:19:45 +09:00
JacobBarthelmeh
4d1ebc0827 Merge pull request #1330 from wolfSSL/revert-1315-aes_gcm_sb
Revert "Improve AES-GCM code for Intel AVX1 and AVX2"
2018-01-19 17:49:19 -07:00
Jacob Barthelmeh
1428934ad5 add comments and better error checking for PKCS8 strip 2018-01-19 16:53:12 -07:00
toddouska
f06abdb3ae Revert "Improve AES-GCM code for Intel AVX1 and AVX2" 2018-01-19 15:12:08 -08:00
toddouska
085d3dae14 Merge pull request #1315 from SparkiDev/aes_gcm_sb
Improve AES-GCM code for Intel AVX1 and AVX2
2018-01-19 15:09:34 -08:00
toddouska
9045a2562a Merge pull request #1316 from JacobBarthelmeh/Testing
Fix for AES-CFB with --enable-armasm and fix for windows fips tests
2018-01-19 15:02:53 -08:00
toddouska
8d27a2720c Merge pull request #1325 from SparkiDev/bench_rsa
Added option to benchmark RSA sign/verify instead of enc/dec
2018-01-19 14:52:40 -08:00
toddouska
0059266b21 Merge pull request #1328 from dgarske/fix_async_rsapss
Fixes for wolfCrypt test RSA PSS with async enabled
2018-01-19 14:52:09 -08:00
toddouska
d5c1cf4fc7 Merge pull request #1327 from dgarske/ignore_file_warn
Added `WOLFSSL_IGNORE_FILE_WARN` option
2018-01-19 14:51:31 -08:00
toddouska
2efe7f6d96 Merge pull request #1319 from JacobBarthelmeh/Compatibility-Layer-Part5
Compatibility layer part4
2018-01-19 14:49:12 -08:00
Jacob Barthelmeh
213a2d0a7d reverse order that certificates are compared with private key when parsing PKCS12 2018-01-19 15:41:52 -07:00
Jacob Barthelmeh
be98e3e7f3 build condition for SendAlerts and fix free of x509 store 2018-01-19 09:48:02 -07:00
Jacob Barthelmeh
025ba1445e add WOLFSSL_VERIFY_CB_ALL_CERTS macro 2018-01-18 18:26:32 -07:00
David Garske
8a0bbb0faf Fixes for wolfCrypt test RSA PSS with async enabled. 2018-01-18 15:35:21 -08:00
dgarske
5d52466d6f Merge pull request #1326 from ejohnstown/rsa-test-fix
RSA Key Generation Test Fix
2018-01-18 15:01:55 -08:00
dgarske
f61e56e5b6 Merge pull request #1312 from kojo1/mdk5
CMSIS pack 3.13.0
2018-01-18 14:48:37 -08:00
John Safranek
9654f19075 RSA Key Gen Test Fix
A recent change to the RSA key generation process is capping the number of attempts of finding a probable prime to a multiple of the prime's size, in FIPS builds. This means it might fail once in a while. (It could also fail for a couple other reasons but this is the most likely.) The API is changed to retry key generation until it succeeds. Non-FIPS builds keep trying until they find a prime.
2018-01-18 12:20:25 -08:00
Jacob Barthelmeh
584520c9b4 increase static memory bucket size with session certs 2018-01-18 10:59:20 -07:00
Jacob Barthelmeh
377f5c304c update for async build and include for getenv 2018-01-18 09:05:21 -07:00
Sean Parkinson
f2079ca792 Added option to benchmark RSA sign/verify instead of enc/dec 2018-01-18 11:35:19 +10:00
Jacob Barthelmeh
2a308bdda9 add some comments and return domain name 2018-01-17 17:39:17 -07:00
Jacob Barthelmeh
a0f5126076 build option fixes 2018-01-17 16:40:06 -07:00
dgarske
db970b685a Merge pull request #1324 from kaleb-himes/INLINE-STATUS
Add status of inline configure option to feature output
2018-01-17 15:36:50 -08:00
Takashi Kojo
98f85c9235 wolfssl_tcp_select 2018-01-18 07:25:09 +09:00
Takashi Kojo
f79a3e9ddb Reverse ByteReversWOrd64 2018-01-18 07:10:55 +09:00
Takashi Kojo
cfe88b37f6 SOCK_LISTEN_MAX_QUEUE, listen arg 2018-01-18 07:04:48 +09:00
Takashi Kojo
1f0171d79b hard tab 2018-01-18 07:03:19 +09:00
Takashi Kojo
c7ce6ce772 fix main.c under projects 2018-01-18 07:00:51 +09:00
David Garske
1276d21d8e Added WOLFSSL_IGNORE_FILE_WARN option to ignore warning for .c files that do not need to be included. 2018-01-17 13:27:59 -08:00
kaleb-himes
ed95fca448 Add status of inline configure option to feature output 2018-01-17 14:20:49 -07:00
John Safranek
0b8c069119 Merge pull request #1323 from JacobBarthelmeh/RSA-min
adjustment to RSA key size check
2018-01-17 13:12:47 -08:00
toddouska
54acc2df51 Merge pull request #1318 from SparkiDev/tls13_draft22
Changes for TLS v1.3 Draft 22
2018-01-17 11:22:50 -08:00
Jacob Barthelmeh
19288ea127 casting values, update names, g++ build 2018-01-17 12:18:00 -07:00
Jacob Barthelmeh
fa3ab4fd61 adjustment to RSA key size check 2018-01-17 11:34:27 -07:00
Jacob Barthelmeh
676e2f1f63 add comments and remove 2999 bit rsa key test for now 2018-01-17 11:19:21 -07:00
dgarske
57cbd5e53c Merge pull request #1322 from SparkiDev/poly1305_clang_fix
Fix clang using wrong registers in poly1305 AVX2 code
2018-01-17 08:30:33 -08:00
dgarske
2dc60b9e01 Merge pull request #1321 from SparkiDev/fe_init_small_fix
Fix fe_init implementation to appear for small Ed25519
2018-01-17 08:30:13 -08:00
Jacob Barthelmeh
bf57da1914 static analysis fixes, free buffer return in test case, fips build 2018-01-17 09:28:25 -07:00
Sean Parkinson
4915a784ec Fix clang using wrong registers in poly1305 AVX2 code 2018-01-17 15:02:58 +10:00
Sean Parkinson
c09d972012 Fix fe_init implementation to appear for small Ed25519 2018-01-17 11:34:22 +10:00
Sean Parkinson
5f14de33e7 Changes for TLS v1.3 Draft 22
Middlebox compatibility available too.
2018-01-17 09:38:11 +10:00
Jacob Barthelmeh
60b329f7e5 fix example client error print out and ASN1_TIME_print after rebase 2018-01-16 15:39:58 -07:00
Takashi Kojo
b3ab0a9c11 simplify visibility control 2018-01-16 14:59:50 -07:00
Takashi Kojo
dce628ae8e Eliminate dup _InitHmac 2018-01-16 14:59:48 -07:00
Takashi Kojo
56efe657fc save iPad, oPad. test long key 2018-01-16 14:57:53 -07:00
Takashi Kojo
30e6ec5396 HMAC_CTX_copy, copy save_len, save_key 2018-01-16 14:54:44 -07:00
Takashi Kojo
e93d7d3c93 fix for MD5 case, "recover hmac", in HMAC_init 2018-01-16 14:54:44 -07:00
Takashi Kojo
937c759998 HMAC_Init, keylen arg check 2018-01-16 14:54:44 -07:00
Takashi Kojo
f38a321e64 HMAC_Init_ex with NULL key to recover Hmac initial state 2018-01-16 14:54:43 -07:00
Takashi Kojo
8f1fc8ad2e Error return value of checkPad 2018-01-16 14:51:44 -07:00
Takashi Kojo
ed0d4d3b06 Add ECB in wolfSSL_EVP_get_cipherbyname 2018-01-16 14:51:44 -07:00
Takashi Kojo
13325606b7 Peer cert ASN PARSE ERROR 2018-01-16 14:51:42 -07:00
Takashi Kojo
6f44969e23 Signature check compatibility 2018-01-16 14:48:56 -07:00
Takashi Kojo
2fdf98ebd4 eliminate redandant pad block, DES3 2018-01-16 14:48:56 -07:00
Go Hosohara
e8d628f61b wrap up no certificate alert related code in OPENSSL_EXTRA directive. 2018-01-16 14:48:55 -07:00
Takashi Kojo
f690a980bf Avoid duplicated callback when error is overriden 2018-01-16 14:48:53 -07:00
Jacob Barthelmeh
92c9ff5f48 reset cipher suites after call to wolfSSL_set_options 2018-01-16 14:45:58 -07:00
Takashi Kojo
0a3d6534c7 add SanityCheckMsgReceived in ProcessOldClientHello 2018-01-16 14:42:17 -07:00
Go Hosohara
d6e22346e3 Regarding with commit #4899aad884880bb8ef1859ea6b57eded013cd2b4, send no certificate alert only if SSLv3, otherwise proceed with size 0 certificate. 2018-01-16 14:42:17 -07:00
Takashi Kojo
a918dfdb33 discard session chain in SSL_clear 2018-01-16 14:42:17 -07:00
Takashi Kojo
2a4766198a add SendAlert(ssl, alert_fatal, bad_certificate); 2018-01-16 14:42:15 -07:00
Takashi Kojo
401db67bcd WOLFSSL_MIN_DOWNGRADE, default: TLSv1_MINOR 2018-01-16 14:41:03 -07:00
Takashi Kojo
5a40d8b3c2 rollingback certErr_ovrdn, VerifyCallback 2018-01-16 14:41:01 -07:00
Takashi Kojo
dbad348537 DES3_cbc_encrypt with fragmentary size 2018-01-16 14:39:42 -07:00
Takashi Kojo
a19813eab2 CertificateVerify, getting past when the error is overridden by VerifyCallback 2018-01-16 14:39:40 -07:00
Takashi Kojo
2f1f86d5f2 VerifyCallback with any reason 2018-01-16 14:35:10 -07:00
Go Hosohara
8336e02931 send no certificate alert on SSLv3 if certificate size is 0. 2018-01-16 14:32:52 -07:00
Jacob Barthelmeh
b40218f7f4 certificate verify callback override 2018-01-16 14:32:50 -07:00
Go Hosohara
3d0c850e10 Change to send certificate message on SSLv3 even though certificate size is 0. 2018-01-16 14:27:50 -07:00
Jacob Barthelmeh
21a14403c6 wolfSSL_set_options behavior with downgrade version 2018-01-16 14:27:50 -07:00
Takashi Kojo
973bac429c eliminate dupricate callbacks on -188 error 2018-01-16 14:27:48 -07:00
Takashi Kojo
2cee800127 verifyCallback and SendAlert on invalid certificate, 2018-01-16 14:24:00 -07:00
Takashi Kojo
4ab0934000 Merge branch 'Compatibility-Layer-Part5' of https://github.com/JacobBarthelmeh/wolfssl into Compatibility-Layer-Part5 2018-01-16 14:16:14 -07:00
Takashi Kojo
c80cadb25f DES_set_odd_parity to MLB 2018-01-16 14:12:43 -07:00
Go Hosohara
a3ad8c5bae Implement DomainComponent in wolfSSL_X509_NAME_get_index_by_NID() and wolfSSL_X509_NAME_get_entry(). 2018-01-16 13:50:01 -07:00
Go Hosohara
aa99031346 restore WOLFSSL_NEITHER_END value. 2018-01-16 13:50:01 -07:00
Go Hosohara
4b13a0f301 Fix code review suggestion. 2018-01-16 13:50:01 -07:00
Go Hosohara
0edd97293d Add read or write phrase at each transaction message in wolfSSL_state_string_long(). 2018-01-16 13:50:01 -07:00
Go Hosohara
54a006f47d correct wolfSSL_get_state() by code review suggestion. 2018-01-16 13:50:00 -07:00
Go Hosohara
eb9c225304 Change to 2 dimension array as messages store in wolfSSL_state_string_long(). 2018-01-16 13:50:00 -07:00
Go Hosohara
fd05de8346 Fix some memory issues in wolfSSL_state_string_long(). 2018-01-16 13:50:00 -07:00
Go Hosohara
a32ae3e516 Change to kick info callback when state transition occurs. 2018-01-16 13:50:00 -07:00
Takashi Kojo
7210e881a8 eliminate empty if body 2018-01-16 13:50:00 -07:00
Takashi Kojo
b6abf4596e SetDhInternal in DH_compute_key 2018-01-16 13:49:59 -07:00
Jacob Barthelmeh
a643ae1907 return code of sk num, X509 store peer chain, and get text by NID fix 2018-01-16 13:49:58 -07:00
Jacob Barthelmeh
19244fc0c9 fix memory management 2018-01-16 13:44:53 -07:00
Jacob Barthelmeh
01cd58cc43 fix wolfSSL_DH_1536_prime 2018-01-16 13:44:53 -07:00
Jacob Barthelmeh
cc5e9e3dae adjustment for verify callback and certificate error depth 2018-01-16 13:44:52 -07:00
Takashi Kojo
0b4e499e1d MD4 in md_tbl 2018-01-16 13:37:27 -07:00
Takashi Kojo
47bca28b1d Fix compatibility, inl == 0, EVP_CipherUpdate 2018-01-16 13:37:26 -07:00
Takashi Kojo
43ae3c9f59 ASN_PARSE_E in GetASNInt 2018-01-16 13:36:35 -07:00
Takashi Kojo
3af8975a66 shadow global value error with cross-compiler 2018-01-16 13:34:35 -07:00
Jacob Barthelmeh
a6e6cc781d fix comment on function 2018-01-16 13:25:46 -07:00
Jacob Barthelmeh
934d149931 macro guards for checking if sha features used 2018-01-16 13:25:44 -07:00
Jacob Barthelmeh
a18c1abc13 add comments for SHA1 function 2018-01-16 10:39:22 -07:00
Jacob Barthelmeh
479b7e5ca8 SHA1 implementation and test 2018-01-16 10:39:22 -07:00
Jacob Barthelmeh
7cc7de9d4a add set msg callback tests 2018-01-16 10:39:21 -07:00
Jacob Barthelmeh
990e1f3ddf implement wolfSSL set msg callback function 2018-01-16 10:39:20 -07:00
Jacob Barthelmeh
01e6feb060 add hmac ctx copy testing to unit tests 2018-01-16 09:27:39 -07:00
Jacob Barthelmeh
47a2783cf1 size of buffer with DES ecb encrypt 2018-01-16 09:27:37 -07:00
Jacob Barthelmeh
982e9ab8ad implement hmac ctx copy function 2018-01-16 09:25:51 -07:00
Jacob Barthelmeh
b9001d3c4d implement X509 store ctx set error function 2018-01-16 09:12:02 -07:00
Jacob Barthelmeh
86112a574f implement X509 store ctx get ssl idx 2018-01-16 02:29:51 -07:00
Jacob Barthelmeh
e1d71d7ab8 add macro guard to RSA key generation 2018-01-16 02:17:43 -07:00
Jacob Barthelmeh
c8381afdc1 implement asn1 object to nid function 2018-01-16 02:17:43 -07:00
Jacob Barthelmeh
189a4d74c0 implement get error line data function 2018-01-16 02:17:42 -07:00
Jacob Barthelmeh
f393eb9176 implement ssl set session id context 2018-01-16 02:17:42 -07:00
Jacob Barthelmeh
ede8127569 implement function for setting CTX verify depth 2018-01-16 02:17:40 -07:00
Jacob Barthelmeh
762b7144e0 implement WOLFSSL get app data and set app data functions 2018-01-16 02:13:16 -07:00
Jacob Barthelmeh
3089fa2d27 group sk x509 functions together and implement sk x509 pop free 2018-01-16 02:10:15 -07:00
Jacob Barthelmeh
b369112ed3 implement CTX check private key function 2018-01-16 01:53:05 -07:00
Jacob Barthelmeh
86deb23d2f put a macro guard on stub functions and implement quick ones, alo update macro guards on recent BN and RSA tests 2018-01-16 01:51:00 -07:00
Jacob Barthelmeh
266132521c implement RSA key generation compatibility function and BN get word 2018-01-16 01:50:58 -07:00
Jacob Barthelmeh
248dce258e update dynamic type when freeing bio mem 2018-01-16 01:44:32 -07:00
Jacob Barthelmeh
39126cbb63 move variable declaration to top of function and silence compiler warning 2018-01-16 01:44:30 -07:00
Jacob Barthelmeh
fcb1a10a3c upadte memory bio read and setting bios in ssl struct 2018-01-16 01:42:34 -07:00
Jacob Barthelmeh
d0d762c1a2 add 1536bit DH prime from RFC 3526 2018-01-16 01:28:24 -07:00
Takashi Kojo
bbff8f00ae WOFLSSL_STUB: SSL_CTX_check_private_key 2018-01-16 01:27:36 -07:00
Takashi Kojo
d3f4845c55 EVP_PKEY_decrypt return value 2018-01-16 01:25:17 -07:00
Jacob Barthelmeh
47f234dce2 add wolfSSL_EVP_md4 function 2018-01-16 01:22:48 -07:00
Jacob Barthelmeh
ca50d13149 update const type compatibility 2018-01-16 01:18:32 -07:00
Jacob Barthelmeh
60ea23a6de fix invalid check on unsigned type 2018-01-16 01:18:30 -07:00
Jacob Barthelmeh
ad6cc6be2e fix clang build warnings and change return type 2018-01-16 01:12:11 -07:00
Jacob Barthelmeh
db3badb73a add GENERAL NAME stack functions and fix WOLFSSL_BIO free with files 2018-01-16 01:12:09 -07:00
Jacob Barthelmeh
6455801518 add TLSv1 method, getter function for cipher key length, and start stack functions 2018-01-16 00:58:33 -07:00
Takashi Kojo
071e11ed58 Remove key->rsa setting in EVP_PKEY_get1_RSA 2018-01-16 00:29:08 -07:00
Takashi Kojo
2cc7057071 Rollback 2018-01-16 00:29:07 -07:00
Takashi Kojo
b7ffc263cf set pkey->rsa in d2i_PUBKEY 2018-01-16 00:29:07 -07:00
Takashi Kojo
522e989292 set pkey->rsa in EVP_PKEY_get1_RSA 2018-01-16 00:29:07 -07:00
Jacob Barthelmeh
84bc5ba678 update DER to internal public key and add alert functions 2018-01-16 00:29:05 -07:00
Jacob Barthelmeh
1d792b0b44 detect SHA256, SHA384, and SHA512 NID types when signing 2018-01-16 00:19:53 -07:00
Jacob Barthelmeh
1f8df3e403 fix copy of RSA key from WOLFSSL_EVP_PKEY 2018-01-16 00:16:34 -07:00
Takashi Kojo
32ca91cd2f fix return value type of fread 2018-01-16 00:16:34 -07:00
Jacob Barthelmeh
d1c05c1883 fix DER to internal private key function 2018-01-16 00:14:08 -07:00
Takashi Kojo
d7e844d7a2 Refined NO_WOLFSSL_STUB 2018-01-16 00:05:33 -07:00
Takashi Kojo
f49e58a169 Eliminat cross compiler warnings: BUF_MEM, SESSION_set_ex_data 2018-01-15 23:43:34 -07:00
Takashi Kojo
7baa65e515 OpenSSL_add_all_digests, ciphers() to wolfCrypt_Init() 2018-01-15 23:40:02 -07:00
Takashi Kojo
f5913d875f return type compatibility AES_set_encrypt/decrypt_key 2018-01-15 23:39:52 -07:00
Takashi Kojo
31fe154d1c removed STUB mark from wolfSSL_ERR_load_crypto_strings 2018-01-15 23:34:15 -07:00
Jacob Barthelmeh
18019f1bae evp key flags and add WOLFSSL_BUF_MEM struct to WOLFSSL_BIO 2018-01-15 23:34:13 -07:00
Takashi Kojo
4ab9cc65f3 fix EVP_get_cipherbyname("RC4") 2018-01-15 23:17:05 -07:00
Jacob Barthelmeh
46a0cedb08 return value for printing asn1 time 2018-01-15 23:17:03 -07:00
Sean Parkinson
be1aba1f70 Improve performance of chacha20-poly1305 on AVX and AVX2.
Create an AVX2 version of the small block size chacha20 encryption code.
Only update the poly1305 once for the two lengths in chacha20-poly1305.
Poly1305 AVX2 uses AVX code to handle last bytes, store H whole.
Fix error codes in poly1305 test and add a longer data test case.
2018-01-16 13:45:36 +10:00
Takashi Kojo
9a2b1636f9 xstat2err stat shadows global 2018-01-15 18:26:10 -07:00
Jacob Barthelmeh
8db170250e add support for file type BIO to PEM read private key 2018-01-15 18:03:24 -07:00
Takashi Kojo
90179e554e add RC4 to EVP_get_cipherbyname 2018-01-15 18:03:24 -07:00
Takashi Kojo
8ae1b7823e ecc.c, logging.c: local value shadows global 2018-01-15 18:03:21 -07:00
Jacob Barthelmeh
32bf163633 update base64 WOLFSSL_BIO encoding and checking session context ID 2018-01-15 17:54:46 -07:00
Jacob Barthelmeh
b5ab505d1e testing with WOLFSSL_BIO write 2018-01-15 17:40:51 -07:00
Jacob Barthelmeh
cda44c89ac account for different build options 2018-01-15 17:40:46 -07:00
Jacob Barthelmeh
dc4159546b refactor WOLFSSL_BIO read/write to bio.c and update read and write for base64 formating 2018-01-15 17:22:54 -07:00
Takashi Kojo
91632d64f1 word32 casting inSz, wolfSSL_d2i_PrivateKey 2018-01-15 16:19:58 -07:00
Takashi Kojo
c20bff79ad fix to fix EVP_CipherFinal stream cipher outlen 2018-01-15 16:19:57 -07:00
Jacob Barthelmeh
52a89349dd resolves redefinition warnings with clang builds 2018-01-15 16:13:45 -07:00
Jacob Barthelmeh
60b21ffa62 add compat functions; rand egd, rand file, bio_f_base64, bio pop, bio set flags, crypto set id callback, crypto set locking callback, evp pkey get1 RSA, PEM write bio RSA private key, set info callback and alter ERR GET REASON 2018-01-15 16:06:36 -07:00
Jacob Barthelmeh
d0abfbf3f3 turn on AES Direct if AES-CFB is enabled 2018-01-15 16:00:31 -07:00
Jacob Barthelmeh
455ffc2ad7 fix for windows fips build 2018-01-15 15:39:33 -07:00
Takashi Kojo
6fd949279d fix EVP_CipherFinal outlen for stream cipher 2018-01-15 13:48:31 -07:00
Takashi Kojo
27a9b23d2b fix ToTraditionalInline inSz type 2018-01-15 13:46:19 -07:00
Jacob Barthelmeh
930930ebc4 update DER to internal function with private RSA key 2018-01-15 13:46:18 -07:00
Takashi Kojo
de2e7d4f75 fix some WOLFSSL_STUB api names 2018-01-15 13:46:17 -07:00
Takashi Kojo
9910c51e67 add #ifndef NO_WOLFSSL_STUB 2018-01-15 13:41:55 -07:00
Chris Conlon
3415b05732 Merge pull request #1311 from ejohnstown/rsakeygen
RSA Key Generation (FIPS 186-4)
2018-01-15 13:26:44 -07:00
Takashi Kojo
9e1283aedb update WOLFSSL_STUB - Part2 2018-01-15 13:05:39 -07:00
Jacob Barthelmeh
0c4f9c39c9 adjust AES-CFB location in code or --enable-armasm build and use wc_AesEncryptDirect function calls 2018-01-15 13:00:25 -07:00
Takashi Kojo
6a129ca5c7 undate WOLFSSL_STUB - Part 1 2018-01-15 12:58:31 -07:00
Jacob Barthelmeh
e9f3d7f898 add the function ERR remove state and test for it 2018-01-15 10:56:54 -07:00
toddouska
2e6f97621a Merge pull request #764 from JacobBarthelmeh/Compatibility-Layer-Part3
Compatibility layer part3
2018-01-13 09:57:14 -08:00
John Safranek
862e59f474 FIPS Update
1. White space changes. Converting tabs to spaces.
2. Add some comments explaining where a loop bound came from.
3. Added parameter checks to a function.
2018-01-12 15:37:22 -08:00
Jacob Barthelmeh
2945213871 update to d2i_PUBKEY function 2018-01-12 16:01:23 -07:00
toddouska
0590f2493e Merge pull request #1314 from dgarske/cleanups
Minor fixes and cleanups for hash digest/block size
2018-01-12 13:00:53 -08:00
Jacob Barthelmeh
df7917fcd9 add --enable-aescfb, add comments, include of stdio with snprintf 2018-01-12 11:05:43 -07:00
dgarske
3f8ecb4e70 Merge pull request #1313 from JacobBarthelmeh/Testing
DHE suite with test case and set server/client method
2018-01-12 10:03:03 -08:00
Jacob Barthelmeh
d04775ecfb Add check for AES with using AES cipher suite 2018-01-12 09:10:55 -07:00
Sean Parkinson
3d6d80fe21 Improve AES-GCM code for Intel AVX1 and AVX2
Improve AES-GCM Intel performance by converting to pure inline ASM.
Improve AES-GCM Intel code algorithmically.
Split out platform specific code for AES-GCM encrypt and decrypt.
Move C implementation of AES-GCM to separate function to speed up Intel
ASM code.
Modified test to try all input byte sizes up to large benchmark size
when defined.
2018-01-12 10:51:32 +10:00
Chris Conlon
e8179b29ff Merge pull request #1299 from JacobBarthelmeh/PKCS7
handle degenerate case with PKCS7
2018-01-11 16:56:39 -07:00
Jacob Barthelmeh
f254a002a8 fix small stack with X509 print function 2018-01-11 15:41:23 -07:00
Jacob Barthelmeh
29ccc36fc2 refactor openssl test in test.c and update AES CFB compatibility function 2018-01-11 15:35:38 -07:00
Jacob Barthelmeh
953fc0d4a8 update CFB mode to handle partial AES block sizes 2018-01-11 15:28:56 -07:00
Jacob Barthelmeh
c2a6c6c395 add CFB mode for AES 2018-01-11 15:23:15 -07:00
Jacob Barthelmeh
857bbe65b5 update OID check for domain component 2018-01-11 14:47:12 -07:00
Takashi Kojo
e2a16190a6 add NID_domainComponent in X509_NAME_get_text_by_NID 2018-01-11 14:37:49 -07:00
Takashi Kojo
2fc494f66b add NID_domainComponent 2018-01-11 14:37:49 -07:00
Takashi Kojo
289ad7a42c add CRYPTO_cleanup_all_ex_data 2018-01-11 14:31:32 -07:00
Takashi Kojo
ae7783847c accept no key, IV case in EVP_CipherInit 2018-01-11 14:31:32 -07:00
Jacob Barthelmeh
d39ca40fee wrapper for Aes structure added and checks on structure size 2018-01-11 14:23:51 -07:00
Jacob Barthelmeh
f5d9cf0e5d XSNPRINTF not defined in the case of having no filesystem 2018-01-11 14:17:25 -07:00
Jacob Barthelmeh
68d7d26839 account for C++ compiler and fast rsa option 2018-01-11 14:12:11 -07:00
Jacob Barthelmeh
064a54f552 static analysis and windows fix 2018-01-11 14:08:22 -07:00
Jacob Barthelmeh
d2f1ced52f added x509 functions : x509 name cmp, i2d x509 name, i2d x509, x509 print 2018-01-11 14:04:03 -07:00
Jacob Barthelmeh
31186cd341 add RSA compat function and stub for x509 name compare 2018-01-11 13:30:02 -07:00
Jacob Barthelmeh
f968e65314 add macro for get thread id and update debug message for wolfSSL_HMAC 2018-01-11 11:54:24 -07:00
Jacob Barthelmeh
f2518ecbc4 RC4 compatibility functions added 2018-01-11 11:54:24 -07:00
Jacob Barthelmeh
40b56e724f AES cbc wrapper and AES cbf stub function 2018-01-11 11:54:24 -07:00
David Garske
cf03aa4f52 Fix for building with FIPS where wolfCrypt FIPS already has enum value for MAX_DIGEST_SIZE. 2018-01-11 10:53:12 -08:00
Jacob Barthelmeh
4a9f5f3a7e add DES cksum and DES set odd parity 2018-01-11 11:32:00 -07:00
David Garske
481f4765eb Cleanup to remove duplicate MAX_DIGEST_SIZE in hmac.h and refactor to use WC_MAX_DIGEST_SIZE. Cleanup for HMAC to include hash.h and refactor HMAC_BLOCK_SIZE to WC_HMAC_BLOCK_SIZE. Fix build warning in benchmark.c with unused variable if features are disabled. 2018-01-11 09:52:49 -08:00
Jacob Barthelmeh
e442f8dccf DHE suite with test case and set server/client method 2018-01-11 10:24:48 -07:00
toddouska
bb52b0a7b9 Merge pull request #724 from JacobBarthelmeh/Compatibility-Layer-Part2
Compatibility layer part2
2018-01-11 08:28:54 -08:00
toddouska
2cdcd560a2 Merge pull request #1307 from JacobBarthelmeh/Testing
fix check key pair match with ECC
2018-01-11 08:26:25 -08:00
toddouska
df3c775f1d Merge pull request #1304 from cconlon/dsa1864
DSA 186-4 Key Generation, raw params and key import/export
2018-01-11 08:25:27 -08:00
Takashi Kojo
e4093a56f5 remove .uvguix 2018-01-11 07:14:13 +09:00
Takashi Kojo
f55fa9260d user_settings.h under RTE 2018-01-11 06:55:51 +09:00
Takashi Kojo
c53961d4c5 fix MPU menu 2018-01-11 06:55:51 +09:00
Takashi Kojo
e0ab3888ec remove NO_64BIT from STM32 options 2018-01-11 06:55:51 +09:00
Takashi Kojo
379c6d0ad8 dummy RTC 2018-01-11 06:55:50 +09:00
Takashi Kojo
a429f5ef98 add MPU menu to user_settings.h 2018-01-11 06:55:50 +09:00
Takashi Kojo
8c000c05ee refactor MDK options in client/server.c 2018-01-11 06:55:50 +09:00
Takashi Kojo
d8ca8586c0 remove ByteReverseWord64 in sha512 2018-01-11 06:55:50 +09:00
Takashi Kojo
28e18e35f8 mdk5 error 2018-01-11 06:53:34 +09:00
Takashi Kojo
f49bd43ba1 add HAL_HASH, HAL_RNG to benchmark project 2018-01-11 06:53:33 +09:00
Takashi Kojo
f1cba97773 remove wolfssl_fgets 2018-01-11 06:53:33 +09:00
Takashi Kojo
109dd05bb3 Fix benchmark and test project 2018-01-11 06:53:33 +09:00
Takashi Kojo
d34fb44df2 listen parrameter for Keil tcp net 2018-01-11 06:53:33 +09:00
Takashi Kojo
cd0c5d4b93 refactor WOLFSSL_DMK_ARM and WOLFSSL_KEIL_TCP_NET in wolfio.h 2018-01-11 06:53:33 +09:00
Takashi Kojo
bb2e73566b add WOLFSSL_CMSIS_RTOS option in internal.h 2018-01-11 06:53:32 +09:00
Takashi Kojo
c1fe2f36db add WOLFSSL_CMSIS_RTOS option 2018-01-11 06:53:32 +09:00
Takashi Kojo
a53b7a8ced clean up files under projects 2018-01-11 06:53:32 +09:00
Takashi Kojo
cf5708d156 Update SimpleServer, clean up other project files 2018-01-11 06:53:32 +09:00
Takashi Kojo
84c216a5f7 new user_settings.h for mdk5 config menu 2018-01-11 06:53:32 +09:00
Takashi Kojo
76e1a34fd0 update SimpleClient example 2018-01-11 06:53:32 +09:00
Takashi Kojo
3f922b4254 update CryptBenchmark 2018-01-11 06:53:31 +09:00
Takashi Kojo
b569dff905 update CryptTest project 2018-01-11 06:53:31 +09:00
Jacob Barthelmeh
59b9ab9097 place buffer on stack instead and zero it when done 2018-01-10 13:36:03 -07:00
John Safranek
d01d255985 FIPS Update
1. When configuring FIPSv2, force enable RSA-PSS and ECC.
2. Add more checks for FIPSv2 around the code.
2018-01-10 11:29:01 -08:00
John Safranek
788cc39498 FIPS Update
1. Switch in different versions of rsa.c depending on FIPS v1 or v2.
2. Add the Windows pragmas to rsa.c if building for FIPS v2.
3. Leave out FIPS wrappers from rsa.c if not building for FIPS v1.
2018-01-10 11:29:01 -08:00
John Safranek
6fdbe02291 ECC FIPS
Add the ECC API to the FIPS boundary. Included are ECDHE and ECDSA.
2018-01-10 11:29:01 -08:00
John Safranek
274c6ca492 RSA Update
1. Fix issue with new key gen options and using old FIPS releases.
2. Modify the FIPS configure option to handle an option for the updated FIPS.
2018-01-10 11:29:01 -08:00
John Safranek
a784142edf RSA Update
1. Added FIPS wrappers for MakeRsaKey(), CheckProbablePrime(), and RsaFlattenPublicKey().
2. Update the API test so that it used appropriate key and message sizes for the RSA testing.
3. Add function to get all parts of a flattened RSA key.
2018-01-10 11:29:01 -08:00
John Safranek
84f6093068 RSA Update
1. Replaced MakeRsaKey() function wth a version that follows the NIST prescribed process closer.
2. Added an additional check to RSA key generation to ensure that |p-q| > 2^((nlen/2)-100) per NIST FIPS 186-4 sec B.3.1.
3. Added public API for checking a number being probably prime according to FIPS 186-4.
4. Added a large integer used to check the lower bound of a possible prime.
2018-01-10 11:13:23 -08:00
John Safranek
4afa7c7e22 RSA Update
Added mp wrappers for fp_abs() and fp_2expt().
2018-01-10 11:11:56 -08:00
John Safranek
32a345e2f2 Merge pull request #1309 from SparkiDev/pss_var_salt_len
Add support in PSS for salt lengths up to hash length
2018-01-10 11:00:47 -08:00
Jacob Barthelmeh
8c900a2391 added in comments and check on return code 2018-01-10 10:33:48 -07:00
Chris Conlon
d78a6cebd8 allow DSA raw export functions to return buffer sizes 2018-01-10 10:21:58 -07:00
Jacob Barthelmeh
9839809c99 add better comments and update return values 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
89973a7eaf cast for call to ecc_point copy function 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
e9432005d4 build for no old names and fix valgrind report 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
439498b3c1 remove redefinitions and add guards 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
23b271da84 clean up after rebase 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
0deaf1e227 increase max memory bucket size to account for larger WOLFSSL structure with sessioncerts 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
a60db81d09 check on key type with SetRsaExternal and fix for function name after rebase 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
d1b24f2bb1 remove unneeded XFREE with small stack 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
13bc1f64b8 account for larger WOLFSSL structure with save session certs 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
cecdd50eab make NID values avaliable with OPENSSL_EXTRA build 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
4d9675bebe fix for PKCS12 create with small stack 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
d758c114b0 fix return value 2018-01-10 09:28:56 -07:00
Takashi Kojo
1b7f4ad1dd return value check in EVP_PKEY_encrypt 2018-01-10 09:28:56 -07:00
Takashi Kojo
09eeafe4f0 add cipher name "DES-EDE3" 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
c0db7d02f7 cast for const qualifier match on argument 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
06891fa14a session SSL object size increase with compatibility layer 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
513e3b7338 rebasing compatiblity layer on nginx work 2018-01-10 09:28:56 -07:00
Takashi Kojo
641af21cb0 Fix AES192-ECB in EVP_CipherInit 2018-01-10 09:28:56 -07:00
Takashi Kojo
5237a25699 Add rc4 to EVP_CipherUpdate 2018-01-10 09:28:56 -07:00
Takashi Kojo
21021aa408 Fix EVP_Cipher padding control 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
326d889658 initialize extra name entries to 0 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
ab0bc32d4c resolve rebase by adding an error node pull function 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
7763a002f3 fix for static analysis warning 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
0f2a4be832 update tests and memory checking 2018-01-10 09:28:56 -07:00
Takashi Kojo
7a7f686f16 add test case for X509_get_pubkey, d2i_PrivateKey 2018-01-10 09:28:56 -07:00
Takashi Kojo
f802103923 add RSA_new, RSA_LoadDer in d2i_PrivateKey 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
00670233af account for fast rsa when testing get rsa size 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
c8233177c3 fix bio gets and enhance x509 get public key 2018-01-10 09:28:56 -07:00
Takashi Kojo
734e728fba Fix padding control: EVP_CipherUpdate 2018-01-10 09:28:56 -07:00
Takashi Kojo
150481699f add BIO_new_file: ssl.c, tests/api.c 2018-01-10 09:28:56 -07:00
Takashi Kojo
546d31c51c add X509_load_certificate_file 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
8928160df7 memset structures to 0 in Init functions 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
340963742a memory bio flag mapped to wolfSSL 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
1765246cf7 bio gets test, certificate buffer tests, and increase max static memory bucket size with sessioncerts 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
ff8da2d4fe windows and no filesystem build warnings 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
79ea6b78bb add name entry and fix build without RSA 2018-01-10 09:28:56 -07:00
Takashi Kojo
03a4b9d2fe return code checks for PKEY, EVP Sign test 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
54246053de WOLFSSL_RSA in EVP_PKEY structure and fixes for PKCS12 build 2018-01-10 09:28:56 -07:00
Takashi Kojo
863034f20f Fixed RSA_verify. Add test on EVP_Sign/Verify 2018-01-10 09:28:56 -07:00
Takashi Kojo
8e41d32950 EVP MD and PKEY test. Add PKEY_new/free 2018-01-10 09:28:56 -07:00
Takashi Kojo
49816b95e0 Type mismatch AssertInt(x, y, op, er) in api.c 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
7252a138e0 ASN1 object functions 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
492809203d templates for upcoming compatibility functions 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
35ad1269a8 expand compatibility layer, hmac, dsa gen, pubkey from bio, pseudo rand 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
e391931711 error put function 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
704d765501 adjust compat. layer to not include wolfSSL headers where possible, add d2i for X509's, clang-3.3 build 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
e213e60471 PKCS 8 info function 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
03b0a07adb add BN pseudo random function 2018-01-10 09:28:56 -07:00
Jacob Barthelmeh
c552de77f4 PKCS12 create function 2018-01-10 09:28:56 -07:00
David Garske
2e1068f30c Added stubs for new OBJ_cleanup, OBJ_nid2obj, OBJ_obj2txt. Added openssl/objects.h for compatibility. Moved around OBJ function defs. 2018-01-10 09:28:30 -07:00
David Garske
aac050369a Added API unit tests for new BUF_MEM. Fixed wolfSSL_BUF_MEM_grow handling of negative “len” input. Added GPLv2 header to new buffer.h. 2018-01-10 09:28:30 -07:00
David Garske
2a4ea5843d Added new openssl compatibility functions for BUF_MEM_new, BUF_MEM_grow and BUF_MEM_free. 2018-01-10 09:28:30 -07:00
Takashi Kojo
c237980d47 typedef struct Aes in openssl/aes.h 2018-01-10 09:28:30 -07:00
Jacob Barthelmeh
d5a0b81e97 fix SSL_load_error_strings redefinition 2018-01-10 09:28:30 -07:00
Jacob Barthelmeh
392b1c6f36 EVP verify final type change. Resolve Ubuntu build and clang warning 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
921eb03a01 add PEM read bio private key function and update reading a memory bio 2018-01-10 09:26:58 -07:00
Takashi Kojo
f9eb8f8f6d missing rename SSL_check_private_key, DSA_dup_DH 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
9290b2e464 RAND cleanup and no-op functions for compatibility -- brackets added to ssl.c if statements for gcc-6 2018-01-10 09:26:58 -07:00
Takashi Kojo
4f76e33bc7 add test on EVP_Encrypt/DecryptFinal 2018-01-10 09:26:58 -07:00
Takashi Kojo
d113acb5ab add EVP_MD_CTX_type 2018-01-10 09:26:58 -07:00
Takashi Kojo
a29f15feff add EVP_VerifyFinal, RSA_verify 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
54af9fb884 compatibility mapping for STORE_CTX functions and added test case 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
f0c19ba9b2 add internal to DER X509 function 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
11d42f5112 add X509 new function 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
7da0f50457 tests for added DES functions and fix check on DES key 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
cf6f4718e8 add public function to check if a DES key is weak 2018-01-10 09:26:58 -07:00
Takashi Kojo
bebe60a4c1 EVP PKEY RSA encrypt/decrypt, tentative 2018-01-10 09:26:58 -07:00
Takashi Kojo
a11e389bc8 EVP_PKEY templates 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
f695683fd0 begin BIO gets functions 2018-01-10 09:26:58 -07:00
Jacob Barthelmeh
2b75d0faf3 asn1 string compatibility 2018-01-10 09:26:58 -07:00
toddouska
b9197f96db Merge pull request #1305 from JacobBarthelmeh/DH
add dh header to test.h and adjust macro guards
2018-01-10 08:09:51 -08:00
toddouska
36f621db1c Merge pull request #1308 from JacobBarthelmeh/Compatibility-Layer
change place holders to be void* type and add comment to compatibilit…
2018-01-10 08:08:54 -08:00
Sean Parkinson
87109dd46e Add support in PSS for salt lengths up to hash length
Added non-inline RSA-PSS verify
Added tests of RSA-PSS
Fixed comments in TLS v1.3 code
Added PSS salt length error
2018-01-10 10:16:32 +10:00
Jacob Barthelmeh
e77a05c3b2 change place holders to be void* type and add comment to compatibility header files 2018-01-09 17:08:54 -07:00
Jacob Barthelmeh
0bfa399b6c fix check key pair match with ECC 2018-01-09 16:13:46 -07:00
connerwolfssl
fc754ba88e Merge https://github.com/wolfssl/wolfssl 2018-01-09 14:15:39 -07:00
connerwolfssl
e6cef73658 html and pdf documentation for wolfssl, generated by doxygen 2018-01-09 14:12:06 -07:00
Jacob Barthelmeh
7d3c502c47 add dh header to test.h and adjust macro gaurds 2018-01-09 12:06:43 -07:00
Kaleb Himes
30f8f7d409 Make clean rules more portable
(If this directory were ever to move using ../../ is insufficient. Use the WOLFSS_ROOT variable instead.
2018-01-09 10:48:13 -07:00
Chris Conlon
09bb2e5837 clarify DSA variable names, use WOLFSSL_BIT_SIZE 2018-01-08 17:06:33 -07:00
toddouska
4c65726091 Merge pull request #1296 from JacobBarthelmeh/DH
add DH Agree callback
2018-01-08 15:19:12 -08:00
Chris Conlon
e42fea8710 add unit tests for DSA raw key and param import/export functions 2018-01-08 13:36:06 -07:00
Chris Conlon
fc563550c6 add DSA raw params import export, raw key export functions 2018-01-08 13:36:01 -07:00
Chris Conlon
61f6b9ce0f add DSA 186-4 key generation 2018-01-08 09:54:27 -07:00
JacobBarthelmeh
11fdef0206 Merge pull request #1297 from cconlon/pkcs7signedfix
fix for PKCS#7 SignedData RSA signature types, include hash function
2018-01-05 13:34:12 -07:00
Jacob Barthelmeh
b22ae9de4c add DH callback to example server and client 2018-01-05 11:56:59 -07:00
Chris Conlon
91138648aa Merge pull request #1302 from dgarske/fix_readme
Fix typo in readme for enabling old TLS 1.0
2018-01-05 09:15:30 -07:00
dgarske
e1505bb857 Merge pull request #1301 from ejohnstown/drbg-warn
DRBG Warning Fix
2018-01-04 18:43:31 -08:00
David Garske
bc8625cbea Fix typo in readme for enabling old TLS 1.0 using ./configure --enable-tlsv10. 2018-01-04 15:46:03 -08:00
John Safranek
983aa97f94 DRBG Warning Fix
1. Some compilers will warn on unused constants. Removed the constant DRBG_ERROR which is unused and causing warnings on a particular build.
2. Renumbered the remaining internal return codes.
2018-01-04 15:22:58 -08:00
toddouska
9315d18901 Merge pull request #1294 from dgarske/log_improve
Improvements to logging
2018-01-04 10:15:22 -08:00
Chris Conlon
34df8b98bf fix for PKCS#7 SignedData RSA signature types, include hash function 2018-01-04 10:55:17 -07:00
kaleb-himes
effb751204 Add build scripts for default SGX build and improve cleanup 2018-01-04 10:38:56 -07:00
Jacob Barthelmeh
bc7b1a8a1f handle degenerate case with PKCS7 2018-01-04 09:45:43 -07:00
Jacob Barthelmeh
915f628bc7 add DH Agree callback 2018-01-03 16:47:15 -07:00
dgarske
3f53e8d1dd Merge pull request #1270 from JacobBarthelmeh/CAAM
add CAAM with INTEGRITY support
2018-01-03 08:14:46 -08:00
David Garske
ab3d1e85cf Fix to disable log output for WOLFSSL_ERROR with WOLFSSL_NGINX defined. Cleanup on the loggingEnabled. 2018-01-02 19:30:33 -08:00
David Garske
d0bd52910f Fix for issue with unit test where mutliple threads are outputting log data. 2018-01-02 18:20:23 -08:00
Jacob Barthelmeh
01f603ad65 add documentation, macro for no AES hw or HASH hw, use usleep when waiting for entropy 2018-01-02 15:00:35 -07:00
toddouska
f2375f3fee Merge pull request #1271 from SparkiDev/chacha20_sb
Improve performance of small number of blocks for chacha20
2018-01-02 09:40:49 -08:00
Chris Conlon
d8ff36e692 Merge pull request #1285 from jrblixt/unitTest_api_addEcc-PR08042017
Add ECC unit test functions.
2017-12-29 15:02:07 -07:00
jrblixt
6c76a89785 Add ECC unit test functions.
Change per David RE: WOLFSSL_ATECC508A
Jenkins fix.
Changes per Chris.
2017-12-29 13:03:45 -07:00
David Garske
b53f2a1ac1 Improvements to logging. Added new build option WOLFSSL_DEBUG_ERRORS_ONLY to reduce logging/code size when building with DEBUG_WOLFSSL. Added new WOLFSSL_ERROR_MSG(const char* msg) API for logging errors. Exposed the logging API's. Improvements to the wolfCrypt logging_test. Moved wolfSSL_Debugging_ON and wolfSSL_Debugging_OFF to logging.h. 2017-12-29 10:44:51 -08:00
Chris Conlon
0af93ffd08 Merge pull request #1290 from jrblixt/unitTest_api_addEd25519-PR08092017
Added Ed25519 to unit test functions.
2017-12-29 11:31:48 -07:00
connerwolfssl
ad4cf69993 Moved doxygen API comments in to a seperate directory 2017-12-29 10:57:14 -07:00
jrblixt
8a51df9fd8 Spacing issue per Chris. 2017-12-29 09:48:35 -07:00
Kaleb Himes
272e37767b Merge pull request #1293 from dgarske/bench_emb
Fix for building with `BENCH_EMBEDDED`
2017-12-29 09:19:50 -07:00
David Garske
f71047ef2d Fix for building with BENCH_EMBEDDED. Fix for building without OPENSSL_EXTRA where wolfSSL_OPENSSL_malloc assumes size_t is defined. Improvements to the GCC-ARM IDE example. 2017-12-29 08:19:21 -08:00
toddouska
f492c4f120 Merge pull request #1264 from dgarske/wolf_extra
Adds new `WOLFSSL_EXTRA` define to expose useful compatibility API's
2017-12-28 16:10:09 -08:00
jrblixt
555551b745 Added Ed25519 to unit test functions. 2017-12-28 09:42:51 -07:00
Chris Conlon
83cb000958 Merge pull request #1289 from jrblixt/unitTest_api_addCmac-PR08162017
AES_CMAC unit test functions added.
2017-12-27 15:54:32 -07:00
Jacob Barthelmeh
84ecf94263 spelling mistakes, formatting, and change error name 2017-12-27 15:24:14 -07:00
Chris Conlon
0c709a9088 Merge pull request #1098 from jrblixt/unitTest_api_addSha3-PR08112017
Sha3 unit test functions.
2017-12-27 15:23:14 -07:00
David Garske
3c6443e1e5 Added wolfSSL_CTX_set_client_CA_list and wolfSSL_SSL_CTX_get_client_CA_list to WOLF_EXTRA. 2017-12-27 08:55:28 -08:00
David Garske
d75c2e2a91 Added new WOLFSSL_EXTRA define for expanded API's without openssl extra. Removed old GOAHEAD_WS, which had build errors and current project requires full openssl extra compatability. Fix unused arg build warnings for OCSP. The WOLFSSL_EXTRA adds: wolfSSL_CTX_set_quiet_shutdown, wolfSSL_set_quiet_shutdown, wolfSSL_set_accept_state and wolfSSL_set_connect_state. 2017-12-27 08:55:28 -08:00
dgarske
0e9cd7a3d7 Merge pull request #1292 from moisesguimaraes/fixes-ocsp-stapling
fixes OCSP Stapling v2 tests
2017-12-27 08:53:18 -08:00
Moisés Guimarães
263525d812 enables OCSPStapling CM for ocspstapling2 2017-12-26 22:57:20 -03:00
Moisés Guimarães
43c234029b adds a call to wolfSSL_CTX_EnableOCSPStapling() on client.c to fix ocspstapling2 tests and removes unnecessary 'kill ' from the test scripts 2017-12-26 22:32:21 -03:00
Jacob Barthelmeh
22fc90006b AES-XTS performance enhancement 2017-12-23 14:44:32 -07:00
Jacob Barthelmeh
cf1575fafb AES-GCM performance enhancement 2017-12-23 14:44:32 -07:00
Jacob Barthelmeh
6d3166316b set input size constraints for AES-ECB mode with driver 2017-12-23 14:44:31 -07:00
Jacob Barthelmeh
fe7dec0edb refactor input/output with AES and fix sizes passed in 2017-12-22 12:18:04 -07:00
Chris Conlon
1bbe18bb8d Merge pull request #1234 from abrahamsonn/readme-fix
README updates to attempt to improve GitHub search positioning
2017-12-21 16:29:03 -07:00
Chris Conlon
2660ff0b93 Merge pull request #1251 from kojo1/openSSL-Compat-201711
openSSL compatibility 201711
2017-12-21 16:25:46 -07:00
Jacob Barthelmeh
b3eef2b10e formating and removing white space, also added sanity check on blob arguments 2017-12-21 14:26:22 -07:00
dgarske
d1ee0f3d0d Merge pull request #1288 from cconlon/release3.13
wolfSSL 3.13.0 README and version updates
2017-12-21 12:01:38 -08:00
Chris Conlon
9c74c4d69b update library version for 3.13.0 in rpm/spec.in 2017-12-21 10:09:29 -07:00
Chris Conlon
8bebadcd4b update library version for 3.13.0 in configure.ac/version.h 2017-12-21 09:54:19 -07:00
Chris Conlon
d848a15fc8 update README for 3.13.0 2017-12-21 09:48:52 -07:00
dgarske
5f4cc1a5ed Merge pull request #1287 from cconlon/inferfixes
Release fixes from Facebook infer
2017-12-20 17:57:17 -08:00
dgarske
212f2d0ca8 Merge pull request #1286 from cconlon/fixes
Release prep fixes
2017-12-20 16:32:45 -08:00
Chris Conlon
22f25fa9bb add NULL ctx argument check to wolfSSL_X509_STORE_CTX_set_time() 2017-12-20 17:30:09 -07:00
Chris Conlon
8ab4e5d18c fix NULL pointer dereference in wolfSSL_CTX_new() for ctx->srp if ctx is NULL 2017-12-20 17:21:57 -07:00
Chris Conlon
6bb60581ea free WOLFSSL_BIGNUM when wolfSSL_BN_mod_inverse() fails if dynamic 2017-12-20 17:04:59 -07:00
jrblixt
4552c8a4a7 AES_CMAC unit test functions added. 2017-12-20 15:44:44 -07:00
Chris Conlon
adc8ca0f16 api.c fix for fast-rsa 2017-12-20 15:13:13 -07:00
Chris Conlon
be4d3c8321 fix for SetBitString() defined but not used 2017-12-20 15:02:35 -07:00
Chris Conlon
7bc5bcb86a benchmark.c fixes for NO_MAIN_DRIVER, const arrays 2017-12-20 14:55:35 -07:00
Chris Conlon
fd292b1ae4 check key for NULL in wc_ecc_import_private_key_ex() 2017-12-20 14:45:46 -07:00
Jacob Barthelmeh
28582ad5d9 remove HMAC from driver, it was never completely stable yet 2017-12-20 14:21:15 -07:00
dgarske
51c3427a27 Merge pull request #1284 from cconlon/fixes
scan-build, valgrind, and test.c fixes
2017-12-20 13:06:26 -08:00
Jacob Barthelmeh
20e69460b0 minor change of variable name and add settings check 2017-12-20 13:59:20 -07:00
toddouska
0c01533fe4 Merge pull request #1280 from dgarske/crypto_hw
Add crypto hardware support for ECC sign
2017-12-20 11:34:39 -08:00
Chris Conlon
2460a3de3d fix asn_test print in test.c 2017-12-20 12:28:27 -07:00
Chris Conlon
e97f8b5a9c fix scanbuild issues, internal.c and tfm.c 2017-12-20 12:18:49 -07:00
Chris Conlon
f93ed32cb3 fix scanbuild issue, use of NULL pointer in wc_Sha256Update 2017-12-20 11:48:09 -07:00
dgarske
4dc49590db Merge pull request #1282 from SparkiDev/tls13_win
Fix for building TLS v1.3 code on Windows
2017-12-20 10:38:27 -08:00
Chris Conlon
e4ac38c532 fix valgrind use of uninitialized value warning 2017-12-20 11:35:30 -07:00
Jacob Barthelmeh
351a673ec0 Add AES-CCM hardware acceleration support and other fixes 2017-12-20 11:16:11 -07:00
Jacob Barthelmeh
3a6d5b8f90 formating / add c files to distro / remove unneeded macros 2017-12-20 11:16:11 -07:00
Jacob Barthelmeh
5fa9455bf9 add CAAM with INTEGRITY support 2017-12-20 11:16:11 -07:00
jrblixt
98603d9e74 Sha3 unit test functions.
Code review changes per Chris.
2017-12-20 10:49:24 -07:00
David Garske
696ddc9b71 Added wolfSSL_CTX_SetDevId and wolfSSL_SetDevId to allow setting devId. Use #define macro to map the original async wolfSSL_CTX_UseAsync and wolfSSL_UseAsync API's to the new ones. 2017-12-20 09:08:01 -08:00
toddouska
ac8996c9bc Merge pull request #1281 from dgarske/fix_ocsp_nb_checkall
Fix for OCSP non-blocking with check all flag set
2017-12-20 09:04:09 -08:00
toddouska
d94d90a22e Merge pull request #1276 from dgarske/http_appstr_list
Fix for processing HTTP responses to accept a list of application strings
2017-12-20 09:03:14 -08:00
Chris Conlon
b40b13c0eb Merge pull request #1279 from SparkiDev/fe_init_ed25519
Fix fe_init to be avaible when compiling ED25519 only
2017-12-20 09:12:42 -07:00
David Garske
4712376ce1 Fix for OCSP non-blocking with check all flag set. 2017-12-19 16:52:47 -08:00
Sean Parkinson
fa2db8b22e Fix for building TLS v1.3 code on Windows 2017-12-20 10:32:33 +10:00
dgarske
9f51674be4 Merge pull request #1278 from cconlon/winfix
fix Windows Visual Studio warnings
2017-12-19 15:55:13 -08:00
Sean Parkinson
aa4f38143e Fix fe_init to be avaible when compiling ED25519 only 2017-12-20 09:27:50 +10:00
Chris Conlon
574beff4cc fix Windows Visual Studio warnings 2017-12-19 13:57:33 -07:00
David Garske
c0f2a0c77b Support for crypto hardware on ECC sign using Crypto_EccSign. 2017-12-19 12:51:45 -08:00
dgarske
5235e256c7 Merge pull request #1277 from JacobBarthelmeh/Testing
Testing
2017-12-19 12:38:35 -08:00
Jacob Barthelmeh
89e57f4159 protect against AES-CCM copy to smaller local buffer 2017-12-19 11:55:40 -07:00
Jacob Barthelmeh
0d5a772348 revert macro to allow AES keywrap and AES XTS with ARM assembly 2017-12-19 11:49:30 -07:00
dgarske
d6472c7f71 Merge pull request #1272 from ejohnstown/pkcs5-fix
PKCS5 Fixes
2017-12-19 10:09:14 -08:00
David Garske
05d0176b84 Fix for processing HTTP responses to accept a list of application strings. Specifically for CRL which has both "application/pkix-crl" and "application/x-pkcs7-crl". Both CRL formats are the same and both parse correctly. Applies to --enable-crl with HAVE_CRL_IO only. 2017-12-19 09:54:03 -08:00
dgarske
ba4ff62953 Merge pull request #1169 from JacobBarthelmeh/Testing
fix DH free with switch from server to client side
2017-12-19 09:50:41 -08:00
dgarske
9a6a4f6e02 Merge pull request #1245 from danielinux/chibios_port
Chibios port
2017-12-19 09:19:38 -08:00
Chris Conlon
fd0088fb34 Merge pull request #1269 from ghoso/signal-dev
Add support for libsignal-protocol-c
2017-12-19 09:30:03 -07:00
Jacob Barthelmeh
b9cda18be9 change type with free to match malloc'd type 2017-12-19 09:08:41 -07:00
Jacob Barthelmeh
7662bd58f0 fix DH free with switch from server to client side 2017-12-19 09:08:41 -07:00
toddouska
5be8c7fa1a Merge pull request #1275 from dgarske/fix_async_sim_wctest
Fix for wolfCrypt test with async
2017-12-19 07:19:04 -08:00
toddouska
d08572164f Merge pull request #1148 from dgarske/fix_ecc508a
Fixes to `WOLFSSL_ATECC508A` support to allow import/export
2017-12-19 07:17:41 -08:00
toddouska
f939f407c5 Merge pull request #1268 from cconlon/eccpkcs8
Add ECC private key export for unencrypted PKCS#8
2017-12-19 07:16:21 -08:00
Sean Parkinson
31aa5e308d Improve performance of small number of blocks for chacha20 2017-12-19 18:02:21 +10:00
Go Hosohara
bfed9f28d3 Modification for compliling application with libsignal-protocol-c. 2017-12-19 13:19:05 +09:00
John Safranek
e6334fdaf8 PKCS5 Fixes
1. Fix issue where optional and default items in the ASN.1 blob were not getting "parsed" correctly.
2. Added OIDs for the SHA based HMACs.
3. Removed some redundant constants from key decryption.
4. Updated the DecryptKey() function to handle AES256-CBC.
5. Updated the DecryptContent() function to act like DecryptKey().
2017-12-18 17:08:29 -08:00
toddouska
ddae61afbd Merge pull request #1259 from dgarske/fix_ocsp_nonblock
Fixes for handling non-blocking OCSP
2017-12-18 16:43:24 -08:00
David Garske
6b4b17a07d Fix for wolfCrypt test with async simulator, which requires polling on the ECC make key. 2017-12-18 16:39:53 -08:00
toddouska
680f78f2ae Merge pull request #1274 from dgarske/fix_jenkins
Fixes to address Jenkins issues
2017-12-18 16:31:02 -08:00
David Garske
57c0b5d4ac Adjustment to fix for --enable-32bit where time_t is not long. 2017-12-18 14:34:40 -08:00
David Garske
5b003918ef Fix for #ifdef issue causing some X509 functions to be unavailable when DH and ECC were disabled. Fix for HashAlgoToType not being available if building with DH and ECC disabled and RSA PSS enabled. 2017-12-18 11:10:12 -08:00
David Garske
bbd27b491e Fix for building with --enable-32bit where test assumes time_t is long. 2017-12-18 11:04:40 -08:00
Takashi Kojo
7a59275688 add arg check, wolfSSL_CTX_clear_options 2017-12-16 09:03:44 +09:00
Takashi Kojo
6421324287 add arg check 2017-12-15 05:45:45 +09:00
Chris Conlon
db7cd22645 remove ECC key conversion functions from WOLFSSL_KEY_GEN 2017-12-13 09:44:47 -07:00
Chris Conlon
43ef843257 add ECC private key export for unencrypted PKCS#8 2017-12-13 09:44:36 -07:00
toddouska
bacbc06856 Merge pull request #1263 from SparkiDev/fe_init_fix
Only implement and call fe_init when available
2017-12-12 16:25:09 -08:00
toddouska
26019b3441 Merge pull request #1262 from SparkiDev/benchmark
Improve benchmark program
2017-12-11 15:55:00 -08:00
dgarske
1bf8dc5246 Merge pull request #1265 from SparkiDev/sp_init_mp
Initialize mp for compilers that don't track if conditions
2017-12-11 09:19:16 -08:00
Sean Parkinson
704b332960 Add usage information
Only recognize on command line algorithms compiled in.
2017-12-11 11:40:11 +10:00
Sean Parkinson
8ee1996e39 Initialize mp for compilers that don't track if conditions 2017-12-11 09:44:47 +10:00
Kaleb Himes
137eb291cd Merge pull request #1261 from SparkiDev/tls_def_fix
Fix placement of #endif
2017-12-08 07:57:10 -08:00
Sean Parkinson
c457ca462a Only implement and call fe_init when available 2017-12-08 14:16:24 +10:00
Sean Parkinson
2954b67f96 Improve benchmark program
Supports command line choosing of algorithms to benchmark.
Display benchmarks in powers of 10 (1000, 1000*1000) instead of
powers of 2 (1024, 1024*1024).
2017-12-08 13:57:34 +10:00
David Garske
de05c563b6 Fix to handle non-blocking OCSP when WOLFSSL_NONBLOCK_OCSP is defined and not using async. OCSP callback should return OCSP_WANT_READ. Added ability to simulate non-blocking OCSP using TEST_NONBLOCK_CERTS. 2017-12-08 03:12:33 +01:00
Sean Parkinson
4f97a49213 Fix placement of #endif 2017-12-08 09:13:53 +10:00
toddouska
87690ce8bd Merge pull request #1257 from dgarske/xcode_fixes
Xcode project improvements inc/benchmark tool
2017-12-07 08:44:03 -08:00
David Garske
bababf115a Moved to IDE/XCODE. Fixed build warnings with xcode. Updated the user_settings.h to support fast math, ECC, timing resistance, single precision math, ARMv8, SHA3, ChaCha20/Poly1305, Ed/Curve25519 and ensure default disables are defined. Added Xcode iOS benchmark example. Runs wolfCrypt test, wolfCrypt benchmark and the new TLS benchmark by cipher suite. 2017-12-07 11:02:19 +01:00
dgarske
24ef88f6f0 Merge pull request #1258 from SparkiDev/sp_from_mp_fix
Fix loading of MP
2017-12-07 01:58:56 -08:00
Sean Parkinson
d78734f37d Fix loading of MP 2017-12-07 17:50:47 +10:00
toddouska
4c4b02bb31 Merge pull request #1256 from SparkiDev/ed25519_perf
Ed25519 perf
2017-12-04 14:42:03 -08:00
toddouska
5a56757018 Merge pull request #1250 from SparkiDev/curve25519_asm
Intel ASM code for Curve25519
2017-12-04 14:38:12 -08:00
Takashi Kojo
d11581aaff new lines, BAD_FUNC_ARG 2017-12-01 09:49:38 +09:00
Sean Parkinson
34ecfda145 Check for ADX instructions 2017-12-01 08:55:46 +10:00
Sean Parkinson
e8e5179d1c Optimize the Ed25519 operations 2017-12-01 08:54:12 +10:00
Sean Parkinson
29943dc352 Redo reduce and muladd to be cleaner 2017-12-01 08:54:12 +10:00
Sean Parkinson
f2b8ffa919 Check for ADX instructions 2017-12-01 08:51:24 +10:00
Sean Parkinson
3cdf3565c8 Intel ASM code for Curve25519
AVX2 added as well
2017-11-30 12:34:05 +10:00
Takashi Kojo
98235f9e36 fix hard tabs 2017-11-30 09:08:59 +09:00
Sean Parkinson
57e5648a5d Merge pull request #1247 from kaleb-himes/pre-processor-logic-fix
Proposed fix for build-time errors with (mp/fp)_s_rmap when debug ena…
2017-11-30 09:29:28 +10:00
toddouska
909b519139 Merge pull request #1254 from dgarske/fix_ecpoint_leak
Fix leak with `wolfSSL_EC_POINT_mul`
2017-11-29 14:51:56 -08:00
toddouska
eeca36dc75 Merge pull request #1249 from SparkiDev/avx2_fix
Make AVX2 code compile in on Mac
2017-11-29 14:49:30 -08:00
toddouska
8e91d9ffd9 Merge pull request #1244 from SparkiDev/sha3_fast
SHA-3 fast code is smaller and a bit faster
2017-11-29 14:45:57 -08:00
toddouska
ecb9e799a9 Merge pull request #1243 from dgarske/def_sec_reneg
Adds new define to enable secure-renegotiation by default
2017-11-29 14:40:23 -08:00
Takashi Kojo
b664a1187b fix hard tabs, new line 2017-11-29 07:03:00 +09:00
David Garske
af1f48ccb5 Fix leak with EC Point mul, where inSet wasn't being set, which caused a leak. 2017-11-28 13:00:26 -08:00
Takashi Kojo
64caf325f8 add ctx == NULL checks, fix spacing 2017-11-28 10:16:24 +09:00
Chris Conlon
792672e77b Merge pull request #1252 from kojo1/IAR-EWARM
update IAR-EWARM projects
2017-11-27 11:37:57 -07:00
dgarske
718455f9c6 Merge pull request #1248 from cconlon/oidfix
fix CTC_SHA224wECDSA oid sum
2017-11-27 09:13:03 -08:00
abrahamsonn
a4f5b2e29f Added the requested changes 2017-11-27 09:50:12 -07:00
kaleb-himes
a14b67100b refactor following feedback 2017-11-27 08:47:58 -07:00
Takashi Kojo
4cd39b4bfb refine dummy current_time to avoid infinit waiting loop 2017-11-27 09:03:50 +09:00
Takashi Kojo
a3b2817036 refine user_settings.h for EWARM projects 2017-11-27 09:02:40 +09:00
Takashi Kojo
86a287be01 fix compile error with EWARM 2017-11-27 09:01:33 +09:00
Takashi Kojo
f53fca88e6 Eliminate unused macro options in project properties 2017-11-27 09:00:19 +09:00
Takashi Kojo
8a1de2f69d update file listed in wolflib project 2017-11-27 07:59:06 +09:00
Takashi Kojo
8f31d36bcd gurde SSL_get_peer_cert_chain->count check by macro option 2017-11-25 06:25:15 +09:00
Takashi Kojo
eb85accea9 Fix 'buffer' shadows a global (2) 2017-11-25 03:59:35 +09:00
Takashi Kojo
79b648c006 Fix ‘buffer’ shadows a global 2017-11-24 18:21:32 +09:00
Takashi Kojo
ac83445032 eliminate redundant dec, wolfSSL_CTX_get_options 2017-11-24 13:26:40 +09:00
Takashi Kojo
a320ca92fb fix rebase miss 2017-11-24 08:21:27 +09:00
Takashi Kojo
fce1b90b63 SSL_get_peer_cert_chain(ssl)->count value check in api.c 2017-11-24 08:09:41 +09:00
Takashi Kojo
91c1a0a810 move (void) for Visual Studio 2017-11-24 08:07:32 +09:00
Takashi Kojo
803bd7c612 Review feedbacks: refactor test_SSL_set_options and add SSL_clear_option 2017-11-24 08:07:32 +09:00
Takashi Kojo
c6988b74b1 Remove unused files 2017-11-24 08:03:16 +09:00
Takashi Kojo
c195c85999 merge master 2017-11-24 08:03:16 +09:00
Sean Parkinson
f1befc0e87 Make AVX2 code compile in on Mac
Fix problems not seen due to AVX2 define being off.
2017-11-24 08:49:45 +10:00
Takashi Kojo
3c0a146cd7 SSL_CTX_clear_options return verue 2017-11-24 06:27:36 +09:00
Takashi Kojo
dace30cfac Missing X509_STORE_CTX_free(ctx); 2017-11-24 06:27:36 +09:00
Takashi Kojo
a8bc2df19c static bucket size for SSL 2017-11-24 06:27:36 +09:00
Takashi Kojo
05b9b39e06 free ctx->alpn_cli_protos 2017-11-24 06:27:36 +09:00
Takashi Kojo
196bcf6f51 remove unused velues 2017-11-24 06:27:36 +09:00
Takashi Kojo
279f12cc7d fix test_wolfSSL_msgCb 2017-11-24 06:27:35 +09:00
Takashi Kojo
0d69376e95 SSL_CTX_clear_options macro switch 2017-11-24 06:05:01 +09:00
Takashi Kojo
527c94c06b add test_wolfSSL_msgCb 2017-11-24 06:02:01 +09:00
Takashi Kojo
a9cbb0ee10 add api tests 2017-11-24 05:52:25 +09:00
Takashi Kojo
5f025de0f8 pull ssl->protoMsgCb() from Part5 2017-11-24 05:49:41 +09:00
Takashi Kojo
06455436d3 add ERR_load_BIO_strings 2017-11-24 05:49:41 +09:00
Takashi Kojo
5b16fe2f3c add X509_STORE_CTX_set_verify_cb 2017-11-24 05:49:41 +09:00
Takashi Kojo
b8c5218ad3 add SSL_CTX_set_alpn_protos 2017-11-24 05:49:41 +09:00
Takashi Kojo
1bcec16509 add SSL_get_peer_cert_chain 2017-11-24 05:47:20 +09:00
Takashi Kojo
a320464c5a add SSL_set_msg_callback_arg 2017-11-24 05:44:54 +09:00
Takashi Kojo
7e579e46aa pull SSL_set_msg_callback from Part5 2017-11-24 05:42:35 +09:00
Takashi Kojo
12a9f41755 add SSL_CTX_clear_options 2017-11-24 05:38:24 +09:00
Takashi Kojo
d967129581 add BN_mod_mul 2017-11-24 05:38:24 +09:00
Chris Conlon
cf00f6ae1d fix CTC_SHA224wECDSA oid sum 2017-11-22 17:07:13 -07:00
dgarske
8c15c65343 Merge pull request #1216 from abrahamsonn/windows-errors
Windows errors
2017-11-21 15:21:14 -08:00
abrahamsonn
2308b0769a Changed "ifdef _WIN32" to "ifdef USE_WINDOWS_API" 2017-11-21 14:15:47 -07:00
Daniele Lacamera
ff64ca17f4 Merge branch 'origin/master' into chibios_port 2017-11-21 20:00:07 +01:00
Sean Parkinson
400d56a1a9 SHA-3 fast code is smaller and a bit faster 2017-11-21 12:22:08 +10:00
toddouska
01233edb44 Merge pull request #1242 from cconlon/pkcs7des
PKCS7 and SCEP need either AES or 3DES enabled, error out if not
2017-11-20 16:27:50 -08:00
David Garske
60a6da1c14 Adds new option to enable secure-renegotiation by default (used by IIS for client authentication). WOLFSSL_SECURE_RENEGOTIATION_ON_BY_DEFAULT. 2017-11-20 16:15:06 -08:00
Chris Conlon
e3a4f468c1 PKCS7 and SCEP need either AES or 3DES enabled, error out if not 2017-11-20 13:16:44 -07:00
toddouska
baf655df23 Merge pull request #1241 from SparkiDev/tls13_rec_pad
Handle reading record layer padding in TLS v1.3
2017-11-20 11:35:15 -08:00
Sean Parkinson
5ccf54dd1a Handle reading record layer padding 2017-11-20 12:08:18 +10:00
toddouska
935f33ab54 Merge pull request #1240 from cconlon/tls13issue
fix illegal use of type warning on Windows for TLS 1.3
2017-11-17 13:12:41 -08:00
toddouska
21e391fbce Merge pull request #1235 from SparkiDev/tls13_draft21
Update code to support Draft 21 of TLS v1.3
2017-11-17 13:11:03 -08:00
Chris Conlon
4839aca7ba fix illegal use of type warning on Windows for TLS 1.3 2017-11-17 06:42:15 -07:00
toddouska
8badc334ea Merge pull request #1239 from JacobBarthelmeh/AES
fix AES ECB sanity checks
2017-11-16 13:57:47 -08:00
abrahamsonn
6793a7bc4c Voided 2 variables outside of their ifdef's 2017-11-16 14:54:54 -07:00
toddouska
53ec80b291 Merge pull request #1238 from cconlon/pkcs7cleanup
PKCS7 cleanup: remove dependencies on 3DES and SHA1
2017-11-16 13:51:57 -08:00
toddouska
653cce17e5 Merge pull request #1237 from cconlon/pkcs7encrypted
PKCS7: optionally compile out EncryptedData content type
2017-11-16 13:50:43 -08:00
toddouska
9d2c739d6d Merge pull request #1236 from kaleb-himes/sean-changes
Fix AES-GCM code to compile with GCC 4.8.*
2017-11-16 13:50:08 -08:00
toddouska
947fceda6d Merge pull request #1232 from dgarske/disable_oldtls_v1_0
Disable TLS v1.0 by default
2017-11-16 13:49:03 -08:00
toddouska
d741474f03 Merge pull request #1220 from SparkiDev/sha2_asm_perf
Improve speed of Intel AVX1/2 ASM for SHA-256 and SHA-512
2017-11-16 13:47:12 -08:00
dgarske
877b6c35a2 Merge pull request #1233 from kaleb-himes/TI_CRYPT_UPDATE
resolving build-time issues when using TI-CRYPT
2017-11-16 12:40:46 -08:00
Jacob Barthelmeh
a89280ac91 fix AES ECB sanity checks 2017-11-16 13:27:57 -07:00
Chris Conlon
30e8f5539b PKCS7 cleanup: remove dependencies on 3DES and SHA1 2017-11-16 10:37:47 -07:00
Chris Conlon
ea7f2e4548 PKCS7: optionally compile out EncryptedData type with NO_PKCS7_ENCRYPTED_DATA 2017-11-16 09:15:02 -07:00
Sean Parkinson
20edc0e961 Remove use of data from SHA-2 data structures
Only compiled and used with Intel speed-up code
2017-11-16 08:59:21 +10:00
kaleb-himes
fd9a2a8d62 Change function to macro for GCC 4.8.*
GCC 4.8.* bug can't handle parameter that is a pointer to __m128i
2017-11-16 08:32:45 +10:00
toddouska
098edc2845 Merge pull request #1229 from dgarske/fix_static_rsa_pad
Fix for handling of static RSA padding failures
2017-11-15 12:31:38 -08:00
Sean Parkinson
9dd8baecc0 Fix when RORX implementations are compiled and used 2017-11-15 16:56:19 +10:00
Sean Parkinson
cb8e284464 Update code to support Draft 21 of TLS v1.3 2017-11-15 16:40:48 +10:00
abrahamsonn
901eab7e06 README updates to attempt to improve GitHub search positioning 2017-11-14 15:51:32 -07:00
kaleb-himes
9ce73cf1a6 Add stub functions for Aes/Des Init/Free in TI_CRYPT 2017-11-14 15:30:16 -07:00
abrahamsonn
fe7318455f Incorrect placement of variable casting 2017-11-14 15:19:40 -07:00
David Garske
110409218c Fix for sniffer to use TLS v1.2 client method. 2017-11-14 14:09:44 -08:00
David Garske
fd455d5a5e Fix for handling of static RSA PKCS formatting failures so they are indistinguishable from from correctly formatted RSA blocks (per RFC5246 section 7.4.7.1). Adjusted the static RSA preMasterSecret RNG creation for consistency in client case. Removed obsolete PMS_VERSION_ERROR. 2017-11-14 14:05:50 -08:00
abrahamsonn
f17470b42b Added more of the requested changes & made an attempt to remove merge conflicts 2017-11-14 15:05:32 -07:00
David Garske
d5cc3ca198 Disable TLS v1.0 by default. Added new --enable-tlsv10 option to force enable (only works if --enable-oldtls is set, which is on by default). 2017-11-14 14:01:31 -08:00
toddouska
cc65429946 Merge pull request #1231 from dgarske/fix_max_sigalgo
Fixes and cleanup for handling of sig/algo
2017-11-14 13:25:29 -08:00
dgarske
815cbd8f68 Merge pull request #1227 from moisesguimaraes/adds-client-side-get-sni
enables wolfSSL_SNI_GetRequest() at client side.
2017-11-14 13:22:37 -08:00
toddouska
a0931313dd Merge pull request #1226 from SparkiDev/aes_gcm_avx1_avx2
Improve AES-GCM performance on AVX1 (IvyBridge) and AVX2
2017-11-14 13:03:22 -08:00
David Garske
20f5c61675 Added debug message when signature/algorithm list is truncated. 2017-11-14 10:31:48 -08:00
Sean Parkinson
67451cc3e2 Fix for older compilers and AVX2 2017-11-14 11:36:22 +10:00
Sean Parkinson
1ede982495 Improve speed of Intel AVX1/2 ASM for SHA-256 and SHA-512 2017-11-14 10:36:17 +10:00
toddouska
0ade0eb55b Merge pull request #1224 from dgarske/get_version
Improvements to wolfSSL get/set version
2017-11-13 16:05:22 -08:00
toddouska
fd4b3b40ac Merge pull request #1222 from dgarske/pem_public
Fixes for PEM public key functions
2017-11-13 16:03:04 -08:00
toddouska
69461ae5e2 Merge pull request #1217 from dgarske/sha_slow
New `--enable-lowresource` option and SHA256 not unrolled support
2017-11-13 16:02:01 -08:00
dgarske
35377d933e Merge pull request #1228 from abrahamsonn/2275
Moved variable declaration to beginning of block
2017-11-13 15:19:27 -08:00
David Garske
b08a99057c Cleanup of hashSigAlgo handling in DoClientHello. 2017-11-13 15:02:13 -08:00
David Garske
9f7e40ad5c Fix to make sure provided sigalgo list doesn't overflow the buffer. 2017-11-13 14:52:53 -08:00
David Garske
2b5c4ffa7f Enhancement to allow override of maximum sig/algos using new WOLFSSL_MAX_SIGALGO define (default is 32). 2017-11-13 14:35:15 -08:00
Moisés Guimarães
5da82f43ed makes SNI.status available at client side 2017-11-13 16:10:23 -02:00
Moisés Guimarães
020a004bad makes SNI.status available at client side 2017-11-13 15:39:24 -02:00
abrahamsonn
9f72f018e0 Moved variable declaration to beginning of block 2017-11-13 10:28:22 -07:00
Moisés Guimarães
fe5b512af7 fixes commnet typos 2017-11-13 14:59:47 -02:00
Moisés Guimarães
f82f03f982 fixes API visibility 2017-11-13 14:53:56 -02:00
Moisés Guimarães
a23b65751d enables wolfSSL_SNI_GetRequest() at client side. 2017-11-13 13:58:14 -02:00
Sean Parkinson
6c848e7133 Improve AES-GCM performance on AVX1 (IvyBridge) and AVX2 2017-11-13 15:43:30 +10:00
dgarske
3b0d415ad9 Merge pull request #1223 from JacobBarthelmeh/Memory
fix for logging file names
2017-11-10 14:04:55 -08:00
Jacob Barthelmeh
149559e40f change WOLFSSL_MAX_ERROR_SZ to be a macro instead of enum 2017-11-10 13:29:49 -07:00
David Garske
54c663ed49 Added new API wolfSSL_GetVersion to get version as wolfSSL value which can be passed into wolfSSL_SetVersion. Fixed duplicate CyaSSL_CTX_use_PrivateKey_buffer define. Added TLS1.3 to wolfSSL_SetVersion. 2017-11-10 11:13:48 -08:00
dgarske
686f18825a Merge pull request #1209 from moisesguimaraes/tlsx-fix2
TLSX fixes
2017-11-10 08:44:58 -08:00
Moisés Guimarães
d7abd5c8fb changes WOLFSSL_SKIP_UNSUPPORTED_EXTENSION to WOLFSSL_OLD_UNSUPPORTED_EXTENSION 2017-11-10 11:35:49 -02:00
Jacob Barthelmeh
39ad478973 make the WOLFSSL_MAX_ERROR_SZ overridable 2017-11-09 17:07:00 -07:00
Jacob Barthelmeh
7733ee7e89 fix for logging file names 2017-11-09 15:54:24 -07:00
dgarske
2ba5475cf3 Merge pull request #1219 from JacobBarthelmeh/master
fix unused variable warning
2017-11-09 14:33:49 -08:00
Jacob Barthelmeh
8ced766d61 fix warning for static analysis report 2017-11-09 13:16:29 -07:00
David Garske
717ebf0146 Fix for wolfSSL_PubKeyPemToDer so its available when NO_FILESYSTEM is defined (moved it out of NO_FILESYSTEM block). Added wc_DerToPemEx support for PUBLICKEY_TYPE. 2017-11-09 11:15:33 -08:00
David Garske
5a5fea7b46 Add USE_SLOW_SHA256 and USE_SLOW_SHA512 options for reduced code size of SHA. Existing USE_SLOW_SHA2 applies for SHA512 only. Cleanup formatting of the sha256.c and sha512.c code. Added new ./configure --lowresource option, which defines the memory reduction defines. Fix for make check resume.test scipt with NO_SESSION_CACHE defined. 2017-11-09 11:05:28 -08:00
Jacob Barthelmeh
40be578415 fix unused variable warning 2017-11-09 11:22:10 -07:00
dgarske
29b091eae6 Merge pull request #1221 from SparkiDev/warn_fix1
Fix warnings and g++ casting error
2017-11-09 09:35:54 -08:00
toddouska
127c849594 Merge pull request #1215 from dgarske/fix_stm32_cubemx_sha
Fix accidental removal of wc_Sha hashHandle for STM32 w/CubeMX
2017-11-09 09:07:34 -08:00
toddouska
ddec639712 Merge pull request #1218 from dgarske/fix_powerpc_debug
Fix for build error on PowerPC with enable debug
2017-11-09 09:06:43 -08:00
Sean Parkinson
6a825ea0ce Fix warnings and g++ casting error 2017-11-09 17:30:59 +10:00
David Garske
a97ee6c232 Fix for build error on PowerPC with enable debug. 2017-11-08 09:21:05 -08:00
toddouska
55ec382093 Merge pull request #1212 from dgarske/emscripten
Fixes for building with Emscripten (adds `--disable-asm` option).
2017-11-07 09:19:49 -08:00
David Garske
1a69fb9430 Fix accidental removal of wc_Sha hashHandle for STM32 w/CubeMX. This was removed during merge of 6707be2 on 10/11/17. Thanks liubing for the report. 2017-11-07 09:10:12 -08:00
dgarske
a5f7b182bf Merge pull request #1214 from moisesguimaraes/fix-tlsx-unreachable
Removes unreachable code in TLSX supported-curves and ec-point-format.
2017-11-07 08:49:15 -08:00
Moisés Guimarães
1c19c8847b fixes while loop 2017-11-07 10:57:06 -03:00
Moisés Guimarães
7674a24972 removes unreachable code with a single return point 2017-11-07 10:43:47 -03:00
David Garske
7df0e7f286 Fix typo with with extra paren. 2017-11-06 16:24:12 -08:00
toddouska
90c5a64547 Merge pull request #1211 from dgarske/cleanup_hardcoded
Cleanup hard coded values
2017-11-06 16:10:34 -08:00
toddouska
2c5778215d Merge pull request #1210 from dgarske/fix_ti_newnames
Fix for building with TI using new names.
2017-11-06 15:59:57 -08:00
David Garske
b8cc132e99 Added ability to force 32-bit mode using --enable-32bit. Added ability to disable all inline asembly using --disable-asm. Added check for __EMSCRIPTEN__ define in types.h to properly setup 64-bit type. Fixes for build combinations with SHA512 and CHACHA20. 2017-11-06 14:37:34 -08:00
David Garske
096e850adb Fix a few places where there are break; and break; when TLS 1.3 is not defined. Fix TIRTOS logic for XSTRNCASECMP and XSTRTOK. 2017-11-06 13:59:36 -08:00
David Garske
e591576cdf Cleanup of the RSA exponent hard coded value. 2017-11-06 10:23:06 -08:00
David Garske
231ebeea0e Add unit test for BN_bn2hex. Cleanup math radix constants. 2017-11-06 09:16:37 -08:00
David Garske
d2938dd13a Fix for building with TI using new names. Update TI settings for timing, blinding and strtok_r. 2017-11-06 08:25:35 -08:00
Daniele Lacamera
775487cab1 Support for ChibiOS. 2017-11-06 09:45:12 +01:00
toddouska
94c1aab67e Merge pull request #1208 from dgarske/fix_nightlyreports
Fixes from nightly builds for time_t and no AES
2017-11-03 12:28:55 -07:00
Moisés Guimarães
b672616b38 fixes cast to void 2017-11-03 15:31:13 -03:00
Moisés Guimarães
caf5708bb6 adds unsupported_extension behavior to ALPN 2017-11-03 15:31:13 -03:00
Moisés Guimarães
56b38946ed adds unsupported_extension behavior to Session Tickets and Supported Curves 2017-11-03 15:31:13 -03:00
Moisés Guimarães
c8e5558f3f adds unsupported_extension behavior to CSR and CSR2 2017-11-03 15:31:13 -03:00
Moisés Guimarães
a636858a49 adds unsupported_extension behavior to THMAC 2017-11-03 15:31:13 -03:00
Moisés Guimarães
cd4eb2c5b1 adds unsupported_extension behavior to MFL 2017-11-03 15:31:13 -03:00
Moisés Guimarães
0dd2ba2d80 adds unsupported_extension behavior to SNI 2017-11-03 15:31:13 -03:00
David Garske
57ea7ba319 Various fixes from nightly Jenkins builds. Fix for new test_wolfSSL_ASN1_TIME_adj API unit test to skip generalized time test when on PowerPC (which has time_t as int). Fix for building with AES disabled and PKCS7 enabled. Fix for building without openssl_extra when time_t is not present. 2017-11-03 10:16:45 -07:00
JacobBarthelmeh
8f687e9905 Merge pull request #1206 from ejohnstown/vs-arm-update
VS-ARM Update
2017-11-02 17:14:00 -06:00
JacobBarthelmeh
5e02100921 Merge pull request #1192 from dgarske/client_staticmem
Added static memory support to client example
2017-11-02 14:49:33 -06:00
dgarske
1d1e904acb Merge pull request #942 from ghoso/dev201705
New openssl compatibility functions for: `BN_mod_inverse`, `PKCS5_PBKDF2_HMAC_SHA1` and 
`SSL_set_tlsext_status_type`.
2017-11-02 10:47:14 -07:00
David Garske
4084255fd5 Improve SSL failure cleanup case where ssl->ctx isn't set yet. 2017-11-02 09:48:43 -07:00
David Garske
229cecfb61 Fix static memory failure case (insuficient mem) in InitSSL case where ssl->ctx isn't set yet and SSL_ResourceFree is called NULL dereferece happens. 2017-11-02 09:48:43 -07:00
David Garske
72f44aba87 Fix for X509 FreeAltNames with static memory enabled. 2017-11-02 09:48:43 -07:00
David Garske
0e34f35c08 Increase the static memory pool in client to better support ECC or session certs. 2017-11-02 09:48:43 -07:00
David Garske
6369794b6f Fixes for static memory with -r session resumption option on client. Fix for possible failed InitSSL cleanup using NULL ssl->ctx for static memory. 2017-11-02 09:48:43 -07:00
David Garske
a4f94366a4 Added static memory code to client example. 2017-11-02 09:48:43 -07:00
toddouska
a14ea92d78 Merge pull request #1204 from dgarske/ec_tests
Fixes and improvements for `EC_POINT_mul`
2017-11-02 08:50:34 -07:00
toddouska
cd4dd6bd40 Merge pull request #1207 from SparkiDev/rem_cov
Remove coverage rules not required.
2017-11-02 07:03:00 -07:00
Sean Parkinson
32cbff7257 Remove coverage rules not required. 2017-11-02 09:46:57 +10:00
toddouska
57853fa3e9 Merge pull request #1202 from dgarske/fix_nofs
Build fixes for building without filesystem
2017-11-01 10:14:22 -07:00
toddouska
d8ef0d7df1 Merge pull request #1203 from dgarske/fix_const2
Fix issue with `fp_s_rmap` not being const
2017-11-01 10:12:45 -07:00
toddouska
f91b2e19d7 Merge pull request #1205 from SparkiDev/tls_ext_fix
Fix TLS extension code
2017-11-01 10:10:10 -07:00
David Garske
cc7a5fd490 Fix for bug in wolfSSL_EC_POINT_free not freeing the internal ECC point. Unit test fixup for test_wolfSSL_EVP_PKEY_new_mac_key with malloc and size 0. Cleanup the EC_POINT unit test to not set Gxy->inSet, since its already 0. 2017-11-01 09:44:19 -07:00
Sean Parkinson
f4ae86dc1b Fix TLS extension code
Don't respond with TLS v1.3 extensions if doing TLS v1.2 or lower.
Use calculated size in SendServerHello rather than fixed maximum.
2017-11-01 18:08:11 +10:00
Go Hosohara
9c9978ce9f OpenSSL Compatibility functions on PR#942. 2017-11-01 13:00:47 +09:00
David Garske
8a016879f0 Fixes to WOLFSSL_ATECC508A support to enable use of wc_ecc_export_x963_ex and wc_ecc_import_x963_ex. These changes are experimental (builds, but not tested). 2017-10-31 16:17:03 -07:00
David Garske
72a33136f5 Fix for EC_POINT_mul population of result. Add NULL arg checks for a few compatability functions. Added unit tests for compatability layer API's EC_POINT_ and EC_GROUP_ in test_wolfSSL_EC. Cleanup of the EC_POINT_dump. 2017-10-31 16:09:39 -07:00
John Safranek
5b55d384a7 VS-ARM Update
1. Added HAVE_SUPPORTED_CURVES and WOLFSSL_SHA384 to the user settings file.
2017-10-31 13:19:10 -07:00
toddouska
68371c8e66 Merge pull request #1201 from moisesguimaraes/fix-tlsx-sig-algo
adds check for server side sig-algo extension
2017-10-31 11:40:30 -07:00
Moisés Guimarães
5cf175c49b adds check for server side sig-algo extension 2017-10-30 23:02:36 -03:00
David Garske
fa01c41ea9 Build fixes for building without filesystem. 2017-10-30 15:25:47 -07:00
dgarske
2037a6c9ea Merge pull request #1199 from JacobBarthelmeh/fast-rsa
increase test buffer size to account for edge case
2017-10-27 15:48:14 -07:00
dgarske
d42ebb836f Merge pull request #1200 from JacobBarthelmeh/staticmemory
allow for adjusting static IO buffer size
2017-10-27 15:01:17 -07:00
David Garske
e8627f1f93 Fix issue with fp_s_rmap not being const. 2017-10-27 11:46:24 -07:00
Jacob Barthelmeh
92b71da6d2 allow for adjusting static IO buffer size 2017-10-26 16:40:16 -06:00
Jacob Barthelmeh
016f7357d2 increase test buffer size to account for edge case 2017-10-26 16:19:56 -06:00
toddouska
264c481c71 Merge pull request #1191 from SparkiDev/tls13_no_ecc
Fix no ECC builds with TLS13 code.
2017-10-26 10:49:59 -07:00
toddouska
ee489b12ef Merge pull request #1198 from dgarske/fix_build
Fix build errors with various configs.
2017-10-26 09:46:50 -07:00
toddouska
aa95c6bdd1 Merge pull request #1197 from dgarske/fix_const
Fix `cipher_name_idx` to be const.
2017-10-26 09:45:30 -07:00
David Garske
94e0b06b9f Fix build errors with configs for no ASN and no PKI with PSK. 2017-10-26 07:34:41 -07:00
David Garske
b4d802d524 Fix cipher_name_idx to be const. 2017-10-25 16:57:53 -07:00
JacobBarthelmeh
182028819d Merge pull request #1195 from dgarske/rel_fixes2
Release updates for ec_point_formats and ASN1 SetSerialNumber bug
2017-10-24 15:20:15 -06:00
Sean Parkinson
323db1a95d Fix no ECC builds with TLS13 code.
Fix tests so that having ECC disabled works as well.
Fix define protection for Draft 18 and HRR Cookie.
2017-10-24 09:11:24 -07:00
toddouska
8a01d725da Merge pull request #1177 from dgarske/certreq_tests
Testing improvements for cert gen and TLS cert validation
2017-10-24 08:21:37 -07:00
toddouska
c0105b3008 Merge pull request #1175 from dgarske/cleanup_inlines
Cleanup to consolidate the inline helpers
2017-10-24 08:15:12 -07:00
David Garske
e0734d56df Fix to handle valid serial number with MSB set. Cleanup to consolidate max serial number length check. 2017-10-24 06:49:00 -07:00
David Garske
2dfad0918a Updated release notes for added ec_point_formats extension. Fix for setting serial number with random data where the MSB was cleared and resulted in a zero. Fix for build type mismatch error in wolfCrypt test with ed25519 and WOLFSSL_TEST_CERT defined. 2017-10-23 15:36:58 -07:00
Moisés Guimarães
96667b47ee ec point format TLS extension (#1034)
* adds client support to ec_point_format
* adds ec_point_format support for server side
* makes ec-point-format activation dependent on supported-curves activation
* removes recursive functions preserving the writing order
* renames EllipticCurves to SupportedCurves
2017-10-23 14:06:20 -07:00
JacobBarthelmeh
d46ab1f724 Merge pull request #1194 from dgarske/rel_fixes
Release cleanup: Remove execute bit on all code files
2017-10-23 14:23:33 -06:00
David Garske
7f30397252 Remove execute bit on all code files. 2017-10-23 11:16:40 -07:00
JacobBarthelmeh
372e8b04d0 Merge pull request #1193 from dgarske/rel_v3.12.2
Release v3.12.2 (lib 14.0.0)
2017-10-23 11:53:55 -06:00
David Garske
911b6f95f8 Release v3.12.2 (lib 14.0.0). Updated copywright. 2017-10-22 15:58:35 -07:00
toddouska
39749ed5be Merge pull request #1190 from dgarske/fix_ocspstaplingenable
Fix to not send OCSP stapling extensions in client_hello when not enabled
2017-10-20 12:16:56 -07:00
David Garske
d7ae1df778 Fix to add keyUsage keyAgreement for the ECC server certificate. Resolves issue with openssl test using "ECDH-ECDSA" cipher suite. 2017-10-20 11:26:15 -07:00
toddouska
c5f80760a8 Merge pull request #1145 from JacobBarthelmeh/HardwareAcc
init hardware acc. use of public RSA key with public key decode funct…
2017-10-20 10:32:18 -07:00
toddouska
bdefdfe860 Merge pull request #1165 from JacobBarthelmeh/mysql
add check for SIZEOF_LONG with sun and LP64
2017-10-20 10:16:58 -07:00
David Garske
024c8725ad Testing improvements for cert gen and TLS cert validation:
* Fixes to support certificate generation (`WOLFSSL_CERT_GEN`) without RSA enabled.
* Added new ECC CA for 384-bit tests.
* Created new server cert chain (ECC CA for 256-bit that signs server-ecc.pem)
* Created new `./certs/ecc/genecc.sh` script for generating all ECC CA's, generated server cert req (CSR), signing with CA and the required CRL.
* Moved the wolfCrypt ECC CA / ECC cert gen test into `ecc_test` as `ecc_test_cert_gen`.
* Refactor duplicate code that saves DER to disk, converts DER to PEM and saves PEM to disk into SaveDerAndPem function.
* Changed `ecc_test_make_pub` and `ecc_test_key_gen` to use XMALLOC for temp buffers (uses heap instead of stack).
* Cleanup to combine all certificate subject information into global `certDefaultName`.
* Updated cert request info to use wolfSSL instead of Yassl.
* Cleanup to combine keyUsage into `certKeyUsage` and `certKeyUsage2`.
* Re-number error codes in rsa_test.
* Moved the certext_test after the ecc_test, since it uses a file generated in `ecc_test_cert_gen`.
2017-10-19 16:17:51 -07:00
David Garske
e904a38092 Fix to not send OCSP stapling extensions in client_hello when not enabled. Fix for typo in WOLFSSL_SHUTDOWN_NOT_DONE. 2017-10-19 11:18:34 -07:00
David Garske
5362d46da9 Fix issues building with inline disabled. 2017-10-18 14:26:34 -07:00
Chris Conlon
06f564dea3 Merge pull request #1189 from dgarske/fix_oldnames
Fix for building with `--disable-oldnames`
2017-10-18 13:34:26 -06:00
David Garske
c9558ee27b Updated a few more old names. Added PR for new configs to Jenkins. 2017-10-18 10:38:27 -07:00
David Garske
f23ec7d5f2 Fix for building with --disable-oldnames. 2017-10-18 10:22:35 -07:00
David Garske
e82807024b Switched word24 back to byte for compatability. 2017-10-18 09:08:22 -07:00
David Garske
7f2e6e1d8a Cleanup to consolidate the inline helpers like cto, ato and bto into misc.c. Relocate the word24 typedef into types.h. 2017-10-18 09:06:48 -07:00
toddouska
1377577af5 Merge pull request #1187 from dgarske/build_fixes
Build fixes for various TLS 1.3 disable options
2017-10-18 08:59:46 -07:00
toddouska
c9516e20b2 Merge pull request #1158 from dgarske/openssl_compat
Minor openssl compatibility layer improvements to AES, MD5 and SSL.
2017-10-18 08:54:28 -07:00
toddouska
ccda176bfa Merge pull request #1183 from SparkiDev/tls13_nu
Disallow upgrading to TLS v1.3
2017-10-18 08:53:00 -07:00
toddouska
9bea6cca52 Merge pull request #1186 from SparkiDev/sha2_asm
Fix SHA-256 Intel assembly code to work with 'fasthugemath'
2017-10-18 08:51:05 -07:00
toddouska
9920bdf097 Merge pull request #1103 from SparkiDev/sp_rsa
Single Precision maths for RSA, DH and ECC
2017-10-18 08:44:47 -07:00
dgarske
1bf9d092af Merge pull request #1179 from ejohnstown/evp-aes
EVP-AES
2017-10-17 19:23:11 -07:00
John Safranek
1a7d58715a Merge pull request #1188 from dgarske/ocsp_enables
Added missing API's for disabling OCSP stapling
2017-10-17 15:26:48 -07:00
David Garske
3d7e86f08d Added missing API's for disabling OCSP stapling. Added OCSP stapling enable/disable for WOLFSSL. 2017-10-17 13:52:05 -07:00
dgarske
ddb5e57811 Merge pull request #1185 from cconlon/bench
Add HMAC benchmark, expand AES key size benchmarks
2017-10-17 11:15:12 -07:00
David Garske
b82a529ec2 Cleanup to move the secret length to ssl.h so its accessible for the compatability layer as well. 2017-10-17 09:56:34 -07:00
David Garske
aab1e060a0 Minor openssl compatability layer improvements to AES, MD5 and SSL. 2017-10-17 09:50:25 -07:00
David Garske
8659140494 Build fixes for various TLS 1.3 disable options (RSA, ECC and ED/Curve 25519). 2017-10-17 09:39:32 -07:00
JacobBarthelmeh
32103891e2 Merge pull request #1117 from dgarske/gcc_arm
Added simple GCC ARM Makefile example
2017-10-17 10:23:32 -06:00
Chris Conlon
e49560fbf0 add missing parameter in SHOW_INTEL_CYCLES 2017-10-17 09:31:21 -06:00
Chris Conlon
7dccd9d478 set hash size for PIC32MZ hardware crypto 2017-10-17 09:30:26 -06:00
Chris Conlon
d5b7c13fbf change enc/dec labels for AES, move scrypt bench below HMAC 2017-10-17 09:30:26 -06:00
Chris Conlon
d65704c6b4 add benchmarks for AES-128/192/256-ECB 2017-10-17 09:30:16 -06:00
Sean Parkinson
c0472a3a89 Fix SHA-256 Intel assembly code to work with 'fasthugemath' 2017-10-17 18:35:18 +10:00
Sean Parkinson
c49188cc89 Turn off SP by default 2017-10-17 09:32:24 +10:00
Sean Parkinson
9e4e58fe8c Disallow upgrading to TLS v1.3
Change SupportedVersions extension to only include TLS v1.3 if downgrade
is disabled.
Fix parsing of SupportedVersions extension
Don't upgrade
Only downgrade in SupportedVersions extension if option enabled
2017-10-17 08:52:12 +10:00
Sean Parkinson
f724206e37 Add test for 3072-bit RSA and DH and fix modexp 2017-10-17 08:36:39 +10:00
Sean Parkinson
90f8f67982 Single Precision maths for RSA (and DH)
Single Precision ECC implementation
2017-10-17 08:36:39 +10:00
Chris Conlon
9a6e4b2939 add separate benchmarks for AES-128/192/256-GCM 2017-10-16 14:43:39 -06:00
Chris Conlon
1e445e10a1 add separate benchmarks for AES-128/192/256-CTR 2017-10-16 14:43:38 -06:00
Chris Conlon
2b077b2792 add separate benchmarks for AES-128/192/256-CBC 2017-10-16 14:43:38 -06:00
Chris Conlon
1f72696359 add HMAC-MD5/SHA/SHA224/SHA384/SHA512 benchmarks 2017-10-16 14:43:38 -06:00
John Safranek
130e026139 Merge pull request #1184 from dgarske/fix_fips
Fix for FIPS build to support new names
2017-10-16 13:20:05 -07:00
David Garske
de34ec0f0c Fix scan-build report of possible use of unitialized output[i]. 2017-10-16 11:24:41 -07:00
David Garske
02ee22e73b Support for mapping to new names with old for FIPS build. Fix to revert HMAC SHA224 type check, since SHA224 type isn't in FIPS wolfCrypt. 2017-10-16 09:57:22 -07:00
toddouska
819acd18a7 Merge pull request #1180 from SparkiDev/tls13_nd
Fixed DRAFT_18 define and fixed downgrading with TLS v1.3
2017-10-13 09:24:55 -07:00
toddouska
2c2217fcdc Merge pull request #1181 from dgarske/cert_serial
Certificate serial number enhancements
2017-10-13 09:22:11 -07:00
toddouska
b79b816276 Merge pull request #1168 from dgarske/ctx_get_cm
Add method to get WOLFSSL_CTX certificate manager
2017-10-13 09:13:54 -07:00
toddouska
6fd53d31c2 Merge pull request #1157 from dgarske/old-names
Refactor SSL_ and hashing types to use wolf specific prefix
2017-10-13 09:09:44 -07:00
toddouska
04106a0089 Merge pull request #1174 from dgarske/ocsp_cb_ctx
Improvement to `wolfSSL_SetOCSP_Cb` to allow context per WOLFSSL object
2017-10-12 10:02:49 -07:00
toddouska
de77d5cc83 Merge pull request #1170 from dgarske/alt_cert_chains
Alternate certificate chain support `WOLFSSL_ALT_CERT_CHAINS`
2017-10-12 10:02:29 -07:00
David Garske
34cac68f81 Added wolfCrypt test example for setting a custom serial number. Changed CTC_SERIAL_SIZE to 16 (more common max). 2017-10-11 19:16:58 -07:00
David Garske
6548f32ee0 Enhancement to allow a serial number to be customized via Cert.serial and Cert.serialSz for cert request or generation. Fix to make sure serial number is always postive and has no leading zeros. Increase the size of the certificate serial number to 20 bytes. 2017-10-11 17:21:26 -07:00
David Garske
6021c37ec7 Refactor WOLF_SSL_ to WOLFSSL_ (much better). 2017-10-11 09:10:43 -07:00
David Garske
6707be2b0e Added new --disable-oldnames option to allow for using openssl along-side wolfssl headers (without OPENSSL_EXTRA). Add --enable-opensslcoexist which makes sure oldnames is disabled. Refactor of SSL_ to WOLF_SSL_. Refactor of SHA, MD5, SHA224, SHA256, SHA512 and SHA384 to WC_ naming. 2017-10-11 09:10:42 -07:00
Sean Parkinson
7dca25ea88 Fixed DRAFT_18 define and fixed downgrading with TLS v1.3
Changed the define in configure.ac to match the one used in the code.
Fixed downgrading to disallow unless ssl->options.downgrade is set.
TLS 1.3 client method does not have downgrade on anymore.
Test changed to not expect downgrading to work.
Test of TLS v1.3 client downgrade is actually upgrading on server.
Fixed 80 character line problems.
2017-10-11 12:17:28 +10:00
John Safranek
09f8ddd0f0 EVP-AES
1. Fixed using wolfSSL_EVP_CipherFinal() when a message's size is a round multiple of a block size. It wasn't adding the appropriate padding.
2. Update the EVP_Cipher test to call CipherUpdate and CipherFinal instead. It checks a message that is 24 bytes long and a second that is 16 bytes long.
2017-10-10 13:44:06 -07:00
David Garske
4c8d228080 Added WOLFSSL_ALT_CERT_CHAINS option to enable checking cert aginst multiple CA's. Added new API's for wolfSSL_get_peer_alt_chain and wolfSSL_is_peer_alt_cert_chain, which allow a way to know if alternate cert chain is used and provides a way to get it (when SESSION_CERTS is defined). Cleanup of the defines to enable debugging certs (just use SHOW_CERTS now). 2017-10-10 08:55:35 -07:00
dgarske
35141c335d Merge pull request #1178 from SparkiDev/asm_mulx_2
Fix for MULX asm
2017-10-09 18:33:29 -07:00
Sean Parkinson
898893fbcd Fix for MULX asm 2017-10-10 09:41:17 +10:00
David Garske
280de41515 Improvement to wolfSSL_SetOCSP_Cb to set the context per WOLFSSL object (callback functions are same). Adding API unit tests next. 2017-10-06 12:18:21 -07:00
Jacob Barthelmeh
effad6e91c clean up include paths for MySQL cmake build 2017-10-06 09:05:56 -06:00
dgarske
c945e65479 Merge pull request #1171 from ejohnstown/wolfssh
wolfSSH Option
2017-10-05 09:43:17 -07:00
dgarske
541f60801d Merge pull request #1172 from SparkiDev/aesgcm_avx2_fix
Fix aesni code for avx2
2017-10-05 09:10:50 -07:00
Sean Parkinson
152c24f210 Fix aesni code for avx2 2017-10-05 13:02:33 +10:00
John Safranek
f344f04e60 wolfSSH Option
Added a configure convenience option for building wolfSSL to work with wolfSSH.
2017-10-04 16:11:52 -07:00
dgarske
d855fd9452 Merge pull request #1166 from JacobBarthelmeh/Compatibility-Layer
fix for wolfSSL_ASN1_TIME_print function
2017-10-04 14:10:53 -07:00
dgarske
75e04a08cd Merge pull request #1167 from ejohnstown/install-update
update INSTALL with VS-ARM build
2017-10-04 13:58:23 -07:00
David Garske
c4052607d7 Updated README.md to include instructions for how to build on a different ARM architecture (like Raspberry Pi CortexA53). Moved the -T into SRC_LD so its easier to disable. 2017-10-04 13:53:39 -07:00
David Garske
6058362970 Fix bug in user_settings.h which was incorrectly setting FP_MAX_BITS to 512 when RSA was enabled. This resulted in RSA_FUNCTION MP_EXPTMOD_E: memory/config problem. 2017-10-04 13:53:39 -07:00
David Garske
614736cbb2 Add code to detect if Cortex M series and disable architecture specific code in armtarget.c. Improved Makefile.common to include toolchain prefix. 2017-10-04 13:53:39 -07:00
David Garske
d88d8c3ed8 Updates to GCC ARM README.md for the ARCHFLAGS and correct file to update. 2017-10-04 13:53:39 -07:00
David Garske
d4b18a6d3f Added warning for IO callback stubs to make sure they get implemented. 2017-10-04 13:53:39 -07:00
David Garske
a02903c43e Improvements to Makefile templates. Added missing Makefile. Added new static library support. 2017-10-04 13:53:39 -07:00
David Garske
2d67f46247 Minor cleanups for the GCC ARM example. Fixed build with DH enabled. Changed random.h to always make sure CUSTOM_RAND_TYPE is defined. Added TLS13 option to reference user_settings.h. 2017-10-04 13:53:39 -07:00
David Garske
69b25ee508 Added simple GCC ARM gcc-arm-none-eabi Makefile project example for wolfCrypt test/benchmark and wolfSSL Client. 2017-10-04 13:53:39 -07:00
David Garske
19ea4716f3 Add unit tests for wolfSSL_CTX_GetCertManager, wolfSSL_CTX_UnloadCAs, wolfSSL_CertManagerUnloadCAs and wolfSSL_CTX_get_cert_cache_memsize. Fixed comment typo PERSISTE_CERT_CACHE. 2017-10-03 10:00:20 -07:00
David Garske
dcf61bd10e Added new API wolfSSL_CTX_GetCertManager for getting the WOLFSSL_CTX certificate manager. 2017-10-03 08:46:15 -07:00
John Safranek
5c636b4f4a update INSTALL with VS-ARM build 2017-10-02 12:00:11 -07:00
Takashi Kojo
918a5fd5a6 Merge pull request #1164 from SparkiDev/asm_mulx
Get the multiplcation code using MULX to work consistently
2017-09-30 09:51:03 +09:00
Jacob Barthelmeh
9bf14a152f change return value for wolfSSL_ASN1_TIME_print 2017-09-29 10:28:10 -06:00
Jacob Barthelmeh
cb94911e1f add check for SIZEOF_LONG with sun and LP64 2017-09-28 16:39:30 -06:00
Jacob Barthelmeh
8cd0b7dfc7 fix for wolfSSL_ASN1_TIME_print function 2017-09-28 15:30:46 -06:00
JacobBarthelmeh
09e92c518d Merge pull request #1163 from cconlon/mysql_sha
Add returns to OpenSSL compatibility SHA functions
2017-09-28 13:12:14 -06:00
JacobBarthelmeh
3b12b7223a Merge pull request #1160 from dgarske/asn_extkeyusage
ASN Extended Key Usage Support
2017-09-28 11:31:04 -06:00
Chris Conlon
34ef7207f9 check hash function returns in wolfSSL_EVP_DigestInit 2017-09-28 11:19:51 -06:00
Chris Conlon
eff781c0aa add int return to OpenSSL compatibility MD5 functions 2017-09-28 11:12:18 -06:00
JacobBarthelmeh
c836724685 Merge pull request #1162 from cconlon/mysql_compat
wolfSSL_ERR_peek_error() with WOLFSSL_MYSQL_COMPATIBLE
2017-09-28 09:51:07 -06:00
JacobBarthelmeh
7350bf93b3 Merge pull request #1153 from dgarske/fix_testbench_castwarns
Fix cast warnings with wolfCrypt test/benchmark
2017-09-28 09:41:21 -06:00
JacobBarthelmeh
fd9b2d3b8d Merge pull request #1116 from dgarske/stm32_hash
Fixes for STM32 hardware acceleration
2017-09-28 09:35:36 -06:00
Sean Parkinson
0376a53f6b Get the multiplcation code using MULX to work consistently 2017-09-28 09:12:29 +10:00
Chris Conlon
ef141c3ce9 add int return to OpenSSL compatibility SHA functions 2017-09-27 14:28:19 -06:00
Chris Conlon
6c85bc5d3d enable functionality of wolfSSL_ERR_peek_error() when WOLFSSL_MYSQL_COMPATIBLE defined 2017-09-27 10:56:04 -06:00
dgarske
fadee8fbf2 Merge pull request #1161 from cconlon/mysql_compat
Enable ASN1_TIME_print when WOLFSSL_MYSQL_COMPATIBLE is defined
2017-09-26 15:44:50 -07:00
Chris Conlon
4f15cde2eb Merge pull request #1155 from dgarske/fixes_pic32mz
PIC32MZ minor build warning fixes
2017-09-26 16:26:32 -06:00
Chris Conlon
e8dd7d0c4a Merge pull request #840 from koichi-tsujino/EVP
add EVP_get_cipherbynid
2017-09-26 16:23:26 -06:00
Chris Conlon
b4f7997fdc enable ASN1_TIME_print when WOLFSSL_MYSQL_COMPATIBLE is defined 2017-09-26 15:02:13 -06:00
dgarske
19aaa88c72 Merge pull request #1156 from ejohnstown/ios-android
iOS and Android Project Updates
2017-09-26 12:06:17 -07:00
David Garske
9eb7e2aafa ASN1 Extended Key Usage support. Adds new wc_SetExtKeyUsage() API. Available only with --enable-certext or WOLFSSL_CERT_EXT. 2017-09-26 12:05:46 -07:00
John Safranek
931fbde41d iOS/Android
1. Updated the iOS user_settings.h with the hardened settings.
2. Updated the iOS project file with Xcode's suggested settings.
3. Added an IDE project for building wolfSSL for Android using Visual Studio 2017.
2017-09-26 09:08:34 -07:00
Koichi Tsujino
b172585fc3 Resolved conflicts 2017-09-26 09:01:23 +09:00
Koichi Tsujino
e8f95b9252 add EVP_get_cipherbynid 2017-09-26 08:58:36 +09:00
dgarske
8f3aa49ef6 Merge pull request #1149 from ejohnstown/aesgcm-init
AES-GCM-NI Init
2017-09-25 16:13:55 -07:00
dgarske
d15704b2ba Merge pull request #1159 from cconlon/session_cache
exclude wolfSSL_SSL_get0_session when NO_SESSION_CACHE is defined
2017-09-25 15:20:27 -07:00
Chris Conlon
46f7e786cb exclude wolfSSL_SSL_get0_session when NO_SESSION_CACHE is defined 2017-09-25 14:07:17 -06:00
John Safranek
0ced1f4847 AESGCM Init
1. Update the AES-GCM with AES-NI 128-bit constant initializers so they work on both GCC/Clang and MSC.
* MSC uses a union for the type where the first member is a 16-byte array.
* GCC/Clang uses a 16-byte vector masking as a long long array.
2. Disable AES-GCM loop unrolling for Windows, when using AES-NI in 32-bit mode.
2017-09-22 15:28:47 -07:00
David Garske
ee6f88cd98 Fix cast warnings with wolfCrypt test/benchmark. Cleanup of 80 char max line length in wolfCrypt test. 2017-09-22 15:22:42 -07:00
JacobBarthelmeh
6451e12313 Merge pull request #1154 from dgarske/fix_async
Fixes for building with async
2017-09-22 16:01:28 -06:00
JacobBarthelmeh
763d5f26c7 Merge pull request #1031 from dgarske/math_update
Math updates
2017-09-22 15:26:34 -06:00
dgarske
2c4844d5ef Merge pull request #1146 from ejohnstown/compat
OpenSSL Compatibility Additions and Fixes
2017-09-22 14:19:28 -07:00
David Garske
4a510218c2 Tested PPC32 with TFM_PPC32. Fixed warning with possible uninitialized use of sc0, sc1 and sc2. 2017-09-22 11:37:00 -07:00
David Garske
eec5f9bb41 Fixes for benchmark after buffers were moved into thread. Needed THREAD_LS_T and fixed benchmark alloc failure cleanup. 2017-09-22 11:35:46 -07:00
David Garske
218f944984 Fix for building async with AES XTS. 2017-09-22 11:12:23 -07:00
David Garske
a2ed22286f Adds TFM_MIPS (tested on PIC32MZ2048EFM144 with XC32 v1.44). Adds check for mp_read_radix to return failure for invalid character. Adds checking for s_mp_sub response code. Improved mp_init_copy error handling. Improved init to use size where applicable. Asm PPC 32 changes to add r to register. Asm formatting cleanups. 2017-09-22 09:48:35 -07:00
JacobBarthelmeh
824eb55648 Merge pull request #1151 from dgarske/fix_asn_keyusage
Fixes bug with creation of the KeyUsage BitString
2017-09-21 10:41:08 -06:00
dgarske
f5c4a68ab3 Merge pull request #1152 from JacobBarthelmeh/Testing
fix for wolfSSL_X509_NAME_get_text_by_NID
2017-09-20 18:52:14 -07:00
Jacob Barthelmeh
80333979a9 fix for wolfSSL_X509_NAME_get_text_by_NID 2017-09-20 17:31:53 -06:00
David Garske
3f493770d4 Fixes bug with creation of the KeyUsage BitString which was always adding the optional second byte reguardless of len, which created invalid ASN if value provided was less than 256. Bug was introduced with ASN refactor in commit fd9e41dd99. 2017-09-20 15:00:24 -07:00
dgarske
2f96f1ae9f Merge pull request #1150 from kaleb-himes/HASH_DRBG_UPDATE
Update HASH_DRBG Reseed mechanism and add test case
2017-09-20 13:15:17 -07:00
dgarske
1c2199be24 Merge pull request #1137 from JacobBarthelmeh/Windows
rename the file io.h to wolfio.h
2017-09-20 11:34:33 -07:00
kaleb-himes
5777b92745 Improved solution 2017-09-20 11:25:51 -06:00
dgarske
5e6213bfa1 Merge pull request #1140 from JacobBarthelmeh/RSA-fix
account for 8k keys with MySQL compatibility
2017-09-20 10:05:32 -07:00
dgarske
28c15bed1c Merge pull request #1141 from SparkiDev/chacha_avx1
Fix ChaCha to check for AVX1
2017-09-20 09:57:20 -07:00
Jacob Barthelmeh
3763b88397 rename the file io.h to wolfio.h 2017-09-20 10:53:11 -06:00
kaleb-himes
60dca94821 Update HASH_DRBG Reseed mechanism and add test case 2017-09-20 10:36:36 -06:00
David Garske
4d8e1c9e5a Minor build fixes for unused function and variable. 2017-09-19 12:48:57 -07:00
David Garske
816767744f Fix for STM32 AES-CTR (tested on STM32F437). Improvement to the STM32 RNG code to detect improper RNG_CLK. Cleanup of the PIC32MZ Aes struct variables and the AES-CTR (tested on PIC32MZ2048). 2017-09-18 16:08:09 -07:00
John Safranek
2620cb4559 OpenSSL Compatibility Additions and Fixes
1. Added a check on the hex2bn function for null strings to be treated like the NULL pointer.
2. Added some more test cases to the big number unit test.
3. Added wolfSSL_EVP_add_cipher() analogous to wolfSSL_EVP_add_digest().
4. Implemented `RSA_public_encrypt()` and `RSA_private_decrypt()` for the OpenSSL compatibility layer.
5. Added `RSA_PKCS1_OAEP_PADDING` as an option to the new functions.
6. Fixed the constness on the `from` parameter in function `RSA_public_decrypt()`. Note: this does not allow OAEP to be used in FIPS mode.
7. Added size constants for EVP_MAX_BLOCK_LENGTH, RSA_PKCS1_PADDING_SIZE, and RSA_PKCS1_OAEP_PADDING_SIZE.
8. Added functions `wolfSSL_EVP_PKEY_new_mac_key()` and `wolfSSL_EVP_PKEY_get0_hmac()` for storing HMAC keys in an EVP_PKEY structure for use later.
9. Added the routines EVP_DigestSignXXX(). They only work w.r.t HMAC.
10. Added the ForceZero() to EVP_MD_CTX_cleanup().
11. Modified the EVP_MD_CTX structure to have a union with both the hasher and a wolfCrypt Hmac structure.
12. Added a mapping of SHA1->SHA to the list of digest name aliases in wolfSSL_EVP_get_digestbyname().
13. Changed the mapping of ssl3-sha1->SHA.
14. When using RSA blinding, the OpenSSL compatibility layer RSA object was attempting to decrypt without an RNG. Added an RNG if needed.
15. Add comment to wolfSSL_BN_hex2bn() to cover usage w.r.t. string length. Remember to keep the length even, front-pad with zeroes if needed.
16. Added tests for the new functions.
2017-09-18 13:53:44 -07:00
Kaleb Himes
c4e87c8cc4 Merge pull request #1121 from ejohnstown/solution-update
Update VS Solution Files
2017-09-15 18:22:44 -06:00
David Garske
a9e540fc07 Moved the bench_ buffer allocation/free into the thread, so the THREAD_LS has a unique one for each which resolves issues with benchmark when using the USE_QAE_THREAD_LS option. 2017-09-15 14:02:06 -07:00
dgarske
23903ec903 Merge pull request #1144 from kaleb-himes/FIPS-TEST
NULL plaintext input is supported in FIPS testing
2017-09-15 13:21:32 -07:00
David Garske
3f16fba4f8 Fix build warning with possible use of unitialized ret. 2017-09-15 10:41:43 -07:00
David Garske
27d607efa3 Fixes for AES on STM32 with StdPeriLib and fix for building with NO_STM32_CYPTO. Researching better solution for AES-CTR. 2017-09-15 10:39:09 -07:00
David Garske
dcab2f47ee Fixes for STM32 hardware acceleration. Adds CubeMX HAL hashing support for MD5, SHA1, SHA224 and SHA256. Adds support for STM32F7 (WOLFSSL_STM32F7). Fixes issue with AES-GCM and STM32F2. Cleanup of the STM32 macros (adds NO_STM32_HASH, NO_STM32_CRYPTO and NO_STM32_RNG to optionally disable hardware acceleration). 2017-09-15 10:39:09 -07:00
kaleb-himes
63e8d63943 Update following review 2017-09-15 10:52:33 -06:00
Kaleb Himes
0b11b265f6 Merge pull request #1143 from SparkiDev/wpas_aesctr
Fix WPAS config to not use FORTRESS config
2017-09-15 10:39:13 -06:00
Kaleb Himes
5f0afcfe88 Merge pull request #1142 from JacobBarthelmeh/fast-rsa
fix for clang warning on RsaKey redefinition
2017-09-15 09:40:42 -06:00
kaleb-himes
1f7d73f626 NULL plaintext input is supported in FIPS testing 2017-09-14 20:14:21 -06:00
Sean Parkinson
00e073424a Fix WPAS config to not use FORTRESS config 2017-09-15 10:49:07 +10:00
Jacob Barthelmeh
f97f9a6158 init hardware acc. use of public RSA key with public key decode functions 2017-09-14 17:07:19 -06:00
Jacob Barthelmeh
e10b2f027f fix for clang warning on RsaKey redefinition 2017-09-14 15:08:15 -06:00
Jacob Barthelmeh
1b3a8f40b8 account for 8k keys with MySQL compatibility 2017-09-14 09:37:32 -06:00
Sean Parkinson
7721aca114 Fix ChaCha to check for AVX1 2017-09-14 09:07:04 +10:00
toddouska
afcef7d394 Merge pull request #1136 from JacobBarthelmeh/Testing
anon flag with interop script
2017-09-13 14:40:30 -07:00
toddouska
23fff62d8b Merge pull request #1135 from dgarske/cy
Fix issue with empty array (requires C99 compliance).
2017-09-13 14:39:50 -07:00
toddouska
4c31c53f37 Merge pull request #1128 from JacobBarthelmeh/AES
AES XTS feature addition
2017-09-13 14:38:15 -07:00
toddouska
bea82ce214 Merge pull request #1118 from JacobBarthelmeh/mysql
downgrade with options set when using opensslextra feature
2017-09-13 14:12:09 -07:00
David Garske
a5eaecaa0e Fix unit API test call to wolfSSL_CertManagerLoadCA when building without file system. 2017-09-11 06:51:27 -07:00
David Garske
932773735b Cleanup the wolfIO_Send function. 2017-09-11 05:48:41 -07:00
Jacob Barthelmeh
398252ddad add XtsAes structure and change XTS-AES API 2017-09-08 16:00:33 -06:00
David Garske
2c39219f2a Fix issue with empty array (requires C99 compliance). 2017-09-08 11:24:55 -07:00
Kaleb Himes
c018a1abf3 Merge pull request #1130 from SparkiDev/cpuid_fix
MSVC fix around cpuid check
2017-09-08 11:04:50 -06:00
Jacob Barthelmeh
1d1fc66374 double check support of SSLv3 with interop testing 2017-09-08 10:50:23 -06:00
Jacob Barthelmeh
ee9d410326 anon flag with interop script 2017-09-07 16:58:37 -06:00
dgarske
a073d5d448 Merge pull request #1129 from JacobBarthelmeh/Testing
additional sanity checks
2017-09-06 15:34:26 -07:00
Jacob Barthelmeh
c482524b78 big endian testing and packing Aes struct 2017-09-01 15:32:55 -06:00
Jacob Barthelmeh
f7ea118dd7 downgrade with options set when using opensslextra feature 2017-09-01 13:47:56 -06:00
Sean Parkinson
6a226efd15 MSVC fix around cpuid check 2017-09-01 08:43:28 +10:00
Jacob Barthelmeh
8807b8af4f additional sanity checks 2017-08-31 16:00:08 -06:00
Kaleb Himes
3da5ddd49e Merge pull request #1123 from SparkiDev/poly1305_fix
Fix for the AVX implemetation of Poly1305
2017-08-31 10:21:00 -06:00
Jacob Barthelmeh
d48c940334 add comments for AES-XTS functions to aes.h 2017-08-30 17:52:26 -06:00
Jacob Barthelmeh
ef73c1df7c add AES-XTS mode --enable-xts 2017-08-30 17:50:15 -06:00
dgarske
7ac0bab37e Merge pull request #1114 from kojo1/tls1.3
bring up settings.h in tls13.c
2017-08-30 13:00:40 -07:00
toddouska
9aef8a91fd Merge pull request #1120 from JacobBarthelmeh/Testing
fix creating shared secret with ECC private only key
2017-08-30 11:02:14 -07:00
toddouska
1ba77e4306 Merge pull request #1122 from JacobBarthelmeh/Compatibility-Layer
using memory bio with no filesystem and adjustment for Windows line e…
2017-08-30 10:58:30 -07:00
Sean Parkinson
3b351fd640 Fix to stop inlining of assembly code with fixed label 2017-08-30 10:51:44 +10:00
Jacob Barthelmeh
3dbe5d2af9 fixes for Windows build 2017-08-29 12:02:24 -06:00
Chris Conlon
34dc4a493d Merge pull request #1124 from JacobBarthelmeh/UnitTests
fix memory management in unit test with --disable-fastmath
2017-08-29 09:06:14 -06:00
Jacob Barthelmeh
61ff3e136a fix memory management in unit test with --disable-fastmath 2017-08-28 16:23:44 -06:00
Sean Parkinson
e6cf3c88f2 Fix for the AVX implemetation of Poly1305
Need one more multiple of r (0..6 instead of 0..5)
2017-08-28 11:44:27 +10:00
Jacob Barthelmeh
a8417c1078 using memory bio with no filesystem and adjustment for Windows line ending 2017-08-25 15:11:10 -06:00
John Safranek
6970333473 1. Set the base address of the 32-bit DLL builds.
2. Add LTCG option for 64-bit DLL Debug build. Fixes issue with VS2015.
3. Fixed sln issue where test tools linked against the DLL are built outside the DLL build directories.
2017-08-25 11:21:11 -07:00
Jacob Barthelmeh
a308a56044 fix creating shared secret with ECC private only key 2017-08-25 09:07:03 -06:00
dgarske
59358fd91d Merge pull request #1119 from JacobBarthelmeh/Windows
cast to fix warning on Windows with Visual Studio
2017-08-25 07:04:42 -07:00
Jacob Barthelmeh
7918b31cae cast to fix warning on Windows with Visual Studio 2017-08-24 15:22:32 -06:00
toddouska
23342337ab Merge pull request #1115 from JacobBarthelmeh/Compatibility-Layer
fix advancing memory WOLFSSL_BIO when reading
2017-08-24 10:45:32 -07:00
toddouska
2d5194cdf0 Merge pull request #1113 from JacobBarthelmeh/Testing
add function to generate public ECC key from private key
2017-08-24 10:40:27 -07:00
Jacob Barthelmeh
b10e0b789b fix error return value when unable to extract ECC public key 2017-08-23 14:45:08 -06:00
Jacob Barthelmeh
4b630b67fa fix advancing memory WOLFSSL_BIO when reading 2017-08-23 11:37:19 -06:00
Chris Conlon
73b8be8fcc Merge pull request #1039 from jrblixt/unitTest_api_addDsa-PR07192017
Add Dsa unit test functions.
2017-08-22 15:46:46 -06:00
David Garske
7c604bfc48 Fixes for building with WOLFSSL_ATECC508A. 2017-08-22 13:11:20 -07:00
Jacob Barthelmeh
c25832ad14 type cast the return of fread 2017-08-22 14:06:25 -06:00
Jacob Barthelmeh
71f4d546a8 add function to generate public ECC key from private key 2017-08-22 14:06:25 -06:00
toddouska
fbae4420ad Merge pull request #1110 from dgarske/pic32mz_largehash
Fixes for PIC32MZ to support large hashing using hardware
2017-08-22 09:24:05 -07:00
toddouska
8865b272bb Merge pull request #1112 from dgarske/async_sniff
Adds async blocking support for sniffer tool
2017-08-22 09:19:45 -07:00
Chris Conlon
439e803bd1 Merge pull request #1107 from JacobBarthelmeh/UnitTests
build option for certificate buffers with PKCS7 test
2017-08-22 10:05:36 -06:00
Takashi Kojo
7892714516 bring up settings.h before #ifdef WOLFSSL_TLS13 2017-08-22 20:13:17 +09:00
David Garske
07d137480d Fix to PIC32MZ handling of hashing empty string. Changed default MPLABX/MCAPI user_settings.h to use 2048-bit. All tests passed! 2017-08-21 15:19:18 -07:00
David Garske
075adcb15b Add wolfCrypt hash tests for empty string. Add large hash test for SHA2 384/512 and SHA3. Cleanup hashing error handling to call free. RSA spelling fixes. RSA error detail for bad padding. 2017-08-21 14:03:48 -07:00
David Garske
5a27e2f621 Fix so PIC32MZ works in caching mode after large hash. Reduced default block size for large hash to 256 (512 bytes total). 2017-08-21 11:10:16 -07:00
David Garske
2b7f4b0903 Adds async blocking support for sniffer tool. 2017-08-21 11:07:13 -07:00
David Garske
c9d6a4de6f Fixes for building --enable-mcapi. 2017-08-21 09:18:53 -07:00
toddouska
c330c6b7f9 Merge pull request #1109 from JacobBarthelmeh/Testing
fix check on ephemeral key type before free'ing
2017-08-18 11:53:08 -07:00
toddouska
8a37af42bf Merge pull request #1108 from dgarske/fix_async_misc
Fixes for async ECC encrypt, ParseCertRelative and API Unit test inits
2017-08-18 11:44:28 -07:00
toddouska
d7f7c27e0a Merge pull request #1106 from JacobBarthelmeh/NTRU
QSH update
2017-08-18 11:35:48 -07:00
David Garske
74ed94ddb1 Fixes to support large hashing against HW without caching (in exclusive hardware access) Large hashing uses previous hash code with two descriptors and polling. Added wolfCrypt large hash tests for MD5, SHA and SHA256. Add missing MCAPI set size API's. Cleanup AES GCM large test. Changed MPLABX projects to default to PIC32MZ2048EFM144. 2017-08-18 11:25:30 -07:00
Jacob Barthelmeh
7460aaf5ea build option for certificate buffers with PKCS7 test 2017-08-18 11:07:40 -06:00
Jacob Barthelmeh
c6e722170e fix check on ephemeral key type before free'ing 2017-08-18 10:55:38 -06:00
toddouska
c9efcc4561 Merge pull request #1105 from dgarske/strtok
Enhancement to add strtok implementation for platforms where its not avail
2017-08-17 14:02:32 -07:00
David Garske
84a396b7dc Additional init fixes for unit tests based on async valgrind report. 2017-08-17 12:41:18 -07:00
Jacob Barthelmeh
f6ad5524eb remove invalid test-qsh version tests, revert if statement check in internal.c 2017-08-17 11:27:47 -06:00
David Garske
c06e672eb7 Added missing AES/DES3/HMAC init functions for helping with valgrind reports on unitialized use for async markers. 2017-08-17 09:58:46 -07:00
jrblixt
9909c8428c Code review changes per Chris. 2017-08-16 16:08:50 -06:00
David Garske
3ca679c1d7 Added ability to force use of `USE_WOLF_STRTOK. 2017-08-16 13:21:31 -07:00
David Garske
9fb0862bc1 Fix for TI RTOS (WOLFSSL_TIRTOS) to use our wc_strtok for the XSTRTOK macro. 2017-08-16 13:21:31 -07:00
David Garske
ff6a136b8a Enhancement to add strtok implementation for platforms where it is not available such as MinGW. 2017-08-16 13:21:31 -07:00
Jacob Barthelmeh
3fda99cbc4 seperate build of QSH from build of NTRU 2017-08-16 14:19:38 -06:00
David Garske
f7ca2f157d Improvement on the ParseCertRelative fixes for intializing the event prior to operation. Fix possible uninitialized value with DecryptKey and DES3. 2017-08-16 13:19:31 -07:00
David Garske
68c04bd821 Fix for ECC encrypt/decrypt with async enabled. Reverts previous change from PR #1101 and adds return code checking for wc_AsyncWait. ECC shared secret needs to be in loop to call again for completion. 2017-08-16 12:04:57 -07:00
toddouska
53e05786da Merge pull request #1101 from dgarske/fix_bench_async
Fixes for async multi-threading
2017-08-16 10:15:55 -07:00
toddouska
ad4849d692 Merge pull request #1100 from JacobBarthelmeh/Testing
Fix for test script: add ECDH-RSA server for interop tests
2017-08-16 09:54:16 -07:00
toddouska
0ed03987df Merge pull request #1099 from cconlon/micrium
Update Micrium uC/OS-III Port
2017-08-16 09:48:56 -07:00
Kaleb Himes
2e4000acb4 Merge pull request #1102 from cconlon/ocsp-certs
Update root certs for OCSP scripts
2017-08-16 09:50:02 -06:00
David Garske
1f80fb952f Fix issue with using wrong asyncDev in ConfirmSignature. Fix un-initialized Hmac in API unit tests. 2017-08-15 21:20:32 -07:00
David Garske
ccc226eae4 Fixes for refactor to initialize the asyncDev.event prior to call for ParseCertRelative, ConfirmSignature and ECC shared secret (return code). Scan-build and G++ fixes. 2017-08-15 21:20:32 -07:00
David Garske
b32be20110 Refactored async event intialization so its done prior to making possible async calls. Added threadId and removed volatile attribs in WOLF_EVENT. Fixed possible unitialized value in benchmark ret. 2017-08-15 21:19:28 -07:00
David Garske
a9c943d5bd Fix jenkins warning with possible uninitialized 'ret'. 2017-08-15 21:19:28 -07:00
David Garske
b4aaeb5768 Fix for possible leak with multi-threading and curve cache. Note memory leak still possible with --enable-fpecc and async multithreading. Add voltaile on event state and ret to resolve possible multi-thread timing issue. Use define for --enable-stacksize init value. 2017-08-15 21:19:28 -07:00
David Garske
44a3622248 Fixes to better handle threading with async. Fix wc_CamelliaCbcEncrypt return code checking. Fix to ensure cycles per byte shows on same line. Refactor of async event state. Refactor to initalize event prior to operation (in case it finishes before adding to queue). Add HAVE_AES_DECRYPT to --enable-all option. Cleanup benchmark error display. 2017-08-15 21:19:28 -07:00
jrblixt
dd5430d188 Code review changes, Chris. 2017-08-14 16:09:35 -06:00
Chris Conlon
af00787f80 update root certs for ocsp scripts 2017-08-14 12:58:36 -06:00
Jacob Barthelmeh
a6db5fc882 add ECDH-RSA server for interop tests 2017-08-11 16:41:27 -06:00
Chris Conlon
2f92998529 update test.c for Micrium port and XSTRNCPY 2017-08-11 14:30:25 -06:00
Chris Conlon
f6d0b2898d update Micrium uC/OS-III port 2017-08-11 14:30:15 -06:00
Chris Conlon
2740d313a7 fix unused variable warning in load_verify_locations with NO_WOLFSSL_DIR 2017-08-11 11:37:30 -06:00
Chris Conlon
7736125156 Merge pull request #1095 from jrblixt/unitTest_hashReorder
Re-order hash functions in unit test.
2017-08-11 10:15:37 -06:00
Sean Parkinson
21a8662948 Merge pull request #1093 from toddouska/polyold
have poly asm detect older compilers w/o avx2 like chacha does
2017-08-11 08:27:34 +10:00
toddouska
963746fb3e Merge pull request #1094 from JacobBarthelmeh/Testing
Testing
2017-08-10 13:01:46 -07:00
dgarske
294a13f9a2 Merge pull request #1097 from cconlon/validate_ecc_import
WOLFSSL_VALIDATE_ECC_IMPORT fixes
2017-08-10 12:45:26 -07:00
Chris Conlon
5865816198 fix wc_ecc_import_private_key_ex() with WOLFSSL_VALIDATE_ECC_IMPORT with private only, wolfcrypt test 2017-08-10 10:04:14 -06:00
jrblixt
3c1140d90e Re-order hash functions in unit test. 2017-08-09 15:23:01 -06:00
Jacob Barthelmeh
8b41fc841b remove setting variable that is currently not used after being set 2017-08-09 13:43:28 -06:00
Jacob Barthelmeh
219fcde773 fix shadow declaration warning 2017-08-09 11:58:29 -06:00
toddouska
36b1a666d0 have poly asm detect older compilers w/o avx2 like chacha does 2017-08-09 09:52:06 -07:00
toddouska
df1e5f2e1a Merge pull request #1091 from dgarske/fix_async_aes
Fix async issue with AES set key trying to use a NULL IV.
2017-08-09 09:44:46 -07:00
toddouska
04c16ca843 Merge pull request #1086 from SparkiDev/sha256_sha512_gcc44
GCC 4.4 on Linux doesn't like empty clobber list
2017-08-09 09:41:58 -07:00
toddouska
af4158d231 Merge pull request #1084 from SparkiDev/aesni_avx2_fix
Fix for AVX2 unrolled code
2017-08-09 09:39:38 -07:00
toddouska
d12e98eea3 Merge pull request #1079 from SparkiDev/poly1305_asm
Poly1305 Intel Assembly code - AVX and AVX2
2017-08-09 09:37:09 -07:00
David Garske
f27b3a83aa Fix async issue with AES set key trying to use a NULL IV. 2017-08-07 17:47:59 -07:00
toddouska
d195009dcb Merge pull request #1090 from JacobBarthelmeh/Release
update readme for known issue
2017-08-07 13:36:53 -07:00
Jacob Barthelmeh
6717035563 update readme for known issue 2017-08-07 13:13:43 -06:00
toddouska
d949832059 Merge pull request #1088 from JacobBarthelmeh/Release
prepare for release v3.12.0
2017-08-07 11:49:27 -07:00
toddouska
e9c6fa5f22 Merge pull request #1089 from JacobBarthelmeh/StaticAnalysisTests
fix potential memory leaks
2017-08-07 11:47:33 -07:00
Jacob Barthelmeh
1dc2889388 fix potential memory leaks 2017-08-04 16:49:31 -06:00
Jacob Barthelmeh
b55f981d5b prepare for release v3.12.0 2017-08-04 15:32:27 -06:00
Sean Parkinson
032d606f99 GCC 4.4 on Linux doesn't like empty clobber list 2017-08-04 14:07:55 +10:00
Sean Parkinson
32cedb2b12 Fix for AVX2 unrolled code 2017-08-04 12:40:10 +10:00
Sean Parkinson
d0ff6067a6 Chacha asm fix - can't use buffer in old compiler 2017-08-04 12:17:41 +10:00
toddouska
df4387cff4 Merge pull request #1083 from dgarske/chacha_noasm
Option to disable Intel speedups for ChaCha using `--enable-chacha=noasm`
2017-08-03 15:45:47 -07:00
Sean Parkinson
ea6b719ec2 Fix register issue 2017-08-04 08:39:09 +10:00
David Garske
3be4e0823e Adds option --enable-chacha=noasm to allow disabling the Intel AVX/AVX2 speedups when used with --enable-intelasm. 2017-08-03 13:39:46 -07:00
toddouska
4d6cb66bc1 Merge pull request #1082 from dgarske/fix_intelasm_aesgcm
Fixes for `intelasm` and AES GCM with AVX2
2017-08-03 12:35:00 -07:00
toddouska
3f2de7154f Merge pull request #1080 from abrahamsonn/vcxproj_update
added files to wolfssl.vcxproj includes list for windows config testing
2017-08-03 12:15:23 -07:00
toddouska
977e909f60 Merge pull request #1081 from dgarske/chacha20_asm
Fix for `intelasm` and ChaCha20
2017-08-03 12:11:59 -07:00
David Garske
4a5ecb8a15 Fix typo with xmm5 (was xxm5). Workaround for Clang issues with AVX2 and using register __m128i tmp3 asm("xmm6"); syntax by using NO_UNROLL option. 2017-08-03 10:47:21 -07:00
abrahamsonn
089a050d7a added files to wolfssl.vcxproj includes list for windows config testing 2017-08-03 11:00:30 -06:00
David Garske
b0eeed364b Fix for intelasm and ChaCha20 with causing "error: unknown type name '__m256i'" on some compilers. Fix is to change the __m128i and __m256i to arrays of word64 (source Sean PR #1079). 2017-08-03 10:00:20 -07:00
dgarske
80bc089cb5 Merge pull request #1078 from SparkiDev/intel_asm_fixup
Stop using positional parameters in inline asm. Fixes issue with `--enable-intelasm --enable-debug` for AES GCM.
2017-08-03 09:32:50 -07:00
Sean Parkinson
5c2736f1a9 Poly1305 Intel Assembly code - AVX and AVX2 2017-08-03 14:35:09 +10:00
Sean Parkinson
31854c1566 Stop using positional parameters in inline asm 2017-08-03 13:55:30 +10:00
dgarske
108f6a4958 Merge pull request #1077 from JacobBarthelmeh/StaticAnalysisTests
Static analysis tests
2017-08-02 15:08:32 -07:00
toddouska
635bacef28 Merge pull request #357 from kojo1/PIC32
Fixes for PIC32MZ
2017-08-02 13:14:06 -07:00
Jacob Barthelmeh
433ca50292 remove unneeded XMEMSETs 2017-08-02 14:04:41 -06:00
toddouska
e77e93ef2e Merge pull request #1065 from JacobBarthelmeh/Testing
update DTLS export session version and tests
2017-08-02 11:40:38 -07:00
Jacob Barthelmeh
edce23b563 use memset when initializing DecodedCert structure 2017-08-02 10:50:34 -06:00
Jacob Barthelmeh
43b04af388 adjust sanity check in integer.c to avoid reading uninitialized values 2017-08-02 10:39:05 -06:00
Jacob Barthelmeh
062f3efa6d adjust integer.c for loop range 2017-08-02 10:29:34 -06:00
David Garske
65b8389af0 Fix for handling hash copies to make sure copied buffer is not free’d. Resolves issues when testing TLS connection with wolfssl_tcp_client and openurl https://www.google.com/. 2017-08-02 08:42:04 -07:00
dgarske
9f1b17effc Merge pull request #1076 from JacobBarthelmeh/UnitTests
place macro guard on test of RSA-OAEP with SHA1 dependency
2017-08-01 14:05:58 -07:00
dgarske
2d94a3954a Merge pull request #1075 from JacobBarthelmeh/fast-rsa
add sanity check in fast-rsa and change loop behavior when generating…
2017-08-01 14:05:03 -07:00
dgarske
bd20729fba Merge pull request #1069 from ejohnstown/dtls-mac
DTLS Bad MAC Checks
2017-08-01 13:45:19 -07:00
Jacob Barthelmeh
c93d348ecd fix sesion export buffer to be not dependent on macros defined 2017-08-01 14:19:06 -06:00
David Garske
be432d8d3a Fix for building in Harmony with crypto.h path. 2017-08-01 12:48:44 -07:00
David Garske
4e735631e7 Fixes for PIC32MZ:
* Adds crypto HW support for AES Direct and AES CCM.
* Fixes to enable PIC32MZ hardware hashing where updates are cached via heap buffer and final performs single operations against hardware.
* Fix for benchmark with 1024-bit certs passing in wrong size for `wc_RsaPrivateDecrypt` when using `USE_CERT_BUFFERS_1024`.
* Fix to resolve missing `strncasecmp` for the Microchip XC32. Workaround to use case sensitive version instead. This error occurred when building with HAVE_ECC defined in Harmony with XC32.
* Cleanup of the PIC32MZ crypto and hashing hardware code. Replace `pic32mz-hash.c` with `pic32mz-crypt.c`
* Add user_settings.h for mplabx and mcapi examples.
* Sync up with Harmony changes for MCAPI.
2017-08-01 12:42:09 -07:00
Jacob Barthelmeh
af0514704f place macro guard on test of RSA-OAEP with SHA1 dependency 2017-08-01 11:46:49 -06:00
Jacob Barthelmeh
c20859e67d add sanity check in fast-rsa and change loop behavior when generating fast-rsa key 2017-08-01 11:29:16 -06:00
JacobBarthelmeh
b553d36548 Merge pull request #1074 from SparkiDev/tls13_cr
Add NULL check after signature alg extension search
2017-08-01 09:01:42 -06:00
Sean Parkinson
24e9f7c43d Add NULL check after signature alg extension search 2017-08-01 13:55:06 +10:00
dgarske
7cee1c5e8a Merge pull request #1072 from toddouska/alert
add AlertCount to detect dos attempt
2017-07-31 18:29:23 -07:00
toddouska
2296f4806c Merge pull request #1073 from JacobBarthelmeh/StaticAnalysisTests
Static analysis tests
2017-07-31 18:24:17 -07:00
toddouska
0c753718bd Merge pull request #1042 from SparkiDev/chacha_asm
Intel Assembly optimizations for ChaCha20 - AVX and AVX2
2017-07-31 16:27:17 -07:00
toddouska
a27738b5f9 Merge pull request #1071 from dgarske/cleanup_tests
Cleanup AES GCM large test
2017-07-31 16:13:06 -07:00
toddouska
a55e42c14f Merge pull request #1070 from dgarske/fix_qat_normal_math
Fix normal math issue with async and `mp_read_unsigned_bin`
2017-07-31 16:12:08 -07:00
Jacob Barthelmeh
01099fd97e cast for when compiling with g++-7 2017-07-31 16:58:53 -06:00
Jacob Barthelmeh
08da8df455 sanity check on peer sequence for static analysis report 2017-07-31 16:37:34 -06:00
toddouska
66852a9252 add AlertCount to detect dos attempt 2017-07-31 15:17:54 -07:00
David Garske
2051a05139 Cleanup AES GCM large test. Move test into stack and disable if using BENCH_EMBEDDED. 2017-07-31 14:09:30 -07:00
David Garske
8a11b78960 Fix for normal math mp_read_unsigned_bin where mp_zero was also resetting the raw source. This caused failures with QAT when using normal math. 2017-07-31 14:09:15 -07:00
John Safranek
36a539760a DTLS Bad MAC Checks
1. Make the decrypt and verify MAC failure cases behave the same with
   respect to DTLS messages. It should pretend the message never happened.
2. Allow the echoclient to survive the echoserver sending a message with
   a bad MAC.
3. Allow the server to survive the client sending a message with a bad MAC.
2017-07-31 13:54:53 -07:00
toddouska
fb53fac1c1 Merge pull request #1067 from JacobBarthelmeh/Memory
sanity check on index when adding cipher suites
2017-07-31 12:03:49 -07:00
toddouska
62ce8c8b81 Merge pull request #1066 from dgarske/no_certs
Fix for building with `NO_CERTS` or `NO_WOLFSSL_SERVER` defined.
2017-07-31 12:01:39 -07:00
toddouska
87611fdb5d Merge pull request #1064 from SparkiDev/cpuid_fix
Fix cpuid to work with different configs
2017-07-31 11:59:17 -07:00
Jacob Barthelmeh
5564be6113 sanity check on index when adding cipher suites 2017-07-28 17:42:52 -06:00
David Garske
3387b12a9a Fix for building with NO_CERTS or NO_WOLFSSL_SERVER defined. 2017-07-28 15:24:53 -07:00
Jacob Barthelmeh
e1ccc5acad update DTLS export session version and tests 2017-07-28 14:27:24 -06:00
Sean Parkinson
d452f97e99 Fix cpuid to work with different configs
Fix 'may be uninitialized' warning in aes.c
Fix memory overwrite in AES-CBC when using AESNI.
2017-07-28 08:41:49 +10:00
dgarske
bc72d0c2d5 Merge pull request #1063 from JacobBarthelmeh/Testing
C89 compliance with variable declaration
2017-07-26 16:19:25 -07:00
dgarske
d5cf5f9887 Merge pull request #1062 from JacobBarthelmeh/UnitTests
update sanity checks with ARMv8 port
2017-07-26 16:18:37 -07:00
Jacob Barthelmeh
0978dd4285 C89 compliance with variable declaration 2017-07-26 15:29:00 -06:00
JacobBarthelmeh
dc7acc0400 Merge pull request #1059 from dgarske/fix_leaks
Fix for PKCS12 dynamic type names
2017-07-26 11:52:42 -06:00
Jacob Barthelmeh
637ca44e6a update sanity checks with ARMv8 port 2017-07-26 11:05:20 -06:00
jrblixt
3560eed52b Add Dsa unit test functions. 2017-07-26 09:01:36 -06:00
dgarske
05ed5cafc2 Merge pull request #1061 from SparkiDev/tls13_leantls
Fixes for LEANTLS and TLS13 builds
2017-07-25 21:01:00 -07:00
dgarske
41e2b236aa Merge pull request #1051 from kaleb-himes/fsanitize-fixes
Fsanitize fixes
2017-07-25 20:57:43 -07:00
dgarske
fbf4e94bcf Merge pull request #1060 from SparkiDev/tls13_memleak
Fix memory leak when not using fast math and TLS13.
2017-07-25 20:55:42 -07:00
Sean Parkinson
038d16212f Fixes for LEANTLS and TLS13 builds 2017-07-26 10:43:36 +10:00
Sean Parkinson
59450e83fa Fix memory leak when not using fast math. 2017-07-26 09:48:34 +10:00
Chris Conlon
e1830772de Merge pull request #1056 from JacobBarthelmeh/UnitTests
check return values with new unit tests
2017-07-25 16:34:41 -06:00
David Garske
55b07019a0 Fix for PKCS12 dynamic type names (also fix to use manual realloc since its NUMA type and that behaves different). 2017-07-25 15:19:34 -07:00
David Garske
c03487d463 Fix for dynamic type of ED25519 key and PK_CALLBACK buffer not being free’d. Fix for portNumber stack var being used out of scope. 2017-07-25 15:07:58 -07:00
Jacob Barthelmeh
4fead493e7 add to return values checked 2017-07-25 14:44:40 -06:00
Jacob Barthelmeh
4438b8e92d update unit test case with DES3 and FIPS 2017-07-25 14:42:17 -06:00
Jacob Barthelmeh
5b0022fba0 HMAC key size when testing with FIPS 2017-07-25 14:42:17 -06:00
Jacob Barthelmeh
1b80e5a75f check return values with new unit tests 2017-07-25 14:42:17 -06:00
toddouska
ef98e96767 Merge pull request #1058 from jrblixt/fix-AesFipsSanityCheck
Unit test GCM sanity check Fips change.
2017-07-25 13:30:35 -07:00
toddouska
a076a2f0d8 Merge pull request #1055 from JacobBarthelmeh/Memory
fix memory management with --enable-fast-rsa make key and free RSA ke…
2017-07-25 11:03:16 -07:00
toddouska
69d4bcbfd5 Merge pull request #1048 from dgarske/fix_custcurve
Fixes for using custom curves with `wc_ecc_set_custom_curve`
2017-07-25 10:59:58 -07:00
toddouska
f9dee9adcc Merge pull request #1057 from kaleb-himes/TIRTOS-UPDATE
Add dependancy file to tirtos package.bld
2017-07-25 10:25:52 -07:00
toddouska
4939c3eeef Merge pull request #1030 from SparkiDev/aesni_sha384
Assembly optimization for AES-NI, and AVX1 and AVX2
2017-07-25 09:35:43 -07:00
Chris Conlon
874144be73 Merge pull request #1046 from kojo1/zendesk-3052
io.h for VxWorks
2017-07-25 09:53:15 -06:00
jrblixt
f8e2f596d6 Unit test GCM sanity check Fips change. 2017-07-25 09:23:19 -06:00
Chris Conlon
e9f87b9f33 Merge pull request #1054 from jrblixt/fix-RsaSetRng
Fix rsa set rng
2017-07-25 09:16:14 -06:00
Sean Parkinson
e8e1504d9f Alignment fix 2017-07-25 15:41:33 +10:00
David Garske
08488b52b7 Fix for wolfCrypt test custom curve test not setting wc_ecc_set_custom_curvebefore calling wc_ecc_import_x963_ex. Fix for using ECC_CACHE_CURVE option and wc_ecc_set_custom_curve. Added error checking for wc_ecc_set_custom_curve calls. Reverted ASN header change in test.c. 2017-07-24 21:04:18 -07:00
David Garske
33e214ffc1 Fix to allow ECC set curve size with curve_id == 0. Added wolfCrypt tests / example for using wc_ecc_set_custom_curve for BRAINPOOLP256R1. 2017-07-24 17:24:23 -07:00
David Garske
5180cf4cce Fix ECC sign with custom curves so the custom params (dp) are passed to public key used for sign. 2017-07-24 17:21:51 -07:00
David Garske
f147b01674 Fixes for using WOLFSSL_CUSTOM_CURVES and wc_ecc_set_custom_curve. Fixes resolves issue with ->dp and ->idx getting reset which caused curve parameters to not be set correctly. Proper sequence for using custom curves is ‘wc_ecc_init, wc_ecc_set_custom_curve then wc_ecc_make_key_ex(…, ECC_CUSTOM_IDX)’ or wc_ecc_import_x963_ex(…, ECC_CUSTOM_IDX). Test case and example to follow shortly. 2017-07-24 17:21:51 -07:00
Sean Parkinson
b23f983604 Intel Assembly optimizations for ChaCha20 - AVX and AVX2 2017-07-25 10:19:02 +10:00
Takashi Kojo
2329e37d97 Remove options outside VxWorks 2017-07-25 09:07:30 +09:00
Sean Parkinson
8e38dcc347 Tidy code up - use local static for cpuid flags 2017-07-25 08:50:39 +10:00
Sean Parkinson
bde6a35ac4 Assembly optimization for AES-NI, and AVX1 and AVX2
Unroll the loop for 8.
Use new optimized maths.
Fix SHA-384 to use SHA-512 assembly code.
Only perform CPU id check in one place.
2017-07-25 08:50:39 +10:00
toddouska
36c2ee92dc Merge pull request #1050 from JacobBarthelmeh/ARMv8
Xilinx port
2017-07-24 15:37:05 -07:00
Jacob Barthelmeh
1040bbde16 fix memory management with --enable-fast-rsa make key and free RSA key before calling make key function 2017-07-24 16:20:27 -06:00
toddouska
be61d7fca3 Merge pull request #1044 from ejohnstown/dtls-multicast
DTLS Multicast
2017-07-24 14:20:26 -07:00
jrblixt
6df9bc07a4 RSA Fips harness fix. 2017-07-24 13:21:06 -06:00
jrblixt
e68ceb3d2c Guard against WC_RSA_BLINDING in api.c unit test. 2017-07-24 09:51:50 -06:00
toddouska
95664fdd05 Merge pull request #1041 from dgarske/armc0
Fixes for building with custom options
2017-07-24 08:40:51 -07:00
toddouska
9d919ca947 Merge pull request #1049 from dgarske/fix_asynchmac
Fixes for building with Async
2017-07-24 08:36:20 -07:00
kaleb-himes
0fed9c1dc5 Add dependancy file to tirtos package.bld 2017-07-24 08:32:01 -06:00
Jacob Barthelmeh
59a46d08d9 Xilinx port 2017-07-21 17:39:47 -06:00
David Garske
26ac5e1ab7 Fix for error: array subscript is below array bounds warning with GCC 7. Added check to prevent negative value from being used against array. 2017-07-21 12:00:28 -07:00
David Garske
b7dac4911b Fix for using Async and HMAC when its not Intel QuickAssist. 2017-07-21 11:43:01 -07:00
dgarske
9e3497b3d5 Merge pull request #1047 from JacobBarthelmeh/Testing
macro guard to check if ECC is enabled
2017-07-21 10:34:13 -07:00
David Garske
f0d6299581 Fix issue with benchmark_init refactor where malloc failure could use null pointer. Added error checking on the wolfCrypt_Init(). 2017-07-21 09:31:12 -07:00
Takashi Kojo
173283208b add WOLFSSL_HAVE_MAX in settings.h 2017-07-21 12:42:24 +09:00
Takashi Kojo
bd6633a31c #elif defined(WOLFSSL_VXWORKS) in io.h 2017-07-21 12:37:32 +09:00
Jacob Barthelmeh
e3ffd7d539 macro guard to check if ECC is enabled 2017-07-20 16:38:53 -06:00
David Garske
7a972d9611 Fix warning for signed/unsigned comparison. 2017-07-20 11:35:52 -07:00
toddouska
cf9dfac877 Merge pull request #1043 from SparkiDev/sha3_be
Big endian fix for SHA-3
2017-07-20 09:14:00 -07:00
Sean Parkinson
d6190507ac Big endian fix for SHA-3 2017-07-20 16:53:36 +10:00
dgarske
8bfbabd147 Merge pull request #1040 from jrblixt/fix-FreeToHash
Added Free functions to hash unit test.
2017-07-19 18:19:28 -07:00
David Garske
0a63221220 Fix for SHA3 benchmark digest size for 224. Fix for building track and debug memory together. Fix for hash test order of SHA256 wrong. Fix for asn SkipObjectId missing, when RSA and ECC disabled. Enhancement to allow individual bench calls with bench init/free. 2017-07-19 18:14:57 -07:00
dgarske
7d82d7235a Merge pull request #1038 from JacobBarthelmeh/Testing
fix warnings found building on a PPC
2017-07-19 16:54:50 -07:00
John Safranek
0fee243b75 Multicast DTLS
Restored the multicast key setting code that was lost during rebase.
2017-07-19 14:01:29 -07:00
John Safranek
935bf9028d DTLS Multicast
1. Keep track of the number of records a session drops for having a
   bad MAC or detected as replayed.
2. Add function to access the drop statistics.
2017-07-19 13:38:31 -07:00
John Safranek
3329aa7bef DTLS Multicast
Added an API so a session may be queried to see if it has seen any messages
from a specified peerId.
2017-07-19 13:38:31 -07:00
John Safranek
6223f4cd8e fix a couple rebase merge errors 2017-07-19 13:38:31 -07:00
John Safranek
43f3e304e6 DTLS Multicast
Added a parameter check to wolfSSL_mcast_read().
2017-07-19 13:36:42 -07:00
John Safranek
1d32409651 DTLS Multicast
1. Allow the MTU size to be changed at compile time for memory
   contrained environments using static memory.
2. Add compile time option to disable the check for DTLS messages
   in the current epoch with an outside-the-window sequence number.
2017-07-19 13:36:42 -07:00
John Safranek
3b5e537f08 DTLS Multicast
wolfSSL_set_secret() was checking the preMasterSz against the sizeof
the preMasterSecret member of the Arrays structure. That member
was changed to a pointer and allocated dynamically for the session
write-duping. The comparison between the passed in size and the size
of the parameter started failing. The check now uses the constant
that is used for allocating the preMasterSecret member.
2017-07-19 13:36:42 -07:00
John Safranek
4c5ddc8482 Multicast DTLS
Handshake resources are required for Multicast DTLS to calculate the
session keys. When the session key is set, free the handshake resources.
2017-07-19 13:36:42 -07:00
John Safranek
6509faa78d Several parameters stored with DTLS session export have moved into
a wrapper structure. Updated the references.
2017-07-19 13:36:42 -07:00
John Safranek
1d5c6cce00 Fix some small things compiling with a different compiler, and some
other options.
1. Missing prototype for the Mcast receive I/O callback.
2. When disabling SHA-1, the old DTLS cookie callback wouldn't work.
   Allow for SHA-256.
2017-07-19 13:36:42 -07:00
John Safranek
fbd7f7972b Multicast
1. Used quotes rather than angle-brackets when including
   user_settings.h.
2. Used angle-brackets rather than quotes when including
   the ThreadX and NetX headers.
3. Added a define flag to include types.h with NetX or ThreadX.
4. Added a void typecast to hush a warning about an unused variable
   in the I/O callbacks for NetX.
5. Clean up static analysis warning in the peer sequence
   number selection for DTLS.
2017-07-19 13:36:41 -07:00
David Garske
b40aad3f9e Added new “wolfSSL_mcast_get_max_peers” API. Minor cleanup with examples/client failure case. Fix possible unused var in wolfSSL_set_secret with DTLS disabled. 2017-07-19 13:35:59 -07:00
John Safranek
6097d29045 DTLS Multicast
1. Restore original EmbedRecvFrom callback.
2. Add new EmbedRecvFromMcast callback. (EmbedSendTo still the same.)
3. Set new receive from callback when setting the member ID.
4. Fixed bad rebase change.
2017-07-19 13:34:32 -07:00
John Safranek
af1a9ca908 Multicast
1. Squash a couple unused variable warnings.
2017-07-19 13:34:32 -07:00
John Safranek
1657569605 DTLS Multicast
1. Adding the prototypes for the sequence number high water callback.
2. Added the accessors to set the highwater callback function,
   trigger levels, and application context.
3. Calls the highwater callback at specified sequence number thresholds
   per peer.
2017-07-19 13:34:32 -07:00
John Safranek
96c25b2caa DTLS Multicast
1. Separated the peer ID from the array index into the peer sequence
   list. This allows peer IDs to range from 0..255, and to have an
   arbitrary size for the sequence list.
2. Add API to add and remove peer IDs from the sequence number list.
2017-07-19 13:33:58 -07:00
John Safranek
3f330a2b21 Multicast
1. Move the function `wolfSSL_mcast_read()` to
   follow `wolfSSL_read_internal()`.
2. Implemented `wolfSSL_mcast_read()`.
2017-07-19 13:33:58 -07:00
John Safranek
60c6c32ad3 Multicast DTLS
Tweak the size of the Peer Sequence list.
2017-07-19 13:33:58 -07:00
John Safranek
fa4a8fee8c DTLS Multicast
1. Temporary change to io.c to recieve datagrams from any peer.
2. Uses an array of Peer Sequence structures to track the current
   sequence number of all the peers.
2017-07-19 13:33:57 -07:00
John Safranek
0457df83d4 Multicast
1. When setting the key data, use same keys for server and client
   sides of the different keys. This feels a little kludgey, and
   won't work when using separate senders and listeners who may
   use unicast messages. But this works for the all peers are
   multicast senders case.
2017-07-19 13:33:57 -07:00
John Safranek
30a54a4860 Multicast
1. Add haveMcast as an exception case for needing a signing key along
   with havePSK and haveAnon.
2017-07-19 13:31:39 -07:00
John Safranek
41638b437b DTLS Multicast
1. Add configured group ID to outbound DTLS datagrams.
2. Parse the group ID from inbound DTLS datagrams.
2017-07-19 13:31:39 -07:00
John Safranek
dd9800856d Multicast DTLS
When setting the new secret, in DTLS mode, update the sequence
numbers, message windows, and epoch.
2017-07-19 13:31:39 -07:00
John Safranek
431a0cbea9 Multicast
1. Since multicast's only cipher suite uses null cipher
   automatically enable it.
2. Add options to example client and server to start
   testing multicast API. (Uses TLS over TCP.)
3. Updates to use the forced secrets set by API.
2017-07-19 13:31:39 -07:00
jrblixt
f83a593f27 Added Free functions to hash unit test. 2017-07-19 14:28:41 -06:00
John Safranek
b616b8df02 Multicast DTLS
1. Update API
2. Update unit test
3. Partially implemented wolfSSL_set_secret().
2017-07-19 13:26:23 -07:00
John Safranek
0838a3828b Multicast DTLS
1. Added new cipher suite for use with Multicast DTLS,
   WDM_WITH_NULL_SHA256. (It should be a private suite.)
2. Update the API test to use the new suite.
2017-07-19 13:26:23 -07:00
John Safranek
5154584576 Multicast DTLS
1. Add DTLS-multicast to the enable options.
2. Reorg DTLS related enable options together.
3. Update a couple enable option texts to use the AS_HELP_STRING() macro.
4. Add three new APIs for managing a DTLS Multicast session.
5. Add test code for new APIs.
6. Add stub code for the new APIs.
2017-07-19 13:26:23 -07:00
Chris Conlon
b3a20470fd Merge pull request #1036 from jrblixt/unitTest_api_addHc128-PR07182017
Unit test functions for HC128.
2017-07-19 13:29:18 -06:00
jrblixt
5c19b7bfe0 Changes per Chris. 2017-07-19 11:24:56 -06:00
Chris Conlon
667b8431cc Merge pull request #683 from moisesguimaraes/wolfssl-py
wolfssl python wrapper
2017-07-19 09:22:02 -07:00
Jacob Barthelmeh
81f09e575e fix warnings found building on a PPC 2017-07-19 09:24:45 -06:00
jrblixt
d2245b9614 Unit test functions for HC128. 2017-07-19 09:18:48 -06:00
Chris Conlon
5f17598d47 Merge pull request #1035 from jrblixt/Api_c-Fix
api.c fix.
2017-07-18 15:46:12 -07:00
Chris Conlon
0e6b0a6156 Merge pull request #1033 from jrblixt/unitTest_api_addAesCcm-PR07172017
Unit test functions for AES-CCM.
2017-07-18 15:44:12 -07:00
jrblixt
e68f1b2cec api.c fix. 2017-07-18 11:02:19 -06:00
Moisés Guimarães
c93a903cae atualiza lista de arquivos incluídos na versão de distribuição. 2017-07-18 11:36:07 -03:00
dgarske
47fd21dc63 Merge pull request #1032 from JacobBarthelmeh/SGX
fix macro check with SGX settings
2017-07-17 19:07:28 -07:00
jrblixt
5671a4cb49 Added unit test functions for AES-CCM. 2017-07-17 15:58:11 -06:00
Chris Conlon
808f4692c7 Merge pull request #993 from jrblixt/unitTest_api_addRsa-PR06222017
Add RSA to unit test.
2017-07-17 13:42:42 -07:00
jrblixt
fdb371e82e Changes per Chris. 2017-07-17 10:43:36 -06:00
Jacob Barthelmeh
c4f0bd6172 fix macro check with SGX settings 2017-07-17 09:36:45 -06:00
dgarske
cc4ca6a44a Merge pull request #1029 from kaleb-himes/RIOT_OS_PORTABILITY
Riot os portability and minor design modifications
2017-07-17 05:16:56 -07:00
kaleb-himes
a7390e32ec Identified two more old-style definitions in test app 2017-07-16 16:01:52 -06:00
kaleb-himes
e51225aca6 Address typo in RIOT_OS settings and removed ECC as a default feature 2017-07-16 14:22:15 -06:00
kaleb-himes
8acf709b59 Address some old-style function definitions found in RIOT testing 2017-07-16 14:18:58 -06:00
dgarske
f7cd8a0f15 Merge pull request #1028 from JacobBarthelmeh/SGX
update SGX macros for harden
2017-07-14 19:42:29 -07:00
Jacob Barthelmeh
12795e9a40 update SGX macros for harden 2017-07-14 16:59:11 -06:00
toddouska
9e9dbc5e97 Merge pull request #1026 from dgarske/curve_128bit
Fix for ARMv8 and Curve25519 with debug enabled
2017-07-14 13:27:22 -07:00
David Garske
8612d52844 Fix issue with ARMv8 not performing 128-bit math against constants correctly in debug builds. Fix was to use the __int128_t as const for integers. Also added ./configure --enable-curve25519=no128bit option to force FE to not use the int128_t math. 2017-07-14 10:39:30 -07:00
dgarske
8b55122ba0 Merge pull request #1024 from JacobBarthelmeh/UnitTests
adjust size of test buffer
2017-07-13 16:48:00 -07:00
dgarske
a0e918c350 Merge pull request #1022 from JacobBarthelmeh/curve25519
build for ed25519 only
2017-07-13 12:30:26 -07:00
Jacob Barthelmeh
ba48221c41 adjust size of test buffer 2017-07-13 13:21:09 -06:00
dgarske
af8b96e277 Merge pull request #1021 from toddouska/zeroret
don't treat peer closed / zero return as hard error in example servers
2017-07-13 09:11:31 -07:00
toddouska
4491102eed Merge pull request #1018 from dgarske/fix_tfm_rusb_max
Fix for fast math `fp_read_unsigned_bin` function to check max size
2017-07-13 09:27:02 -06:00
David Garske
d559eb0f4f Fix for fast math fp_read_unsigned_bin function to check max and correctly set a->used (is handled in fp_mul_2d). 2017-07-12 16:39:26 -07:00
Chris Conlon
43260f02f4 Merge pull request #1020 from toddouska/null
add NULL checks to check_domain_name()
2017-07-12 14:58:07 -07:00
toddouska
b12e3c6579 Merge pull request #1019 from JacobBarthelmeh/Testing
update AES CTR API with ARMv8 port
2017-07-12 15:57:25 -06:00
Jacob Barthelmeh
c4fe67b633 build for ed25519 only 2017-07-12 15:53:11 -06:00
JacobBarthelmeh
b4f9c46069 Merge pull request #1011 from dgarske/fixes_armv8
Fixes for building ARMv8 (--enable-armasm)
2017-07-12 15:44:31 -06:00
toddouska
19787e6d4f don't treat peer closed / zero return as hard error in example servers 2017-07-12 14:15:16 -06:00
David Garske
c777097e54 Fix wc_AesGcmDecrypt arg check for authIn. 2017-07-12 09:49:27 -07:00
toddouska
b02c995fff add NULL checks to check_domain_name() 2017-07-12 10:16:31 -06:00
David Garske
5bb8de627e Fixes based on peer review (thanks). 2017-07-12 09:04:10 -07:00
toddouska
43ad30d364 Merge pull request #1016 from dgarske/fix_harden
Warn if hardening options are not defined and not disabled using `WC_NO_HARDEN`
2017-07-12 09:27:32 -06:00
toddouska
dc5e6f789d Merge pull request #1017 from dgarske/bigend
Fix for big endian seg fault in `SendCertificateVerify`
2017-07-12 09:25:25 -06:00
Jacob Barthelmeh
9d7e8a83c9 update AES CTR API with ARMv8 port 2017-07-11 17:13:32 -06:00
toddouska
7853440d89 Merge pull request #1015 from dgarske/config_ignore_cleanup
Improve the Git ignore formula for `config`
2017-07-11 15:42:08 -07:00
toddouska
3ff088b92f Merge pull request #1014 from dgarske/atecc508a
Fixes for building with ATECC508A
2017-07-11 15:41:05 -07:00
jrblixt
00724c95a9 Add RSA to unit test. 2017-07-11 09:57:33 -06:00
Chris Conlon
f8c0a52170 Merge pull request #996 from jrblixt/unitTest_api_addAes-PR06152017
Unit test api add AES.
2017-07-11 08:36:13 -07:00
David Garske
69e9aa29f2 Fix for big endian platform in SendCertificateVerify where seg fault occurred due to passing a int pointer to a word16 pointer, which caused wrong bits to get set. Fix to replace int with word16. Tests pass now. Also searched for other (word16*)& scenarios and only other place was in ntru code, which was also fixed. 2017-07-10 20:00:37 -07:00
David Garske
a5cdbb18cb Reworked the AES Key Wrap to use existing code in aes.c (instead of duplicating code in armv8-aes.c). Cleanup for GE/FE math on 32-bit to remove duplicate #ifdef check. Fixed AES GCM arg check for authIn to allows NULL. 2017-07-10 19:12:41 -07:00
David Garske
792fcefbb7 Fix to not warn about WC_RSA_BLINDING in FIPS mode. Add WC_RSA_BLINDING to Windows user_settings.h. 2017-07-10 18:41:22 -07:00
David Garske
171796e8e2 Fix up for building without ./configure to warn if hardening options are not enabled. Currently ./configure defaults to --enable-harden, but if building sources directly and using settings.h or user_settings.h the hardening defines will not be set by default. If a user wants to use without hardening they can suppress the warning by defining WC_NO_HARDEN. 2017-07-10 14:40:07 -07:00
David Garske
cebcee34dd Improve the Git ignore formula for config. Fixes issue #1012. 2017-07-10 14:21:19 -07:00
dgarske
f9c949e7e5 Merge pull request #871 from danielinux/rm-wolfssl.pc
Remove automatically generated file wolfssl.pc
2017-07-10 14:16:48 -07:00
David Garske
58c05123da Fixes for building with ATECC508A. Allow ECC check key to pass if slot numb is valid. 2017-07-10 11:07:24 -07:00
David Garske
205da48416 Fixes for building ARMv8. Adds missing SHA224 and AES KeyWrap. Fixes for FE/GE warning with Aarch32. Fix possible build error with ed25519_test with ret not defined. 2017-07-07 15:12:51 -07:00
toddouska
b6854d620f Merge pull request #1009 from dgarske/fix_tls13_async_aes
Fix problem with async TLS 1.3 and raw AES encryption key change
2017-07-06 15:39:22 -07:00
toddouska
626eeaa63d Merge pull request #1005 from SparkiDev/nginx-1.13.2
Changes for Nginx
2017-07-06 14:33:46 -07:00
jrblixt
ced45ced41 Changes requested by Chris. 2017-07-06 13:42:54 -06:00
Sean Parkinson
31ac379c4f Code review fixes
Change verify depth and set curve to be compiled in whe using:
OPENSSL_EXTRA
Fix comparison of curve name strings to use ecc function.
Fix verify depth check when compiling with both OPENSSL_EXTRA and
WOLFSSL_TRUST_PEER_CERT.
2017-07-06 15:32:34 +10:00
toddouska
4b9069f786 Merge pull request #1008 from dgarske/fix_async_frag
Fixes for using async with max fragment
2017-07-05 11:00:26 -07:00
toddouska
e767d40656 Merge pull request #1006 from cconlon/mqx
Update MQX Classic, mmCAU Ports
2017-07-05 10:30:20 -07:00
David Garske
df119692d1 Fixes for using async with HAVE_MAX_FRAGMENT or --enable-maxfragment which affected TLS 1.2/1.3. Added TLS 1.2 test for using max fragment. 2017-07-03 19:57:37 -07:00
Sean Parkinson
5bddb2e4ef Changes for Nginx
Support TLS v1.3 clients connecting to Nginx.
Fix for PSS to not advertise hash unless the signature fits the private
key size.
Allow curves to be chosen by user.
Support maximum verification depth (maximum number of untrusted certs in
chain.)
Add support for SSL_is_server() API.
Fix number of certificates in chain when using
wolfSSL_CTX_add_extra_chain_cert().
Allow TLS v1.2 client hello parsing to call TLS v1.3 parsing when
SupportedVersions extension seen.
Minor fixes.
2017-07-04 09:37:44 +10:00
toddouska
2939fbe242 Merge pull request #1004 from dgarske/fix_qat_dh
Fixes for QAT with DH and HMAC
2017-07-03 12:31:48 -07:00
Moisés Guimarães
1729e0205f reads _CADATA from file 2017-07-03 12:39:42 -03:00
Moisés Guimarães
54177c14b4 imports certs from ./certs 2017-07-03 12:31:47 -03:00
Moisés Guimarães
bba3fcf772 removes certs 2017-07-03 12:22:22 -03:00
David Garske
c9a2c4ef02 Fix problem with async TLS 1.3 with hardware where encryption key is referenced into ssl->keys and changes before it should be used. Solution is to make raw copy of key and IV for async AES. 2017-06-30 16:41:01 -07:00
David Garske
6a695b76cb Fixed server side case for DH agree issue with QAT hardware where agreeSz is not set. Fix to allow QAT start failure to continue (this is useful since only one process can use hardware with default QAT configuration). 2017-06-30 11:48:59 -07:00
David Garske
a025417877 Fix issue with QAT and DH operations where key size is larger than block size. Fix issue with DhAgree in TLS not setting agreeSz, which caused result to not be returned. Renamed the internal.c HashType to HashAlgoToType static function because of name conflict with Cavium. Optimize the Hmac struct to replace keyRaw with ipad. Enable RNG HW for benchmark. Fixed missing AES free in AES 192/256 tests. 2017-06-30 11:35:51 -07:00
JacobBarthelmeh
a3375ef961 Merge pull request #997 from NickolasLapp/master
Updates to Linux-SGX README, and disable automatic include of
2017-06-30 11:48:12 -06:00
dgarske
d956181911 Merge pull request #1003 from jrblixt/asn_cMemLeak-fix
Fix possible memory leak in wc_SetKeyUsage.
2017-06-29 15:28:53 -07:00
jrblixt
baf6bdd6e1 asn.c memory leak fix. 2017-06-29 14:55:19 -06:00
toddouska
31e1d469c0 Merge pull request #1002 from SparkiDev/tls13_imprv
Improvements to TLS v1.3 code
2017-06-29 09:21:20 -07:00
Chris Conlon
bba914f92e protect wolfSSL_BN_print_fp with NO_STDIO_FILESYSTEM 2017-06-29 08:52:45 -06:00
Sean Parkinson
d2ce95955d Improvements to TLS v1.3 code
Reset list of supported sig algorithms before sending certificate
request on server.
Refactored setting of ticket for both TLS13 and earlier.
Remember the type of key for deciding which sig alg to use with TLS13
CertificateVerify.
RSA PKCS #1.5 not allowed in TLS13 for CertificateVerify.
Remove all remaining DTLS code as spec barely started.
Turn off SHA512 code where decision based on cipher suite hash.
Fix fragment handling to work with encrypted messages.
Test public APIS.
2017-06-29 09:00:44 +10:00
Chris Conlon
c099137450 add classic Kinetis mmCAU support, FREESCALE_USE_MMCAU_CLASSIC 2017-06-28 16:32:35 -06:00
Chris Conlon
15a1c9d48e fixes for MQX classic with Codewarrior 2017-06-28 12:28:40 -06:00
Chris Conlon
a89e50b7b7 include settings.h in wc_port.h to pick up user_settings.h 2017-06-28 12:25:44 -06:00
toddouska
c748d9dae9 Merge pull request #998 from dgarske/fix_no_server_or_client
Fix build with either `NO_WOLFSSL_SERVER` or `NO_WOLFSSL_CLIENT` defined
2017-06-28 10:30:08 -07:00
toddouska
b29cd414ef Merge pull request #995 from SparkiDev/tls13_cookie
Add TLS v1.3 Cookie extension support
2017-06-28 10:12:49 -07:00
David Garske
47cc3ffdbc Fix build with either NO_WOLFSSL_SERVER or NO_WOLFSSL_CLIENT defined. 2017-06-26 23:05:32 -07:00
Sean Parkinson
7aee92110b Code review fixes
Also put in configuration option for sending HRR Cookie extension with
state.
2017-06-27 08:52:53 +10:00
Sean Parkinson
9ca1903ac5 Change define name for sending HRR Cookie 2017-06-27 08:37:55 +10:00
Nickolas Lapp
d4e104231c Updates to Linux-SGX README, and disable automatic include of
benchmark/wolfcrypt tests in static library compile
2017-06-26 14:55:13 -07:00
jrblixt
a3b21f0394 Aes unit test functions. 2017-06-26 15:16:51 -06:00
Sean Parkinson
8bd6a1e727 Add TLS v1.3 Cookie extension support
Experimental stateless cookie
2017-06-26 16:41:05 +10:00
JacobBarthelmeh
3bdf8b3cfd remove fcntl.h include when custom generate seed macro is defined (#994) 2017-06-23 14:03:07 -07:00
Kincade Pavich
fbc4123ec0 Added -x option to allow example server to continue running when errors occur. 2017-06-22 21:19:59 -07:00
toddouska
8ef556c2a0 Merge pull request #991 from JacobBarthelmeh/Testing
update .am files for make dist
2017-06-22 15:02:12 -07:00
Jacob Barthelmeh
b0f87fdcf7 update .am files for make dist 2017-06-22 14:14:45 -06:00
toddouska
72da8a9a07 Merge pull request #731 from moisesguimaraes/fixes-ocsp-responder
adds OCSP Responder extKeyUsage validation
2017-06-22 11:43:51 -07:00
toddouska
d017274bff Merge pull request #976 from levi-wolfssl/PemToDer-overflow-fix
Fix potential buffer over-read in PemToDer()
2017-06-22 10:07:11 -07:00
David Garske
3a4edf75bd Rename the option to disable the new issuer sign check to ‘WOLFSSL_NO_OCSP_ISSUER_CHECK`. 2017-06-22 09:56:43 -07:00
dgarske
06fa3de31c Merge pull request #980 from SparkiDev/tls13_0rtt
TLS v1.3 0-RTT
2017-06-22 09:44:41 -07:00
Chris Conlon
ccb8e8c976 Merge pull request #988 from jrblixt/unitTest_api_addArc4-PR06212017
Add Arc4 to unit test.
2017-06-22 09:15:28 -06:00
Sean Parkinson
207b275d24 Fix HelloRetryRequest for Draft 18 2017-06-22 14:40:09 +10:00
Sean Parkinson
08a0b98f52 Updates from code review 2017-06-22 12:40:41 +10:00
Levi Rak
a37808b32c Sanity checkes added 2017-06-21 17:14:20 -06:00
jrblixt
1aee054902 Add Arc4 to unit test. 2017-06-21 17:03:27 -06:00
David Garske
a3578c6643 Adds WOLFSSL_NO_OCSP_EXTKEYUSE_OCSP_SIGN option to provide backwards compatibility option for OCSP checking. 2017-06-21 14:12:12 -07:00
David Garske
7a3769f435 Fix wolfCrypt errors test to allow -178. 2017-06-21 14:12:12 -07:00
Moisés Guimarães
4bb17205fe adds new ocsp test 2017-06-21 14:12:12 -07:00
Moisés Guimarães
a9d5dcae58 updates ocsp tests; adds check for OCSP response signed by issuer. 2017-06-21 14:12:12 -07:00
Moisés Guimarães
42a2f5858e adds OCSP Responder extKeyUsage validation 2017-06-21 14:12:12 -07:00
toddouska
9ead657723 Merge pull request #989 from dgarske/testing
Fixes for CRL handling and possible false failure in `wolfSSL_CTX_load_verify_locations`
2017-06-21 14:10:49 -07:00
toddouska
cd570a01f2 Merge pull request #975 from dgarske/ed_curve_small
Allow different Ed25519/Curve25519 math versions
2017-06-21 13:00:33 -07:00
Levi Rak
247388903b Remove double cast + move min() calls 2017-06-21 13:56:34 -06:00
David Garske
fec75e445e Fix for build error in master from QAT fixes in PR #967. Odd that this build error didn’t show up till just now. 2017-06-21 12:52:03 -07:00
Kaleb Himes
64873489ef Merge pull request #977 from cconlon/cms
add PKCS7/CMS decode support for KARI with IssuerAndSerialNumber
2017-06-21 11:54:20 -06:00
David Garske
d75a9f2436 Fix for wc_ReadDirFirst to return non-zero value if no files found. Fix for wolfSSL_CTX_load_verify_locations to not return failure due to wc_ReadDirNext “no more files” -1 response. 2017-06-21 10:36:49 -07:00
David Garske
2f9f746053 Fix for CRL serial number matching to also check length. Fix for testing the verify callback override ‘-j’ to not enable CRL since the CA’s are not loaded for this test. 2017-06-21 10:36:49 -07:00
David Garske
0fa99fcc2e Fix for openssl script test reporting ./scripts/openssl.test: line 219: psk: command not found. 2017-06-21 10:36:49 -07:00
David Garske
3e06beac19 Additional edge case build error with 32-bit and small where int32_t not defined due to stdint.h not being included. 2017-06-21 10:13:20 -07:00
Chris Conlon
c183e03802 Merge pull request #986 from jrblixt/unitTest_api_addRabbit-PR06192017
Add Rabbit unit test functions.
2017-06-21 10:45:41 -06:00
Sean Parkinson
decdf7ae8b Cleanup 2017-06-21 16:56:51 +10:00
Sean Parkinson
1549a60aa5 Put back Draft 18 code 2017-06-21 08:35:28 +10:00
Sean Parkinson
350ce5fcef TLS v1.3 0-RTT 2017-06-21 08:35:28 +10:00
Kaleb Himes
97906bfdb2 Merge pull request #982 from JacobBarthelmeh/Testing
set return code to TEST_SUCCESS on successful connection
2017-06-20 16:21:50 -06:00
toddouska
8b637cbd1b Merge pull request #967 from dgarske/fix_qat
Fixes and Improvements for Intel QuickAssist
2017-06-20 14:49:56 -07:00
toddouska
a555b5e54a Merge pull request #987 from SparkiDev/nginx_fix
Fix for Nginx - return specific error when at end of file
2017-06-20 14:28:34 -07:00
jrblixt
c14e2d5888 Add Rabbit unit test functions. 2017-06-20 15:16:12 -06:00
Daniele Lacamera
6e6b341b46 Removed automatically generated file wolfssl.pc 2017-06-20 10:39:02 +02:00
Sean Parkinson
d5b1698c43 Fix for Nginx - return specific error when at end of file 2017-06-20 09:27:24 +10:00
David Garske
4950c644cd Fix edge case on 32-bit with ED small only. 2017-06-19 10:15:05 -07:00
David Garske
7fdb7037d8 Fixes for building Ed/Curve for building on 32/64 bit with uint64_t. Fixes for build with Ed/Curve with ECC disabled. 2017-06-19 10:09:12 -07:00
Chris Conlon
2a688bf905 Merge pull request #972 from jrblixt/unitTest_api_addCamellia-PR06142017
Add Camellia unit test functions.
2017-06-19 09:33:19 -06:00
Jacob Barthelmeh
c118146803 set return code to TEST_SUCCESS on successful connection 2017-06-19 09:26:16 -06:00
David Garske
ee83710a0a Fix for building only curve small and ed disabled. Fix for client assuming supported curves is enabled with curve. 2017-06-16 16:17:01 -07:00
jrblixt
6a2824f199 Add Camellia unit test functions.. 2017-06-16 16:27:03 -06:00
Chris Conlon
e0e8d14630 Merge pull request #970 from jrblixt/unitTest_api_addChacha-PR06142017
Add ChaCha unit test functions.
2017-06-16 16:15:39 -06:00
Chris Conlon
816b0b058c add PKCS7/CMS decode support for KARI with IssuerAndSerialNumber 2017-06-16 15:16:32 -06:00
jrblixt
43d6b7a145 Add ChaCha unit test functions. 2017-06-16 13:00:17 -06:00
Levi Rak
17936d65e0 please Jenkins + a bit of cleanup 2017-06-16 12:27:59 -06:00
dgarske
2f36b24796 Merge pull request #973 from JacobBarthelmeh/Testing
add sanity check for wolfSSL_X509_NAME_oneline function
2017-06-16 10:54:02 -07:00
Levi Rak
4389d271cc Fixed potential buffer overflows when configured with --enable-opensslextra 2017-06-16 11:02:06 -06:00
David Garske
3c173ba366 Enhancement to support different sized Curve/Ed math library implementations for FE/GE. Remains backwards compatible with CURVED25519_SMALL define. Adds new defines CURVE25519_SMALL and ED25519_SMALL to allow individual enabling of math library choice (_low_mem or _operations). Example: ./configure --enable-ed25519=small --enable-curve25519. 2017-06-16 09:41:10 -07:00
Chris Conlon
e6f0ee84ec Merge pull request #971 from jrblixt/unitTest_api_addIdea-PR06142017
Add IDEA unit test functions.
2017-06-15 13:12:52 -06:00
Jacob Barthelmeh
bb6582896d add sanity check for wolfSSL_X509_NAME_oneline function 2017-06-15 11:55:37 -06:00
jrblixt
d5a43af751 Code review changes. Reviewer: Chris. 2017-06-15 11:12:01 -06:00
dgarske
1d303f5f61 Merge pull request #966 from cconlon/ecc_asn
fix wc_EccPrivateKeyDecode when pub exists
2017-06-15 08:42:09 -07:00
jrblixt
25ce52cd0c Add IDEA unit test functions. 2017-06-14 23:43:00 -06:00
dgarske
2b085351b6 Merge pull request #968 from JacobBarthelmeh/Testing
silence "may be used uninitialized" warning
2017-06-14 18:05:45 -07:00
toddouska
55d421d8b6 Merge pull request #964 from SparkiDev/ecc_priv_only
Ecc priv only
2017-06-14 16:42:24 -07:00
Jacob Barthelmeh
e1fef39aa2 silence "may be used uninitialized" warning 2017-06-14 16:58:22 -06:00
David Garske
f008350afd Added QAT DRBG support. 2017-06-14 15:45:34 -07:00
David Garske
73567853d3 Fix possible memory leak in DSA and ECC (mp_clear should always be called since async was implemented… even for fast math). Fix dynamic type mismatch in PKCS7. 2017-06-14 15:11:43 -07:00
David Garske
68439d4317 Completed refactor to cleanup dynamic types. Refined the tmp buffers to new types for more granularity. Fixed several places where malloc/free type was mis-matched. Cleanup of the PKCS12 code to improve cleanup handling. Fix wc_PKCS12_parse to return 0 on success else failure. 2017-06-14 15:11:43 -07:00
David Garske
88afc7a92f Progress on dynamic type cleanup for over-use of tmp_buffer. Increases performance on NUMA memory platform having ability to be more selective about the types that are NUMA allocated for use against QuickAssist hardware. 2017-06-14 15:11:43 -07:00
David Garske
40d94724eb Added async hardware support for p_hash (PRF). Fix BuildTls13HandshakeHmac to use async devId. Rename poor global variable names for rng with QSH/NTRU. 2017-06-14 15:11:43 -07:00
David Garske
131ccf289f Disable large alloc scrypt test. Fix unused ret warning in DH key gen from prev change. 2017-06-14 15:11:43 -07:00
David Garske
a77f9fe3e6 Fix for DH so software math is used if prime is under 768 bits. 2017-06-14 15:11:43 -07:00
toddouska
b778ddfea2 Merge pull request #957 from SparkiDev/tls13_updates
Tls13 updates
2017-06-14 14:59:11 -07:00
JacobBarthelmeh
c283d4aece Merge pull request #962 from NickolasLapp/linux-sgx
Add LINUX SGX Support for building of wolfSSL static library. See README
2017-06-14 15:56:30 -06:00
toddouska
70eddc4336 Merge pull request #965 from cconlon/threadx
ThreadX/NetX warning and optional dc_log_printf exclusion
2017-06-14 14:56:12 -07:00
Chris Conlon
ff48d19727 fix wc_EccPrivateKeyDecode when pub exists 2017-06-14 14:49:52 -06:00
Sean Parkinson
89e6ac91bf Improve PSK timeout checks
Post-handshake Authentication

Fix KeyUpdate to derive keys properly

Fix supported curves (not checking ctx extensions)
2017-06-14 11:28:53 -07:00
toddouska
6d5c257010 Merge pull request #963 from dgarske/fix_tls13_options
Fixes for TLS 1.3 without ECC or RSA
2017-06-14 11:19:14 -07:00
Chris Conlon
ea9e4887e9 ThreadX/NetX warning and optional dc_log_printf exclusion 2017-06-14 11:12:27 -06:00
Nickolas Lapp
1e94868432 Add LINUX SGX Support for building of wolfSSL static library. See README
in IDE/LINUX-SGX/README.md.
2017-06-13 17:34:45 -07:00
Sean Parkinson
13c4fe6cc4 Add test 2017-06-14 09:44:26 +10:00
Sean Parkinson
62ae1d3023 Fix for private key only ECC key. 2017-06-14 09:33:27 +10:00
toddouska
19f22edd9a Merge pull request #949 from cconlon/string_abstraction
Fix mystrnstr() prototype declaration
2017-06-13 16:06:31 -07:00
Chris Conlon
1ddd6fd3fe Merge pull request #933 from jrblixt/unitTest_api_add3des
Add 3Des to unit test.
2017-06-13 15:35:54 -06:00
dgarske
189d579bec Merge pull request #960 from levi-wolfssl/void
Add void to function prototype.
2017-06-13 13:58:34 -07:00
jrblixt
76aa1f855f Merge branch 'masterB' of https://github.com/jrblixt/wolfssl into unitTest_api_add3des-cpy 2017-06-13 14:06:30 -06:00
jrblixt
0ef1129f18 Changes WRT small stack. 2017-06-13 13:44:06 -06:00
Chris Conlon
042ee817f3 Merge pull request #757 from moisesguimaraes/updates-wolfcrypt-py-docs
Removes 3DES from the wolfCrypt Python docs
2017-06-13 10:55:21 -06:00
Chris Conlon
048b074894 Merge pull request #932 from jrblixt/unitTest_api_addHmac-mergeWolfMaster
Add HMAC test functions to unit test.
2017-06-13 10:53:09 -06:00
David Garske
adf819458c Fixes for TLS 1.3 without ECC or RSA. Fix for building without ECC where HAVE_SUPPORTED_CURVES was getting defined because of ENABLED_TLSX. 2017-06-13 09:44:14 -07:00
toddouska
a18e9a220f Merge pull request #956 from dgarske/fix_tls13_async
Fixes for asynchronous TLS 1.3
2017-06-13 08:08:34 -07:00
David Garske
af2cbcdbab Added new arg documentation for asyncOkay in doxygen style. 2017-06-12 11:42:48 -07:00
David Garske
ce231e0cbc Fixes for asynchronous TLS 1.3. Fixes for PK_CALLBACKS with async. New helper API's for wolfSSL_CTX_GetDevId and wolfSSL_CTX_GetHeap. Fix for build to not include tls13.c if not enabled to suppress empty object file warning. Fix typo in fe_low_mem.c. General cleanup. Extra tls13.c debug messages. 2017-06-12 11:42:48 -07:00
toddouska
1d2b4226a4 Merge pull request #959 from SparkiDev/tls_pss_fix
Fix check for PSS availability in peer
2017-06-12 11:20:29 -07:00
toddouska
894f4f6fa5 Merge pull request #954 from jrblixt/asn_cSetKeyUsage-fix
Fix wc_SetKeyUsage() value error.
2017-06-12 10:48:56 -07:00
toddouska
0fcd1617eb Merge pull request #952 from JacobBarthelmeh/Testing
sanity check on build with ECC or RSA
2017-06-12 10:47:53 -07:00
toddouska
7cc455259e Merge pull request #941 from SparkiDev/ed25519
ED25519 with certificates and TLS
2017-06-12 10:47:21 -07:00
Levi Rak
267753acdd add void to function prototype 2017-06-12 10:28:10 -06:00
Sean Parkinson
8dbd9a88ee Fix for CCM - TLS v1.3 needs all nonce/IV bytes 2017-06-12 14:21:43 +10:00
Sean Parkinson
044417ba01 Fix for cache only SNI and TLS v1.3 2017-06-12 09:46:50 +10:00
Sean Parkinson
fdcf25b6d1 Fix check for PSS availability in peer 2017-06-12 09:05:32 +10:00
dgarske
c70fa33094 Merge pull request #958 from kaleb-himes/OPENSSL_EVP
Fix compile time Error with openssl extra and cryptonly
2017-06-09 11:12:36 -07:00
kaleb-himes
86809cca74 Fix compile time warning with openssl extra and cryptonly 2017-06-08 20:14:15 -06:00
dgarske
90287c8857 Merge pull request #955 from kaleb-himes/ARG-ERR
Fix compile error, too many args with --enable-wpas
2017-06-08 14:59:55 -07:00
kaleb-himes
a00165768c Fix compile error, too many args with --enabl-wpas 2017-06-08 13:34:44 -06:00
Sean Parkinson
3429b5a3b5 Rework CheckPrivateKey 2017-06-08 09:26:49 +10:00
Sean Parkinson
1db52f0c04 Fix to use different PEM header for EDDSA keys
Include new cert and key files in distribution
Fix compile issue when only doing TLS13.
2017-06-08 09:26:49 +10:00
Sean Parkinson
a30e8eb4ad Fix for benchmarking X25519 2017-06-08 09:26:49 +10:00
Sean Parkinson
1bc862ae24 Ed25519 testing in test.c 2017-06-08 09:26:49 +10:00
Sean Parkinson
613d30bcae ED25519 TLS support 2017-06-08 09:26:49 +10:00
Sean Parkinson
4beda52dcd Ed25519 Certificates 2017-06-08 09:26:49 +10:00
toddouska
1be0b2aa30 Merge pull request #953 from SparkiDev/tls13_psk
External PSK working in TLS13
2017-06-07 13:58:03 -07:00
John Blixt
2c84eee2df Fix wc_SetKeyUsage() value error. 2017-06-07 13:58:13 -06:00
Sean Parkinson
5d5ff56336 External PSK working in TLS13 2017-06-07 17:20:22 +10:00
toddouska
26f106c42b Merge pull request #948 from SparkiDev/tls13_down
Implement TLS v1.3 specified downgrade protection mechanism
2017-06-05 16:17:49 -07:00
Jacob Barthelmeh
63c85f72d2 sanity check on build with ECC or RSA 2017-06-05 15:21:34 -06:00
toddouska
af03b7a4ff Merge pull request #944 from SparkiDev/tls13_20
Updates for Draft 20 of TLS v1.3
2017-06-05 14:06:09 -07:00
toddouska
026a95ff10 Merge pull request #950 from dgarske/fix_ocsp_crl
Fixes for OCSP and CRL with non-blocking sockets
2017-06-05 13:59:36 -07:00
Sean Parkinson
642795db1b Implement TLS v1.3 specified downgrade protection mechanism
TLS v1.2 implementations whould implement the downgrade protection
mechanism too and so is included.
2017-06-05 09:18:46 +10:00
David Garske
c55575665f Cleanup to use WANT_READ instead of async WC_PENDING_E for non-blocking OCSP and CRL. 2017-06-02 10:35:26 -07:00
toddouska
c3d29ddfe3 Merge pull request #946 from SparkiDev/jenkins
Fix NO_DH build issue
2017-06-02 09:46:55 -07:00
David Garske
b3a85bc2c7 Fixes for OCSP and CRL with non-blocking sockets. Fix for OCSP and CRL file descriptor check to allow 0. 2017-06-02 09:36:35 -07:00
Chris Conlon
3df565475a protect mystrnstr prototype with WOLFSSL_LEANPSK instead of STRING_USER 2017-06-02 09:26:40 -06:00
Sean Parkinson
0b32d0368f Updates for Draft 20 of TLS v1.3 2017-06-02 15:59:49 +10:00
Sean Parkinson
6b34a94589 Fix NO_DH build issue 2017-06-01 11:56:53 +10:00
Moisés Guimarães
7a52b5b394 fixes makefiles and requiremets 2017-05-29 20:44:28 -03:00
Moisés Guimarães
38c6d2e3eb Merge pull request #737 from embray/patch-1
wolfcrypt Python: work around minor issue in Random.__del__
2017-05-29 20:19:21 -03:00
toddouska
320ad56139 Merge pull request #939 from dgarske/fixes_async
Fixes for build with async
2017-05-26 17:04:57 -07:00
toddouska
c0408aebb4 Merge pull request #938 from dgarske/fix_asn_noocspoptcert
Fixes for OCSP workaround for incomplete cert chain
2017-05-26 17:02:31 -07:00
jrblixt
e345471b21 Logical error fix. 2017-05-26 13:27:27 -06:00
David Garske
a0345f6ba9 Fix for building without WOLFSSL_NO_TRUSTED_CERTS_VERIFY. 2017-05-26 10:53:42 -07:00
David Garske
53021a5df7 Increased security for WOLFSSL_NO_TRUSTED_CERTS_VERIFY workaround so it only applies to OCSP. Fix for the workaround to still return date or parsing errors. 2017-05-26 10:01:42 -07:00
jrblixt
1c0006882a Remove AssertIntEq from within function. 2017-05-26 09:44:12 -06:00
toddouska
a44df73151 Merge pull request #937 from SparkiDev/sha3
Initial revision of SHA-3
2017-05-25 10:48:28 -07:00
Sean Parkinson
7ef5aeaf13 Fixes from review and tidy up code. 2017-05-25 09:09:50 +10:00
Sean Parkinson
4134073c8d Initial revision of SHA-3 2017-05-25 09:09:50 +10:00
jrblixt
0e22752af4 Jenkins fixes. 2017-05-24 16:32:21 -06:00
jrblixt
47b0a62c88 Hmac unit test functions ready for PR. 2017-05-24 16:32:17 -06:00
jrblixt
edddd05226 Changes per Chris. 2017-05-24 11:50:18 -06:00
jrblixt
4d458831b7 Jenkins fixes. 2017-05-24 11:50:18 -06:00
jrblixt
b47fca5760 Patched and Clean up for PR. 2017-05-24 11:50:13 -06:00
Chris Conlon
60c51db831 Merge pull request #928 from jrblixt/unitTest_api_sha224-RipeMd
Add sha224 RipeMd to unit test
2017-05-24 09:00:35 -06:00
David Garske
c1664bd1a0 Fixes for async with benchmark tool. 2017-05-23 15:41:42 -07:00
David Garske
64de29f277 Fix for wolfCrypt test with enable-all and asynccrypt. 2017-05-23 15:23:58 -07:00
toddouska
77dbf539c8 Merge pull request #934 from JacobBarthelmeh/mysql
some MYSQL updates for cmake and with sun 64 bit
2017-05-23 15:01:39 -07:00
David Garske
720f3fdad2 Fixed a few minor build errors with async enabled. 2017-05-23 15:00:55 -07:00
toddouska
d2b6ab0796 Merge pull request #935 from JacobBarthelmeh/Testing
remove size_t dependency with default build
2017-05-23 14:58:50 -07:00
toddouska
6b09a7c6e1 Merge pull request #922 from SparkiDev/tls_pss
TLS v1.2 and v1.3 RSA PSS
2017-05-23 14:57:10 -07:00
David Garske
1880677232 Disable wc_scrypt tests that use high memory for BENCH_EMBEDDED. 2017-05-23 14:42:19 -07:00
jrblixt
fc5a37ac02 Changes per Chris. 2017-05-23 10:01:31 -06:00
toddouska
9f5f1dd00f Merge pull request #936 from SparkiDev/cplusplus
Compiling with g++ when configured with --enable-distro
2017-05-22 16:02:56 -07:00
toddouska
19edd47018 Merge pull request #917 from SparkiDev/tls_curve25519
Enable X25519 for Key Exchange in TLS
2017-05-22 16:00:00 -07:00
Sean Parkinson
47d04ebaff Fix from review. 2017-05-23 08:54:25 +10:00
toddouska
c85d07a49d Merge pull request #929 from dgarske/fix_asn_perm_dirname
Fix for parsing permitted name constraint for subject directory name
2017-05-22 09:55:49 -07:00
toddouska
a8f08d1d70 Merge pull request #807 from kojo1/AES-GCM-stm32f4
Fixes for STM32F4 AES GCM
2017-05-22 09:53:53 -07:00
toddouska
0e860b0d55 Merge pull request #925 from dgarske/enable_all
Added new `./configure --enable-all` option to enable all features
2017-05-22 09:22:50 -07:00
Sean Parkinson
15a2323c09 Compiling with g++ when configured with --enable-distro 2017-05-22 10:14:02 +10:00
Sean Parkinson
6c6069bed8 Fixes from review 2017-05-22 09:47:45 +10:00
Sean Parkinson
8920cd89e4 Fixes from review 2017-05-22 09:09:31 +10:00
dgarske
570c3f02b8 Merge pull request #931 from JacobBarthelmeh/Memory
add trackmemory enable option
2017-05-19 17:21:56 -07:00
Jacob Barthelmeh
398c27d848 remove size_t dependency with default build 2017-05-19 16:16:08 -06:00
Jacob Barthelmeh
b6c2e2acf9 require using wolfSSL memory when enabling trackmemory 2017-05-19 15:24:38 -06:00
David Garske
184e9c4090 Fix typo from intermediate change for unaligned CBC fixes. Thanks Nick. 2017-05-19 14:10:50 -07:00
David Garske
a616513860 Added support for AES GCM with STM32F2/STM32F4 using Standard Peripheral Library and CubeMX. Added AES ECB Decrypt for Standard Peripheral Library. Fixes for wolfCrypt test with STM32 crypto hardware for unsupported tests (AES CTR plus 9 and AES GCM with IV != 12). Improve AES CBC for STM32 to handle block aligned only. Added IDE example for SystemWorkbench for STM32 (Open STM32 tools) IDE. 2017-05-19 11:15:46 -07:00
David Garske
0a28b76e8b Refactor of the ./configure help to use AS_HELP_STRING. 2017-05-19 10:54:13 -07:00
David Garske
1cf3530124 Fix for building with WOLFSSL_NO_OCSP_OPTIONAL_CERTS defined. 2017-05-19 09:59:03 -07:00
toddouska
bdaa827114 Merge pull request #927 from dgarske/fix_nxp_ltc
Build fixes for NXP KSDK with MMCAU / LTC after Hexiwear changes
2017-05-19 08:49:54 -07:00
toddouska
7f01aa917a Merge pull request #930 from dgarske/fix_win
Fixes for building AES key wrap and PKCS7 on Windows
2017-05-19 08:16:21 -07:00
Sean Parkinson
4390f4c711 TLS v1.2 and PSS
Cleanup the TLS v1.3 PSS code as well.
Added RSA API wc_RsaPSS_CheckPadding() to check the padding - no longer
a simple memcmp with the digest.
2017-05-19 11:49:43 +10:00
Sean Parkinson
5ef977aa3d Put X25519 behind P256
Option to have X25519 prioritized.
Show curve name and DH key size in TLS v1.3.
2017-05-19 10:58:43 +10:00
toddouska
7f350a726b Merge pull request #926 from dgarske/bench_block_size
Added argument for benchmark block size
2017-05-18 16:45:00 -07:00
toddouska
452e057dbf Merge pull request #919 from dgarske/bshg
Add `WOLFSSL_NO_TRUSTED_CERTS_VERIFY` option
2017-05-18 16:44:14 -07:00
toddouska
c3a7497562 Merge pull request #923 from JacobBarthelmeh/staticmemory
updated static memory feature with pkcs7
2017-05-18 16:42:21 -07:00
Jacob Barthelmeh
4737b97503 add trackmemory enable option 2017-05-18 16:46:56 -06:00
David Garske
cbb2c73828 Improve NXP MMCAU/LTC AES CBC handling for unaligned sizes. Cleanup formatting in a few places. 2017-05-18 15:04:01 -07:00
David Garske
d61e0243a3 Fixes for building AES key wrap and PKCS7 on Windows. Cleanup snprintf to use XSNPRINTF and changed so define is always setup. 2017-05-18 14:44:19 -07:00
David Garske
36e1fb5e5b Fix for parsing permitted name constraint for subject directory name. Cleanup to use switch in ConfirmNameConstraints. 2017-05-18 14:06:56 -07:00
Jacob Barthelmeh
09ca962d66 use LP64 for CPU arch type when sun or __sun is defined 2017-05-18 14:39:26 -06:00
Jacob Barthelmeh
2086394a35 compatibility of get cipher list function and update cmake files 2017-05-18 14:36:34 -06:00
jrblixt
77ac61c0f4 Prepare for PR Add Sha224 and RipeMd to unit test. 2017-05-18 13:08:25 -06:00
David Garske
30db8e95a7 Build fixes for KSDK NXP MMCAU / LTC after Hexiwear changes. 2017-05-18 11:52:20 -07:00
David Garske
48895cf03b Added argument for benchmark block size. Usage: ./wolfcrypt/benchmark/benchmark 128. Automatic calculation for showing as bytes, KB or MB. 2017-05-18 11:24:32 -07:00
David Garske
7bd1e0b80a Added new ./configure --enable-all option to enable all features. Allows building all features without using the --enable-distro option, which only allows shared build and does not generate an options.h file. 2017-05-18 10:57:28 -07:00
David Garske
c5cc9f5392 Patch from customer that adds new WOLFSSL_NO_TRUSTED_CERTS_VERIFY option to load CA using subject and match using publicKey. This is a workaround for situation where entire cert chain is not loaded/available. This is not a secure solution because it does not perform PKI validation. 2017-05-18 09:55:39 -07:00
toddouska
4370a01778 Merge pull request #921 from dgarske/fix_crl
Fix for CRL issue with XFREE using invalid arg for heap.
2017-05-18 09:40:40 -07:00
jrblixt
b5e74878b3 Merge with wolfSSL master for PR includes RipeMd and Sha224 unit test
functions.
2017-05-18 10:05:22 -06:00
David Garske
4edcbc79c1 RipeMd and Sha224 added to unit test. 2017-05-18 09:32:11 -06:00
Jacob Barthelmeh
548c01ce54 updated static memory feature with pkcs7 2017-05-18 09:31:09 -06:00
Sean Parkinson
9fb6373cfb Get PSS going on server side 2017-05-18 15:36:01 +10:00
David Garske
c1f82ece7a Fix for CRL issue with XFREE using invalid arg for heap. 2017-05-17 16:39:35 -07:00
toddouska
2f15d57a6f Merge pull request #640 from jrblixt/unitTest_api_dev
unit test md5, sha, sha256, sha384, sha512
2017-05-17 09:17:32 -07:00
Sean Parkinson
63a6618feb Enable X25519 for Key Exchange in TLS 2017-05-17 08:58:12 +10:00
toddouska
4c451a6c61 Merge pull request #920 from dgarske/fix_sb_tls
Fix for scan-build warning for possible use of uninitialized `eccKey`
2017-05-16 12:56:50 -07:00
dgarske
5621fad02b Merge pull request #918 from cconlon/vxworksreadme
fix VxWorks README formatting
2017-05-16 12:46:26 -07:00
jrblixt
cb3b10054d unwanted removal added back. 2017-05-16 13:13:53 -06:00
jrblixt
270d6cbae3 Merge branch 'unitTest_api_dev' of https://github.com/jrblixt/wolfssl into unitTest_api_dev 2017-05-16 13:05:26 -06:00
jrblixt
6acd5dafa7 Changes from Todd's code review. 2017-05-16 12:58:07 -06:00
toddouska
81b6894f6f Merge pull request #841 from SparkiDev/nginx2
Fix loading of CRLs and certs from a file.
2017-05-16 09:13:29 -07:00
jrblixt
289f60e2c9 Changes from Todd's code review. 2017-05-16 10:04:30 -06:00
David Garske
79b0311952 Fix for scan-build warning src/tls.c:4898:20: warning: The left operand of '!=' is a garbage value. 2017-05-16 08:50:06 -07:00
Chris Conlon
c960faffeb fix VxWorks README formatting 2017-05-16 09:21:54 -06:00
Sean Parkinson
e5fe1a3750 Unlock on memory allocation failure. 2017-05-16 09:41:17 +10:00
toddouska
da15b54529 Merge pull request #915 from SparkiDev/blake2b_init
Blake2b fix for GCC 5.4
2017-05-15 08:59:54 -07:00
toddouska
bb60f7a4a4 Merge pull request #914 from JacobBarthelmeh/Testing
check return value of test case
2017-05-15 08:58:31 -07:00
dgarske
d53a77a589 Merge pull request #916 from SparkiDev/ecc_unused
Fix for scan_build_known_configs warning
2017-05-14 21:51:02 -07:00
Sean Parkinson
1a08143946 Fixup for async on master 2017-05-15 10:10:28 +10:00
Sean Parkinson
1e2a6412d7 Find the CRL entry again after lock 2017-05-15 10:10:28 +10:00
Sean Parkinson
ff4fcf21d6 Add test for private key only ecc key 2017-05-15 10:04:42 +10:00
Sean Parkinson
c6ce1fe330 Allow private key only ECC key to be loaded 2017-05-15 10:04:42 +10:00
Sean Parkinson
c7e57e9c6c Late CRL check - copy data before use 2017-05-15 10:04:42 +10:00
Sean Parkinson
c8e6c64e51 Fix warning when building for Windows 2017-05-15 10:04:42 +10:00
Sean Parkinson
4723b8470a Allow a CRL's signature to be verified on use 2017-05-15 10:04:42 +10:00
Sean Parkinson
4d77e80d04 Fix loading of CRLs and certs.
Change function wolfSSL_X509_LOOKUP_load_file to load multiple CRLs and
certificates from a file.
Change CRL loading to have a flag to not verify CRL signature - only do
this when using wolfSSL_X509_LOOKUP_load_file() as the certificate is
not always available.
Add test case for loading multiple CRLs in one file without certificate.
2017-05-15 10:04:42 +10:00
Sean Parkinson
224c1b2645 Fix for scan_build_known_configs warning 2017-05-15 09:59:34 +10:00
Sean Parkinson
f8023b808f Blake2b fix for GCC 5.4
Memsetting P and then setting non-zero fields works with GCC 5.4.
2017-05-15 09:47:11 +10:00
toddouska
3297280e62 Merge pull request #913 from JacobBarthelmeh/Compatibility-Layer
allow re-using WOLFSSL structure after calling shutdown
2017-05-12 16:50:14 -07:00
toddouska
dcd3a6a478 Merge pull request #907 from dgarske/fix_verifycb
Fixes for verify callback override
2017-05-12 16:45:55 -07:00
Jacob Barthelmeh
66e086a0bf check return value of test case 2017-05-12 16:40:37 -06:00
Jacob Barthelmeh
0374907acc allow re-using WOLFSSL structure after calling shutdown 2017-05-12 13:54:20 -06:00
toddouska
d03f97dafc Merge pull request #911 from dgarske/gcc_7
Fixes to work with gcc 7.1
2017-05-12 12:08:08 -07:00
jrblixt
606aca9916 Merge branch 'master' of https://github.com/jrblixt/wolfssl into unitTest_api_dev 2017-05-12 02:04:58 -06:00
toddouska
01a5f901d0 Merge pull request #909 from dgarske/fix_no_harden
Fix issue with --disable-harden
2017-05-11 16:42:19 -07:00
David Garske
53a837b230 Fix to only use FALL_THROUGH macro for GCC 7.1 or later. 2017-05-11 15:52:32 -07:00
David Garske
7c7503449f Removed the -Wimplicit-fallthrough=5 from autogen.sh, since older GCC throws “error: unknown warning option”. 2017-05-11 15:28:49 -07:00
David Garske
562db08c3d Implemented strict switch fall-through handling using new macro FALL_THROUGH. 2017-05-11 15:15:19 -07:00
David Garske
c0c98c8f64 Fixes to address build warnings for GCC 7. Used -Wimplicit-fallthrough=0 to suppress all switch fall-through warnings. 2017-05-11 15:12:16 -07:00
David Garske
f1e6f7d01d Attempt to fix Visual Studio 2012 compiler issue with test.h myVerify callback. 2017-05-11 13:53:04 -07:00
toddouska
ce42738198 Merge pull request #900 from dgarske/coverity_part3
Coverity fixes for TLS 1.3, async, small stack and normal math.
2017-05-11 13:05:53 -07:00
toddouska
5c652e398f Merge pull request #896 from dgarske/async_cleanups
Fixes for async and smallstack
2017-05-11 13:05:25 -07:00
toddouska
e12545ac38 Merge pull request #846 from SparkiDev/renum
Renumbered return values in test.c
2017-05-11 13:05:08 -07:00
David Garske
05d2032661 Fix for useVerifyCb variable not used warning with NO_CERTS defined. 2017-05-11 12:57:12 -07:00
David Garske
1b21df9b2b Fix issue with --disable-harden build due to wc_off_on_addr defined but not used. Cleanup of the wc_off_on_addr code to combine duplicate definitions. Fixes issue #908. 2017-05-11 12:49:34 -07:00
David Garske
2efa7d5b8b Fix for verify callback override, peerVerifyRet code on success and ensuring DOMAIN_NAME_MISMATCH error gets passed down in ECDSAk case. Added unit test case to verify callback override works. Fixes issue #905 and issue #904. Fix for async build goto label typo. 2017-05-11 12:23:17 -07:00
toddouska
a79f9c93c9 Merge pull request #906 from cconlon/tls13beta
wolfSSL 3.11.1 release, TLS 1.3 BETA
2017-05-11 11:46:10 -07:00
Chris Conlon
7d6597fe55 wolfSSL 3.11.1 release, TLS 1.3 BETA 2017-05-11 10:01:04 -06:00
toddouska
dcc9f9ae63 Merge pull request #903 from SparkiDev/tls13_interop3
Interop testing fixes
2017-05-10 23:04:56 -07:00
Sean Parkinson
22ce2f183d Interop testing fixes
Fix TLS13 cipher suite name to CHACHA20
Include SignatureAlgorithm in older versions of TLS when compiling for
TLS v1.3.
BIT STRING unused bits doesn't necessarily indicate last unused bit.
Fix ecc_dsa_sa_algo value.
2017-05-11 10:42:09 +10:00
toddouska
01586b26ae Merge pull request #902 from SparkiDev/tls13_interop2
TLS v1.3 Interop changes
2017-05-10 09:28:22 -07:00
Sean Parkinson
ec6d8f48b8 Add PSS for TLS v1.3 2017-05-10 17:22:53 +10:00
Sean Parkinson
df3abee72c TLS v1.3 Interop changes
Added Curve25519 for TLS v1.3 only. Curve25519 won't work with older
protocol versions.
Always send signature algorithm extension in TLS v1.3 for server
certificates. If only doing PSK doesn't need to be sent though.
2017-05-10 15:16:27 +10:00
David Garske
8d4f8c6d80 Fixes for build with distro for BuildTls13HandshakeHmac arg change. 2017-05-09 10:09:43 -07:00
David Garske
c47826cc8f Additional TLS 1.3 return code checking. 2017-05-09 09:45:40 -07:00
David Garske
e8cf4b5ff0 Coverity fixes for TLS 1.3, async, small stack and normal math. 2017-05-09 09:13:21 -07:00
toddouska
dea092fa0a Merge pull request #901 from SparkiDev/tls13_interop
TLS v1.3 interop fixes
2017-05-09 09:08:31 -07:00
Sean Parkinson
46c4adcf4c TLS v1.3 interop fixes 2017-05-09 14:49:21 +10:00
David Garske
2e016f3b25 Refactor of the rsa_test and dh_test to better handle cleanup. 2017-05-08 12:30:54 -07:00
JacobBarthelmeh
285a338054 Merge pull request #899 from kaleb-himes/release-update
Credit E.S. from W.A. with report of DTLS interop bug
2017-05-08 12:06:41 -06:00
kaleb-himes
7b6e2b1002 Credit E.S. from W.A. with report of DTLS interop bug 2017-05-08 10:26:08 -06:00
David Garske
5726c23d81 Fix for scan-build warning with ret not being read in DoServerHello. 2017-05-06 14:00:24 -07:00
David Garske
8cd78edac1 Fixes for building with smallstack 2017-05-06 00:39:12 -04:00
David Garske
011178994b Fix typos with goto exit labels and heap. 2017-05-06 00:32:02 -04:00
David Garske
6cc3983894 Fix for using async with —enable-eccencrypt. 2017-05-06 00:28:01 -04:00
David Garske
17587d38f8 Fix for new AES 192/256 tests to handle async wait. 2017-05-06 00:28:01 -04:00
toddouska
d23f1e5637 Merge pull request #895 from JacobBarthelmeh/Testing
use type with XFREE
2017-05-05 16:27:03 -07:00
toddouska
176193a835 Merge pull request #877 from dgarske/tls13
Add TLS 1.3 support
2017-05-05 12:50:40 -07:00
Jacob Barthelmeh
a4ceeed462 use type with XFREE 2017-05-05 13:27:33 -06:00
David Garske
fdb46ac24c Fix typo with blake2b_test return code. 2017-05-05 11:11:17 -07:00
David Garske
0ca2d7c137 Renumbered return values. 2017-05-04 14:53:39 -07:00
David Garske
af0103bc94 Fix for Valgrind memory leak with the “ssl->hsHashes”. The DTLS wolfSSL_connect for “IsDtlsNotSctpMode” at line 8134 calls InitHandshakeHashes, but doesn’t free existing. Best overall solution is to make sure and free an existing on InitHandshakeHashes, since WOLFSSL is memset to 0. 2017-05-04 14:51:31 -07:00
Sean Parkinson
758c2a761c Increase timeout on ready file for tls13.test 2017-05-04 14:51:31 -07:00
Sean Parkinson
902f5cf53f Stack size enabled config fix 2017-05-04 14:51:31 -07:00
Sean Parkinson
f0204de881 Fix for async and tls13 config 2017-05-04 14:51:31 -07:00
David Garske
570befb63f Fixes for using async. Combine duplicate DoCertificate and DoTls13Certificate code into ProcessPeerCerts. Cleanup of the XMALLOC/XFREE to use ssl->heap. 2017-05-04 14:51:31 -07:00
David Garske
efb4b3c183 Fix for unit test with non-blocking set. 2017-05-04 14:51:31 -07:00
David Garske
253140f37e Fixes for TLS 1.3. Fix issue with wc_AesGcmDecrypt checking for authIn arg (allowed to be NULL). Fix for preMasterSz in TLSX_KeyShare_ProcessEcc. Fix for building with --disable-asn (NO_CERTS). Fix to remove client “-t” option from help, which no longer exists. Added new WOLFSSL_DEBUG_TLS option for new messages added. 2017-05-04 14:51:31 -07:00
David Garske
77f9126edf Rebase fixes for TLS 1.3. Getting a decrypt error with the TLS 1.3 test from the SendTls13CertificateVerify. 2017-05-04 14:51:31 -07:00
Sean Parkinson
2b1e9973ec Add TLS v1.3 as an option 2017-05-04 14:51:30 -07:00
toddouska
edf5d6d777 Merge pull request #894 from JacobBarthelmeh/Release
Prepare for release 3.11.0
2017-05-04 14:49:43 -07:00
Jacob Barthelmeh
b51643c344 prepare for release version 3.11.0 2017-05-04 14:17:35 -06:00
Jacob Barthelmeh
7dd877554b build for windows visual studio with AES GCM 2017-05-04 14:14:12 -06:00
Jacob Barthelmeh
9b5340d3af sanity checks before copying copying peer certificate 2017-05-04 13:10:46 -06:00
toddouska
bfc43cee15 Merge pull request #893 from cconlon/pkcs7-valgrind-fix
fix PKCS7 signedData valgrind issue
2017-05-03 18:14:32 -07:00
Chris Conlon
5e06d59c79 fix PKCS7 signedData valgrind issue 2017-05-03 17:16:44 -06:00
toddouska
e771611c29 Merge pull request #891 from JacobBarthelmeh/Testing
sanity check on input buffer index
2017-05-03 12:13:43 -07:00
toddouska
86f10086bb Merge pull request #890 from dgarske/fix_sb_sni
Fix for scan build warning for `TLSX_SNI_GetRequest` possible use of null ptr
2017-05-03 10:03:59 -07:00
Jacob Barthelmeh
55538b5de0 sanity check on input buffer index 2017-05-03 10:21:03 -06:00
David Garske
338194be25 Fix for scan build warning for TLSX_SNI_GetRequest possible use of null pointer. 2017-05-03 07:33:13 -07:00
toddouska
1dc5a0fba2 Merge pull request #889 from JacobBarthelmeh/master
add digsigku to renewcerts script and update the not after date
2017-05-02 19:59:07 -07:00
toddouska
a8a5841b7c Merge pull request #888 from JacobBarthelmeh/Testing
Testing
2017-05-02 17:52:14 -07:00
Jacob Barthelmeh
4c8fdf99c5 add digsigku to renewcerts script and update the not after date 2017-05-02 18:08:10 -06:00
Jacob Barthelmeh
8146f73eff warnings when using g++ compiler 2017-05-02 15:20:20 -06:00
Jacob Barthelmeh
aa990ed1ce in error case close FILE 2017-05-02 14:54:27 -06:00
Jacob Barthelmeh
dbb67d8582 warnings for builds of haproxy, nginx, and leanpsk 2017-05-02 14:29:53 -06:00
toddouska
0532adf653 Merge pull request #887 from dgarske/minor_cleanups
Added return code checking for `wolfCrypt_Init()`
2017-05-02 12:19:12 -07:00
David Garske
ddcf11011e Added return code checking for wolfCrypt_Init(). Added initRefCount check on wolfCrypt_Cleanup(). Fix link for tenAsys INtime RTOS readme. 2017-05-02 10:20:31 -07:00
toddouska
27aafd674a Merge pull request #886 from dgarske/fixes_coverity2
Fixes for coverity scan (part 2)
2017-05-02 08:53:03 -07:00
Chris Conlon
8d032081ae Merge pull request #767 from shihrer/hexiwear_pr
Hexiwear changes and KDS Project for Hexiwear platform
2017-05-02 07:31:41 -06:00
John Safranek
4135279f82 Merge pull request #843 from kaleb-himes/dtls-interop
DTLS update per RFC 6347 Section 4.2.3
2017-05-01 19:29:27 -07:00
toddouska
f61380da21 Merge pull request #870 from kaleb-himes/PSK-UPDATE
Update PSK identity length per RFC 4279 - section 5.3
2017-05-01 19:04:32 -07:00
David Garske
3647e50c17 Fixes for the GrowInputBuffer and GrowOutputBuffer changes to only use align when WOLFSSL_GENERAL_ALIGNMENT > 0. 2017-05-01 18:48:54 -07:00
David Garske
9491027c85 Fixes for coverity scan (part 2). 2017-05-01 16:34:24 -07:00
toddouska
1a0b408658 Merge pull request #883 from dgarske/fixes_coverity
Fixes for coverity scan
2017-05-01 16:30:04 -07:00
toddouska
9655a1e38c Merge pull request #885 from dgarske/async_cavium
Fixes for Cavium Nitrox with async
2017-05-01 13:36:59 -07:00
David Garske
f19cf4cb34 Fix the client PSK callback to always null terminate after callback. Remove the +1 on the test.h examples for PSK callbacks. 2017-05-01 12:10:05 -07:00
John Safranek
7a1776e931 Merge pull request #881 from cconlon/sniffer
fix sniffer with AES-GCM, add scratch authTag buffer
2017-05-01 11:51:01 -07:00
toddouska
893b6f7d75 Merge pull request #884 from JacobBarthelmeh/Testing
fix warnings and errors with FreeBSD PowerPC
2017-05-01 11:37:04 -07:00
Michael Shihrer
9269298034 Merge branch 'hexiwear_pr' of https://github.com/shihrer/wolfssl into hexiwear_pr 2017-05-01 12:04:35 -06:00
Michael Shihrer
abe5a318f2 Added hexiwear to include.am and removed dev environment specific variable 2017-05-01 10:44:09 -06:00
Jacob Barthelmeh
2de6c88b80 correct typo when checking if variable rng is null 2017-04-30 18:53:58 -06:00
Takashi Kojo
7270134aec Merge pull request #788 from takotakot/readme
Fix spacing and comma
2017-04-30 06:48:45 +09:00
Jacob Barthelmeh
450ff55d83 fix warnings and errors with FreeBSD PowerPC 2017-04-28 17:57:48 -06:00
David Garske
db63fe83d4 Initial pass at fixes for coverity scan. 2017-04-28 14:59:45 -07:00
toddouska
4387e1f08e Merge pull request #855 from insane-adding-machines/master
Added support for HAproxy load balancer
2017-04-28 13:10:58 -07:00
toddouska
885b301e72 Merge pull request #882 from dgarske/fix_memleak
Fix memory leak with InitSSL having duplicate RNG creation code
2017-04-28 12:07:45 -07:00
David Garske
c92b497ea3 Fix async merge error which duplicated the wolfSSL_new RNG creation and caused a memory leak. Fix for build error with plainDigestSz not being initialized. 2017-04-28 10:11:17 -07:00
toddouska
ab78bd0d90 Merge pull request #880 from dgarske/intime_rtos2
tenAsys INtime RTOS port fixes from customer peer review
2017-04-27 21:47:53 -07:00
Chris Conlon
b8917baa6a fix sniffer with AES-GCM, add scratch authTag buffer 2017-04-27 15:22:30 -06:00
David Garske
053594eb98 Workaround for expected failed RSA operations in test.c not failing for Cavium Nitrox V. 2017-04-27 14:21:38 -07:00
Chris Conlon
2deced22dc Merge pull request #879 from dgarske/fix_builderrors2
Fix for scan-build issues with possible use of null’s
2017-04-27 15:06:37 -06:00
dgarske
b61f279b61 Merge pull request #878 from cconlon/serialfix
skip removal of leading zero in GetASNInt() when INTEGER is only a si…
2017-04-27 13:13:21 -07:00
David Garske
a4efaf5eaa Fix mutex to use single count for semaphore so behavior is like mutex. Fix typo with “received”. Fix for mp_clear with fast math to do null check on arg (noticed null with ecc make key benchmark with wc_ecc_free). 2017-04-27 13:09:11 -07:00
David Garske
3e6243eb08 Fix for scan-build issues with possible use of null’s in evp.c wolfSSL_EVP_CipherFinal out arg and DoCertificate args->certs. Removed obsolete client example help arg “-t”. 2017-04-27 10:53:47 -07:00
Chris Conlon
8118762dc4 skip removal of leading zero in GetASNInt() when INTEGER is only a single zero byte 2017-04-27 11:07:59 -06:00
David Garske
fd2996bdeb Progress with RSA fixes for Cavium Nitrox after async refactor. Improved method for RsaKey and ecc_key typedef to work with async. 2017-04-26 16:40:10 -07:00
David Garske
774ce1a47c Fixes for build with Cavium. 2017-04-26 16:39:41 -07:00
Chris Conlon
4363cf8a5c Merge pull request #876 from dgarske/fix_jenkins_errors
Fix minor build errors and warnings
2017-04-26 16:54:49 -06:00
David Garske
d612b827b7 Fixes for build warnings on Windows. Fix PKCS7 to use const for byte array declaration. Cleanup of the pkcs7 MAX_PKCS7_DIGEST_SZ. Fix for unsigned / signed comparison warning for pkcs7_load_certs_keys in test.c. Fix for cast warning from word16 to byte in asn.c. Fix for build error with io.h refactor for InTime RTOS. 2017-04-26 09:40:33 -07:00
JacobBarthelmeh
325a3ce418 Merge pull request #875 from dgarske/fix_asn_setname_len
Fix issue with ASN encoding SetName function header length
2017-04-26 10:03:25 -06:00
David Garske
5a77eaa579 Fix issue with XFREE in asn.c using invalid heap pointer. Fix issue with bad variable names and missing asterisk in test.c pkcs7_load_certs_keys. 2017-04-26 08:45:05 -07:00
dgarske
7db30ef550 Merge pull request #690 from embray/build/enable_aes_counter
Add a configure flag specifically for enabling AES CTR mode
2017-04-25 15:14:13 -07:00
Chris Conlon
1f923a11ee Merge pull request #874 from dgarske/fix_builderrors
Build fixes to address Jenkins reports
2017-04-25 15:14:37 -06:00
Chris Conlon
ac2835ec2e Merge pull request #873 from dgarske/fix_crl_smallstack
Fix build error with CRL and WOLFSSL_SMALL_STACK.
2017-04-25 15:02:04 -06:00
David Garske
d435c16fe8 Fix issue with ASN encoding, where the SetName function was incorrectly adding extra byte for object id tag. Refactor changed lines 7694 and 7700 to use SetObjectId which handles length (was using SetLength prior to refactor). Issue was noticed via compatibility testing using generated cert against openssl asn1parse. 2017-04-25 12:06:08 -07:00
David Garske
fb90a4e498 Fix issue with PSK max length by adding 1 for the null terminator on the strings and allowing up to 128 characters for the PSK. Improved the test.h example for PSK callbacks. 2017-04-25 11:43:45 -07:00
David Garske
be6b12a350 Build fixes to address Jenkins reports. Additionally tested with enable-distro and small-stack identified issue in ssl.c (note: we need to add this combination to Jenkins). 2017-04-25 11:10:36 -07:00
dgarske
92d3c7cd59 Merge pull request #872 from JacobBarthelmeh/Testing
handle redefinition warnings
2017-04-24 15:08:13 -07:00
David Garske
8b0784bdfa Fix build error with CRL and WOLFSSL_SMALL_STACK. 2017-04-24 14:08:59 -07:00
Jacob Barthelmeh
4dad4b6962 handle redefinition warnings 2017-04-24 10:40:56 -06:00
dgarske
dd2915f4fa Merge pull request #869 from cconlon/ecckeytoder
Fix leading zero in wc_BuildEccKeyDer
2017-04-24 09:02:41 -07:00
Daniele Lacamera
08787621ea wolfssl.pc: Prefix reset to /usr/local 2017-04-24 12:45:23 +02:00
Maxime Vincent
6ada67f93f Prefix stubs with wolfSSL_ 2017-04-24 11:43:19 +02:00
Maxime Vincent
7bd7de350c More fixes for haproxy port 2017-04-24 10:41:39 +02:00
Daniele Lacamera
7058211860 Merge from latest masterbranch 2017-04-24 06:18:44 +02:00
Daniele Lacamera
ebb32265eb Minor fixes after PR review 2017-04-24 06:16:35 +02:00
Maxime Vincent
db835da00b Fixes after wolfSSL feedback 2017-04-22 10:58:05 +02:00
kaleb-himes
348536af9a Update PSK identity length per RFC 4279 - 5.3 2017-04-21 16:38:19 -06:00
JacobBarthelmeh
3600371abf Merge pull request #848 from ghoso/des_ecb_encrypt_impl
openSSL compatibility API
2017-04-21 14:05:22 -06:00
Chris Conlon
af26708330 Fix leading zero in wc_BuildEccKeyDer 2017-04-21 11:40:50 -06:00
toddouska
7a3f7ad9be Merge pull request #868 from kaleb-himes/ARDUINO-UPDATE
Update ARDUINO script per issue #859 from @pasko-zh
2017-04-20 17:02:49 -07:00
toddouska
a857da23c0 Merge pull request #862 from kaleb-himes/STUNNEL-FIX
Fix this issue: PKCS12 is defined to be WC_PKCS12, then redefined as an enumerated value of 12 in asn.h
2017-04-20 13:24:39 -07:00
kaleb-himes
1dd16e6702 Update enum name from peer review 2017-04-20 10:05:12 -06:00
toddouska
c9d53a4ca2 Merge pull request #854 from NickolasLapp/master
Add AES 192/256 bit wolfCrypt tests
2017-04-19 16:50:18 -07:00
toddouska
d6abd4d131 Merge pull request #867 from JacobBarthelmeh/mutex
fix mutex allocation sanity checks
2017-04-19 13:32:55 -07:00
Nickolas Lapp
a8eb2614f6 Update reference for aes192/256 test to remove bad url and give specific
NIST reference document.
2017-04-19 13:13:34 -06:00
Kaleb Himes
14e37cdc4c Change variable name, add comment 2017-04-19 13:10:55 -06:00
toddouska
5b257d6fd8 Merge pull request #866 from JacobBarthelmeh/Testing
add back in haveTrustPeer variable and put macro guard on WC_RNG typedef
2017-04-19 11:57:56 -07:00
kaleb-himes
32e83cb55d Update ARDUINO script per issue #859 from @pasko-zh 2017-04-19 11:53:58 -06:00
Nickolas Lapp
344c0ec747 Merge branch 'master' of github.com:wolfSSL/wolfssl 2017-04-19 10:10:23 -06:00
Jacob Barthelmeh
4eecaf2574 fix mutex allocation sanity checks 2017-04-18 17:18:19 -06:00
Jacob Barthelmeh
a8115d51fa add back in haveTrustPeer variable and put macro guard on WC_RNG typedef 2017-04-18 16:53:02 -06:00
toddouska
5b82c2f6ec Merge pull request #853 from JacobBarthelmeh/Windows
testsuite time check on Windows system and fix dh_test if statement
2017-04-18 14:57:53 -07:00
jrblixt
1215203c39 Update sha384 fips. 2017-04-18 12:53:54 -06:00
jrblixt
4a8259b2ad Jenkin's Fips corrections. 2017-04-18 11:29:35 -06:00
jrblixt
5486a60326 sha512.c updates. 2017-04-18 11:18:29 -06:00
Daniele Lacamera
3279865610 Fixes after jenkins report
https://test.wolfssl.com/jenkins/job/windows_pull_request_builder/1453/
2017-04-18 18:47:04 +02:00
Daniele Lacamera
bf877a636f Merge from masterbranch 2017-04-18 18:34:14 +02:00
toddouska
7df7a07a68 Merge pull request #863 from JacobBarthelmeh/Testing
fix old version of AEAD cipher suite
2017-04-18 09:33:00 -07:00
toddouska
8e7d0ba243 Merge pull request #860 from dgarske/fix_allow_old_tls_wsha1
Fix for building with NO_OLD_TLS and WOLFSSL_ALLOW_TLS_SHA1
2017-04-18 09:31:45 -07:00
toddouska
fbd5d5bfc6 Merge pull request #865 from cconlon/pkcs7-signed-ecc
PKCS#7 SignedData - ECDSA and hash options
2017-04-18 09:30:47 -07:00
Chris Conlon
bab3fd5925 fix clang/scan-build warnings for PKCS7 2017-04-17 14:23:37 -06:00
Chris Conlon
4f26e0341b allow different hashes with PKCS7 SignedData, cleanup conditional builds 2017-04-17 09:46:26 -06:00
jrblixt
f7c58b0643 Updated wolfcrypt/src/sha256.c. 2017-04-14 16:42:18 -06:00
jrblixt
3749988ee2 Updated wolfcrypt/src/sha.c. 2017-04-14 16:24:25 -06:00
jrblixt
5b5c8f1e95 Updated mcapi/mcapi_test.c ; wolfcrypt/src/md5.c ; wolfcrypt/src/pwdbased.c. 2017-04-14 16:12:29 -06:00
Michael
b08e5f3b82 Merge branch 'master' into hexiwear_pr 2017-04-14 12:03:42 -06:00
Jacob Barthelmeh
53eca92cc0 change type for test instead and add RSA blinding check 2017-04-14 12:02:49 -06:00
Michael Shihrer
21d2becd6b Modified settings.h to allow building on KSDK 1.3, modified test.c and benchmark.c to work with KSDK, added KDS project for building wolfSSL for Hexiwear 2017-04-14 12:02:28 -06:00
Jacob Barthelmeh
999328f2a0 fix old version of AEAD cipher suite 2017-04-14 10:32:15 -06:00
kaleb-himes
3f067bccf0 fix redefinition of PKCS12 version and PKCS12 struct when building w/ STUNNEL 2017-04-14 10:20:35 -06:00
Chris Conlon
74aafb1679 add PKCS7 SignedData with ECDSA 2017-04-14 09:29:22 -06:00
jrblixt
609ca3c823 Jenkin's Visual Studio status check correction. 2017-04-14 02:34:31 -06:00
jrblixt
b5d856eada Merge branch 'master' of https://github.com/wolfSSL/wolfssl into unitTest_api_dev 2017-04-14 02:17:57 -06:00
jrblixt
00ea508751 Param check fix in hash files. 2017-04-14 02:16:04 -06:00
David Garske
7779a64cae Fix for building with NO_OLD_TLS and WOLFSSL_ALLOW_TLS_SHA1. 2017-04-13 21:26:20 -07:00
toddouska
f2ac410f1e Merge pull request #858 from dgarske/fix_bench_count
Fix build/test error with `--enable-scrypt` and build error for ARMv8 AES init
2017-04-13 21:14:44 -07:00
jrblixt
ac6b840dc5 Merge Conflict with wolfSSL master. 2017-04-13 16:51:08 -06:00
jrblixt
85b78835a6 Merge branch 'master' into unitTest_api_dev
src/keys.c
	wolfcrypt/src/hmac.c
	wolfcrypt/src/md5.c
	wolfcrypt/src/sha256.c
	wolfcrypt/src/sha512.c
	wolfssl/wolfcrypt/md5.h
2017-04-13 16:33:23 -06:00
Jacob Barthelmeh
ebde18af59 silence static analysis tool warning about null parameter after sanity check 2017-04-13 15:32:31 -06:00
Jacob Barthelmeh
620d21c850 fix scrypt test with no password 2017-04-13 15:06:26 -06:00
David Garske
3df47d57ab Fix error with armv8-aes wc_AesInit function using h instead of heap variable. (moved from PR #852). 2017-04-13 14:50:55 -06:00
David Garske
4c6a70861b Fix build errors with --enable-scrypt. 2017-04-13 09:37:48 -07:00
Daniele Lacamera
723ee69114 Fixed missing braces in wolfcrypt test 2017-04-13 15:31:50 +02:00
Daniele Lacamera
ef231a039d Updated to latest masterbranch 2017-04-13 15:28:19 +02:00
Go Hosohara
fe215c4a57 Fix DES_ecb_encrypt function in terms of reviewing point. 2017-04-13 12:31:52 +09:00
Nickolas Lapp
460197a5e0 Add aes192 and aes256 tests
Fix bug with AES decrypt for non-128 bit sizes on STM32F4 hardware
crypto
2017-04-12 20:09:47 -06:00
JacobBarthelmeh
3ac35ce3b3 Merge pull request #838 from SparkiDev/curve25519_51-bit
Curve25519 51-bit Implementation
2017-04-12 16:06:37 -06:00
Jacob Barthelmeh
26c8958d1e testsuite time check on Windows system and fix dh_test if statement 2017-04-12 15:56:45 -06:00
dgarske
8ee9e4ff8b Merge pull request #851 from toddouska/nosessid
don't send session ID on server side if session cache is off unless w…
2017-04-12 14:50:43 -07:00
toddouska
3abcff4db5 Merge pull request #850 from JacobBarthelmeh/Testing
fix invalid check on unsigned type
2017-04-12 13:56:44 -07:00
toddouska
27d009475c Merge pull request #847 from dgarske/distro_options
Fixes for --enable-distro to include more features by default
2017-04-12 13:56:24 -07:00
toddouska
e1a53a6c36 Merge pull request #845 from SparkiDev/cert_file
Rename caCertFile
2017-04-12 13:55:56 -07:00
toddouska
4f7b27fc88 Merge pull request #844 from SparkiDev/size_t-printf
32-bit size_t and printf fix
2017-04-12 13:54:52 -07:00
toddouska
3810571e0d Merge pull request #715 from dgarske/async_intelqa
Intel QuickAssist (QAT) support and async enhancements/fixes
2017-04-12 13:54:19 -07:00
toddouska
b1d59a2334 don't send session ID on server side if session cache is off unless we're echoing session ID as part of session tickets 2017-04-12 10:54:19 -07:00
David Garske
11133e578d Fixes and cleanups based on feedback from Sean. Added ifdef checks around WC_PENDING_E code to reduce code size for non-async builds. Cleanup accumulative result code checking in SSL_hmac. Cleanup of the RSA async state advancement. 2017-04-12 10:07:38 -07:00
Jacob Barthelmeh
b510c8199e fix invalid check on unsigned type 2017-04-12 10:41:35 -06:00
Daniele Lacamera
df70b3c859 Removed empty ifdef 2017-04-12 12:50:17 +02:00
Daniele Lacamera
3e9a5fd433 Updated to latest masterbranch 2017-04-12 12:48:38 +02:00
Maxime Vincent
9ca49e7f56 Add more stubs for haproxy 2017-04-12 11:59:17 +02:00
Maxime Vincent
02513792b6 Make new function stubs public 2017-04-12 10:37:17 +02:00
David Garske
d0f31d4a30 Fix issue with wc_ecc_make_key where state failure can occur if the wc_ecc_init hasn’t been called on key prior. Now wc_ecc_make_key and wc_ecc_import_private_key (and _ex versions) can be called without having to call wc_ecc_init first. This keeps backwards compatibility. If async or static memory is desired then wc_ecc_init_ex must be called first. 2017-04-11 15:57:09 -07:00
David Garske
85bef98331 Fix wc_ecc_alloc_rs memset logic. Fix error handling in hmac.c for SHA224. Cleanup of the wc_DhGenerateKeyPair_Async function. Added comment about the “BuildTlsFinished” allocation for hash buffer. Fixed issue with example server that caused the benchmark script to fail in throughput mode. 2017-04-11 14:13:08 -07:00
Go Hosohara
0cebc2172c Fix WolfSSL_DES_ecb_encrypt(). 2017-04-12 00:03:35 +09:00
Go Hosohara
d399b51ba8 Fix WolfSSL_DES_ecb_encrypt(). 2017-04-11 23:49:10 +09:00
Daniele Lacamera
de017b0028 Added stubs required to compile HAPROXY 2017-04-11 16:03:08 +02:00
Daniele Lacamera
8f300515bd Grouped HAPROXY compatibility into WOLFSSL_HAPROXY flag
now haproxy compatible wolfssl builds with:

./configure --prefix=/usr --sysconfdir=/etc --disable-fastmath \
iam * ] 2:18 PM
    --disable-fasthugemath --disable-bump \
    --enable-opensslextra \
    --enable-keygen --enable-certgen \
    --disable-ntru --disable-examples \
    --enable-tlsx --enable-haproxy \
    --enable-savecert --enable-savesession --enable-sessioncerts \
    --enable-webserver --enable-sslv3 --enable-stunnel
2017-04-11 14:18:41 +02:00
dgarske
213afe18c3 Merge pull request #842 from JacobBarthelmeh/Testing
fix c32toa needed with --enable-session-ticket
2017-04-10 19:10:35 -07:00
David Garske
eb1a191fd2 Refactor to add the wc_HmacInit and wc_HmacFree calls. 2017-04-10 14:47:08 -07:00
David Garske
e419a6f899 Fixes and cleanups based on feedback from Sean. 2017-04-10 14:47:07 -07:00
David Garske
62e7dc87c3 Fix merge error with verify callback and totalCerts. 2017-04-10 14:45:05 -07:00
David Garske
56a1618ba0 Fixes to a few things based on peer review. 2017-04-10 14:45:05 -07:00
David Garske
c1640e8a3d Intel QuickAssist (QAT) support and async enhancements/fixes:
* Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/).
* Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC.
* wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify.
* wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature.
* wolfCrypt test and benchmark async support added for all HW acceleration.
* wolfCrypt benchmark multi-threading support.
* Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA.
* Refactor to make sure “heap” is available for async dev init.
* Added async support for all examples for connect, accept, read and write.
* Added new WC_BIGINT (in wolfmath.c) for async hardware support.
* Added async simulator tests for DES3 CBC, AES CBC/GCM.
* Added QAT standalone build for unit testing.
* Added int return code to SHA and MD5 functions.
* Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer.
* Combined duplicate code for async push/pop handling.
* Refactor internal.c to add AllocKey / FreeKey.
* Refactor of hash init/free in TLS to use InitHashes and FreeHashes.
* Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*.
* Suppress error message for WC_PENDING_E.
* Implemented "wolfSSL_EVP_MD_CTX_init" to do memset.
* Cleanup of the openssl compat CTX sizes when async is enabled.
* Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability.
* Cleanup of the OPAQUE_LEN.
* Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret).
* Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations)
* Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding".
* Updated RSA un-padding error message so its different than one above it for better debugging.
* Added QAT async enables for each algorithm.
* Refactor of the async init to use _ex.
* Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing.
* Reformatted the benchmark results:
PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec"
Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87
* Added min execution time for all benchmarks.
* Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local.
* Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark.
* Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async.
* Added NO_SW_BENCH option to only run HW bench.
* Added support for PRNG to use hardware SHA256 if _wc devId provided.
* Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size.
* Added the wc_*GetHash calls to the wolfCrypt tests.
* Added async hardware start/stop to wolfSSL init/cleanup.
* Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos.
* Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`.
* Added arg checks on wc_*GetHash and wc_*Copy.
* Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions.
* Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator.
* Added checks for all hashing to verify valid ->buffLen.
* Fix for SHA512 scan-build warning about un-initialized “W_X”.
* Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash.
* Refactor of the benchmarking to use common function for start, check and finish of the stats.
* Fixed issue with ECC cache loading in multi-threading.
* Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned.
* Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define.
* Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-10 14:45:05 -07:00
David Garske
dc65a9a277 Distro fix to enable SHA224 by default. Was causing Debian build error since SHA224 is enabled by default only for the x86_64 architecture. Updated --enable-distro option to include new features for aeskeywrap, x963kdf and scrypt. Changed the ECC custom curve option to enable all curve types when used with distro. 2017-04-10 11:45:26 -07:00
Go Hosohara
dccff615d5 Add wolfSSL_DES_ecb_encrypt() encrypt/decrypt parameter check. 2017-04-10 16:19:44 +09:00
Go Hosohara
97c22c88d8 Add test result message for test_wolfSSL_DES_ecb_encrypt(). 2017-04-10 15:37:47 +09:00
Go Hosohara
27c6625bfe Fix #ifdef in WolfSSL_DES_ecb_encrypt and test_WolfSSL_DES_ecb_encrypt. 2017-04-10 14:44:48 +09:00
Sean Parkinson
5edcf685ca Rename caCertFile 2017-04-10 10:38:16 +10:00
Sean Parkinson
335b6d41c1 32-bit size_t and printf fix 2017-04-10 10:26:36 +10:00
Sean Parkinson
cbe46f8d74 Include new file in dist 2017-04-10 08:30:44 +10:00
Go Hosohara
b19cf2cfb8 Add test_wolfSSL_DES_ecb_encrypt() 2017-04-08 17:03:58 +09:00
toddouska
e8971c361a Merge pull request #830 from kaleb-himes/suite-typo
Fixes for using default ciphers
2017-04-07 17:20:54 -07:00
kaleb-himes
8953ed9f30 DTLS update per RFC 6347 Section 4.2.3 2017-04-07 14:26:33 -06:00
jrblixt
3478c9b937 Added return checks to src/keys.c. 2017-04-07 14:15:53 -06:00
Jacob Barthelmeh
80d88b9421 fix c32toa needed with --enable-session-ticket 2017-04-07 11:46:27 -06:00
David Garske
4ff2903b55 Fix to allow anonymous ciphers to work with the new default suite testing. 2017-04-07 10:20:41 -07:00
David Garske
eb40175cc6 Fix to calc BuildSHA_CertVerify if WOLFSSL_ALLOW_TLS_SHA1. Fix to add check for DTLS to not allow stream ciphers. Removed the RC4 tests from the test-dtls.conf. Added support for using default suites on client side. Switched the arg to “-H”. Cleanup of the example server/client args list. Fixes for build with “--disable-sha”. 2017-04-07 10:20:41 -07:00
David Garske
6a1ae7ee5b Fix on server side to make sure SHA hash is setup even with NO_OLD_TLS. Fix to initialize hsHashes to zero. Fix in PickHashSigAlgo to not default to SHA if NO_OLD_TLS is defined (unless WOLFSSL_ALLOW_TLS_SHA1 is set). Fix to allow pre TLS 1.2 for “AES128-SHA256” and “AES256-SHA256”. 2017-04-07 10:20:18 -07:00
David Garske
b14da2622e Fix InitSuites to allow old TLS for DHE_RSA with AES 128/256 for SHA256. Reverted changes to test.conf and test-dtls.conf. 2017-04-07 10:20:18 -07:00
David Garske
4dcad96f97 Added test for server to use the default cipher suite list using new “-U” option. This allows the InitSuites logic to be used for determining cipher suites instead of always overriding using the “-l” option. Now both versions are used, so tests are done with wolfSSL_CTX_set_cipher_list and InitSuites. Removed a few cipher suite tests from test.conf that are not valid with old TLS. These were not picked up as failures before because wolfSSL_CTX_set_cipher_list matched on name only, allowing older versions to use the suite. 2017-04-07 10:20:18 -07:00
kaleb-himes
b827380baf Typo in cipher suite pre-processor macro 2017-04-07 10:19:24 -07:00
toddouska
4e703b6805 Merge pull request #839 from JacobBarthelmeh/Testing
build with session tickets and without client
2017-04-07 09:39:47 -07:00
toddouska
2b443a79f2 Merge pull request #836 from dgarske/stack_check_free
Fix leak in StackSizeCheck and build error with debug enabled
2017-04-07 09:35:01 -07:00
toddouska
ecaaf19ebf Merge pull request #835 from dgarske/fix_name_conflict
Fix name conflicts in wolfCrypt test with --enable-stacksize
2017-04-07 09:33:00 -07:00
Go Hosohara
c466e3c078 Implements wolfSSL_DES_ecb_encrypt function. 2017-04-07 11:21:32 +09:00
David Garske
2c13ea9a67 Cleanup name conflicts with test.h cert files (by adding “File” to end). Fix memory leak in ecc_test_buffers function. 2017-04-06 15:54:59 -07:00
Jacob Barthelmeh
b49a2561bc build with session tickets and without client 2017-04-06 16:19:21 -06:00
jrblixt
6e16410e25 Modifications per Todd's requests. 2017-04-06 15:47:53 -06:00
jrblixt
d62d0aaa26 Changes made per Todd's instruction. 2017-04-06 14:42:42 -06:00
dgarske
9ef26679df Merge pull request #833 from SparkiDev/asn_func
ASN Code Rework
2017-04-06 12:47:40 -07:00
JacobBarthelmeh
bb8e67b79c Merge pull request #837 from cconlon/release-3.10.4
3.10.4 release
2017-04-06 11:39:31 -06:00
jrblixt
706c02deed Changes Chris requested. 2017-04-06 10:53:14 -06:00
toddouska
c8400e9ff1 Merge pull request #824 from dgarske/fix_asn_confirm_sig
Fix for return code checking on ConfirmSignature
2017-04-05 16:58:47 -07:00
Sean Parkinson
b11bb5325a Implementation of 51-bit curve25519 2017-04-06 09:48:01 +10:00
Chris Conlon
c9bb75c0f3 3.10.4 release 2017-04-05 16:37:35 -06:00
David Garske
d648d4f6c7 Fix leak in StackSizeCheck. Fix build error with debug enabled and stack size check. 2017-04-05 14:24:55 -07:00
dgarske
338c70a1ab Merge pull request #834 from cconlon/ecc_name_from_params
add wc_ecc_get_curve_id_from_params()
2017-04-05 14:09:41 -07:00
David Garske
3328b4d38b Cleanup the unit test naming for new signature failure tests. 2017-04-05 11:24:22 -07:00
Chris Conlon
0c61a5b1fd add invalid test case for wc_ecc_get_curve_id_from_params() 2017-04-05 11:18:47 -06:00
JacobBarthelmeh
4eefa22629 Merge pull request #810 from toddouska/write-dup
add wolfSSL_write_dup(), creates write_only WOLFSSL to allow concurre…
2017-04-05 10:06:20 -06:00
David Garske
15091675fe Fix VS warning about long to size_t conversion in load_buffer. 2017-04-05 07:23:53 -07:00
Chris Conlon
e101dfa26e add wc_ecc_get_curve_id_from_params() 2017-04-04 14:49:46 -06:00
David Garske
deb80e5ddb Fix load_file/load_buffer enables. Fix error in load_buffer with “ret”. 2017-04-04 11:45:55 -07:00
David Garske
e0a4758c0f Fixes with load_file helper to make sure return code is set correctly and args are initialized. 2017-04-04 11:40:54 -07:00
David Garske
2aa523e0ea Added API unit test for certificate validation failure using corrupted signature in cert. 2017-04-04 11:15:32 -07:00
David Garske
26f3924c93 Fix for return code checking on ConfirmSignature, so it returns actual error codes or 0 on success. 2017-04-04 10:55:22 -07:00
dgarske
e740756706 Merge pull request #832 from toddouska/rdrand64
allow rdrand to use full 64bit output
2017-04-04 08:58:06 -07:00
Sean Parkinson
36e81b650e Fix missing symbol for specific configs 2017-04-04 14:33:14 +10:00
Sean Parkinson
683a655908 Starting 128-bit FE implementation 2017-04-04 14:17:54 +10:00
Sean Parkinson
b02a75510e Fix Windows warnings 2017-04-04 11:19:06 +10:00
Sean Parkinson
abaf820537 Improvements and comments 2017-04-04 10:42:04 +10:00
toddouska
cd358bd2ab protect against multiple write dups 2017-04-03 15:58:33 -07:00
toddouska
2d323dee42 Merge pull request #829 from cconlon/ecc_import
fix curve selection on ecc private only import
2017-04-03 15:44:42 -07:00
toddouska
59dc839341 Merge pull request #819 from dgarske/test_static_fixes
Fixes for wolfCrypt test/benchmark with static memory
2017-04-03 15:25:45 -07:00
toddouska
1d48fba032 allow rdrand to use full 64bit output 2017-04-03 15:08:35 -07:00
toddouska
68076dee45 Merge pull request #805 from dgarske/rng_cleanup
Fix RNG issue with Intel RD and cleanup to remove old ARC4 support
2017-04-03 14:57:09 -07:00
David Garske
29eabe5535 Better stack size check return code handling. 2017-04-03 09:41:12 -07:00
Chris Conlon
8cde26a6c5 fix curve selection on ecc private only import 2017-04-03 09:50:46 -06:00
toddouska
e168d4db09 Merge pull request #821 from SparkiDev/wpas_fips
FIPS changes and fixups for wpa_supplicant
2017-04-03 08:27:25 -07:00
Sean Parkinson
fd9e41dd99 ASN functions added to simplify code
Functions to get and set different ASN.1 tags have been added.
The functions are used in the asn.c file to simplify the code and ensure
all checks are done.
2017-04-03 16:56:21 +10:00
jrblixt
d626c917dd Merge branch 'master' of https://github.com/wolfSSL/wolfssl into unitTest_api_dev 2017-03-31 14:18:27 -06:00
David Garske
d69c860ab8 Fix bad #elif logic cleanup for using “USE_TEST_GENSEED”. 2017-03-31 13:16:21 -07:00
David Garske
c532819659 Fixes for building with “CUSTOM_RAND_GENERATE_BLOCK”. Removed seed as backup RNG source. Fixed building on embedded system with time_t not defined (test.c should use long for asn_test). 2017-03-31 13:16:21 -07:00
David Garske
69535198ca Fix RNG to only allow disabling HASHDRBG if CUSTOM_RAND_GENERATE_BLOCK is defined. Added support for CUSTOM_RAND_GENERATE_BLOCK with Intel RDRAND. 2017-03-31 13:16:21 -07:00
David Garske
1251607b04 Retain existing HAVE_HASHDRBG functionality and only disable if ./configure --disable-hashdrbg or WC_NO_HASHDRBG defined. Fix use of warning with VS. Fix to only use rng seed as source if no DRBG. 2017-03-31 13:16:21 -07:00
David Garske
5e3d8e705e Fix RNG issue with Intel RDRAND and RDSEED accelerations not being used because HAVE_HASHDRBG was always being defined if !WOLFSSL_FORCE_RC4_DRBG. Added new --enable-intelrand option to indicate use of RDRAND preference for RNG source (if RDRAND not supported by CPU then HASHDRBG will be used). The --enable-intelasm option enables the RDSEED support for seeding HASHDRBG if CPU supports it. Allow use of seed as RNG source if --disable-hashdbrg (shows build warning). Cleanup to remove old ARC4 RNG support. Fixed random_test return code with !HAVE_HASHDRBG. Cleanup of ./configure --help alignment. 2017-03-31 13:16:21 -07:00
David Garske
34a4f1fae0 Move wolfCrypt test/benchmark to move static memory pool to global (not in stack). Fix wolfCrypt test wc_InitRng to use _ex with HEAP_HINT (when not FIPS). Added ability to use HAVE_STACK_SIZE with wolfCrypt test and benchmark. Cleanup of the benchmark_test function main wrapper. 2017-03-31 13:11:23 -07:00
toddouska
ccad9f5575 Merge pull request #818 from dgarske/tkernel_port
TKernel port
2017-03-31 10:10:26 -07:00
dgarske
9455c3b469 Merge pull request #826 from cconlon/ecc_adds
add XSTRLEN cast in ecc helper
2017-03-31 10:08:05 -07:00
toddouska
6a4b71de05 Merge pull request #822 from JacobBarthelmeh/Testing
testing buffer size with const DH and remove redeclaration of WOLFSSL…
2017-03-31 08:53:49 -07:00
Chris Conlon
e1f6dbe74e add XSTRLEN cast in ecc helper 2017-03-31 09:17:42 -06:00
dgarske
cc4cc41ccf Merge pull request #825 from cconlon/ecc_der
add EccPrivateKeyToDer()
2017-03-30 20:07:26 -07:00
dgarske
5d840751c0 Merge pull request #823 from cconlon/ecc_adds
add ECC helpers to get size and id from curve name
2017-03-30 17:28:29 -07:00
David Garske
4e829bc0a5 Fix to assign default OID for TLS supported curves based on loaded extension order. 2017-03-30 13:54:24 -07:00
Chris Conlon
507f052b3f ECC helper cleanup 2017-03-30 14:34:12 -06:00
Chris Conlon
6735dd7031 add EccPrivateKeyToDer() 2017-03-30 13:56:48 -06:00
Chris Conlon
347f4e3e4d Merge pull request #820 from JacobBarthelmeh/PKCS8
PKCS8 create function
2017-03-30 13:54:30 -06:00
Chris Conlon
61d82790e4 add ECC helpers to get size and id from curve name 2017-03-30 11:32:56 -06:00
Jacob Barthelmeh
5c2b5f86b9 testing buffer size with const DH and remove redeclaration of WOLFSSL_CRL 2017-03-30 10:53:13 -06:00
Jacob Barthelmeh
71b75efd63 move PKCS8 create function and remove PWDBASED requirement 2017-03-30 10:46:58 -06:00
Sean Parkinson
c74c2ce00c FIPS changes and fixups
Enable ex data explicitly.
Keep the peer cert for verification callback.
External session cache for hostapd.
Enable DES_ECB when not FIPS.
Don't send the peer cert if it is not received from peer.
Initialize the peer cert after free as will be freed on tear down of
SSL.
Allow a server to become a client.
2017-03-30 11:53:35 +10:00
Jacob Barthelmeh
9ebfb0e953 make the function wc_CreatePKCS8Key public 2017-03-29 16:42:51 -06:00
Jacob Barthelmeh
5663fbf41a adjust placement of ECC curve OID in PKCS8 and add parameter notes 2017-03-29 16:17:54 -06:00
Jacob Barthelmeh
219fb584e2 fix for lenght of PKCS8 with ECC and for ECC get key algo ID 2017-03-29 16:17:26 -06:00
Jacob Barthelmeh
72d11e19cd add create PKCS8 key 2017-03-29 16:14:34 -06:00
David Garske
36d9504bc3 Added NO_WRITE_TEMP_FILES option to prevent writing temp files during wolfCrypt test. 2017-03-28 19:37:55 -07:00
David Garske
75abeaecfc Updates for TKernel port (WOLFSSL_uTKERNEL2). Added support for InterNiche prconnect_pro using WOLFSSL_PRCONNECT_PRO. Cleanup the min/max functions. Add NO_STDIO_FGETS_REMAP to not include the fgets remap for WOLFSSL_uTKERNEL2. Fix TFM build warning. Added HAVE_POCO_LIB. Added wolfCrypt test temp cert path for WOLFSSL_uTKERNEL2 = /uda/. Added WOLFSSL_CURRTIME_REMAP for benchmark to allow different function name to be used for system which have a conflicting name. Add ability to use normal malloc/free with WOLFSSL_uTKERNEL2 using NO_TKERNEL_MEM_POOL. Added new XMALLOC_OVERRIDE to allow custom XMALLOC/XFREE/XREALLOC macros. Move CUSTOM_RAND_GENERATE up in RNG choices. Rename tls.c STK macros due to conflict. 2017-03-28 19:10:19 -07:00
Maxime Vincent
25779dfb4f Introduce HAPROXY config flag + get/set app_data 2017-03-28 13:28:36 +02:00
Maxime Vincent
d94fcd8b69 Implemented wolfSSL_EVP_PKEY_base_id, wolfSSL_BIO_read_filename. Added wolfSSL_EVP_PKEY_type stub 2017-03-28 11:42:30 +02:00
dgarske
14efd9735d Merge pull request #816 from kaleb-himes/eccCaKeyFile-undefined
Fix for: 'Fix for build error with unused eccCaKeyFile'
2017-03-27 21:18:46 -07:00
kaleb-himes
2bcb8e53fc Address case from review 2017-03-27 16:53:13 -06:00
kaleb-himes
5cffae2e3f Merge branch 'master' of https://github.com/wolfSSL/wolfssl into eccCaKeyFile-undefined 2017-03-27 16:52:51 -06:00
dgarske
10bf955b70 Merge pull request #817 from kaleb-himes/ocsp-cert-update
add 'Class 3 Public Primary Certification Authority' to ocspstapling …
2017-03-27 15:21:55 -07:00
JacobBarthelmeh
9c8574111e Merge pull request #815 from toddouska/switchcerts
better handling of TLS layer switching out CTX layer keys/certs
2017-03-27 15:57:58 -06:00
kaleb-himes
bddf0c52a6 add 'Class 3 Public Primary Certification Authority' to ocspstapling test certificate 2017-03-27 14:13:22 -06:00
kaleb-himes
00ca1dcbb7 Fix for: 'Fix for build error with unused eccCaKeyFile' 2017-03-24 14:01:06 -06:00
toddouska
a7c131c0a1 fix vs warning 2017-03-24 11:19:01 -07:00
toddouska
86efbbbb1d simplify reset suites on cert/key changes to end of function 2017-03-24 10:40:42 -07:00
toddouska
4783fbfc4f better handling of TLS layer switching out CTX layer keys/certs 2017-03-24 10:19:01 -07:00
toddouska
d8261796a6 Merge pull request #813 from cconlon/addcert
add server-keyPkcs8.der to include.am
2017-03-22 14:58:22 -07:00
JacobBarthelmeh
a216da38d2 Merge pull request #798 from toddouska/trackmem
add deallocs to memory tracker
2017-03-22 13:59:29 -06:00
toddouska
0983536c98 Merge pull request #814 from dgarske/fix_crl_redef
Fix build warning with redefinition of typedef 'WOLFSSL_CRL’
2017-03-22 08:59:02 -07:00
jrblixt
5f7e77f131 Merge branch 'master' of https://github.com/jrblixt/wolfssl into unitTest_api_dev 2017-03-21 16:48:55 -06:00
toddouska
4e6f70e15e Merge pull request #784 from JacobBarthelmeh/Cert-Report2
error out with duplicate policy OID in a certificate policies extension
2017-03-21 15:21:46 -07:00
toddouska
a6ecf793ba Merge pull request #806 from dgarske/tfm_heap_reduce
Reduce heap usage with fast math when not using ALT_ECC_SIZE
2017-03-21 15:21:09 -07:00
dgarske
360fb2db0a Merge pull request #808 from kojo1/TrialProj
eccCaKeyFile in RSA/ECC test
2017-03-21 15:21:00 -07:00
toddouska
3e2fe536ad Merge pull request #809 from JacobBarthelmeh/Testing
test case when not using RSA blinding
2017-03-21 15:18:53 -07:00
toddouska
30024b7e7f Merge pull request #812 from SparkiDev/valgrind_ecc
Fix leak in test
2017-03-21 15:18:09 -07:00
jrblixt
88679a6a0c Merge wolfSSL master. 2017-03-21 15:33:40 -06:00
jrblixt
739436d7a8 Merge with wolfSSL master. 2017-03-21 15:23:47 -06:00
David Garske
d829e5ba5a Fix build warning with redefinition of typedef 'WOLFSSL_CRL’. 2017-03-21 09:13:50 -07:00
Chris Conlon
c46eb36b4e add server-keyPkcs8.der to include.am 2017-03-21 09:53:24 -06:00
David Garske
7be1077216 Fix for build error with unused “eccCaKeyFile”. 2017-03-21 08:31:07 -07:00
Sean Parkinson
8bf22b253a Fix leak in test
Use new points for compressed point testing.
2017-03-21 23:34:48 +10:00
toddouska
15423428ed add wolfSSL_write_dup(), creates write_only WOLFSSL to allow concurrent access 2017-03-20 15:08:34 -07:00
Jacob Barthelmeh
f26d584cec test case when not using RSA blinding 2017-03-20 14:15:34 -06:00
JacobBarthelmeh
4cb891334d Merge pull request #801 from toddouska/fipscheck
add keep option to fips-check.sh to keep FIPS temp folder around
2017-03-20 13:44:01 -06:00
David Garske
15e442637d Fix “#error old TLS requires MD5 and SHA” to only occur if !WOLFCRYPT_ONLY. 2017-03-20 10:42:08 -07:00
Takashi Kojo
e35489fd75 eccCaKeyFile in RSA/ECC test 2017-03-20 13:46:26 +09:00
JacobBarthelmeh
52215b3ecf Merge pull request #734 from kaleb-himes/csharp-addition
Adds wrapper for CTX_load_verify_locations to C# wrapper
2017-03-17 18:18:17 -06:00
toddouska
10bf3c4d1d Merge pull request #804 from SparkiDev/wpas_shared
Wpas shared
2017-03-17 16:15:51 -07:00
David Garske
6cc42dcacb Reduce TFM fp_int size by only adding the “int size” if ALT_ECC_SIZE or WOLFSSL_ASYNC_CRYPT is defined. Fix couple of async build errors in wolfCrypt test. 2017-03-17 15:01:18 -07:00
toddouska
3bb1723476 Merge pull request #768 from dgarske/crl_lookup
Added support for inline CRL lookup when HAVE_CRL_IO is defined
2017-03-17 12:18:45 -07:00
toddouska
b9d3db8b47 Merge pull request #800 from SparkiDev/no_fs
If there is no filesystem then still compile and run
2017-03-17 12:08:49 -07:00
toddouska
ad57738cc6 Merge pull request #795 from JacobBarthelmeh/Testing
bounds checking with adding string terminating character
2017-03-17 12:07:55 -07:00
toddouska
db526999c3 Merge pull request #803 from dgarske/fix_int_cast_warn
Fix warning with "implicit conversion loses integer precision”.
2017-03-17 12:05:29 -07:00
toddouska
c69dea624c Merge pull request #802 from cconlon/rsa_decode
add wc_GetPkcs8TraditionalOffset()
2017-03-17 12:04:44 -07:00
Sean Parkinson
461f051ef1 Only expose ECC APIs on config define 2017-03-17 10:52:38 +10:00
Sean Parkinson
37a52414cc Make MP and ECC APIs public
These APIs are needed by wpa_supplicant.
2017-03-17 10:23:37 +10:00
David Garske
141210dcc0 Fix warning with "implicit conversion loses integer precision”. 2017-03-16 14:56:03 -07:00
Jacob Barthelmeh
3f33f2b995 add duplicate policy OID cert to dist 2017-03-16 15:49:40 -06:00
Jacob Barthelmeh
92587651c9 variable i is not used when WOLFSSL_SEP is enabled 2017-03-16 15:48:15 -06:00
Jacob Barthelmeh
faf2bacd56 error out with duplicate policy OID in a certificate policies extension 2017-03-16 15:48:15 -06:00
Chris Conlon
efc2bb43d2 add wc_GetPkcs8TraditionalOffset() 2017-03-16 15:14:20 -06:00
toddouska
ce6e3ce8d0 Merge pull request #799 from cconlon/ecc_decode
remove EccPublicKeyDecode() from WOLFSSL_CERT_EXT guard
2017-03-16 12:47:19 -07:00
toddouska
c62b4e8ed5 Merge pull request #797 from cconlon/ecc_private
allow ECC private key only import
2017-03-16 12:45:49 -07:00
toddouska
7651afbd38 Merge pull request #794 from dgarske/fix_rsa_e_overflow_w32bit
Fix issue with TFM mp_set_int, which should handle unsigned long.
2017-03-16 11:49:07 -07:00
toddouska
2b1b7632fc add keep option to fips-check.sh to keep FIPS temp folder around 2017-03-16 11:10:12 -07:00
Sean Parkinson
d22dcdb78d If there is no filesystem then still compile and run
Defaults to 2048-bit FF and 256-bit EC keys.
2017-03-16 16:00:31 +10:00
Sean Parkinson
94d56fda59 Merge pull request #796 from toddouska/noasntime
fix NO_ASN_TIME build with --enable-wpas
2017-03-16 14:46:10 +10:00
Chris Conlon
a7f8bdb387 remove EccPublicKeyDecode() from WOLFSSL_CERT_EXT guard 2017-03-15 17:28:52 -06:00
toddouska
5839bd0177 add deallocs to memory tracker 2017-03-15 15:36:12 -07:00
Chris Conlon
a13cce9213 allow ECC private key only import 2017-03-15 16:04:17 -06:00
toddouska
36ecbfb1a8 fix NO_ASN_TIME build with --enable-wpas 2017-03-15 14:57:38 -07:00
Jacob Barthelmeh
0ef1b5d298 bounds checking with adding string terminating character 2017-03-15 13:40:41 -06:00
David Garske
2c890e6827 Fix mp_set_int to use calc for 32 const. Changed it to sizeof(b) instead of sizeof(long). 2017-03-15 12:34:55 -07:00
David Garske
4eb76e1d71 Fixes for building with IPV6. Added new WOLFSSL_IPV6 define to indicate IPV6 support. Fix to not include connect() and socket() calls unless HAVE_HTTP_CLIENT, HAVE_OCSP or HAVE_CRL_IO defined. Typo fixes. 2017-03-15 12:27:02 -07:00
David Garske
cf73a2244f Fix for stray brace in wolfIO_TcpConnect. Fix to typedef sockaddr_in6 only when TEST_IPV6 is defined. Moved XSOCKLENT into io.h. Added useful WOLFSSL_NO_SOCK, which can be used with WOLFSSL_USER_IO. 2017-03-15 12:26:40 -07:00
David Garske
d3a07858c0 Fixes based on peer review feedback. Fix to only include the non-blocking / select timeout functions when HAVE_IO_TIMEOUT is defined. Fix to only include TCP connect if HAVE_GETADDRINFO or HAVE_SOCKADDR defined. Cleanup of the “struct sockaddr*” to use typedef with HAVE_SOCKADDR. Moved helpful XINET_* and XHTONS/XNTOHS macros to io.h. 2017-03-15 12:26:18 -07:00
David Garske
628f740363 Added support for inline CRL lookup when HAVE_CRL_IO is defined (shares code with OCSP lookup in io.c). Added http chunk transfer encoding support. Added default connection timeout value (DEFAULT_TIMEOUT_SEC) and new wolfIO_SetTimeout() API with HAVE_IO_TIMEOUT. Added generic wolfIO_ API’s for connect, select, non-blocking, read and write. Added new define USE_WOLFSSL_IO to enable access to new wolfIO_* socket wrappers even when WOLFSSL_USER_IO is defined. Moved all API declarations for io.c into new io.h header. Added HAVE_HTTP_CLIENT to expose HTTP API’s. Moved SOCKET_T and SOCKET_ defines into io.h. Added WOLFIO_DEBUG define to display request/responses. 2017-03-15 12:26:18 -07:00
David Garske
5a24fd9237 Fix TFM mp_set_int to handle long. Enhance mp_set_int to use mp_set if less than max mp_digit. Added new MP_SET_CHUNK_BITS to eliminate hard coded const’s and allow build time adjustment. 2017-03-15 12:23:50 -07:00
JacobBarthelmeh
4725a8aea6 Merge pull request #775 from SparkiDev/wpas
Changes for WPA Supplicant
2017-03-15 11:19:46 -06:00
toddouska
f38d23a315 Merge pull request #791 from dgarske/fix_ecc_test_curve_idx
Fix wc_ecc_export_point_der to use curve_id
2017-03-14 19:22:53 -07:00
toddouska
916a5c97ce Merge pull request #793 from SparkiDev/scan_build
Fixes for scan-build
2017-03-14 19:19:09 -07:00
Sean Parkinson
003e18ecbc Fixes for scan-build 2017-03-15 09:38:53 +10:00
Sean Parkinson
97b98c5c44 Changes from review
Add a free handshake resources API.
Rename to wolfSSL_KeepHandshakeResources().
Add APIs to indicate the client's preference order is to be used when
matching cipher suites.
2017-03-15 09:09:25 +10:00
Sean Parkinson
ac713e62c5 Code review fixes
Put back check for server end when setting DH.
Add option to keep resources rather than free after handshake.
2017-03-15 09:09:25 +10:00
Sean Parkinson
122f648fd8 Only support client preference order as default for WPAS. 2017-03-15 09:09:02 +10:00
Sean Parkinson
7897d04145 Need GetHMACSize and GetIVSize for wpas 2.0 2017-03-15 09:09:02 +10:00
Sean Parkinson
fd3093f937 Protect code with #ifdefs 2017-03-15 09:09:02 +10:00
Sean Parkinson
e2930b0a43 Changes for WPA Supplicant 2017-03-15 09:09:02 +10:00
toddouska
7bef7aaa81 Merge pull request #792 from SparkiDev/valgrind
Fix valgrind issues
2017-03-14 13:50:26 -07:00
toddouska
4210ce0f67 Merge pull request #789 from SparkiDev/jenkins
Fixes for extended configuration testing
2017-03-14 10:00:39 -07:00
toddouska
cccaa8671e Merge pull request #778 from dgarske/intime_rtos
INtime RTOS port
2017-03-14 09:55:50 -07:00
David Garske
2fbce65975 Revert change in types.h for INTIME_RTOS. HAVE_THREAD_LS is not supported here, so don’t define out. Added note in INtime RTOS user_settings.h to indicate this. 2017-03-13 20:03:09 -07:00
David Garske
0eb01698f4 Fix for wolfCrypt ECC import/export point test to not use const idx and instead lookup using the “ecc_curve_id” enum value. Added new “wc_ecc_get_curve_idx” and “wc_ecc_get_curve_id” API’s. Redirected duplicate ECC function “wc_ecc_get_curve_name_from_id” to “wc_ecc_get_name”. Added “ECC_CURVE_INVALID” to indicate invalid curve_id. 2017-03-13 19:58:15 -07:00
Sean Parkinson
72728b21af Undo as mp_digit is not allowed to get as large as tested 2017-03-14 10:23:13 +10:00
Sean Parkinson
81731df72f Fix valgrind issues
Test program was re-using RSA and ECC key with multiple imports ops.
wc_RsaPublicKeyDecode() leaked if n parseable but not e.
2017-03-14 09:47:34 +10:00
David Garske
8a562c817c Fix build issues with DEBUG_WOLFSSL defined. Fix typo in user_settings.h for DEBUG_WOLFSSL. Fix issue with example client waiting on local server (shouldn’t be). Updated README.md with example output. 2017-03-13 12:22:44 -07:00
David Garske
e98a0465ae tenAsys INtime RTOS port. Porting complete for mutex semaphores, threading, file, socket and RNG. Added projects for libwolfssl and wolfExamples. The wolfExamples project includes examples for wolfCrypt Test/Benchmark and wolfSSL TLS client/server. Provided reference user_settings.h with comments and enable/disable gates. Added README.md with overview and instructions. Fixed issue building master with NO_WOLFSSL_DIR defined. Added check if old TLS is enabled that SHA and MD5 are enabled. Cleanup of the wolfCrypt test use of USE_CERT_BUFFERS with file system enabled. 2017-03-13 09:48:55 -07:00
Sean Parkinson
610ac07cd8 Add MP_MASK 2017-03-13 16:28:36 +10:00
Sean Parkinson
8ac2f5cb9c Windows warning about negating unsigned fix 2017-03-13 12:29:58 +10:00
Sean Parkinson
d4f0c79272 Cast for Windows 2017-03-13 12:18:45 +10:00
Sean Parkinson
614231f71c Fixes for extended configuration testing 2017-03-13 11:33:39 +10:00
Takuho Nakano
9780f1faef Fix spacing and comma 2017-03-12 23:01:32 +09:00
toddouska
a6cbfe6f93 Merge pull request #787 from SparkiDev/def_p256
Fix elliptic curve selection.
2017-03-11 08:35:11 -08:00
toddouska
91737ceb3f Merge pull request #786 from JacobBarthelmeh/Testing
Testing
2017-03-10 17:03:24 -08:00
Sean Parkinson
80fe2a3524 Fix elliptic curve selection.
Preference by:
1. the default for the curve strength (eccTempKeySz),
2. a curve at the curve strength (eccTempKeySz),
3. the default for next higher curve strength,
4. the first curve (client order) with the next highest curve strength
2017-03-11 10:17:15 +10:00
Jacob Barthelmeh
93f1e7cf2e remove magic number in test case 2017-03-10 13:16:22 -07:00
Jacob Barthelmeh
bb81ea804c add AES get key to ARMv8 port and add check for BASE 64 encode to tests 2017-03-10 09:55:27 -07:00
Jacob Barthelmeh
dee3159f0f update byte size conversion 2017-03-10 09:39:18 -07:00
Jacob Barthelmeh
e8d97c9b1e make test buffers large enough for results 2017-03-10 09:36:29 -07:00
toddouska
5a803730b8 Merge pull request #785 from SparkiDev/fixes
Fixes from merge of test coverage changes
2017-03-09 17:58:15 -08:00
toddouska
2b5dba798f Merge pull request #783 from JacobBarthelmeh/Cert-Report1
Add error case for critical Subject Key ID extension
2017-03-09 15:39:23 -08:00
Sean Parkinson
5c9eedbf69 Fixes from merge of test coverage changes
Include new certificates in distribution.
Casting changes for clang.
Extra error code - recognize in test.
2017-03-10 09:15:18 +10:00
toddouska
2444a55afe Merge pull request #708 from SparkiDev/test_cov
Extend testing for coverage
2017-03-09 12:52:17 -08:00
toddouska
2bb14903f9 Merge pull request #698 from SparkiDev/nginx
Get Nginx working with wolfSSL
2017-03-09 10:23:20 -08:00
toddouska
0e64c7708f Merge pull request #769 from JacobBarthelmeh/Testing
Testing
2017-03-09 10:17:48 -08:00
Jacob Barthelmeh
fd50fd8a3e Add error case for critical Subject Key ID extension 2017-03-08 16:40:07 -07:00
toddouska
df32c6fb0b Merge pull request #782 from dgarske/ecc_mem
Fix to reduce ECC memory usage when async crypt is not enabled
2017-03-08 15:35:47 -08:00
toddouska
2b0963c42a Merge pull request #780 from dgarske/crl_win
Fixes for building CRL with Windows
2017-03-08 15:31:02 -08:00
David Garske
a55ebb4c18 Fixes for building CRL with Windows. Refactor load_verify_buffer and LoadCRL to use new wc_ReadDir* functions. Added new directory/file API's: wc_ReadDirFirst(), wc_ReadDirNext(), wc_ReadDirClose(). Moved MAX_PATH and MAX_FILENAME_SZ to wc_port.h. Moved BAD_PATH_ERROR into error-crypt.h. The wc_ReadDir is only supported when NO_WOLFSSL_DIR and NO_FILESYSTEM are not defined. Add map to __FUNCTION__ macro in Windows with debug enabled (to resolve build error with VS and __func__ missing). Fix cast warning on response from EncodeOcspRequestExtensions. Fix for cast to call to BuildCertificateStatus. 2017-03-08 11:21:11 -08:00
Jacob Barthelmeh
a0effa6329 call mp_clear to match call to mp_init 2017-03-08 11:26:16 -07:00
David Garske
e115205d18 Fix to reduce ECC memory usage when async crypt is not enabled. Fix uses local for r and s instead of key->r and key->s. 2017-03-07 13:45:02 -08:00
toddouska
e7445b8e49 Merge pull request #781 from dgarske/fix_sb_int_dp
Fix integer.c scan-build warning for possible use of NULL dp
2017-03-07 12:03:20 -08:00
David Garske
be42a575da Fix additional integer.c report of possible use of NULL dp (after normal math performance improvement to defer dp pointer alloc commit bdbb98ed20 2017-03-06 13:19:52 -08:00
JacobBarthelmeh
ebef5083ca Merge pull request #777 from toddouska/dhpub
add check dh public key to agree()
2017-03-06 10:16:57 -07:00
JacobBarthelmeh
bb3bea3d4c Merge pull request #773 from toddouska/authtag
add defined for default AES AUTH_TAG_MIN_SZ
2017-03-06 09:53:01 -07:00
Sean Parkinson
ae6fbb220f Pass the context to statusCb (needed in Nginx 1.10.3) 2017-03-06 10:58:25 +10:00
toddouska
ba1a8d7681 Merge pull request #765 from dgarske/scanbuild_fixes
Fixes for scan-build warnings
2017-03-03 15:58:10 -08:00
toddouska
0d3ef0b399 Merge pull request #776 from dgarske/fix_iis_signature_algorithms
Fix issue with IIS servers and NO_OLD_TLS
2017-03-03 12:51:22 -08:00
toddouska
a348898e96 add AUTH_SZ size check to ti and armv8 ports 2017-03-03 11:42:24 -08:00
toddouska
7bcd26e321 add check dh public key to agree() 2017-03-03 11:30:38 -08:00
JacobBarthelmeh
6800ffe8fa Merge pull request #772 from toddouska/sr3-fix
fix signer memory takeover on malformed data
2017-03-03 10:21:01 -07:00
toddouska
eef3ec4a87 Merge pull request #763 from NickolasLapp/master
Changes to bring wolfssl up to date with stunnel 5.40
2017-03-03 09:00:11 -08:00
JacobBarthelmeh
ace417b087 Merge pull request #774 from ejohnstown/psk-staticmemory
Static Memory Handshake Fix
2017-03-03 09:38:19 -07:00
toddouska
2b937e2f23 Merge pull request #771 from JacobBarthelmeh/master
account for static memory IO_POOL free when general memory was used
2017-03-03 08:31:55 -08:00
David Garske
431f363520 Better fixes for suppressing scan-build warning with normal math enabled. 2017-03-03 07:35:26 -08:00
Sean Parkinson
0182d99efb Updates for nginx 1.10.3
Don't return global error when: SOCKET_PEER_CLOSED_E or SOCKET_ERROR_E
Increase max ex_data items to 5
2017-03-03 16:38:29 +10:00
David Garske
b5fe3ddbfa Fix to allow connection to IIS server which requires SHA1 hash algo to be present in signature_algos extension. Issue only exists when NO_OLD_TLS is defined. To enable SHA1 with TLS 1.2 define "WOLFSSL_ALLOW_TLS_SHA1”. 2017-03-02 18:18:05 -08:00
David Garske
67a8626430 Fix for scan-build warning with “->dp == NULL”. Scenario can’t happen, but adding sanity check to suppress warning. 2017-03-02 15:56:31 -08:00
John Safranek
ec1d8c7090 Fixed where the client was using NULL instead of ssl->heap when allocating memory during SendClientKeyExchange(). Failing on an embedded static build. 2017-03-02 10:05:24 -08:00
David Garske
d903059e05 Fixes to allow signature_algorithms extension to send SHA1 (if enabled) and NO_OLD_TLS is defined. This resolves an issue connected to ISS servers. 2017-03-01 19:07:13 -08:00
toddouska
c1c7c90345 add defined for default AES AUTH_TAG_MIN_SZ 2017-03-01 11:17:24 -08:00
Jacob Barthelmeh
9ab28f9756 account for static memory IO_POOL free when general memory was used 2017-03-01 11:39:00 -07:00
toddouska
2d612da9f4 fix signer memory takeover on malformed data 2017-03-01 10:25:54 -08:00
Sean Parkinson
7ca19f9fff Protect other call to wc_EccPublicKeyDecode 2017-03-01 09:37:18 +10:00
Sean Parkinson
292a17fff8 wc_EccPublicKeyDecode changes from review 2017-03-01 09:37:18 +10:00
Sean Parkinson
455fb96faa Extend testing for coverage 2017-03-01 09:37:18 +10:00
dgarske
0608cd0dd3 Merge pull request #770 from JacobBarthelmeh/master
adjust return value of hash update and address warning with NO_SHA
2017-02-28 14:56:43 -08:00
Sean Parkinson
13e6217fd5 Changes from code review 2017-03-01 08:38:54 +10:00
Sean Parkinson
d4abeb56db Fixes required after logging changes to master. 2017-03-01 08:38:54 +10:00
Sean Parkinson
e6434f380b Get Nginx working with wolfSSL 2017-03-01 08:38:54 +10:00
jrblixt
d5d7a4ae7b Report failure but continue to run. 2017-02-28 14:44:11 -07:00
Jacob Barthelmeh
f77458992e resolve windows warnings and add sanity check with PKCS12 parse 2017-02-28 14:33:07 -07:00
Jacob Barthelmeh
0ed8024bcf adjust return value of hash update and address warning with NO_SHA 2017-02-28 13:40:03 -07:00
toddouska
b86dfd582f Merge pull request #766 from JacobBarthelmeh/Testing
debug message fix
2017-02-27 12:09:43 -08:00
jrblixt
b2fc525a1d update MD5, SHA, SHA256, SHA384, SHA512 Update functions. 2017-02-24 15:58:47 -07:00
jrblixt
c467bbd776 Reasses return values on all Init, Update, Final functions. 2017-02-24 15:16:54 -07:00
Jacob Barthelmeh
26bd19bbd8 debug message fix 2017-02-23 17:15:44 -07:00
David Garske
9db6a27921 Fixes for scan-build warnings. Fix possible memory leak in wolfSSL_DH_new on failure. Add null checks in integer.c for destination to make sure “dp” grows when NULL (even though never happens in real-use). Added suppression of wc_port.c warning “Value stored to 'ret' is never read”. 2017-02-23 14:47:36 -08:00
jrblixt
6ca16b06d2 MergeConflicts 2017-02-23 11:13:32 -07:00
toddouska
6425a654be Merge pull request #761 from dgarske/stm32_fixes
Fix for AES-GCM with STM32 and CubeMX HAL
2017-02-22 14:31:36 -08:00
toddouska
302db35b2f Merge pull request #752 from dgarske/fix_ecc_import_wstaticmem
Fix issue with wc_ecc_import_x963_ex() loosing heap pointer
2017-02-22 14:30:57 -08:00
toddouska
bdbb98ed20 Merge pull request #735 from dgarske/norm_math_speedup
Normal math speed-up to not allocate on mp_int and defer until mp_grow
2017-02-22 14:29:51 -08:00
John Safranek
d52f44108c Merge pull request #762 from moisesguimaraes/fix-ocsp-request
Adds missing free(request) in CheckOcspRequest()
2017-02-22 14:19:51 -08:00
Moisés Guimarães
8bbcdf977d adds missing free(request) in CheckOcspRequest() 2017-02-22 10:43:07 -08:00
Nickolas Lapp
2ef4525d4d Changes to bring wolfssl up to date with stunnel 5.40 2017-02-22 11:15:59 -07:00
David Garske
5a539751a2 Fixes for AES with STM32 and CubeMX. The key size was not being set and causing issues with AES GCM. 2017-02-21 15:12:40 -08:00
dgarske
aeea24a5e3 Merge pull request #760 from toddouska/mcheck
fix small stack malloc checks
2017-02-21 14:33:44 -08:00
David Garske
e01da5c44c Fix mp_set to return int after rebase. 2017-02-21 14:12:27 -08:00
David Garske
b05cfec057 Fix build warning with missing “mp_to_unsigned_bin_at_pos” declaration. 2017-02-21 14:03:21 -08:00
David Garske
4cbfec1c7d Implemented ksdk_port fixes to handle mp_ response codes. Added KSDK support for normal math. Regression testing against K82 hardware (MMCAU/LTC) and software with normal and fast math. 2017-02-21 14:03:21 -08:00
David Garske
3008c888bf Fix mp_cmp_d logic to handle a->used == 0. Revert mp_copy and mp_set 0 size workarounds. 2017-02-21 14:03:21 -08:00
David Garske
9c7407d18c Added return codes to wc_InitDhKey, wc_InitDsaKey and mp_set. Added missing return code checks on mp_copy in ecc.c. Fixed build with DSA and no ECC where mp_set function def would be missing. 2017-02-21 14:03:21 -08:00
David Garske
d14be65315 Improve handling of mp_clear for RSA after speed-up. 2017-02-21 13:59:38 -08:00
David Garske
bced81d234 Improve handling of mp_init / mp_clear for DH and DSA after speed-up. 2017-02-21 13:59:38 -08:00
David Garske
da5825b94d Normal math speed-up to not allocate on mp_int and defer until mp_grow. Added memory tracker support to ./tests/unit.test. Fix memory leak with curve cache enabled, by adding to wolfSSL_Cleanup. 2017-02-21 13:59:38 -08:00
toddouska
e9c806a639 Merge pull request #743 from JacobBarthelmeh/master
change pem_password_cb typedef for compatibility
2017-02-21 13:23:05 -08:00
toddouska
ce94243a20 Merge pull request #746 from cconlon/pkcs7ukm
PKCS7: fix optional UserKeyingMaterial encoding
2017-02-21 13:22:31 -08:00
toddouska
f4f5d2d569 Merge pull request #747 from dgarske/integer_min_max
Fix naming for integer.c min/max local variables
2017-02-21 13:21:52 -08:00
toddouska
988f7fa983 Merge pull request #759 from dgarske/fix_smallstack_procuserhcain
Fix for ProcessUserChain with WOLFSSL_SMALL_STACK defined causing stack corruption
2017-02-21 13:20:43 -08:00
dgarske
c01fb8f655 Merge pull request #758 from kaleb-himes/mp_set
Fix for building with ECC disabled and DSA enabled with mp_set API.
2017-02-21 12:59:53 -08:00
David Garske
7125d16f3e Fix issue with wc_ecc_import_x963_ex() and wc_ecc_import_raw_private() loosing heap pointer. Fixes issue #750. 2017-02-21 12:19:48 -08:00
toddouska
fc85b8189c fix small stack malloc checks 2017-02-21 11:18:09 -08:00
David Garske
f0112c2f7d Fix for ProcessUserChain with WOLFSSL_SMALL_STACK defined causing stack corruption. 2017-02-21 10:38:44 -08:00
kaleb-himes
fddf3bc664 pre-processor-macro update for mp_set API 2017-02-20 16:31:19 -07:00
JacobBarthelmeh
db1f205522 Merge pull request #756 from toddouska/release3-10-3
3.10.3 rel
2017-02-20 10:08:14 -07:00
toddouska
ebb21fc284 update rpm spec 2017-02-17 15:02:04 -08:00
toddouska
e3503b8f9b 3.10.3 rel 2017-02-17 14:49:18 -08:00
toddouska
3837173f93 Merge pull request #754 from wolfSSL/ecc_cdh
Added ECC Cofactor DH (ECC-CDH) support
2017-02-17 14:26:09 -08:00
Sean Parkinson
19ee115392 Merge pull request #755 from toddouska/kat-errors
add ECC_CDH KAT error code
2017-02-17 14:25:51 -08:00
toddouska
b4802cd73d add ECC_CDH KAT error code 2017-02-17 12:26:35 -08:00
Sean Parkinson
bdd3f2be41 Make sure ecc key is always memset to 0 2017-02-17 12:15:18 -08:00
Sean Parkinson
3e6ef835b1 Free the ecc keys 2017-02-17 12:06:27 -08:00
Sean Parkinson
09bae9da3e Fixup from review 2017-02-17 11:18:05 -08:00
Sean Parkinson
24cd46f1f1 Fixes from code review 2017-02-17 11:05:29 -08:00
David Garske
d625645338 Refactor to combine ECC-CDH with existing “wc_ecc_shared_secret()” and use flag to perform cofactor computation on private key. Added new API “wc_ecc_set_flags()” and flag “WC_ECC_FLAG_COFACTOR” to indicate key should use cofactor. Added NIST CAVS test vector for ECC CDH Primitive with P-256. 2017-02-16 16:30:30 -08:00
David Garske
39607984f7 Added ECC Cofactor DH (ECC-CDH) support with new “wc_ecc_cdh()” and “wc_ecc_cdh_ex()” API’s. Enable using “HAVE_ECC_CDH” define. 2017-02-16 13:17:08 -08:00
toddouska
7da446c25a Merge pull request #748 from JacobBarthelmeh/Release
Release
2017-02-12 21:55:31 -08:00
Jacob Barthelmeh
337c52b4cf prepare for release 3.10.2 2017-02-10 10:19:34 -07:00
Jacob Barthelmeh
6c55701725 c89 build with ECC compresed key 2017-02-10 10:09:45 -07:00
David Garske
4f53761faf Fix naming for integer.c min/max local variables to resolve reported “error: declaration of 'min' shadows a global declaration”. 2017-02-09 15:52:25 -08:00
Jacob Barthelmeh
e307f3e89d free decoded cert with small stack build 2017-02-09 16:06:34 -07:00
Jacob Barthelmeh
0cbc640aad memory managment in crl.c with crl monitor 2017-02-09 15:39:55 -07:00
toddouska
c022614e07 Merge pull request #742 from dgarske/fix_asn_getlen
Improved ASN error checking
2017-02-09 13:05:26 -08:00
Chris Conlon
93642cfcb9 PKCS7: fix optional UserKeyingMaterial encoding 2017-02-09 12:04:19 -07:00
toddouska
8763a71420 Merge pull request #745 from JacobBarthelmeh/Windows
wolfCrypt cleanup in test.c moved and add wolfSSL init to testsuite w…
2017-02-09 10:19:51 -08:00
toddouska
3a6e8bf0d0 Merge pull request #744 from JacobBarthelmeh/Testing
static analysis fixes for memory management and possible null dereference
2017-02-09 10:18:26 -08:00
David Garske
321392998d Additional ASN checks for GetSequence and GetSet. Cleanup of the buffer space check error to use BUFFER_E. 2017-02-09 09:50:06 -08:00
Jacob Barthelmeh
6a6e61f1d8 wolfCrypt cleanup in test.c moved and add wolfSSL init to testsuite with single threaded 2017-02-08 18:52:16 -07:00
Jacob Barthelmeh
b6b3021def gcc-6 uninitialized warning with srp build 2017-02-08 16:49:58 -07:00
Jacob Barthelmeh
b0728645c9 static analysis fixes for memory management and possible null derefrence 2017-02-08 16:29:54 -07:00
toddouska
ef38ab8fc5 Merge pull request #701 from JacobBarthelmeh/mutex
better compatibility with printing errors to a file
2017-02-08 11:12:17 -08:00
Jacob Barthelmeh
c02f35c128 change pem_password_cb typedef for compatibility 2017-02-08 11:48:50 -07:00
John Safranek
868e704b82 Merge pull request #732 from kaleb-himes/openrtos-3.9.2-checkout
fips checkout for OpenRTOS v9.0.0 w/ wolfCrypt v3.9.2 on Atmels ATSAM…
2017-02-07 21:19:43 -08:00
dgarske
c074ab273f Merge pull request #740 from toddouska/ocsp
Fix OCSP signature leading zero, certdecode free on parse failure. Add WOLFSSL_NO_OCSP_OPTIONAL_CERTS to skip optional OCSP certs, responder issuer must still be trusted. Add user clock skew defines for date skew before checks (WOLFSSL_AFTER_DATE_CLOCK_SKEW=# and WOLFSSL_BEFORE_DATE_CLOCK_SKEW=#).
2017-02-07 18:46:31 -08:00
Jacob Barthelmeh
993a604124 remove extern variables and use error queue instead 2017-02-07 17:16:22 -07:00
toddouska
6fc81652b7 Merge pull request #738 from JacobBarthelmeh/Testing
align compatibility layer sha256 and sha224 structs
2017-02-07 13:59:34 -08:00
David Garske
8f1c2965af Fix build warning in asn.c with “potentially uninitialized local variable 'length' used”. 2017-02-07 13:34:27 -08:00
toddouska
468df109b6 add WOLFSSL_NO_OCSP_OPTIONAL_CERTS to skip optional OCSP certs, responder issuer must still be trusted 2017-02-07 13:31:59 -08:00
David Garske
19204ab1ac Fix comment. 2017-02-07 11:07:48 -08:00
David Garske
a2984553d7 Fixes for build with user-crypto RSA (--enable-fast-rsa). 2017-02-07 11:03:17 -08:00
David Garske
3a1921e107 Fixes to ASN GetLength changes. Additional GetLength checks in PKCS7 and PKCS12. 2017-02-07 10:59:34 -08:00
David Garske
0286d157a7 First pass at cleanup of the GetLength function handling of 0 length value. Added some asn.c build option comments. 2017-02-06 20:05:04 -08:00
toddouska
7ddeb1afd9 add user clock skew defines for date skew before checks 2017-02-06 16:30:48 -08:00
toddouska
f938a75780 fix OCSP signature leading zero, certdecode free on parse failure 2017-02-06 14:10:38 -08:00
Jacob Barthelmeh
53bebb4785 add error code for wolfCrypt_Cleanup 2017-02-06 14:51:55 -07:00
toddouska
1f7976a587 Merge pull request #739 from JacobBarthelmeh/Memory
reduction of mp_jacobi stack usage
2017-02-06 11:59:52 -08:00
Moisés Guimarães
daafb2c5ac changes docs to single page 2017-02-05 18:56:19 -03:00
Moisés Guimarães
e33d4c0172 adds full docs 2017-02-05 18:51:13 -03:00
Moisés Guimarães
00a74d0da4 adds initial doc files 2017-02-05 16:43:43 -03:00
Jacob Barthelmeh
0f91542cf4 add peek error node function to make use of debug mutex 2017-02-03 11:52:36 -07:00
Jacob Barthelmeh
e8110e773e reduction of mp_jacobi stack usage 2017-02-02 17:13:26 -07:00
Jacob Barthelmeh
b1522e0c59 pack Sha256 struct 2017-02-02 14:55:51 -07:00
Jacob Barthelmeh
e722459df3 align compatibility layer sha256 and sha224 structs 2017-02-02 11:57:29 -07:00
Erik Bray
bf12e4ecca wolfcrypt Python: work around minor issue in Random.__del__
During interpreter shutdown, depending on the order in which things happen, a module can be unloaded before all instances of classes defined in that module are garbage collected.

In particular, this means that any global variables (including imported modules) become `None` by the time the instances `__del__` is called, resulting in
```
AttributeError: 'NoneType' object has no attribute 'wc_FreeRng'
```
being displayed while the process exits.  This can be avoided simply by catching and ignoring the `AttributeError` in this case, since the process is shutting down anyways.
2017-02-02 16:51:41 +01:00
Moisés Guimarães
895bf8dfbc Merge pull request #728 from embray/patch-1
Fixes a serious bug in Random.byte
2017-02-01 21:07:20 -03:00
dgarske
16698db48f Merge pull request #733 from kaleb-himes/tirtos-updates
updates for TIRTOS build following release 3.10.0
2017-02-01 14:47:12 -08:00
Kaleb Himes
fde6700d89 fix typo 2017-01-31 15:10:49 -07:00
kaleb-himes
d1f323ca58 Adds wrapper for CTX_load_verify_locations to C# wrapper 2017-01-31 14:45:33 -07:00
jrblixt
b11265dbf5 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into unitTest_api_dev 2017-01-31 14:34:58 -07:00
jrblixt
de9f05f3c5 Update sha256.c function punctuation. 2017-01-31 14:33:21 -07:00
Kaleb Himes
af355f7472 updates for TIRTOS build following release 3.10.0 2017-01-31 13:15:45 -08:00
kaleb-himes
b2e4a50bf4 fips checkout for OpenRTOS v9.0.0 w/ wolfCrypt v3.9.2 on Atmels ATSAM4L CPU 2017-01-30 15:32:59 -07:00
Moisés Guimarães
29f52ec735 Merge pull request #730 from toddouska/ocsp
Better CheckOcspRequest error detection on retry
2017-01-30 12:59:58 -03:00
toddouska
ea96fa95b3 add new OCSP response validated debug message and remove redundant ret set 2017-01-28 11:11:25 -08:00
Erik Bray
a094a36fa8 Update random.py
Realized that `ffi.string()` could truncate the output on null bytes.
2017-01-28 15:55:42 +01:00
toddouska
a10d464126 fix scan-build warning and simplify CheckOcspRequest validation 2017-01-27 17:07:31 -08:00
toddouska
f44bbe9ba3 Better CheckOcspRequest error detection on retry 2017-01-27 15:42:00 -08:00
John Safranek
1108ea0303 Merge pull request #729 from JacobBarthelmeh/staticmemory
account for unaligned memory when computing optimum size and update s…
2017-01-27 15:00:18 -08:00
Jacob Barthelmeh
0b8730f0b6 check bounds of buffer and get file buffer size 2017-01-27 15:14:25 -07:00
Jacob Barthelmeh
fc899029fb account for unaligned memory when computing optimum size and update static memory tests 2017-01-27 10:50:47 -07:00
jrblixt
e4942eaa3d Reorder restore statement. 2017-01-26 17:03:05 -07:00
jrblixt
74f72b5c6b Jenkins fix. 2017-01-26 13:15:11 -07:00
Erik Bray
e96a720f04 Fixes a serious bug in Random.byte
Python's bytecode compiler has a peephole optimizer which, among other things, can recognize constant expressions and replace them with a constant.

In `Random.byte` the expression `t2b('\0')` is recognized as a constant and is replaced with a single constant compiled into the function's bytecode.

This means that every time you run `Random.byte`, rather than creating a new `str` object (or `bytes` in Python 3) it's reusing the same one each time, and `wc_RNG_GenerateByte` is writing right into that constant object's buffer; hence the following behavior:

```
In [55]: rng = Random()

In [56]: a = rng.byte()

In [57]: a
Out[57]: "'"

In [58]: rng.byte()
Out[58]: '\x11'

In [59]: a
Out[59]: '\x11'

In [60]: rng.byte()
Out[60]: '\x16'

In [61]: a
Out[61]: '\x16'

In [62]: rng.byte.__func__.__code__.co_consts
Out[62]:
('\n        Generate and return a random byte.\n        ',
 '\x16',
 0,
 'RNG generate byte error (%d)')

In [63]: rng.byte()
Out[63]: '\xad'

In [64]: rng.byte.__func__.__code__.co_consts
Out[64]:
('\n        Generate and return a random byte.\n        ',
 '\xad',
 0,
 'RNG generate byte error (%d)')
```

`Random.bytes` does not necessarily have this problem since its result buffer is not a constant expression, though I feel like it could also in principle be affected if the string were interned (though I couldn't produce such a result). Nevertheless, it doesn't seem like a good idea to be updating `str` objects' buffers directly.
2017-01-26 20:48:15 +01:00
jrblixt
3ca087e850 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into unitTest_api_dev 2017-01-26 12:48:03 -07:00
jrblixt
79e8bd2f2b Restore the ssl->hsHashes->hashSha384 before returning on failure. 2017-01-26 12:44:20 -07:00
jrblixt
be768f5395 Made changes in api.c to reflect Update() changes. 2017-01-26 12:34:09 -07:00
dgarske
d22bc5d347 Merge pull request #727 from ejohnstown/minor-cleanups
Minor Cleanups
2017-01-26 08:50:28 -08:00
John Safranek
d93f856081 Minor Cleanups
1. Removed the execute bit from a few C source files.
2. Changed a couple letters in Moises's name in tfm.h to
   the non-extended/accented versions of "e" and "a".
2017-01-25 14:17:17 -08:00
dgarske
1e02d00f61 Merge pull request #725 from toddouska/psk
add PSK test support to openssl script interop
2017-01-24 13:52:23 -08:00
JacobBarthelmeh
d60d0b4e3f Merge pull request #726 from ejohnstown/static-memory-fix
Allow Static Memory...
2017-01-24 09:38:08 -07:00
John Safranek
13d0908b09 Allow static memory option when not using fast math or not using
slow math for anything.
2017-01-23 16:38:29 -08:00
toddouska
a9a0cdfe71 add PSK test support to openssl script interop 2017-01-23 16:10:01 -08:00
toddouska
52bc606ef9 Merge pull request #723 from dgarske/fix_ecc_noshamir_wstaticmem
Fix issue with wc_ecc_verify_hash_ex when not using SHAMIR and using static memory
2017-01-23 14:00:43 -08:00
toddouska
a1b79abedb Merge pull request #717 from wolfSSL/auto_ecc_sup_curves
Added code to automatically populate supported ECC curve information
2017-01-23 13:57:56 -08:00
David Garske
b7c3a340c1 Fix issue with wc_ecc_verify_hash_ex when not using SHAMIR and using static memory. Fixes issue #722. 2017-01-23 09:12:03 -08:00
dgarske
008a69f185 Merge pull request #721 from ejohnstown/cleanups-for-multicast
Small Fixes for Multicast
2017-01-22 13:19:10 -08:00
Moisés Guimarães
d3d7446a24 removes 3DES from docs 2017-01-21 15:31:26 -02:00
Chris Conlon
8e0affb4a3 Merge pull request #692 from moisesguimaraes/fixes-ocsp-stapling-parser
Fixes certificate status parsing, adds behavior for unknown status type
2017-01-20 16:41:28 -07:00
John Safranek
ac0181d527 In benchmark, change the calls to InitRNG to the explicit
heap versions like all the other crypt calls so it works
with static memory. Plays nice with FIPS mode if available.
2017-01-20 15:36:08 -08:00
Chris Conlon
4d83ef1c23 Merge pull request #712 from moisesguimaraes/fixes-ocsp-lookup
fixes CA matching when using NO_SKID
2017-01-20 16:15:12 -07:00
John Safranek
497313978f Multicast
1. Opt-out the wolfmath code if not using big integers.
2. Opt-in a few functions when using lean PSK and DTLS.
3. Add a couple (void)heap to hush the compiler for
   usused variables in lean PSK.
4. Add include limits.h to internal.h if CHAR_BIT isn't
   defined. This is mainly for DTLS with lean PSK.
2017-01-20 11:59:28 -08:00
jrblixt
3918cdef03 Wrapped functions. 2017-01-19 13:35:23 -07:00
David Garske
784ce57f45 Fix for TLSX_PopulateExtensions to not use #else HAVE_QSH case for populating supported curves. 2017-01-19 09:23:07 -08:00
toddouska
835e3b7953 Merge pull request #719 from dgarske/fix_aes_no_dec
Fixes for building with NO_AES_DECRYPT
2017-01-19 08:52:32 -08:00
toddouska
e86d59b3f7 Merge pull request #718 from dgarske/fix_ecc_comp_err
Fix scan-build warning with err not being read with HAVE_COMP_KEY defined
2017-01-19 08:50:44 -08:00
toddouska
18b78795fb Merge pull request #716 from dgarske/fix_no_asn_time
Fix build with NO_ASN_TIME
2017-01-19 08:43:50 -08:00
toddouska
fa2882322d Merge pull request #713 from JacobBarthelmeh/master
chacha20_poly1305 function expects a key size of 32 bytes
2017-01-19 08:41:48 -08:00
David Garske
1afe613512 Fixes for building with NO_AES_DECRYPT. Added new HAVE_AESGCM_DECRYPT to allow AES GCM Decrypt with NO_AES_DECRYPT defined, since GCM uses only encrypt routine. Only allow TLS AES if NO_AES_DECRYPT is not defined. 2017-01-18 15:56:18 -08:00
David Garske
b3721c6808 Fix scan-build warning with err not being read with HAVE_COMP_KEY defined. Okay to always call wc_ecc_curve_free, since DECLARE_CURVE_SPECS does a memset. 2017-01-18 14:05:32 -08:00
Moisés Guimarães
a761a7fc64 updates provisioners 2017-01-18 19:19:03 -02:00
Moisés Guimarães
feb6617dc9 updates centos provisioner 2017-01-18 18:41:15 -02:00
Moisés Guimarães
51bf46288b adds client example 2017-01-18 18:18:19 -02:00
Moisés Guimarães
5c8e69eb5e updates vagrant configs; updates server example, updates copyright year. 2017-01-18 17:59:48 -02:00
David Garske
01f4a7b5bd Added code to automatically populate supported ECC curve information, unless already provided by user via wolfSSL_CTX_UseSupportedCurve or wolfSSL_UseSupportedCurve. 2017-01-18 11:54:43 -08:00
toddouska
31981cc365 Merge pull request #711 from cconlon/ecc
add ECC export raw, sig to (R,S), helper functions
2017-01-18 09:27:42 -08:00
toddouska
58f1fd2cc9 Merge pull request #704 from SparkiDev/memfail
Fixes from failure testing
2017-01-17 12:53:56 -08:00
jrblixt
c5bd24c1b7 Added changes Chris requested.
Moved error-crypt.h location and corrected FIPS return code.

Made requested changes to printf where 0 == 0.
2017-01-17 13:51:17 -07:00
toddouska
a00bdb0de7 Merge pull request #714 from wolfSSL/fix_intelasm_debug
Fixed issue with intelasm and debug with SHA256
2017-01-17 12:50:17 -08:00
Jacob Barthelmeh
e84528205e chacha20_poly1305 function expects a key size of 32 bytes 2017-01-17 13:39:26 -07:00
toddouska
2281560f1a Merge pull request #710 from JacobBarthelmeh/staticmemory
pass heap hint to temporary public ECC key
2017-01-17 12:15:45 -08:00
toddouska
2e60330796 Merge pull request #703 from JacobBarthelmeh/SGX
wolfcrypt only build with Windows
2017-01-17 12:13:37 -08:00
toddouska
c7ecf23c85 Merge pull request #696 from JacobBarthelmeh/Testing
fix possible memory leak on error case with ASN1 INTEGER to BN function
2017-01-17 12:10:21 -08:00
David Garske
a0dc8dc8f9 Fix build with NO_ASN_TIME. Kaleb, add to future build options tests. 2017-01-17 10:35:48 -08:00
Moisés Guimarães
bb97e03a44 initial server tests 2017-01-16 19:40:46 -02:00
Moisés Guimarães
089387906e updates tests 2017-01-16 18:52:34 -02:00
Moisés Guimarães
715d6afeda updates tox config 2017-01-16 18:48:01 -02:00
Moisés Guimarães
0a9f66338c adds coverity tests 2017-01-15 12:51:09 -02:00
Moisés Guimarães
2d56f09320 adds accept() behavior to SSLSocket; Migrates tests to pytest. 2017-01-15 12:26:22 -02:00
David Garske
1aeab91828 Fixed issue with intelasm and debug with SHA256 due to stack variable W_K alignment. Removed obsolete DEBUG_XMM code. 2017-01-13 15:50:04 -08:00
Moisés Guimarães
56091e267f moving source code into src 2017-01-12 19:27:36 -02:00
Chris Conlon
00fed61d36 Merge pull request #709 from JacobBarthelmeh/PKCS12
heap hint with PKCS7
2017-01-12 09:34:20 -07:00
Jacob Barthelmeh
75e3b5a297 pass heap hint to temporary public ECC key 2017-01-12 09:10:25 -07:00
Moisés Guimarães
86a3039e0b fixes CA matching when using NO_SKID 2017-01-12 13:56:38 -02:00
Sean Parkinson
ba1315a499 Fixes from failure testing 2017-01-12 16:22:35 +10:00
Chris Conlon
f6647fbf84 add ECC export raw, sig to (R,S), helper functions 2017-01-11 17:08:35 -07:00
Jacob Barthelmeh
36d34ce069 free WOLFSSL_BN in SetIndividualExternal error case and simplify mpi_clear call 2017-01-11 14:53:32 -07:00
toddouska
fc8ab42612 Merge pull request #671 from dgarske/ecc_curve_cache
New ECC curve cache feature to improve performance
2017-01-11 13:34:32 -08:00
toddouska
575ac7b9d3 Merge pull request #707 from JacobBarthelmeh/master
fix location in tfm.c that could result in potential cache attack
2017-01-11 12:35:22 -08:00
Jacob Barthelmeh
bafddd1ba8 heap hint with PKCS7 2017-01-11 11:38:21 -07:00
Jacob Barthelmeh
e3277c19b7 fix location in tfm.c that could result in potential cache attack 2017-01-10 15:00:00 -07:00
dgarske
8954de40ff Merge pull request #706 from JacobBarthelmeh/Windows
open test file in binary mode
2017-01-10 11:54:47 -08:00
JacobBarthelmeh
c191a19a77 Merge pull request #705 from cconlon/pkcs7rng
fix RNG to WC_RNG typo in pkcs7.c
2017-01-10 10:15:05 -07:00
Jacob Barthelmeh
6732961e0d open test file in binary mode 2017-01-10 09:57:29 -07:00
Chris Conlon
993e6298ac fix RNG to WC_RNG typo in pkcs7.c 2017-01-09 16:59:42 -07:00
David Garske
3338ea9ef7 Added ecc.c documentation for WOLFSSL_VALIDATE_ECC_IMPORT. Note: Add this define to enable checks for Jenkins (after this is merged). 2017-01-09 15:01:17 -08:00
David Garske
0722f4d20f Fixes to reduce stack usage with ECC_CACHE_CURVE disabled (same as previous code). Added USE_ECC_B_PARAM macro (enabled with ECC_CACHE_CURVE or HAVE_COMP_KEY). Fixed bug with WOLFSSL_VALIDATE_ECC_KEYGEN defined and args to ecc_check_pubkey_order. Fixed counts for DECLARE_CURVE_SPECS(). Fixed wc_ecc_import_point_der to use curve cache. Enhance wc_ecc_check_key to support ECC_CACHE_CURVE for b or load using read_radix. Enhance to expose wc_ecc_is_point with all required mp_int* args directly. 2017-01-09 11:15:13 -08:00
Jacob Barthelmeh
6edb639d9d wolfcrypt only build with Windows 2017-01-09 10:33:46 -07:00
dgarske
af00ad7683 Merge pull request #700 from JacobBarthelmeh/master
run peek last error line test only when NO_OLD_TLS is not defined
2017-01-07 11:37:27 -08:00
Jacob Barthelmeh
4be5f624e8 include logging.h in test.c 2017-01-06 16:40:19 -07:00
Jacob Barthelmeh
dcb9ef6651 better compatibility with printing errors to a file 2017-01-06 14:29:16 -07:00
dgarske
274ac21450 Merge pull request #699 from kaleb-himes/FREERTOS_TCP
Remove toolchain level define from OS_TCP section
2017-01-06 13:23:22 -08:00
Jacob Barthelmeh
d3604f1061 run peek last error line test only when NO_OLD_TLS is not defined 2017-01-06 13:22:49 -07:00
kaleb-himes
2b49f4205f Remove toolchain level define from OS level define section 2017-01-06 11:44:04 -07:00
jrblixt
08f188ab44 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into unitTest_api_dev 2017-01-06 11:26:06 -07:00
jrblixt
2c87f8d33c merge with wolfSSL master. 2017-01-06 11:06:01 -07:00
David Garske
050ba9d6e0 unit test md5, sha, sha256, sha384, sha512
Memory leak fix.
2017-01-06 10:57:50 -07:00
toddouska
c20a35f1db Merge pull request #697 from JacobBarthelmeh/master
adjust dynamic types with PKCS12 parse
2017-01-05 14:39:17 -08:00
Jacob Barthelmeh
1afb7e20db fix for freeing copy of mpi in the case of not using fastmath 2017-01-05 13:49:07 -07:00
Jacob Barthelmeh
147a7d5096 adjust dynamic types with PKCS12 parse 2017-01-05 10:21:14 -07:00
Jacob Barthelmeh
1a55309207 fix possible memory leak on error case with ASN1 INTEGER to BN function 2017-01-05 10:00:17 -07:00
JacobBarthelmeh
ea47d76bf7 Merge pull request #695 from dgarske/openssl_compat_enums
Additional openssl compatibility enums for X509_V_ERR and SSL_CB
2017-01-04 16:35:09 -07:00
David Garske
cb0cc92ff2 Fixes for building with CRL monitor when not linux, OS X or FreeBSD and --enable-distro set. Cleanup of the crl.c HAVE_CRL_MONITOR checks for OS and make sure if StopMonitor preprocessor is defined the function will also be defined. 2017-01-04 15:27:15 -07:00
David Garske
2f3ec778bd For distro build don't install options.h (conflicts with multi-arch). Fix for BUILD_DISTRO excludes with indent. 2017-01-04 15:27:15 -07:00
David Garske
d3195d0b75 Pulled in patches from Debian package. 2017-01-04 15:27:15 -07:00
David Garske
fc6217e4f6 Added stubs for the set_msg_callback functions. Cleanup of the SSL_ST_* and SSL_CB_* enums. 2017-01-04 12:14:09 -08:00
David Garske
7c7b1233f7 Additional enums needed for compatibility with openssl for paho c mqtt client SSLSocket.c layer. 2017-01-04 11:00:08 -08:00
toddouska
f25416d424 Merge pull request #689 from dgarske/fix_iar_arm
Fixes for compiler warnings with IAR EWARM 8
2017-01-03 15:46:12 -08:00
John Safranek
916e58b93c Merge pull request #694 from moisesguimaraes/fixes-ocsp-nonce-check
removes request->nonceSz check to fully validate response->nonce.
2017-01-03 13:04:24 -08:00
John Safranek
dd737ca103 Merge pull request #618 from kojo1/openssl-ex
Openssl Extra
2017-01-03 12:40:51 -08:00
dgarske
11775acb86 Merge pull request #691 from JacobBarthelmeh/Windows
random port for MinGW with unit tests
2017-01-03 11:46:33 -08:00
Moisés Guimarães
c82372cf78 removes request->nonceSz check to fully validate response->nonce. 2017-01-02 14:59:00 -02:00
David Garske
07ce995b12 Fix issue with imported key not having a reset key->r, key->s and key->state, which was causing wc_ecc_encrypt to fail. 2016-12-30 12:24:03 -08:00
Moisés Guimarães
762064c292 fixes certificate status parsing, adds behavior for unknown status type. 2016-12-29 22:29:46 -02:00
Erik M. Bray
e3ec769107 Adds an --enable-aesctr flag to the configure script to explicitly compile with -DWOLFSSL_AES_COUNTER and -DWOLFSSL_AES_DIRECT
If --enable-fortress or --enable-mcapi are used they effectively force --enable-aesctr
2016-12-29 21:26:34 +01:00
toddouska
073aa95496 Merge pull request #678 from dgarske/cleanup_macros
Cleanup min(), TRUE, FALSE, ALIGN16 and ALIGN32
2016-12-29 11:19:05 -08:00
toddouska
0decefed11 Merge pull request #679 from dgarske/wolfmath
Combine generic math functions into new wolfmath.c/.h
2016-12-29 11:17:44 -08:00
toddouska
fab72ed163 Merge pull request #688 from JacobBarthelmeh/master
fix C++ compiler warnings for distro build
2016-12-29 11:06:47 -08:00
toddouska
f550172fd4 Merge pull request #687 from JacobBarthelmeh/Testing
update Windows FIPS build
2016-12-29 11:06:11 -08:00
Jacob Barthelmeh
5abfe9d1cf random port for MinGW with unit tests 2016-12-29 11:05:10 -07:00
David Garske
19ee499c96 Fix to improve fp_copy performance without ALT_ECC_SIZE defined. This change is required for async because we can’t memcpy/memset the entire fp_int. 2016-12-28 16:47:14 -08:00
David Garske
e75fddd49e Moving macType below hash in WOLFSSL_EVP_MD_CTX (instead of ALIGN16) to resolve 16-bit alignment crash I was seeing on CentOS due to size change of “WOLFSSL_Hasher”. 2016-12-28 16:31:41 -08:00
David Garske
a854320a96 Revert changes to aes.c roll_auth. 2016-12-28 16:28:02 -08:00
Jacob Barthelmeh
6c90f097ca remove extra white space 2016-12-28 15:40:34 -07:00
Takashi Kojo
c77a18f0ec add EVP_CIPHER_CTX_mode 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
f60cb08c29 macro and tests for get_passwd_cb functions 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
4f317a9a1d wolfSSL_EVP_CipherInit_ex handle ENGINE argument and add a sanity check 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
1326fe1b0d return values of DES set key and return block size for EVP block_size getter function 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
ccc72d72c2 change argument to pointer. In most cases NULL is used for this argument, as was the case in previous ports 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
95ea74a91e sanity checks and one function return type for better compatibility 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
091fc10147 adjust read ahead, some sanity checks and rebase 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
724e50c4fd cast flag to byte type from int 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
aabe456592 sanity checks, remove some magic numbers, TLS read ahead 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
ed5ff77e4f account for BIO with no filesystem and rebase commits 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
f7737fdc55 expand BIO compatibility 2016-12-28 14:45:29 -07:00
Takashi Kojo
a2d1db4b73 Merge branch 'openssl-ex' of https://github.com/kojo1/wolfssl into openssl-ex 2016-12-28 14:45:29 -07:00
Takashi Kojo
5a2794fe9c add EVP_MD_CTX_md, EVP_MD_type 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
2b3438e11b pem x509 read from bio and bio set fd 2016-12-28 14:45:29 -07:00
Takashi Kojo
80efc366df add wolfSSL_EVP_MD_CTX_new/free 2016-12-28 14:45:29 -07:00
Takashi Kojo
b377125ad1 add alias to EVP_get_cipher/digestbyname 2016-12-28 14:45:29 -07:00
Takashi Kojo
c57803a4a5 add test EVP_CIPHER_CTX_new/free 2016-12-28 14:45:29 -07:00
Takashi Kojo
a774f26613 add EVP_get_cipherbyname 2016-12-28 14:45:29 -07:00
Takashi Kojo
2ef85e3d4d EVP_CIPHER_CTX_new/free, EVP_get_digestbyname 2016-12-28 14:45:29 -07:00
Takashi Kojo
0c742654dc EVP_add_digest 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
64a3333870 adjust wolfSSL_set_options and test case 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
2daeecdb90 BIO s_socket and BN mod exp 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
e741a24089 add get last error and line function, fix ASN1 object redeclaration 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
1d0fc83d40 function to add X509 to cert chain 2016-12-28 14:45:29 -07:00
Takashi Kojo
280f5cb542 fix int long type mismatch 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
1704a8d683 expand compatibility layer with write bio function 2016-12-28 14:45:29 -07:00
Takashi Kojo
778680116e HMAC_cleanup, MD5xxx for bsd 2016-12-28 14:45:29 -07:00
Takashi Kojo
570486b90c add SL_CTX_need/set_tmp_RSA 2016-12-28 14:45:29 -07:00
Takashi Kojo
4baf494ddd add EVP_CipherUpdate/Final 2016-12-28 14:45:29 -07:00
Takashi Kojo
869529642d Add #define EVP_DigestInit_ex 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
781c7d0055 check for user RSA 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
7e91838d4a memory management and add to compatibility layer 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
ff05c8a7a5 expanding compatibility layer 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
9d1cb18616 add function X509_get_ext_d2i 2016-12-28 14:45:29 -07:00
Jacob Barthelmeh
5f3fa171cd templates wolfSSL_ctrl and wolfSSL_CTX_ctrl 2016-12-28 14:44:05 -07:00
Jacob Barthelmeh
79472e11a1 add bio.c to dist and implement wolfSSL_check_private_key , wolfSSL_get_server_random 2016-12-28 14:44:05 -07:00
Jacob Barthelmeh
fed4ed40a9 compatibility functions for X509 2016-12-28 14:44:05 -07:00
Jacob Barthelmeh
0d7c259282 compatibility functions for ssl cert and private key 2016-12-28 14:44:05 -07:00
Takashi Kojo
d8d3cd5269 staub: SSL_get_server_random 2016-12-28 14:44:05 -07:00
Takashi Kojo
3946931320 stubs: SSL_get_server_random/verify_result/session/set_accept_state 2016-12-28 14:44:05 -07:00
Takashi Kojo
a09a761d07 stubs: PEM_read_bio_DSAparams/X509_AUX/PrivateKey,SSL_CTX_get_default_passwd_cb/userdata 2016-12-28 14:44:05 -07:00
Takashi Kojo
ee86325ae4 template: ERR_peek_last_error_line/print_errors_fp, EVP_add_digest 2016-12-28 14:44:05 -07:00
Takashi Kojo
63dcacb437 templates: ENGINE_cleanup, BN_mod_exp 2016-12-28 14:44:05 -07:00
Takashi Kojo
f3435eefbd templates: ASN1_INTEGER_to_BN, BN_mod_exp, CONF_modules_free/unload, DSA_dup_DH 2016-12-28 14:44:05 -07:00
Jacob Barthelmeh
f2f52c3ec9 add more compatiblity functions 2016-12-28 14:44:05 -07:00
Jacob Barthelmeh
6520a77fac DES ECB prototypes 2016-12-28 14:44:05 -07:00
Jacob Barthelmeh
526b602ebd AESNI support with EVP AES 2016-12-28 14:44:05 -07:00
Jacob Barthelmeh
8554912d68 COMPAT. LAYER : jenkins warnings and build configurations 2016-12-28 14:44:05 -07:00
Jacob Barthelmeh
464543df26 COMPAT. LAYER : jenkins warnings and spacing around if statements 2016-12-28 14:44:05 -07:00
Takashi Kojo
8844554fca Templates BIO/SSL/SSL_CTX_ctrl 2016-12-28 14:44:05 -07:00
Takashi Kojo
86014fb0d0 add BIO_ctrl and other BIO templates 2016-12-28 14:44:05 -07:00
Takashi Kojo
8ed0b83c21 Test on EVP_Cipher AES Counter 2016-12-28 14:44:05 -07:00
Takashi Kojo
de91e7df03 add EVP_Cipher with AES Counter 2016-12-28 14:44:05 -07:00
Takashi Kojo
aed9b2d3bb add EVP_CIPHER_CTX_block_size/mode/set_flags/set_padding 2016-12-28 14:44:05 -07:00
Takashi Kojo
bb400789b8 add EVP_Cipher with EVP_aes_256_ecb() 2016-12-28 14:44:05 -07:00
Takashi Kojo
0fd50cd57a Added AES_set_encrypt/decrypt_key, AES_ecnrypt/decrypt 2016-12-28 14:44:05 -07:00
David Garske
b57e576abd Fixes for compiler warnings with IAR EWARM 8.
* Fix “wc_PKCS7_DecodeUnprotectedAttributes” return prior to free in GetSet error case.
* Fix “wc_PKCS7_KariGenerateKEK” type mismatch for kdfType.
* Fix aes.c roll_auth use of inSz over 24-bit.
* Fix ecc “build_lut”, “accel_fp_mul” and “accel_fp_mul2add” use of err as unsigned.
* Fix “wc_HKDF” use of un-initialized “myHmac” for heap.
* Fix undefined reference to __REV for IAR due to missing intrinsics.h.
* Fix build error for “wolfSSL_CTX_set_tmp_dh” if OPENSSL_EXTRA not defined and “HAVE_LIGHTY || HAVE_STUNNEL || WOLFSSL_MYSQL_COMPATIBLE”.
* Cleanup of “wolfSSL_get_chain_X509” brace..
* Cleanup SSL_CtxResourceFree use of `i` and define comments.
* Added “SIZEOF_LONG_LONG” to IAR-EWARM user_settings.h to support word64 (required for SHA512, etc).
2016-12-28 11:18:41 -08:00
JacobBarthelmeh
a40a3cb142 Merge pull request #686 from jay/fix_poly1305_ADD_macros
poly1305: fix ADD macros for multi-line
2016-12-27 17:52:53 -07:00
Jacob Barthelmeh
511f41b0e4 fix C++ compiler warnings for distro build 2016-12-27 14:38:14 -07:00
Jacob Barthelmeh
fb49dbd083 update Windows FIPS build 2016-12-27 10:34:13 -07:00
Jay Satiro
3b6dac9751 poly1305: fix ADD macros for multi-line 2016-12-24 02:46:35 -05:00
JacobBarthelmeh
2cf7785068 Merge pull request #682 from JacobBarthelmeh/Release
prepare for release 3.10.0
2016-12-23 09:10:35 -07:00
David Garske
c4af58b973 Refined the FIPS “min” logic. 2016-12-22 18:11:25 -08:00
David Garske
fc16890641 Fix “min” with ctaocrypt FIPS. 2016-12-22 14:01:05 -08:00
Jacob Barthelmeh
7752f9ad05 prepare for release 3.10.0 2016-12-22 14:23:41 -07:00
JacobBarthelmeh
784b24eebc Merge pull request #680 from ejohnstown/dtls-sctp-fix
DTLS-SCTP fix
2016-12-22 13:10:29 -07:00
Moisés Guimarães
53d4c171c8 adds more client tests 2016-12-22 17:58:13 -02:00
Moisés Guimarães
35f03eb00a fixes docs. 2016-12-22 16:59:50 -02:00
Moisés Guimarães
1c9147a41e adds supported curves to context; fixes compatibility issues with py27 2016-12-22 15:01:58 -02:00
Moisés Guimarães
9b58ab0211 renames exceptions file 2016-12-22 15:01:58 -02:00
Moisés Guimarães
4b75d11164 fixes socket calls 2016-12-22 15:01:58 -02:00
Moisés Guimarães
f3c1522608 always treat native_object as a pointer 2016-12-22 15:01:58 -02:00
Moisés Guimarães
b9934695fb pretest version of SSLSocket 2016-12-22 15:01:58 -02:00
Moisés Guimarães
567dfd76b3 adds initial code for SSLSocket 2016-12-22 15:01:58 -02:00
Moisés Guimarães
2cbdd45e8f adds negotiate() to ssl interface 2016-12-22 15:01:58 -02:00
Moisés Guimarães
07072ef266 moving SSLContext and SSLSocket to __init__ to avoid ciclic includes 2016-12-22 15:01:58 -02:00
Moisés Guimarães
baeba53527 adds wrap_socket to the context 2016-12-22 15:01:58 -02:00
Moisés Guimarães
445e375daa adds ssl interface to ffi 2016-12-22 15:01:58 -02:00
Moisés Guimarães
52eb0becf0 adds set_ciphers to context 2016-12-22 15:01:58 -02:00
Moisés Guimarães
368f2baf88 adds verify_mode to context 2016-12-22 15:01:58 -02:00
Moisés Guimarães
8eec3cb874 adds initial code for SSLSocket 2016-12-22 15:01:58 -02:00
Moisés Guimarães
0ed0672b16 fixes pylint warnings 2016-12-22 15:01:58 -02:00
Moisés Guimarães
c0b59a585b adds support for buffered ca certificates 2016-12-22 15:01:58 -02:00
Moisés Guimarães
015ffecbab fixes unicode quotes and adds load_cert_chain test. 2016-12-22 15:01:58 -02:00
Moisés Guimarães
760ddd14f5 fixes pylint warnings;
adds more tests to load_verify_locations;
fixes data type when calling C functions;
fixes result verification when calling C functions.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
7201435f2d adds initial context tests. 2016-12-22 15:01:58 -02:00
Moisés Guimarães
bd14611879 adds load_verify_locations and load_cert_chain implementations. 2016-12-22 15:01:58 -02:00
Moisés Guimarães
c8ae6abb43 adds context functions. 2016-12-22 15:01:58 -02:00
Moisés Guimarães
e1c01378c7 fixes ssl version in test to maintain backward compatibility. 2016-12-22 15:01:58 -02:00
Moisés Guimarães
20cfbe399c fixes integer comparison and adds virtual env to ignored files. 2016-12-22 15:01:58 -02:00
Moisés Guimarães
e06b17e170 adds methods and client tests;
adds context creation;
adds memory module;
removes init and cleanup functions.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
0df897d4b9 adds methods 2016-12-22 15:01:58 -02:00
Moisés Guimarães
7b884ad72a removes non-ASCII chars from docs. 2016-12-22 15:01:58 -02:00
Moisés Guimarães
8b0edafef3 adds build_ffI.py 2016-12-22 15:01:58 -02:00
Moisés Guimarães
f4d6890b51 adds basic files and exception classes. 2016-12-22 15:01:58 -02:00
toddouska
d6a6226c8e Merge pull request #681 from JacobBarthelmeh/Testing
static analysis check of null dereference and memory management
2016-12-22 08:43:55 -08:00
toddouska
93c87eb777 Merge pull request #677 from ejohnstown/dtls-prevseq
DTLS Previous Epoch Sequence Number Update
2016-12-22 08:42:56 -08:00
Jacob Barthelmeh
1c17b8eed6 static analysis check of null dereference and memory management 2016-12-21 16:20:18 -07:00
John Safranek
40800d8065 DTLS-SCTP fix
1. Add the SCTP suite test file to the include.am.
2. Skip the sequence number increment for client_hello messages in
   DTLS, but do the increment for SCTP.
2016-12-21 14:24:20 -08:00
David Garske
338cc9e873 Added wolfevent.c and wolfmath.c to ltc project. 2016-12-21 14:09:19 -08:00
David Garske
3bec816f97 Cleanup min(), TRUE, FALSE, ALIGN16 and ALIGN32. Replace only use of BYTE3_LEN with OPAQUE24_LEN. Replace “ “ with “\t” (saves bytes and is consistent). Fix align issue with “WOLFSSL_EVP_MD_CTX” hash. 2016-12-21 14:05:00 -08:00
David Garske
d73338851d Combine generic math functions into new wolfmath.c/.h. Cleanup of the !ALT_ECC_SIZE code so fp_int always has size. This is in prep for async changes for new WC_BIGINT type for hardware crypto. 2016-12-21 13:39:33 -08:00
David Garske
6cc1fd293e Fixed issue with stack increase with curve cache disabled. Fixed issue with missing wc_ecc_curve_free() in wc_ecc_verify_hash_ex() causing mem leak. Changed ecc_curve_spec_cache to be allocated per curve. Added new wc_ecc_curve_cache_free() API to release all curve cache memory. Moved ecc_curve_spec struct and ecc_curve_load_mask enum to ecc.c. Add missing wc_ecc_fp_free() to wolfCrypt test. Added ecc.c comment for FP_ECC. 2016-12-21 12:31:02 -08:00
John Safranek
ac27d6d7ca DTLS Sequence Number update
1. Set the prevSeq to nextSeq on CCS.
2. Fully clear nextSeq on CCS.
2016-12-20 09:30:46 -08:00
toddouska
1a5c5d0011 Merge pull request #676 from cconlon/fortify
address fortify high issues
2016-12-19 20:03:24 -08:00
toddouska
07e7521f34 Merge pull request #674 from JacobBarthelmeh/Testing
Bug fix for cache attack
2016-12-19 18:31:04 -08:00
Kaleb Himes
125cfcacc3 Merge pull request #675 from JacobBarthelmeh/SGX
fix make dist with SGX project
2016-12-19 17:06:14 -07:00
Chris Conlon
46f3b2a367 address fortify high issues 2016-12-19 15:50:11 -07:00
Jacob Barthelmeh
345df93978 Bug fix for cache attack 2016-12-19 14:51:42 -07:00
toddouska
6cefca6a49 Merge pull request #672 from cconlon/pkcs7fix
PKCS#7: fixes for building with AES disabled, smallstack
2016-12-19 13:46:35 -08:00
toddouska
dca57bf2f0 Merge pull request #673 from cconlon/fortify
address fortify critical issues
2016-12-19 13:42:11 -08:00
Jacob Barthelmeh
4d637146d7 fix make dist with SGX project 2016-12-19 14:03:07 -07:00
Chris Conlon
060ff5e5ef address fortify critical issues 2016-12-19 11:53:14 -07:00
toddouska
168203ff9d Merge pull request #649 from dgarske/distro
Linux Distro Patches
2016-12-16 16:03:16 -08:00
toddouska
c313d97579 Merge pull request #622 from SparkiDev/sha384
SHA384
2016-12-16 15:57:40 -08:00
toddouska
50cf1df8da Merge pull request #669 from SparkiDev/scrypt
Implementation of scrypt
2016-12-16 15:53:48 -08:00
toddouska
c73ddf3f8a Merge pull request #670 from dgarske/executebit
Removed the execute bit on the new port files.
2016-12-16 15:52:26 -08:00
Chris Conlon
c5fbf96557 PKCS#7: fixes for building with AES disabled, smallstack 2016-12-16 15:58:18 -07:00
David Garske
57571cb45e Fix merge issues with ECC HAVE_COMP_KEY after rebase. 2016-12-16 14:20:00 -08:00
David Garske
f990775451 Fix issue with ECC_SHAMIR disabled due to curve->b remnant from async branch. 2016-12-16 11:53:33 -08:00
David Garske
cbc3cc6e91 Removed the execute bit on the new port files. 2016-12-16 11:35:40 -08:00
David Garske
f1ead30987 New ECC curve cache feature to improve performance. Disabled by default and enabled using ./configure CFALGS="-DECC_CACHE_CURVE" or #define ECC_CACHE_CURVE. Added internal ECC states. Combined wc_ecc_mulmod_ex versions for timing rest / not. Tested with all math, timing, FP variants and NXP LTC and ECC508A hardware. Pulled in from latest async branch. Added new ECC_MAX_SIG_SIZE enum to help with sizing the sign buffer.
Performance Increases with ECC_CACHE_CURVE enabled:
* Key Gen 4.2%
* Key Agree, 4.0%
* Sign 6.8%
* Verify 5.8%
2016-12-16 11:32:59 -08:00
toddouska
a9e7c4081f Merge pull request #660 from ejohnstown/win-renegotiation
Enable secure renegotiation by default for Windows library build.
2016-12-15 16:17:15 -08:00
Kaleb Himes
7b948fe04d Merge pull request #667 from JacobBarthelmeh/SGX
add Windows build for SGX
2016-12-15 16:23:29 -07:00
toddouska
ec90d72412 Merge pull request #666 from cconlon/chachafix
fix CertificateRequest cert type for ECDSA ChaCha suites
2016-12-15 12:08:08 -08:00
toddouska
01d8201284 Merge pull request #665 from cconlon/certs
add missing certs and keys to certs/include.am
2016-12-15 12:03:12 -08:00
toddouska
d0533c6dad Merge pull request #664 from cconlon/pkcs7
PKCS#7/CMS expansion
2016-12-15 12:01:00 -08:00
dgarske
9d94474133 Merge pull request #668 from ejohnstown/handshake-size
Fail on redundant handshake message data
2016-12-15 11:41:53 -08:00
toddouska
6959c21fdd Merge pull request #663 from dgarske/stm32_iar
Fixes to build STM32 with IAR
2016-12-15 11:26:43 -08:00
John Safranek
be65f26dd2 If there is a badly formed handshake message with extra data at the
end, but the correct size with the extra data, send a decode_error
alert and fail the handshake.
2016-12-14 16:02:29 -08:00
Chris Conlon
33f21e8b8d set correct cert type in CertificateRequest when using ChaCha suite with ECDSA 2016-12-14 11:34:10 -07:00
Jacob Barthelmeh
e16f2c0722 add Windows build for SGX 2016-12-14 10:41:52 -07:00
Chris Conlon
41f6863970 add missing certs and keys to certs/include.am 2016-12-14 09:46:41 -07:00
Chris Conlon
55554b79a9 PKCS#7: fix use after free in wc_DecodeKtri 2016-12-14 09:15:45 -07:00
Sean Parkinson
20887a8c35 Implementation of scrypt
Tests and benchmarking added.
Configure with --enable-scrypt and requires --enable-pwdbased
2016-12-14 16:57:41 +10:00
Chris Conlon
e5d1e3ae10 PKCS#7: only output test bundles when PKCS7_OUTPUT_TEST_BUNDLES is defined 2016-12-13 15:27:46 -07:00
Sean Parkinson
22ecd55964 Don't ForceZero in assembly optimized versions. 2016-12-14 08:22:05 +10:00
Sean Parkinson
a1b92dc809 Tidy up CPU Id check not not reference SHA384 2016-12-14 08:22:05 +10:00
Sean Parkinson
24cfba4276 Fix ForceZero calls 2016-12-14 08:22:05 +10:00
Sean Parkinson
0e4aa233ba Use ForceZero in all implementations of Transform 2016-12-14 08:22:05 +10:00
Sean Parkinson
fd21023823 Share code between SHA512 and SHA384 2016-12-14 08:22:05 +10:00
Sean Parkinson
811be0eb9e Faster zeroize on x86_64 2016-12-14 08:22:05 +10:00
David Garske
f70860a9af Make sure NO_64BIT is defined. 2016-12-13 12:18:21 -08:00
David Garske
fd9a94b2bd Fixes to build STM32 with IAR. 2016-12-13 10:24:55 -08:00
Chris Conlon
dad0cfda92 add EnvelopedData ECC support, refactor pkcs7 2016-12-13 09:40:54 -07:00
dgarske
483e461c49 Merge pull request #647 from kaleb-himes/RIOT_OS
RIOT OS support, test scripts will be submitted to RIOT-OS repository
2016-12-10 19:13:19 -08:00
kaleb-himes
6c7e1785aa EXIT_TEST macro added for cleaner implementation and maintenance 2016-12-09 19:39:36 -07:00
kaleb-himes
1748045d52 use NO_WRITEV for portability 2016-12-09 19:12:25 -07:00
Chris Conlon
5006306bb8 PKCS#7: add support for optional unprotectedAttributes with EncryptedData 2016-12-09 17:02:57 -07:00
Chris Conlon
abf18858a8 refactor PKCS#7 functionality into separate functions for Enveloped and EncryptedData 2016-12-09 17:02:57 -07:00
Chris Conlon
b5eb8dce2f add PKCS#7/CMS EncryptedContent support 2016-12-09 16:57:31 -07:00
John Safranek
e80331e03a fix Windows debug build warning with secure renegotiation 2016-12-09 14:31:21 -08:00
John Safranek
7fa825fde0 Enable secure renegotiation by default for Windows library build. 2016-12-09 13:39:00 -08:00
kaleb-himes
e3b57211d5 undo whitespace modification 2016-12-09 14:36:06 -07:00
kaleb-himes
fc9d689bc6 fastmath works with RIOT_OS if defined TFM_NO_ASM 2016-12-09 14:34:14 -07:00
toddouska
b0b80bed78 Merge pull request #657 from cconlon/x963kdf
add ANSI-X9.63-KDF support [SEC1]
2016-12-09 13:29:41 -08:00
toddouska
ad2b0810c6 Merge pull request #648 from cconlon/keywrap
add AES key wrap support, RFC 3394
2016-12-09 13:23:39 -08:00
kaleb-himes
7a76baa83e restore .am and gitignore 2016-12-09 13:13:43 -07:00
kaleb-himes
c957107d76 merge with master and remove RIOT_Make directory, keep changes for working on Mac OS X 2016-12-09 13:11:45 -07:00
kaleb-himes
9e17b2b0aa Merge branch 'master' of https://github.com/wolfssl/wolfssl into RIOT_OS 2016-12-09 13:09:25 -07:00
John Safranek
8b1a6d4c70 Merge pull request #658 from kaleb-himes/sniffer
Prevent forcezero from running on freed memory
2016-12-09 09:04:01 -08:00
Chris Conlon
33e840b01b add AES key wrap support, RFC 3394 2016-12-09 09:30:56 -07:00
dgarske
fdbb142699 Merge pull request #659 from toddouska/distcheck
fix nxp distcheck filename typo
2016-12-09 08:04:02 -08:00
toddouska
d2ed611757 fix nxp distcheck filename typo 2016-12-08 16:52:12 -08:00
toddouska
6cfb8e30b2 Merge pull request #591 from dgarske/STM32_CUBEMX
STM32 F2/F4 CubeMX and Std Peripheral Library hardware crypto support
2016-12-08 16:36:43 -08:00
toddouska
ab7849be0d Merge pull request #655 from JacobBarthelmeh/ARMv8
ARMv8
2016-12-08 16:34:19 -08:00
Chris Conlon
2db7bf0dc0 use static digest for X9.63 KDF, add smallstack support 2016-12-08 17:28:53 -07:00
toddouska
5da564d03c Merge pull request #656 from SparkiDev/hashes
Get the hash of the handshake messages rather than finalize.
2016-12-08 16:23:28 -08:00
kaleb-himes
d2b5a9538d Prevent forcezero from running on freed memory 2016-12-08 15:11:41 -07:00
Sean Parkinson
289acd088a Remove state save and restore 2016-12-08 15:21:04 +10:00
Sean Parkinson
ea1a03d538 Get the hash of the handshake messages rather than finalize.
Inconsistency between SHA256 and SHA384/SHA512 when getting hash.
More handshake messages can be added after this operation.
2016-12-08 15:21:04 +10:00
Chris Conlon
a5b267087f add ANSI-X9.63-KDF support [SEC1] 2016-12-07 20:26:09 -07:00
toddouska
2a3f3433e7 Merge pull request #652 from ejohnstown/autoconf-size-check
Move autoconf size checks
2016-12-07 15:23:25 -08:00
toddouska
3dec222969 Merge pull request #523 from dgarske/atmel_pr
Support for Atmel ATECC508A
2016-12-07 15:01:08 -08:00
toddouska
074741aabf Merge pull request #651 from dgarske/ksdk_dup_dec
Remove obsolete duplicate declaration for wc_RsaFunction in the KSDK header
2016-12-07 13:48:53 -08:00
toddouska
a1bd2c8b35 Merge pull request #654 from dgarske/smallstackfixes
Fixes for build with WOLFSSL_SMALL_STACK defined
2016-12-07 13:41:45 -08:00
kaleb-himes
da4a46ddf6 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into RIOT_OS 2016-12-07 14:16:34 -07:00
dgarske
477ec3c3d1 Merge pull request #2 from NickolasLapp/STM32_CUBEmX
Fix DES3 on STM32 CUBEMX
2016-12-07 11:27:24 -08:00
Nickolas Lapp
82c12fb7be Fix DES3 on STM32 CUBEMX 2016-12-07 10:20:46 -07:00
David Garske
5c59ccdeb9 Fix scan-build warning. Updated "side" variable failure case to return proper error code. 2016-12-07 07:57:55 -08:00
David Garske
4dd393077f Updated EccSharedSecret callback to use ecc_key* peer directly. Passes examples with "-P" tests and new pkcallback test script. 2016-12-07 07:57:55 -08:00
David Garske
45d26876c8 Moved wolfSSL_GetEccKey logic to internal.c and use only for PK_CALLBACK. Added other ECC key info to the EccSharedSecretCb. Cleanup of the "if (ssl->ctx->EccSharedSecretCb == NULL)" logic to revert indent so changes are minimized. Removed new wolfSSL_GetEccKey API. 2016-12-07 07:57:55 -08:00
David Garske
eaca90db28 New Atmel support (WOLFSSL_ATMEL) and port for ATECC508A (WOLFSSL_ATECC508A). Adds wolfCrypt support for ECC Hardware acceleration using the ATECC508A. Adds new PK callback for ECC shared secret. Fixed missing "wc_InitRng_ex" when using "CUSTOM_RAND_GENERATE_BLOCK". Added ATECC508A RNG block function for P-RNG bypass ability. Added internal "wolfSSL_GetEccPrivateKey" function for getting reference to private key for ECC shared secret (used in test.h for testing PK_CALLBACK mode). Added README.md for using the Atmel ATECC508A port. 2016-12-07 07:57:55 -08:00
David Garske
9399cc05cb Fixes for building with CRL monitor when not linux, OS X or FreeBSD and --enable-distro set. Cleanup of the crl.c HAVE_CRL_MONITOR checks for OS and make sure if StopMonitor preprocessor is defined the function will also be defined. 2016-12-07 07:07:27 -08:00
John Safranek
fdc297f6bd Moved the check for the size of long, long long, and __m128 to before
the checks for libraries. In some combination of autotools, making a
32-bit build, the autoconf test code can't link libnetwork and crashes,
leaving those sizes all set to 0.
2016-12-06 16:15:45 -08:00
dgarske
55b1ced783 Merge pull request #653 from toddouska/pkcallbacks
add pkcallbacks script test
2016-12-06 15:15:50 -08:00
Jacob Barthelmeh
944e5fba03 ARMv8 : load pointer to AES key and counter into a register along with pointer to SHA256 K table to handle tight optimized loops on function call with -flto 2016-12-06 21:42:15 +00:00
toddouska
ed8e0132a7 do_cleanup on pkcallbacks.test 2016-12-06 13:04:12 -08:00
David Garske
c0e006d42c Fixes for build with small stack enabled. 2016-12-06 12:38:05 -08:00
toddouska
80cc737ffa add pkcallbacks script test 2016-12-06 11:27:05 -08:00
David Garske
9fcb6e4e3c Remove obsolete duplicate declaration for wc_RsaFunction in the KSDK port header. 2016-12-06 10:25:56 -08:00
David Garske
932199c5e9 Fix build warning about unused static functions wc_AesEncrypt and wc_AesDecrypt with STM32. 2016-12-05 14:22:59 -08:00
David Garske
4a7651a09a STM32 F2/F4 CubeMX and Std Peripheral Library hardware crypto support for RNG, AES, SHA1, DES3 and MD5. Adds new WOLFSSL_STM32_CUBEMX and WOLFSSL_STM32F4 defines. Tested on STM32F437II. 2016-12-05 14:22:59 -08:00
toddouska
f3816a4dc5 Merge pull request #597 from dgarske/NXPLTC
NXP (K82) LTC math hardware acceleration support
2016-12-05 13:50:31 -08:00
David Garske
1d14ac5ff3 Fixes to include.am and sha256.c after master rebase. Retested on NXP K82 with and without HW accel (all tests/benchmarks pass). 2016-12-05 09:15:58 -08:00
Martin Latal
877ea7011c Fix for LTC RSA-4096. Use original wolfSSL code for RSA operation, reduce in LTC port layer. 2016-12-05 09:01:59 -08:00
David Garske
0611c45869 Attempt to fix sha.c error with older visual studio compiler. 2016-12-05 09:01:59 -08:00
David Garske
08b8af5f83 Fix for forced software crypto build. 2016-12-05 09:01:59 -08:00
David Garske
c35daa877e Fix to allow disabling MMCAU/LTC for software only test (moved preprocessor defines to Kinetis). Updated K82 software benchmark with actual values. 2016-12-05 09:01:59 -08:00
David Garske
ae75842021 Fix build issues with rebase for ECC and RSA. Changed user_settings.h example when LTC is enabled to disable Shamir and ECC-521. Cleanup to add USE_NXP_MMCAU and USE_NXP_LTC for the example user_settings.h, so the project file can automatically configure. 2016-12-05 09:01:59 -08:00
David Garske
a6b96b17ff Fixes to include path for NXP ksdk_port. Fixes for time USER/OVERRIDES so their #ifdef's are checked first. Fix to initialize LTC via new "ksdk_port_init" function. Cleanup of the ksdk_port.c for formatting, macros, statics and line length. Cleanup of the AES code for key size. Cleanup of the wolfCrypt sha.c for readability. Added support for the KSDK bare metal drivers to the IDE Rowley CrossWorks example. Updated the settings.h to allow for overrides in Freescale section. Updated README with info for using LTC. 2016-12-05 09:01:59 -08:00
David Garske
8e64d564dc NXP/Freescale K8X MMCAU / LTC core support for RSA, ECC, Ed/Curve25519, AES, DSA, DES3, MD5, RNG, SHA and SHA2. 2016-12-05 09:01:59 -08:00
kaleb-himes
ddeb9da502 warning on empty translation units ignored, move cflags to Makefile 2016-12-03 11:55:24 -07:00
kaleb-himes
d2aef9a82a README update 2016-12-03 11:03:17 -07:00
kaleb-himes
43525343fc add RIOT tests to dist and make sure Makefiles are not excluded by .gitignore 2016-12-02 17:30:57 -07:00
kaleb-himes
162294e3e5 added benchmark app for RIOT and updated test error handling 2016-12-02 14:39:37 -07:00
kaleb-himes
684f9bad22 RIOT OS build and test scripts, build instructions 2016-12-02 13:53:05 -07:00
toddouska
4317141260 Merge pull request #646 from JacobBarthelmeh/master
remove fPIE flag
2016-12-01 12:56:56 -08:00
Jacob Barthelmeh
d32af7e44b remove fPIE flag : fPIE is suitable for use with executables and not when creating libraries 2016-12-01 12:01:38 -07:00
toddouska
92377140b7 Merge pull request #520 from dgarske/compat_fixes
Add user cert chain DER support and OpenSSL compatibility fixes/improvements
2016-12-01 09:23:49 -08:00
David Garske
650ddb8d23 Fixes so make check works with NO_FILESYSTEM and FORCE_BUFFER_TEST. Example: ./configure CFLAGS="-DNO_FILESYSTEM -DFORCE_BUFFER_TEST" 2016-11-30 16:27:24 -08:00
David Garske
039aedcfba Added "wolfSSL_use_certificate_chain_buffer_format". Added "wolfSSL_SESSION_CIPHER_get_name" to get cipher suite name using WOLFSSL_SESSION*. Moved the "wolfSSL_get_cipher_name_from_suite" function to internal.c. Added new server-cert-chain.der, which is combination of ca-cert.der and server-cert.der. Enhanced load_buffer to detect format using file extension. Can test use of DER cert chain with NO_FILESYSTEM defined using "./examples/server/server -c ./certs/server-cert-chain.der -k ./certs/server-key.der". 2016-11-30 16:26:02 -08:00
David Garske
3d920b23a0 Fix for building with NO_ERROR_STRINGS. 2016-11-30 16:26:02 -08:00
David Garske
7a35d904c2 Added new API "wolfSSL_CIPHER_get_name_from_suite" to allow use of the cipherSuite and cipherSuite0 args directly to get cipher suite name. Changed "wolfSSL_CIPHER_get_name" to call new API (based on original). ASN change to allow ToTraditional and SetName for OPENSSL_EXTRA. 2016-11-30 16:26:02 -08:00
David Garske
c3c3419138 Added processing of user cert chain in DER format. Added arg check on "wolfSSL_get_certificate" to fix NULL dereference if certificate not yet set via "wolfSSL_use_certificate_buffer" or "wolfSSL_use_certificate_file". Added "wolfSSL_CTX_use_certificate_chain_buffer_format" to expose way to import certificate chain buffer as ASN1 (since "wolfSSL_CTX_use_certificate_chain_buffer" assumes PEM) . Changed ProcessFile from static and added as local in internal.h. 2016-11-30 16:26:01 -08:00
John Safranek
cfc5de8c5a Merge pull request #645 from toddouska/fds
allow separate set fds for read/write, helpful for DTLS multicast
2016-11-30 13:17:58 -08:00
toddouska
8f89d4922f allow separate set fds for read/write, helpful for DTLS multicast 2016-11-30 11:15:57 -08:00
David Garske
a2dc01413c For distro build don't install options.h (conflicts with multi-arch). Fix for BUILD_DISTRO excludes with indent. 2016-11-29 13:29:19 -08:00
toddouska
235060eff2 Merge pull request #644 from cconlon/return_fix
correct MEMORY_E returns in asn.c
2016-11-28 10:58:06 -08:00
Chris Conlon
a9936cf3ee correct MEMORY_E returns in asn.c 2016-11-28 10:39:07 -07:00
Jacob Barthelmeh
2cbc6ed673 ARMv8 : handle aggressive optimizers 2016-11-23 15:44:53 -07:00
toddouska
7dab97fb01 Merge pull request #641 from dgarske/verifycb_peer_cert_chain
Add the peer cert buffer and count to X509_STORE_CTX for verify callback
2016-11-23 12:59:00 -08:00
David Garske
1240014fab Fix OCSP to use public buffer type (now WOLFSSL_BUFFER_INFO). 2016-11-22 19:33:40 -08:00
Sean Parkinson
8a8274d403 Merge pull request #643 from dgarske/fix_hmac_224
Fix wc_HmacSizeByType for SHA224.
2016-11-23 13:28:37 +10:00
David Garske
50131b410d Added new "WOLFSSL_BUFFER_INFO" type to represent internal "buffer" type and the "WOLFSSL_X509_STORE_CTX" certs. Added "VERIFY_CALLBACK_SHOW_PEER_CERTS" to print peer certs pointer and length. 2016-11-22 19:24:54 -08:00
toddouska
ff16ecda5e Merge pull request #642 from dgarske/ecc_custcurve_speedup
ECC performance increase with custom curves enabled
2016-11-22 16:05:57 -08:00
JacobBarthelmeh
a540169b72 Merge pull request #638 from ejohnstown/dtls-window-update
DTLS Sequence Window Tracking Update
2016-11-22 16:53:04 -07:00
David Garske
16907de633 Fix wc_HmacSizeByType for SHA224. 2016-11-22 14:45:10 -08:00
David Garske
13cf313001 ECC performance increase with custom curves enabled (WOLFSSL_CUSTOM_CURVES) when A param is 3. 2016-11-22 13:43:18 -08:00
David Garske
5b76a37234 Add the peer cert buffer and count to the X509_STORE_CTX used for the verify callback. Fixes #627. 2016-11-22 11:45:00 -08:00
David Garske
13bdcc518d Pulled in patches from Debian package. 2016-11-22 11:25:40 -08:00
John Safranek
2d9d3aeb91 DTLS Window Update: fixes and changes 2016-11-22 10:12:18 -08:00
Kaleb Himes
b61e6e1219 Merge pull request #639 from moisesguimaraes/fixes-srp-priv-key-size
fixes random keys size ('a' and 'b')
2016-11-21 15:59:32 -07:00
Moisés Guimarães
64fc68920d fixes random keys size ('a' and 'b') 2016-11-21 18:08:19 -03:00
John Safranek
ec6fec452d Update session export with the new sequence number windows. 2016-11-21 09:16:53 -08:00
John Safranek
2507c4da8a DTLS Sequence Window Tracking Update
1. Modify the DTLS sequence window to use an array of word32 instead
   of a word32 or word64 depending on the availability of word64.
2. One can change the array size to have a bigger window.
2016-11-18 11:52:43 -08:00
toddouska
b380eef3e2 Merge pull request #637 from JacobBarthelmeh/master
PKCS12 : return on memory error
2016-11-18 11:03:57 -08:00
Jacob Barthelmeh
ac5436b462 PKCS12 : return on memory error 2016-11-18 09:40:26 -07:00
toddouska
1289e66641 Merge pull request #636 from dgarske/fix-ti-hash-mem-leak
Fix memory leak issue in ti-hash.c with small stack
2016-11-17 16:19:37 -08:00
toddouska
f167fe3d4a Merge pull request #625 from dgarske/tls_nosha256
Fix to allow TLS with NO_SHA256
2016-11-17 16:14:28 -08:00
David Garske
bfd0a1b405 Fix to allow SHA384 cipher suite with NO_SHA256 defined. Without this fix the BUILD_AESGCM wasn't getting defined. 2016-11-17 10:29:48 -08:00
David Garske
b01952ea40 Cleanup the hash free in FreeHandshakeResources. 2016-11-17 09:34:31 -08:00
David Garske
de1ee91863 Fix memory leak issue with WOLFSSL_SMALL_STACK defined and using TI hardware accelerated hashing. 2016-11-17 09:24:56 -08:00
dgarske
f275331e44 Merge pull request #634 from toddouska/sha512-length
Sha512 length
2016-11-16 15:06:20 -08:00
toddouska
5c3bd7e1a0 Merge pull request #635 from cconlon/pkcs7signed
fix wc_PKCS7_EncodeSignedData with no signed attributes
2016-11-16 14:07:58 -08:00
Chris Conlon
8cea6ad148 fix wc_PKCS7_EncodeSignedData when used with empty or no signed attributes 2016-11-16 13:35:57 -07:00
toddouska
44a23b072f fix mcapi with size change 2016-11-16 09:39:21 -08:00
toddouska
afc54c3dff change sha512 hi/loLen to 64bits 2016-11-16 09:30:35 -08:00
toddouska
f922d3f2d6 Merge pull request #624 from SparkiDev/sha224
SHA224 implementation added
2016-11-15 13:53:34 -08:00
toddouska
98b57e045a Merge pull request #629 from SparkiDev/rsa-crt
Make RSA CRT constant time
2016-11-15 13:36:32 -08:00
toddouska
f27159f2db Merge pull request #633 from cconlon/renegotiation_info
add server side empty renegotiation_info support
2016-11-15 11:11:17 -08:00
Chris Conlon
a10ec0ff91 adjust suiteSz and use SUITE_LEN in FindSuite() 2016-11-15 10:49:37 -07:00
dgarske
ee53853d2f Merge pull request #632 from toddouska/init_multi
fix non ecc_make_key init_mulit potential problems
2016-11-14 19:34:14 -08:00
toddouska
cbb2ce6baf Merge pull request #626 from dgarske/fix_ecc_make_rngfail
Fix for "wc_ecc_make_key_ex" if call to rng fails
2016-11-14 17:35:15 -08:00
Chris Conlon
49978d1417 server side empty renegotiation_info support 2016-11-14 15:33:36 -07:00
toddouska
1a7fe0d4c5 fix non ecc_make_key init_mulit potential problems 2016-11-14 12:49:42 -08:00
David Garske
82e8210208 Support for building without SHA256 with NO_OLD_TLS and SHA384/512. Although TLS 1.2 default digest for certs is SHA256 and our test cert signatures use SHA256, so make check will fail. Also requires disabling the P-RNG which uses SHA256. Added missing "wc_InitRng_ex" when using "CUSTOM_RAND_GENERATE_BLOCK". Cleanup of the BuildCertHashes, DoRounds, HashInput, HashOutput and HashOutputRaw return codes. 2016-11-14 12:47:24 -08:00
David Garske
cee321323a Better handle "mp_init_multi" failure in "wc_ecc_make_key_ex". 2016-11-14 12:38:01 -08:00
toddouska
fa816f0460 Merge pull request #631 from dgarske/ecc_privkey_import_oid
Fix for "wc_EccPrivateKeyDecode" to handle custom curve OID.
2016-11-14 11:52:48 -08:00
toddouska
047b6df1a2 Merge pull request #630 from JacobBarthelmeh/master
remove include of ec.h in ecc.c
2016-11-14 11:51:15 -08:00
toddouska
ecc5fccf07 Merge pull request #628 from JacobBarthelmeh/Testing
revert AESNI padding and handle the case in aes.c
2016-11-14 11:50:35 -08:00
David Garske
a2d29e4c71 Further improve the "wc_EccPrivateKeyDecode" to use the CheckCurve return code, which is the curve_id in the success case. Fixes scan-build warning. 2016-11-14 10:06:20 -08:00
David Garske
07efd88e4d Fix for "wc_EccPrivateKeyDecode" to handle custom curve OID. 2016-11-14 09:53:31 -08:00
Jacob Barthelmeh
dad628cb0d remove include of ec.h in ecc.c 2016-11-14 10:03:19 -07:00
Sean Parkinson
2023b65f4c Make RSA CRT constant time
Identifying which part of the CRT failed, through timing, reveals
information useful to an attacker.
2016-11-14 08:57:28 +10:00
David Garske
6d5485b88f Fix to "mp_init_multi" so failure ensures a later "mp_clear" won't free on un-initialized pointer. Applies to !USE_FAST_MATH only. No measurable benchmark difference. 2016-11-11 20:03:58 -08:00
Sean Parkinson
9b0d53ba50 Fixes from review
Remove ForceZero changes (better version in another pull request)
Remove SHA-224 APIs for FIPS (algorithm not avaialable in FIPS.
2016-11-12 09:52:07 +10:00
Jacob Barthelmeh
0b3d9cbccd revert AESNI padding and handle the case in aes.c 2016-11-11 16:26:29 -07:00
toddouska
cc303a3035 Merge pull request #623 from SparkiDev/ecc
ECC improvements/fixes
2016-11-11 12:53:12 -08:00
Sean Parkinson
478f279b3c Fix logic 2016-11-11 16:38:28 +10:00
Sean Parkinson
abcd6af512 Disable SHA-224 in FIPS 2016-11-11 16:29:34 +10:00
Sean Parkinson
9e81261f1e Fixes 2016-11-11 16:11:16 +10:00
Sean Parkinson
8a7bb3fad4 Z will be 0 not 1 2016-11-11 12:53:48 +10:00
Sean Parkinson
71259113b2 ECC improvements/fixes
When checking for 1 actually check for 1 and not the digit count.
When checking for negative use a macro - for speed.
2016-11-11 12:41:25 +10:00
Sean Parkinson
45983c3b32 Fix SHA224 enum in HMAC code 2016-11-11 12:17:32 +10:00
toddouska
a0ee159fa5 Merge pull request #617 from JacobBarthelmeh/Compatibility-Layer
Compatibility layer
2016-11-10 11:47:42 -08:00
David Garske
1aca9a6079 Fix for "wc_ecc_make_key_ex" if call to rng fails. Issue only applies to !USE_FAST_MATH case on failure response from call to "wc_RNG_GenerateBlock". 2016-11-10 11:39:29 -08:00
John Safranek
eb0de32aa2 Merge pull request #621 from JacobBarthelmeh/Testing
adjust alignment of arrays used for case with AESNI
2016-11-10 10:00:54 -08:00
Sean Parkinson
fdfc177254 SHA224 implementation added
Added SHA24 implementation and tetss.
Added HMAC-SHA224 implementation and tests.
Added RSA-SHA224 and ECDSA-SHA224.
Added MGF1-SHA224
Added OpenSSL APIs for SHA224
Configuration option to enable SHA224 and it is on by default for x86_64
2016-11-10 15:52:26 +10:00
Jacob Barthelmeh
55401fceb8 adjust alignment of arrays used for case with AESNI 2016-11-09 15:03:26 -07:00
Chris Conlon
af44b2527a Merge pull request #620 from JacobBarthelmeh/PKCS12
PKCS12 : visibility of structs and guards
2016-11-09 08:59:31 -07:00
toddouska
e9cda7b93f Merge pull request #619 from JacobBarthelmeh/ARMv8
ARMv8
2016-11-08 16:21:01 -08:00
Jacob Barthelmeh
fa48bca262 PKCS12 : visibility of structs and guards 2016-11-08 16:49:09 -07:00
Jacob Barthelmeh
c122558810 COMPAT. LAYER : fix missing return value and alignment 2016-11-08 14:16:02 -07:00
Jacob Barthelmeh
208f747a47 ARMv8 : add armv8-aes.c to EXTRA_DIST 2016-11-08 10:28:01 -07:00
John Safranek
d4b45c4299 Merge pull request #616 from moisesguimaraes/fixes-wolfcrypt-py
Fixes wolfcrypt py
2016-11-08 09:07:21 -08:00
Moisés Guimarães
5f6cf282b1 fixes include.am comments 2016-11-07 21:15:23 -03:00
Moisés Guimarães
88df983251 moves include.am into wolfcrypt-py folder 2016-11-07 21:09:08 -03:00
JacobBarthelmeh
46dee9e792 ARMv8 : clang 32 bit build 2016-11-07 15:48:06 -08:00
JacobBarthelmeh
668af9b32f POLY1305 : clang 32 bit warning about macros 2016-11-07 15:28:30 -08:00
Jacob Barthelmeh
f7a951709f COMPAT. LAYER : get SSL client random bytes 2016-11-07 13:21:35 -07:00
Jacob Barthelmeh
f06a392764 COMPAT. LAYER : DES set key and malloc/free 2016-11-07 13:21:05 -07:00
Moisés Guimarães
b50914f2c7 Drops 3DES and adds int wc_RsaSetRNG(RsaKey* key, WC_RNG* rng); for RSA blinding 2016-11-07 16:06:35 -03:00
Moisés Guimarães
08f6d23e84 moves wolfcrypt-py implementation to wrapper/python/wolfcrypt 2016-11-07 16:02:41 -03:00
toddouska
68c43e4344 Merge pull request #615 from ejohnstown/dtls-verify-retry-fix
Fix dropped DTLS Hello Verify retransmit
2016-11-04 15:52:13 -07:00
toddouska
70b227011d Merge pull request #604 from JacobBarthelmeh/PKCS12
Pkcs12
2016-11-04 15:50:50 -07:00
John Safranek
c271806936 Merge pull request #614 from toddouska/scr-verify
add SCR client and server verify data check
2016-11-04 10:11:05 -07:00
John Safranek
ada2573009 Increment the expected handshake number if the call to the handhsake
message processing function is successful, but not if the handshake
message is the client_hello. Process client hello clears that counter
and incrementing it breaks the handshake. Fixes issue #612.
2016-11-03 14:49:21 -07:00
toddouska
87e3f45f52 add SCR client and server verify data check 2016-11-03 14:45:24 -07:00
toddouska
356c3a37aa Merge pull request #613 from JacobBarthelmeh/Testing
MODE : change source file mode back to 644
2016-11-03 13:16:59 -07:00
Jacob Barthelmeh
0839925797 PKCS12 : visibility, check on key match, sanity check on malloc 2016-11-03 11:14:29 -06:00
Jacob Barthelmeh
668e9a8e08 MODE : change source file mode back to 644 2016-11-03 10:08:13 -06:00
toddouska
3780f452e8 Merge pull request #609 from JacobBarthelmeh/ARMv8
ARMv8 : clang build with ARMv8
2016-11-03 09:02:20 -07:00
toddouska
8e0ab18924 Merge pull request #611 from cconlon/pkcs7
allow PKCS#7 to be compiled with AES disabled
2016-11-03 09:00:46 -07:00
Chris Conlon
9a735fc873 allow PKCS#7 to be compiled with AES disabled 2016-11-02 12:18:45 -06:00
toddouska
d4b8320226 Merge pull request #606 from ejohnstown/dtls-pool
DTLS Pool Change
2016-11-02 10:54:53 -07:00
John Safranek
a3ea8378ec Cap the size of the transmit and receive DTLS message lists at 255. 2016-11-02 09:15:05 -07:00
JacobBarthelmeh
6f06b60bc0 ARMv8 : clang build with ARMv8 2016-11-01 13:38:01 -07:00
toddouska
624ec3d492 Merge pull request #607 from cconlon/pkcs7
add AES content encryption support to PKCS#7 EnvelopedData
2016-11-01 12:03:24 -07:00
dgarske
22c5e22698 Merge pull request #608 from JacobBarthelmeh/master
Option to disable RNG (WC_NO_RNG or --disable-rng). If RNG is disabled and building in crypto that makes calls to RNG functions the build will fail with linker undefined symbol errors.
2016-11-01 11:53:53 -07:00
John Safranek
ffe905afbf Moved the checks for the new session ticket and certificate verify
messages from the change cipher spec handler to the sanity check
handshake message function. It provides support for DTLS missing
and duplicate messages.
2016-11-01 09:53:53 -07:00
John Safranek
3075269326 Replace the DTLS MsgPool for saving transmit handshake messages with
the DTLS MsgList.
2016-11-01 09:53:53 -07:00
John Safranek
3065bb2178 Merge pull request #588 from steweg/fix_dtls_retranmission
Adjust DTLS retranmission logic
2016-11-01 09:29:30 -07:00
Jacob Barthelmeh
70e7e34c87 RNG : change to --disable-rng, non-autoconf scenario, help msg 2016-11-01 10:21:29 -06:00
Jacob Barthelmeh
09c32de412 RNG : option to not use RNG 2016-10-31 16:51:02 -06:00
Chris Conlon
50464d4aef gitignore PKCS#7 test files, delete on make clean 2016-10-31 14:46:03 -06:00
Chris Conlon
fa9a9175d0 add AES-256-CBC to PKCS#7 Encode/DecodeEnvelopedData 2016-10-31 14:45:57 -06:00
Chris Conlon
8c23c3cdd0 add AES-192-CBC to PKCS#7 Encode/DecodeEnvelopedData 2016-10-31 14:27:21 -06:00
Chris Conlon
17c184e720 add AES-128-CBC to PKCS#7 Encode/DecodeEnvelopedData 2016-10-31 14:27:14 -06:00
Jacob Barthelmeh
b686deecbe PKCS12 : Add PKCS12 parsing 2016-10-29 13:12:26 -06:00
JacobBarthelmeh
79cba75925 Merge pull request #603 from ejohnstown/aes-ctr
expand the AES-CTR test to 4 blocks for 192 and 256 bit cases
2016-10-28 13:52:50 -06:00
John Safranek
849ae72d3a expand the AES-CTR test to 4 blocks for 192 and 256 bit cases 2016-10-27 15:54:22 -07:00
dgarske
7ef037af0f Merge pull request #602 from kaleb-himes/forums-support-case-user-sp
IAR compiler for ARM 7.70.2.11706 - unitialized warning
2016-10-26 20:04:02 -07:00
kaleb-himes
2122ee2eb5 IAR compiler for ARM 7.70.2.11706 - unitialized warning 2016-10-26 09:33:15 -06:00
Stefan Gula
59fdd98f1d Adjust DTLS retranmission logic
This patch adjust DTLS retranmission logic
in order to avoid message floods between client
and server
2016-10-26 10:37:23 +02:00
dgarske
703d504b58 Merge pull request #600 from kaleb-himes/scan-build-async
Check for sigLen size to resolve scan-build warning.
2016-10-25 11:08:14 -07:00
kaleb-himes
bc1fca5620 modified handler to return error on invalid condition post review
update
2016-10-25 11:07:35 -06:00
kaleb-himes
33ab901b3f prevent allocation of size 0 2016-10-24 16:44:43 -06:00
toddouska
b8aa335dd6 Merge pull request #598 from dgarske/ecc_cacheres_w_altsize
Fix for ECC with ALT_ECC_SIZE and cache resistance enabled
2016-10-17 15:01:43 -07:00
David Garske
d2a6c6838e Fix for ECC with !WC_NO_CACHE_RESISTANT and ALT_ECC_SIZE causing invalid mp_int*. An ecc_point with ALT_ECC_SIZE is "mp_int* x" vs. "mp_int x[1]". The resulting pointer for &M[0]->x is not valid in the ALT_ECC_SIZE case. This was found while testing ECC on a Cortex M4 (32-bit) and caused a hard fault. 2016-10-14 16:44:57 -07:00
toddouska
2ecf7090ca Merge pull request #595 from JacobBarthelmeh/Testing
static analysis : Fix warnings with wc_AesCcmSetKey
2016-10-12 11:27:29 -07:00
toddouska
88a82f519e Merge pull request #594 from JacobBarthelmeh/DTLS-MultiCore
session export : Increment DTLS export version with serialization cha…
2016-10-12 11:25:23 -07:00
toddouska
ffb2a8ff12 Merge pull request #593 from JacobBarthelmeh/ARMv8
ARMv8 : sanity checks
2016-10-12 11:23:27 -07:00
toddouska
11102b6726 Merge pull request #585 from NickolasLapp/master
Rename *Mutex Functions with wc_ prefix. Expose these functions for Stunnel.
2016-10-12 11:19:32 -07:00
toddouska
9cf4d7ca8e Merge pull request #584 from kaleb-himes/aes-gcm-bo
sanity check on memcpy and xorbuf
2016-10-12 11:18:03 -07:00
Jacob Barthelmeh
54c51ec4a0 static analysis : Fix warnings with wc_AesCcmSetKey 2016-10-12 10:02:53 -06:00
Jacob Barthelmeh
3c03aa453b session export : Increment DTLS export version with serialization changes 2016-10-11 14:01:38 -06:00
Nickolas Lapp
86bf50ea70 Ensure dh->q is nulled on init and free 2016-10-10 16:21:30 -06:00
Jacob Barthelmeh
eb9161d8a7 ARMv8 : sanity checks 2016-10-10 15:08:59 -06:00
dgarske
395972e6a8 Merge pull request #592 from cconlon/eccfix
fix ecc_check_privkey_gen() parameters with WOLFSSL_VALIDATE_ECC_IMPORT
2016-10-07 14:30:06 -07:00
Chris Conlon
ab966a72da fix ecc_check_privkey_gen() parameters with WOLFSSL_VALIDATE_ECC_IMPORT 2016-10-07 14:14:50 -06:00
kaleb-himes
05fcbb001a move sanity check and remove silent truncation 2016-10-06 15:01:16 -06:00
keton
ef5f55f6e4 Optimize memory usage for ARM Cortex M and similar embedded systems (#578)
* Changed ge_precomp data to const to reduce RAM usage on embedded systems.
* Add configuration option "WOLFSSL_NRF5x" for Nordic nRF5x platform in settings.h
2016-10-06 12:49:14 -07:00
toddouska
f4c654dd6e Merge pull request #590 from JacobBarthelmeh/ARMv8
ARMv8 additions
2016-10-06 10:04:07 -07:00
Nickolas Lapp
4181b744ab stunnel 5.36 requires des3. Enable by default 2016-10-05 13:17:26 -06:00
Jacob Barthelmeh
d07746de09 ARMv8 : Remove dependency on load 2016-10-05 11:02:51 -06:00
Nickolas Lapp
69483366fb Fixes for fips compatibility 2016-10-05 10:20:13 -06:00
Nickolas Lapp
89aec2c565 Add cast for g++ compiler 2016-10-05 09:37:44 -06:00
Jacob Barthelmeh
21dd236ef2 ARMv8 : increase performance 2016-10-05 09:04:18 -06:00
dgarske
1e028c3566 Merge pull request #589 from cconlon/ipproto
Wrap IPPROTO_SCTP use with WOLFSSL_SCTP in test.h
2016-10-04 19:48:32 -07:00
Chris Conlon
29cf90a425 protect IPPROTO_SCTP with WOLFSSL_SCTP in test.h 2016-10-04 16:42:53 -06:00
dgarske
81a8ad0a48 Merge pull request #587 from ejohnstown/seq64
64-bit Sequence Number
2016-10-04 06:01:26 -07:00
Nickolas Lapp
1792eba1a2 Rename *Mutex Functions with wc_ prefix. Expose these functions for
Stunnel. Various other changes to enable stunnel compling
2016-10-03 16:36:05 -06:00
John Safranek
12ac0346f5 change magic numbers to constants, rename verify parameter of WriteSEQ() and subfunctions 2016-10-03 13:51:10 -07:00
John Safranek
a839b61e81 initialize temp sequence number 2016-10-02 13:02:20 -07:00
John Safranek
575785db3e Fixes for DTLS sequence number checking. 2016-10-02 12:03:44 -07:00
John Safranek
ab371365b9 updated sequence number window 2016-09-30 17:02:05 -07:00
John Safranek
62d58a7084 updated session import/export for seq number 2016-09-29 23:09:42 -07:00
John Safranek
4522fa335e Fixing DTLS for 64-bit sequence numbering
1. Simplify away the DtlsState record.
2. Adding in high order bits for the DTLS sequence number.
3. For DTLS, separated copying the sequence number from incrementing it.
2016-09-29 15:51:33 -07:00
kaleb-himes
a630fda509 Sanity check on memcpy and xorbuf
Sanity check on memcpy and xorbuf
2016-09-29 13:26:50 -06:00
Kaleb Himes
1a7f1d3b26 Merge pull request #583 from JacobBarthelmeh/CSharp
C# Wrapper : TCP check connection termination
2016-09-28 16:31:29 -06:00
Jacob Barthelmeh
1ed06b53df C# Wrapper : TCP check connection termination 2016-09-28 15:00:30 -06:00
Jacob Barthelmeh
6f4b704552 ARMv8 : Aarch32 support, SHA256 speedup 2016-09-28 10:22:27 -06:00
Chris Conlon
be86308a33 Merge pull request #556 from danielinux/frosted-fix
Fix compilation on Frosted
2016-09-26 12:53:39 -06:00
Kaleb Himes
124a8c0c1f Merge pull request #582 from ejohnstown/lean-psk
Fixes for building the library for Lean PSK
2016-09-24 10:59:54 -06:00
Kaleb Himes
af5d790aea Merge pull request #581 from ejohnstown/tlsx
Fixes for building the library with a C++ compiler with TLSX enabled
2016-09-24 10:45:33 -06:00
John Safranek
8d1aa2238b Fixes for building the library for Lean PSK
1. Needed to enable static PSK when using Lean PSK
2. Fixed complaints about unused variables.
2016-09-24 00:18:36 -07:00
John Safranek
5e852dc1a1 Fixes for building the library with a C++ compiler with TLSX enabled
1. Add many typecasts for malloc() data to proper pointer type.
2. Add many typecasts for constants in tertiary operators.
3. ECC to use local copy of wc_off_on_addr instead of extern copy.
2016-09-23 23:22:58 -07:00
John Safranek
5ec5b9b07d Merge pull request #580 from JacobBarthelmeh/Testing
NTRU : warning of variable size as argument
2016-09-23 15:52:48 -07:00
Jacob Barthelmeh
02b3aa51bd NTRU : warning of variable size as argument 2016-09-23 15:30:33 -06:00
Kaleb Himes
fb01cf7e1b Merge pull request #579 from ejohnstown/release-v3.9.10
Prepare release v3.9.10
2016-09-23 15:05:21 -06:00
John Safranek
6895803f2b Prepare release v3.9.10 2016-09-23 12:19:24 -07:00
John Safranek
049956d852 Merge pull request #577 from kaleb-himes/fix-typos
Fixing typos
2016-09-23 12:18:23 -07:00
kaleb-himes
4fc0c6c646 fix unused parameter build time error
fix unused parameter build time error
2016-09-23 12:23:26 -06:00
kaleb-himes
3bd86d3f87 Fixing typos 2016-09-23 10:45:29 -06:00
Jacob Barthelmeh
91580552bc ARMv8 : AES-GCM encryption speed ups 2016-09-23 10:20:52 -06:00
JacobBarthelmeh
78246e0fc2 Merge pull request #575 from ejohnstown/fix-option
move an ifndef NO_AES for one more configure disable/enable combination
2016-09-22 16:15:49 -06:00
JacobBarthelmeh
98841e8b47 Merge pull request #576 from toddouska/dsa_zero
add dsa sign sanity check on r/s
2016-09-22 15:14:43 -06:00
John Safranek
e4b8e6a447 Merge pull request #574 from JacobBarthelmeh/Testing
Static Analysis : fix a warning of unused variable
2016-09-22 14:09:46 -07:00
toddouska
d9163e4554 add dsa sign sanity check on r/s 2016-09-22 12:04:48 -07:00
John Safranek
ba6e2b1037 move an ifndef NO_AES for one more configure disable/enable combination 2016-09-22 11:41:16 -07:00
JacobBarthelmeh
c43fd150e9 Static Analysis : fix a warning of unused variable 2016-09-22 09:31:26 -07:00
JacobBarthelmeh
18944dacbf Merge pull request #573 from toddouska/dsa_pad
fix dsa pre padding
2016-09-22 09:42:23 -06:00
toddouska
9e4e08d7a7 fix dsa pre padding 2016-09-21 18:51:11 -07:00
toddouska
2368d49678 Merge pull request #572 from ejohnstown/pathlen
CA Certificate Path Length Checking
2016-09-21 14:36:24 -07:00
John Safranek
b8704d2dfe Merge pull request #571 from toddouska/new_rng
Fix Jenkins build 389 single-threaded issue
2016-09-21 12:59:06 -07:00
John Safranek
74002ce66a Add the new path length test certs to include.am. 2016-09-21 12:34:01 -07:00
JacobBarthelmeh
ab887b88dc Merge pull request #570 from ejohnstown/des3-disable-fix
Disable DES3 compiler warning fix
2016-09-21 13:25:00 -06:00
John Safranek
de81c81eae Fixed unused variable complaints when OPENSSL_EXTRA and MD5 are enabled
and when AES is disabled.
2016-09-21 10:21:03 -07:00
toddouska
489345f0d4 move CTX new_rng out of with certs block 2016-09-21 09:02:38 -07:00
John Safranek
95acd9c907 Fixed unused variable complaints when KEYGEN and OPENSSL_EXTRA are enabled
and when AES and MD5 are disabled. It was in the same encrypt function as
before and in the paired decrypt function.
2016-09-21 07:32:17 -07:00
John Safranek
a42bd30278 CA Certificate Path Length Checking
1. Check the path length between an intermediate CA cert and its
   signer's path length.
2. Always decode the path length if present and store it in the decoded
   certificate.
3. Save the path length into the signer list.
4. Path length capped at 127.
5. Added some test certs for checking CA path lengths.
2016-09-20 21:36:37 -07:00
John Safranek
ef7183dcf7 delete redundant #else 2016-09-20 15:59:08 -07:00
toddouska
d9862c1c1a Merge pull request #569 from kaleb-himes/CUSTOMER_REQUEST
addition to previous customer request
2016-09-20 12:09:15 -07:00
John Safranek
65a7978dec Merge pull request #567 from toddouska/rng
RDSEED enhancements
2016-09-20 12:09:01 -07:00
John Safranek
df1d8200ef Fixed unused variable complaint when KEYGEN and OPENSSL_EXTRA are enabled
and when AES and DES3 are disabled.
2016-09-20 12:07:58 -07:00
toddouska
67a112773e fix secure renegotiation 2016-09-19 17:31:20 -07:00
toddouska
21726d5ae4 64bit sequence tls proof of concept, dlts needs some work 2016-09-19 16:02:27 -07:00
kaleb-himes
4214f52d77 addition to previous customer request 2016-09-19 16:01:24 -06:00
toddouska
0718aba655 fix comment typo 2016-09-19 13:28:14 -07:00
toddouska
485d814aed Merge pull request #563 from JacobBarthelmeh/ARMv8
ARMv8 : AES-GCM constraint fix
2016-09-19 09:30:08 -07:00
toddouska
e0b8e55198 Merge pull request #553 from ejohnstown/disable-des3
Disable DES3 by default
2016-09-19 09:27:32 -07:00
toddouska
b4b0b2433e Merge pull request #555 from ejohnstown/autogen-tweak
Autogen tweak for git worktrees
2016-09-19 09:26:06 -07:00
toddouska
4c295cd13d Merge pull request #564 from kaleb-himes/CUSTOMER_REQUEST
Implement requested change from customer
2016-09-19 09:24:43 -07:00
toddouska
1bab8822a9 Merge pull request #565 from ejohnstown/enable-ecccurveext
Enable the ECC Supported Curves extension by default
2016-09-19 09:24:05 -07:00
toddouska
afd039d2e1 Merge pull request #566 from JacobBarthelmeh/master
Benchmark App : fixed some invalid set key sizes
2016-09-19 09:23:12 -07:00
Jacob Barthelmeh
6d73175b22 Benchmark App : fixed some invalid set key sizes 2016-09-17 15:07:38 -06:00
toddouska
c51444bec5 update rdseed to 64bit get, more retries, fallback to /dev/urandom on failure 2016-09-16 18:54:47 -07:00
Kaleb Himes
3f95bac55f Merge pull request #562 from ejohnstown/pre-release3.9.9
Bump version for pre-release REDUX
2016-09-16 15:07:00 -06:00
kaleb-himes
67c7e7c8de Implement requested change from customer
Implement requested change from customer
2016-09-16 14:38:33 -06:00
toddouska
f191cf206e allow single threaded mode to share an RNG at WOLFSSL_CTX level 2016-09-16 13:35:29 -07:00
John Safranek
781e800486 1. Enable the extension ECC Supported Curves by default.
2. Force the extention disabled if ECC is disabled.
2016-09-16 13:26:56 -07:00
Jacob Barthelmeh
f755591316 ARMv8 : AES-GCM constraint fix 2016-09-16 19:43:47 +00:00
John Safranek
7a7f2fbe78 Bump version for pre-release. 2016-09-16 10:58:31 -07:00
John Safranek
ef0cd908ea Merge pull request #557 from kaleb-himes/arduino-updates
fix distribution issue
2016-09-16 10:55:48 -07:00
toddouska
c85b3b84d9 Merge pull request #554 from JacobBarthelmeh/ARMv8
ARMv8 : AES-CTR/CBC/GCM speed ups and refactor AES
2016-09-16 09:34:24 -07:00
John Safranek
03ebb4825e Merge pull request #552 from toddouska/aesca
prevent compiler from optimzing out PreFetch Td4
2016-09-16 09:16:07 -07:00
kaleb-himes
14a7065f6e fix distribution issue 2016-09-16 10:04:50 -06:00
Daniele Lacamera
b869641de6 Merge branch 'master' into frosted-fix 2016-09-16 11:46:01 +02:00
Daniele Lacamera
890bcde1cd Don't include <sys/uio.h> when running on Frosted 2016-09-16 11:43:34 +02:00
John Safranek
4087f6904c Treat project directory as in version control if .git is
either directory or file.
2016-09-15 16:09:27 -07:00
Jacob Barthelmeh
6d82cba29c ARMv8 : AES-CTR/CBC/GCM speed ups and refactor AES 2016-09-15 22:50:00 +00:00
John Safranek
ef9c4bf5c9 Add client-ca.pem to the automake include for dist. 2016-09-15 15:38:41 -07:00
John Safranek
bad6be5c76 1. Updated sniffer to allow DES3 to be disabled.
2. Fixed an unused variable in OpenSSL Extras when DES3 is disabled.
3. Force DES3 enabled when enabling MCAPI.
2016-09-15 14:53:28 -07:00
John Safranek
e92f0e32b0 Undo making the ECC supported curves extension default to enabled. 2016-09-15 13:15:49 -07:00
dgarske
78c0f98ea9 Merge pull request #551 from kaleb-himes/arduino-updates
Updates to make building for ARDUINO more intuitive
2016-09-15 13:01:42 -07:00
John Safranek
0ee7d7cc17 1. Add DES3 enable to full commit test.
2. Added DES3 to the list of FIPS prereqs.
2016-09-15 12:19:32 -07:00
John Safranek
e3bb4c29e2 Fix openssl.test with the lean-TLS option
1. Make new CA cert for test that is both client-cert.pem andr
   client-ecc-cert.pem.
2. Use the new client-ca.pem cert in the test script.
3. Update renewcerts script to generate client-ca.pem.
2016-09-15 11:39:30 -07:00
toddouska
c1ac0c0f8c Merge pull request #545 from ejohnstown/ems
Extended Master Secret
2016-09-15 11:25:41 -07:00
John Safranek
2d4757b446 Disable DES3 by default. Force it enabled when it is a prereq for
another option. (SCEP and PKCS7)
2016-09-15 11:23:36 -07:00
John Safranek
19434e285a Update the resume test to rerun itself with the "-n" option to disable
extended master secret if the option is enabled.
2016-09-15 10:13:31 -07:00
toddouska
8cdaa06127 prevent compiler from optimzing out PreFetch Td4 2016-09-15 10:02:30 -07:00
kaleb-himes
9d49fae600 Updates to make building for ARDUINO more intuitive
NO_INLINE not necessary, update README
2016-09-14 17:01:35 -06:00
JacobBarthelmeh
01be5cdc07 Merge pull request #550 from toddouska/rsainit
make sure rsa rng is null on init
2016-09-14 16:31:07 -06:00
toddouska
dc337946d5 make sure rsa rng is null on init 2016-09-14 14:33:08 -07:00
John Safranek
8b713adcfd Extended Master Secret Peer Review Changes
1. Checked the returns on the hash functions in the sniffer,
   return new error if any fail.
2. Removed the SHA-512 hash from the sniffer's collection of
   hashes. Never used in a cipher suite.
3. Added some logging messages in the EMS support in wolfSSL.
2016-09-14 13:43:02 -07:00
John Safranek
7410b5784f Merge pull request #548 from toddouska/nocache
add WC_NO_CACHE_RESISTANT option for old code paths
2016-09-14 10:24:29 -07:00
toddouska
e039fcefc0 Merge pull request #549 from JacobBarthelmeh/master
aes.c : check ILP32 macro defined
2016-09-14 09:58:19 -07:00
Jacob Barthelmeh
109642fef4 aes.c : check ILP32 macro defined 2016-09-14 09:33:48 -06:00
toddouska
b6937626b4 don't require uneeded temp with WC_NO_CACHE_RESISTANT 2016-09-13 17:01:50 -07:00
toddouska
7b3fc558ec add WC_NO_CACHE_RESISTANT option for old code path 2016-09-13 16:45:15 -07:00
John Safranek
b77c350153 Merge pull request #547 from toddouska/mathca
Remove timing resistant cache key bit monitor leaks
2016-09-13 14:34:23 -07:00
toddouska
05d78dc2ce Merge pull request #544 from cconlon/rsafix
include MAX_RSA_INT_SZ in wc_RsaKeyToPublicDer(), for 4096-bit keys
2016-09-13 11:24:03 -07:00
toddouska
46a0ee8e69 switch ecc timising resistant mulmod double to use temp instead of leaking key bit to cache monitor 2016-09-13 11:10:10 -07:00
John Safranek
0477d5379e Merge pull request #546 from toddouska/aesca
AES T table cache preload.
2016-09-13 11:05:28 -07:00
toddouska
6ef9e79ff5 switch timing resistant exptmod to use temp for square instead of leaking key bit to cache monitor 2016-09-13 09:13:39 -07:00
toddouska
6ae1a14c9f do aes cache line stride by bytes, not word32s 2016-09-12 21:09:08 -07:00
John Safranek
77cf700657 Update to allow resumption with session tickets and extended master secret. 2016-09-12 16:06:51 -07:00
toddouska
c6256211d6 compress aes last round decrypt table, prefetch Td tables before aes decrypt rounds, prefecth compressed table before last round 2016-09-12 13:04:30 -07:00
toddouska
97a64bcc7c remove unique aes last round Te table, pre fetch Te tables during software aes encrypt 2016-09-12 12:03:37 -07:00
John Safranek
c1136a30e9 1. Enabled the extended master secret in the Windows IDE user_settings.h
file by default.
2. Fixed scan-build warning about an assignment to a variable that isn't
used again in the function. Commented out the line.
2016-09-12 09:42:42 -07:00
John Safranek
b994244011 Revising the Extended Master Secret support. Removing the dynamic
TLSX support for the extention and treating it like the Signature
and Hash algorithms extension. It is to be enabled by default and
the user can turn it off at run time or build time.
2016-09-11 18:05:44 -07:00
Chris Conlon
a149d83bff include MAX_RSA_INT_SZ in wc_RsaKeyToPublicDer(), for 4096-bit keys 2016-09-09 16:11:56 -06:00
John Safranek
68e48e84fd Merge pull request #541 from toddouska/comp
detect server forcing compression on client w/o support
2016-09-09 13:00:22 -07:00
toddouska
fc54c53f38 Merge pull request #543 from JacobBarthelmeh/ARMv8
ARMv8 : increase performance with SHA256
2016-09-09 10:23:44 -07:00
Jacob Barthelmeh
3ec66dd662 ARMv8 : sanity checks and change constraint type 2016-09-09 00:27:40 +00:00
dgarske
bd3e40d2fc Merge pull request #542 from JacobBarthelmeh/master
verify case with unexpected input
2016-09-08 16:07:28 -07:00
Jacob Barthelmeh
f4e604dec3 verify case with unexpected input 2016-09-08 15:32:09 -06:00
toddouska
0c21d76ce3 detect client not sending any compression types 2016-09-08 12:06:22 -07:00
John Safranek
4fb1431727 Added support for the extended master secret extension to the sniffer. 2016-09-08 11:25:02 -07:00
Jacob Barthelmeh
79af4d30e0 ARMv8 : increase performance with SHA256 2016-09-08 18:00:24 +00:00
toddouska
3e80d966d2 Merge pull request #540 from dgarske/fix_noprng_nosha2
Fix to allow disabling P-RNG and SHA256 with CUSTOM_RAND_GENERATE_BLOCK
2016-09-07 16:33:32 -07:00
toddouska
3aefc42f04 have TLS server side verify no compression is in list if not using compression 2016-09-07 15:28:30 -07:00
David Garske
f6b786cfb5 Updated the random.h source inline comments to clarify SHA256 and RC4. 2016-09-07 09:23:43 -07:00
toddouska
baebec4ca4 Merge pull request #538 from JacobBarthelmeh/ARMv8
initial ARMv8 instructions
2016-09-07 09:20:14 -07:00
toddouska
a5db13cd01 detect server forcing compression on client w/o support 2016-09-07 09:17:14 -07:00
David Garske
8d6ea61a4f Fix to allow disabling P-RNG and SHA256 when CUSTOM_RAND_GENERATE_BLOCK is used. Added inline documentation to describe RNG source options. Example: ./configure --enable-cryptonly --disable-hashdrbg CFLAGS="-DNO_SHA256 -DCUSTOM_RAND_GENERATE_BLOCK" 2016-09-06 16:42:53 -07:00
Jacob Barthelmeh
09b29cb1d4 ARMv8 AES: remove extra memcpy during encrypt/decrypt 2016-09-02 22:55:17 +00:00
JacobBarthelmeh
33f24ebaa8 Merge pull request #537 from ejohnstown/ocsp-issuerKeyHash
OCSP Fixes
2016-09-02 14:57:07 -06:00
Jacob Barthelmeh
8e4ccd355c refactor ALIGN16 macro to types.h 2016-09-01 21:24:03 +00:00
Chris Conlon
0f0e0ca9a5 add extended master to example client 2016-09-01 15:17:46 -06:00
Chris Conlon
88fab67804 add extended master unit tests 2016-09-01 15:15:17 -06:00
Chris Conlon
e4f527a332 initial extended master secret support 2016-09-01 15:12:54 -06:00
Chris Conlon
5bf8806655 add wc_Sha384/512GetHash() functions 2016-09-01 15:05:27 -06:00
Jacob Barthelmeh
41912b92c6 initial ARMv8 instructions 2016-09-01 18:10:06 +00:00
John Safranek
963b9d4c4d OCSP Fixes
1. When using Cert Manager OCSP lookup, the issuer key hash wasn't
being set correctly. This could lead to unknown responses from lookup.
2. Default OCSP lookup callback could get blocked waiting for server
to close socket.
2016-09-01 09:58:34 -07:00
Chris Conlon
a0b02236b8 Merge pull request #527 from danielinux/master
Support for Frosted OS
2016-08-31 10:07:25 -06:00
toddouska
092916c253 Merge pull request #536 from ejohnstown/dtls-sctp
DTLS over SCTP
2016-08-30 13:09:40 -07:00
John Safranek
e0a035a063 DTLS-SCTP Tests
1. Added a check to configure for SCTP availablility.
2. Added DTLS-SCTP to the cipher suite test.
2016-08-29 15:24:51 -07:00
JacobBarthelmeh
de3f66b946 Merge pull request #515 from dgarske/cryptonly_static_mem
Added support for static memory with wolfCrypt
2016-08-29 15:23:28 -06:00
David Garske
ddff90ea26 Fix duplicate declaration of "wolfSSL_init_memory_heap" (errors after rebase). 2016-08-29 11:50:43 -07:00
David Garske
6a70403547 Fix for "not used" devId in benchmark. 2016-08-29 11:01:16 -07:00
David Garske
2ecd80ce23 Added support for static memory with wolfCrypt. Adds new "wc_LoadStaticMemory" function and moves "wolfSSL_init_memory_heap" into wolfCrypt layer. Enhanced wolfCrypt test and benchmark to use the static memory tool if enabled. Added support for static memory with "WOLFSSL_DEBUG_MEMORY" defined. Fixed issue with have-iopool and XMALLOC/XFREE. Added check to prevent using WOLFSSL_STATIC_MEMORY with HAVE_IO_POOL, XMALLOC_USER or NO_WOLFSSL_MEMORY defined. 2016-08-29 10:38:06 -07:00
John Safranek
05a35a8332 fix scan-build warning on the simple SCTP example server 2016-08-26 20:33:05 -07:00
John Safranek
aed68e1c69 1. Needed to tell the client to use sctp.
2. Creating the example sockets needed the IPPROTO type.
2016-08-26 19:58:36 -07:00
John Safranek
46e92e0211 DTLS-SCTP example client and server
1. Update the example client and server to test DTLS-SCTP.
2. Modify the test.h functions for setting up connections to allow
for a SCTP option.
3. Update other examples to use the new test.h functions.
4. Removed some prototypes in the client header file were some functions
that should have been static to the client.c file and made them static.
2016-08-26 19:58:36 -07:00
John Safranek
6d5df3928f SCTP-DTLS examples
1. Added the set SCTP mode command to client and server.
2. Added a 4K buffer test case.
2016-08-26 19:58:36 -07:00
John Safranek
bab071f961 1. Implemented the SCTP MTU size changes for transmit.
2. Simplified the MAX_FRAGMENT size when calling SendData().
2016-08-26 19:58:36 -07:00
John Safranek
a6c0d4fed7 1. Added missing -DWOLFSSL_SCTP to configure.ac.
2. Don't do hello verify requests in SCTP mode.
3. Implemented the SCTP MTU size changes.
4. Simplified the MAX_FRAGMENT size when calling ReceiveData().
2016-08-26 19:58:36 -07:00
John Safranek
52e2f1a7ab typecasts to clear static analysis warnings on SCTP examples 2016-08-26 19:58:36 -07:00
John Safranek
f3dca48e99 Fix polarity on the DTLS-SCTP check. 2016-08-26 19:58:36 -07:00
John Safranek
7b3255b5bb 1. Simplified the IsDtlsSctpMode() check.
2. Checked IsDtlsSctpMode() to skip saving messages to retransmit and
skip retransmissions.
2016-08-26 19:57:09 -07:00
John Safranek
c1970434d1 simplify the SCTP options 2016-08-26 19:43:52 -07:00
John Safranek
b7a35eabd2 Add simple SCTP example tools 2016-08-26 19:40:50 -07:00
John Safranek
ebbf5ec72b add new options and accessors for SCTP 2016-08-26 19:40:50 -07:00
John Safranek
2d9b6cf27a added SCTP to configure.ac 2016-08-26 19:40:50 -07:00
dgarske
d7ac7af4b0 Merge pull request #532 from toddouska/sb-aiaddr
make sure static analysis realizes err_sys does exit()
2016-08-26 16:29:20 -07:00
dgarske
930c692598 Merge pull request #535 from toddouska/ecc521-no64
fix normal math 16bit digit_bit for all ecc sizes
2016-08-26 14:59:01 -07:00
toddouska
bd312cb766 Merge pull request #533 from dgarske/dg_fixes
Fixes for HMAC/small stack heap and disable RSA warnings
2016-08-26 14:30:55 -07:00
toddouska
401463a983 Merge pull request #534 from dgarske/ecc_cust_fix
Fixed issue with "wc_ecc_set_custom_curve" function and ECC test improvements
2016-08-26 14:25:15 -07:00
toddouska
efabbcf305 fix normal math 16bit digit_bit for all ecc sizes 2016-08-26 13:47:53 -07:00
David Garske
bf23b2f9d1 Fix issue with "wc_ecc_set_custom_curve" function not setting index as "ECC_CUSTOM_IDX". Cleanup of the ECC tests to return actual error code (when available) and make sure keys are free'd. Some trailing whitespace cleanup. 2016-08-26 12:35:47 -07:00
David Garske
925e5e3484 Fixes typo issue with heap in hmac and small stack enabled. Fixed "never read" scan-build warnings with typeH and verify when RSA is disabled. 2016-08-26 10:33:01 -07:00
toddouska
86e889a7fa only force exit() in all cases with gcc since we know noreturn attribute there 2016-08-26 10:20:58 -07:00
toddouska
dd7f9b618d make sure static analysis realizes err_sys does exit() 2016-08-25 12:23:57 -07:00
toddouska
78ca9e7716 Merge pull request #482 from dgarske/async
Asynchronous wolfCrypt RSA and TLS client support
2016-08-25 10:06:18 -07:00
toddouska
07345579ec Merge pull request #531 from cconlon/distro
Add "--enable-distro" build option
2016-08-23 14:31:23 -07:00
David Garske
a9278fe492 Added check for GetLength result in asn GetIntRsa function. Fixed return code in random.c for "wolfAsync_DevCtxInit" due to copy/paste error. Added RSA wc_RsaCleanup to make sure allocated tmp buffer is always free'd. Eliminated invalid RSA key type checks and "RSA_CHECK_KEYTYPE". 2016-08-23 11:31:15 -07:00
Chris Conlon
91ccf1bd86 do not enable ARC4 or sniffer in distro build 2016-08-22 15:33:45 -06:00
Chris Conlon
45c8ed1436 remove -X from ocsp stapling tests that are not external 2016-08-22 14:18:35 -06:00
toddouska
ebba0efaa4 Merge pull request #528 from jrblixt/tests_api_develop
Added Functions to wolfSSL/test/api.c
2016-08-22 09:38:23 -07:00
Chris Conlon
1a94c0bbdd add distro build option 2016-08-22 10:00:37 -06:00
Chris Conlon
6f0239441b Merge pull request #530 from ejohnstown/dtls-ticket
DTLS and Session Ticket fix
2016-08-22 09:37:28 -06:00
John Blixt
a9935cbc28 Made changes found by Jenkins. 2016-08-19 10:23:55 -06:00
John Safranek
fa1989b729 fix building the new session ticket message for DTLS, take into account the additional header sizes 2016-08-18 17:51:25 -07:00
John Blixt
813a9b05b5 Clean up and Chris check added the changes. 2016-08-18 15:07:07 -06:00
John Blixt
f61c045e65 Changes to the Assert Macros used and added wolfSSL_CTX_use_certificate_buffer() 2016-08-18 10:03:33 -06:00
Daniele Lacamera
3d3f8c9dd3 Support for Frosted OS 2016-08-18 14:56:14 +02:00
John Blixt
b068eec96d added wolfSSL_CTX_SetMinVersion 2016-08-17 14:41:37 -06:00
John Blixt
73089200bf Merge branch 'master' of https://github.com/wolfSSL/wolfssl into tests_api_develop 2016-08-17 14:12:43 -06:00
John Blixt
cddc771829 Added wolfSSL_SetMinVersion 2016-08-17 14:05:37 -06:00
John Blixt
584733b138 Chris looked at functions added for correctness. 2016-08-17 11:27:14 -06:00
John Blixt
65b2b14a0f added test functions for wolfCrypt_Init and OCSP stapling v1 and v2 2016-08-17 10:32:03 -06:00
David Garske
3e6be9bf2c Fix in "wc_InitRsaKey_ex" for normal math so mp_init isn't called to defer allocation. 2016-08-15 14:07:16 -06:00
David Garske
17a34c5899 Added asynchronous wolfCrypt RSA, TLS client and Cavium Nitrox V support. Asynchronous wolfSSL client support for "DoServerKeyExchange", "SendClientKeyExchange", "SendCertificateVerify" and "DoCertificateVerify". Fixes for async DTLS. Refactor of the wolf event and async handling for use in wolfCrypt. Refactor of the async device support so its hardware agnostic. Added Cavium Nitrox V support (Nitrox tested using SDK v0.2 CNN55XX-SDK with new configure "--with-cavium-v=/dir" option). Moved Nitrox specific functions to new port file "port/cavium/cavium_nitrox.c". RSA refactor to handle async with states. RSA optimization for using dpraw for private key decode. Use double linked list in wolf event for faster/cleaner code. Use typedef for wolf event flag. Cleanup of the async error codes. wolfCrypt test and benchmark support for async RSA. Asynchronous mode enabled using "./configure --enable-asynccrypt". If no async hardware is defined then the internal async simulator (WOLFSSL_ASYNC_CRYPT_TEST) is used. Note: Using async mode requires async.c/h files from wolfSSL. If interested in using asynchronous mode please send email to info@wolfssl.com. 2016-08-15 13:59:41 -06:00
Chris Conlon
5347e32d63 Merge pull request #526 from toddouska/fm64-types
don't setup 64bit typedef with fastmath if not needed
2016-08-15 13:14:59 -06:00
Chris Conlon
d1d6571575 Merge pull request #525 from toddouska/session
add resume session string script check, make GetDeepCopySession stati…
2016-08-15 13:11:53 -06:00
toddouska
527c375884 don't setup 64bit typedef with fastmath if not needed 2016-08-15 11:02:06 -07:00
toddouska
d74fa8299a add resume session string script check, make GetDeepCopySession static local and check reutrn code 2016-08-15 09:32:36 -07:00
dgarske
b38218a0b9 Merge pull request #524 from kaleb-himes/certs-buffs-and-tests
cert updates, new buffers, new test with buffers
2016-08-14 08:39:37 -07:00
kaleb-himes
da18e463ed remove constraints on inclusion of certs_test.h 2016-08-12 17:00:22 -06:00
kaleb-himes
03295ec6d7 update certs, extend ntru to 1000 days, add der formatted ecc, new ecc buffer test
changes from first review

move to 256 bit defines
2016-08-12 13:00:52 -06:00
toddouska
7cf13f84b7 Merge pull request #522 from JacobBarthelmeh/master
help static analysis tools
2016-08-10 16:37:16 -07:00
Jacob Barthelmeh
b502d9dcf7 help static analysis tools 2016-08-10 14:23:27 -06:00
JacobBarthelmeh
fd9f8125e3 Merge pull request #521 from dgarske/improve_inline_misc
Change misc.c error to warning when trying to be compiled and inline enabled
2016-08-09 13:09:20 -06:00
toddouska
a8b2ced588 Merge pull request #519 from dgarske/fix_compat_wo_ecc
Fix for openssl compatibility without ECC
2016-08-08 13:46:58 -07:00
David Garske
317a7f2662 Change misc.c error to warning and exclude the misc.c code from being compiled. Most people include all .c files and by default inlining is allowed, which in turn causes an #error in misc.c and it must be excluded. Since we know its already been properly included there is no reason to throw error here. Instead, show warning and exclude code in .c file. 2016-08-08 13:13:59 -07:00
David Garske
b0e4acaac1 Fix for openssl compatibility without ECC. Disable "wolf_OBJ_nid2sn", "wolf_OBJ_sn2nid" and "wolf_OBJ_obj2nid" when "OPENSSL_EXTRA" defined and "HAVE_ECC" is not defined. 2016-08-08 10:29:58 -07:00
toddouska
76e8438059 Merge pull request #518 from dgarske/fix_build_w_callbacks
Fix build with "WOLFSSL_CALLBACKS" defined.
2016-08-06 10:11:53 -07:00
toddouska
49fb0d56b0 Merge pull request #516 from dgarske/fix_asn_wo_hmac
Fix build issue with ASN enabled and no HMAC
2016-08-06 10:07:00 -07:00
toddouska
c8cfe1ffa1 Merge pull request #511 from dgarske/openssl_compat_fixes
Various improvements to support openssl compatibility
2016-08-06 09:59:31 -07:00
toddouska
dd03af2cf4 Merge pull request #512 from dgarske/fix_crl_pad
Fixed issue with CRL check and zero pad
2016-08-06 09:56:59 -07:00
dgarske
cc462e2c50 Merge pull request #513 from kojo1/Der2Pem
Adds "wc_DerToPem" CRL_TYPE support
2016-08-05 14:35:15 -07:00
David Garske
d8c63b8e66 Various improvements to support openssl compatibility.
* Fixed bug with "wolfSSL_get_cipher_name_internal" for loop using incorrect max length for "cipher_name_idx" (this caused fault when library built with NO_ERROR_STRINGS and calling it).
* Adds new "GetCipherNameInternal" function to get cipher name using internal "cipherSuite" index only (for scenario where WOLFSSL object does not exist).
* Implements API's for "wolf_OBJ_nid2sn" and "wolf_OBJ_sn2nid". Uses the ecc.c "ecc_sets" table to locate NID (ECC ID and NID are same).
* Added "WOLFSSL*" to HandShakeInfo.
* Allowed "SetName" to be exposed.
* Added "wolfSSL_X509_load_certificate_buffer". Refactor "wolfSSL_X509_load_certificate_file" to use new function (no duplicate code).
2016-08-05 14:15:47 -07:00
David Garske
32b0303beb Fix build with "WOLFSSL_CALLBACKS" defined. 2016-08-05 14:06:58 -07:00
David Garske
6b1ff8e9d7 Only try and return serial number or check padding if the serial number size is greater than 1. 2016-08-05 12:53:26 -07:00
David Garske
a17bc2a42e Fix build issue with ASN enabled and no HMAC (missing MAX_DIGEST_SIZE). Switch to using WC_MAX_DIGEST_SIZE from hash.h, which is always available. Added small stack option for digest in MakeSignature. Fixed build error with unused "testVerifyCount" if "NO_ECC_SIGN" or "NO_ECC_VERIFY". 2016-08-05 12:19:30 -07:00
toddouska
eeb506b8c0 Merge pull request #514 from dgarske/fix_arm_cc_warn
Fixes for warnings when cross-compiling with GCC ARM.
2016-08-05 10:07:32 -07:00
David Garske
96da2df7ec Additional max index and serial number size checks in "GetSerialNumber". 2016-08-03 17:04:44 -07:00
David Garske
2c1309ffc7 Fixes for warnings when cross-compiling with GCC ARM. 2016-08-03 16:53:53 -07:00
Takashi Kojo
e01dcb671d eliminate tail nl 2016-08-03 11:12:10 +09:00
Takashi Kojo
ed4cd2438f CRL_Type to wc_DerToPem 2016-08-03 10:53:54 +09:00
David Garske
9ddfe93c43 Fixed issue with CRL check and zero pad (the GetRevoked function was not trimming pad). Added new ASN "GetSerialNumber" function and implemented it in three places in asn.c. 2016-08-02 16:47:21 -07:00
toddouska
67d607324a Merge pull request #509 from JacobBarthelmeh/Release
prepare for release 3.9.8
2016-07-28 18:47:39 -07:00
Jacob Barthelmeh
32c0b6d97a prepare for release 3.9.8 2016-07-28 15:46:45 -06:00
JacobBarthelmeh
dcc0f87ce6 Merge pull request #506 from toddouska/del_point
fix remaining non fpecc ecc_del_point w/o heap
2016-07-27 18:54:46 -06:00
dgarske
303561c1a1 Merge pull request #505 from toddouska/timing
fix scan-build warning on ecc memory alloc failure
2016-07-27 15:52:01 -07:00
toddouska
a94f34c8e2 fix remaining non fpecc ecc_del_point w/o heap 2016-07-27 14:24:34 -07:00
toddouska
6cd4acbdba Merge pull request #504 from dgarske/oid_unknown_fix
Fix for "OID Check Failed"
2016-07-27 14:16:04 -07:00
toddouska
20c991717f Merge pull request #503 from JacobBarthelmeh/mysql
change priority of cipher suite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
2016-07-27 12:13:47 -07:00
toddouska
7cf0b8fe85 fix scan-build warning on ecc memory alloc failure 2016-07-27 11:20:08 -07:00
David Garske
b0e72dd692 Fix for "OID Check Failed". This restores behavior to what it was prior to commit "7a1acc7". If an OID is not known internally skip the verify and return success and the OID sum. 2016-07-27 10:39:42 -07:00
Jacob Barthelmeh
37b84abe0b change priority of cipher suite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 2016-07-27 09:36:16 -06:00
toddouska
c834216cca Merge pull request #501 from ejohnstown/key-usage
only check server's cert key encipher on client for RSA key exchange
2016-07-26 15:45:38 -07:00
John Safranek
0265b0f4bb only check server's cert key encipher on client for RSA key exchange 2016-07-26 13:32:54 -07:00
John Safranek
993838153e Merge pull request #487 from moisesguimaraes/fix-ocspstapling-getca
fixes ocsp signer lookup in the cert manager.
2016-07-26 12:42:47 -07:00
John Safranek
edbec4db20 Merge pull request #500 from dgarske/ocsp2_asn_fix
Fix for failing OID check with "ocspstapling2" enabled
2016-07-26 12:41:50 -07:00
toddouska
242d26eba2 Merge pull request #488 from cconlon/sig_algo
leave off SHA1-RSA/ECDSA signature algorithms when NO_OLD_TLS is defined
2016-07-26 11:05:24 -07:00
David Garske
c80f1805f0 Fix for failing OID check with "ocspstapling2" enabled. Found OID type in "ToTraditional" that should be keyType, not sigType. Added optional OID decode function and optional OID info dump in "GetObjectId" (both off by default). 2016-07-26 10:35:40 -07:00
dgarske
5bb250583e Merge pull request #499 from toddouska/timing
add --enable-harden swtich for timing resistance and blinding, on by …
2016-07-26 10:14:20 -07:00
toddouska
fc6a5c0702 fix mcapi w/o harden 2016-07-26 09:06:46 -07:00
toddouska
a274386693 fix user rsa no error codes? 2016-07-25 19:19:46 -07:00
toddouska
51042e166f fix mcapi with blinding API addition 2016-07-25 15:57:38 -07:00
toddouska
cd5486a4e6 fix user_rsa with blinding API addition 2016-07-25 15:33:28 -07:00
John Safranek
ea683f493a Merge pull request #498 from kaleb-himes/cert-updates
update certs pre-release: NTRU certs expired in mid june
2016-07-25 15:19:34 -07:00
toddouska
16336e37ec fix blinding with fips 2016-07-25 13:47:53 -07:00
toddouska
88f847de90 add --enable-harden swtich for timing resistance and blinding, on by default 2016-07-25 13:24:36 -07:00
kaleb-himes
4121667586 update certs pre-release: NTRU certs expired in mid june 2016-07-25 13:05:52 -06:00
toddouska
096e3f9b8b Merge pull request #496 from JacobBarthelmeh/staticmemory
add helper functions for choosing static buffer size
2016-07-21 16:17:34 -07:00
Jacob Barthelmeh
e8f7d78fc4 add helper functions for choosing static buffer size 2016-07-21 12:11:15 -06:00
toddouska
b81e687bf3 Merge pull request #490 from JacobBarthelmeh/master
Static Memory Fixes
2016-07-20 20:27:03 -07:00
toddouska
8f2af608a7 Merge pull request #492 from JacobBarthelmeh/staticmemory
set heap hint for ctx
2016-07-20 20:25:38 -07:00
dgarske
e920e6cee0 Merge pull request #495 from toddouska/rng-redef
fix WC_RNG redeclare
2016-07-20 19:22:08 -07:00
toddouska
2c92fee59f fix WC_RNG redeclare 2016-07-20 17:18:58 -07:00
dgarske
b265666174 Merge pull request #491 from toddouska/rsab-fixes
fix rsablind other builds
2016-07-20 15:22:19 -07:00
toddouska
81526f8384 move wolfSSL Get RNG out of ifdef in header 2016-07-20 11:35:57 -07:00
toddouska
1b980867d6 fix rsablind other builds 2016-07-20 11:35:57 -07:00
Jacob Barthelmeh
5d8a78be30 set heap hint for ctx 2016-07-20 11:47:36 -06:00
Jacob Barthelmeh
1f5b6d4e66 sanity check on buffer size 2016-07-20 11:44:22 -06:00
Jacob Barthelmeh
01ecc64052 avoid race condition with IO and handshake counter 2016-07-20 11:44:22 -06:00
Jacob Barthelmeh
17207ff61b account for when FreeHandshakeResources is not called 2016-07-20 11:44:22 -06:00
toddouska
8423ad0e96 Merge pull request #493 from dgarske/ecc_fixes
ECC fixes with Shamir disabled
2016-07-20 10:40:14 -07:00
David Garske
e0f2bbd1b4 Added comment about why 0's test is disabled. ECC without Shamir fails with fast or normal math. 2016-07-19 19:12:45 -07:00
David Garske
5e2502fa95 ECC without Shamir has issues testing all zero's digest, so disable this test if not using Shamir method. Fixed comment about "NO_ECC_SECP". 2016-07-19 14:34:32 -07:00
toddouska
7a419ba6d8 Merge pull request #472 from dgarske/ecc_brainpool_koblitz
ECC and TLS support for all SECP, Koblitz and Brainpool curves
2016-07-19 11:44:53 -07:00
toddouska
bdbf972d42 Merge pull request #486 from cconlon/openssl-script
openssl.test, switch -Verify to -verify to accomodate ADH cipher suites
2016-07-19 11:38:52 -07:00
dgarske
32a2bd3863 Merge pull request #489 from toddouska/rsablind
Adds WC_RSA_BLINDING for RSA Private Operations
2016-07-19 09:03:09 -07:00
toddouska
f88f501923 add unique RNG missing error 2016-07-18 18:10:38 -07:00
Moisés Guimarães
e866b55bb7 removes fallback. 2016-07-18 22:02:41 -03:00
toddouska
1c71fb4ad1 scope tmpa/b with blinding, document RSA options 2016-07-18 17:37:03 -07:00
toddouska
c2b55f69fa fix 32bit mp_add_d need 2016-07-18 12:49:31 -07:00
toddouska
d235a5f0cc add WC_RSA_BLINDING, wc_RsaSetRNG() for RSA Private Decrypt which doesn't have an RNG 2016-07-18 11:57:47 -07:00
Chris Conlon
d3f7ddc486 leave off SHA1-RSA/ECDSA signature algorithms when NO_OLD_TLS is defined 2016-07-15 14:32:24 -06:00
Moisés Guimarães
dd329ac97b fixes ocsp signer lookup in the cert manager. 2016-07-15 17:12:04 -03:00
Chris Conlon
e75642f011 openssl.test, switch -Verify to -verify to accomodate ADH cipher suites 2016-07-15 13:39:32 -06:00
Chris Conlon
c47f5f404c Merge pull request #480 from toddouska/noecho
don't echo session id on blank ticket if we're going to create a new …
2016-07-15 13:12:27 -06:00
Chris Conlon
b1de4dcbbb Merge pull request #481 from wolfSSL/fix_anon_cipher
Anonymous cipher fix
2016-07-15 13:05:32 -06:00
dgarske
9a6f66a093 Merge pull request #484 from JacobBarthelmeh/master
add ARM 64bit type macro
2016-07-15 09:50:39 -07:00
David Garske
aa9b1e964c Fix for possible seg fault with anonymous cipher mode enabled. Do not perform signature/verify when using anon_cipher. 2016-07-14 15:58:35 -07:00
Jacob Barthelmeh
515bf5e135 add ARM 64bit type macro 2016-07-14 15:29:32 -06:00
toddouska
c7b969b5b4 don't echo session id on blank ticket if we're going to create a new ticket 2016-07-13 18:45:10 -07:00
Chris Conlon
9a9a98ac82 Merge pull request #479 from toddouska/idlen
allow bogus client sessoinID of non 32 bytes with session ticket
2016-07-13 14:57:33 -06:00
toddouska
5f21f93c61 allow bogus sessionID when ticket callback rejects ticket 2016-07-13 12:47:59 -06:00
dgarske
c20551cc56 Merge pull request #478 from toddouska/flatten-fix
fix rsa flatten eSz check
2016-07-13 08:50:39 -07:00
toddouska
7b76c3ab36 allow bogus client sessoinID of non 32 bytes with session ticket 2016-07-13 09:47:49 -06:00
toddouska
b6aefad568 Merge pull request #477 from JacobBarthelmeh/master
remove hard tabs and replace with spaces
2016-07-12 16:31:13 -06:00
toddouska
7a906e47ed fix rsa flatten eSz check 2016-07-12 16:28:59 -06:00
toddouska
97f60bc831 Merge pull request #476 from dgarske/fix_lpcxpresso
Fixes for LPCXpresso eclipse project
2016-07-12 15:23:09 -06:00
Jacob Barthelmeh
92341292c7 remove hard tabs and replace with spaces 2016-07-12 14:12:44 -06:00
David Garske
8a20f7a909 Fix to exclude misc.c by default to eliminate #error about inline. 2016-07-12 13:07:08 -07:00
David Garske
1c9f013c09 Include the .project and .cproject files in distribution. Fix issue with adding wolfssl to existing project, so the <name> is "wolfssl", not "lib_wolfssl". 2016-07-12 13:03:47 -07:00
Kaleb Himes
1b149d3941 Merge pull request #474 from ejohnstown/dtls-ver
One last fix of the DTLS version numbers
2016-07-11 12:35:27 -07:00
John Safranek
3dc09ae0fb one last fix of the DTLS version numbers 2016-07-08 17:20:56 -07:00
dgarske
24ad3f7f3e Merge pull request #473 from toddouska/ecc-timing-fix
Fix ecc timming missing variable. Fix fpecc thread local storage size with clang. Don't include comba includes if FP_SIZE is too small for index.
2016-07-08 15:08:58 -07:00
David Garske
acc5389f9a Fixed possible issue with OID pointer returned from "wc_ecc_get_oid" if "HAVE_OID_ENCODING" enabled. Was previously returning static pointer, which was shared for all OID's. Now uses cache for each OID, which also improves performance on subsequent calls to the same OID. 2016-07-08 14:22:21 -07:00
David Garske
19db78fc76 Moved the ECC OID's into separate static const array to reduce ecc_sets size. Added "ecc_oid_t" typedef to determine "oid" size based on HAVE_OID_ENCODING option. Reduced the encoded variable size to word16. 2016-07-08 14:15:54 -07:00
toddouska
8da8c87fa4 don't include comba includes if FP_SIZE is too small for index 2016-07-08 12:29:38 -07:00
toddouska
c7318c8576 fix fpecc thread local storage size with clang 2016-07-08 12:01:52 -07:00
toddouska
68d66d12d6 fix ecc timming missing variable 2016-07-08 11:57:24 -07:00
David Garske
7a1acc7e56 Added TLS support for all SECP and Brainpool curves. Added ECC curve specs for all Brainpool, Koblitz and R2/R3. Adds new "HAVE_ECC_BRAINPOOL", "HAVE_ECC_KOBLITZ", "HAVE_ECC_SECPR2" and "HAVE_ECC_SECPR3" options. ECC refactor to use curve_id in _ex functions. NID and ECC Id's match now. Added ability to encode OID (HAVE_OID_ENCODING), but leave off by default and will use pre-encoded value for best performance. 2016-07-07 10:59:45 -07:00
toddouska
0f25ee703d Merge pull request #468 from JacobBarthelmeh/master
option to use test.h without gettimeofday
2016-07-06 18:48:18 -07:00
Jacob Barthelmeh
5fbab0e6a7 option to use test.h without gettimeofday
revert parameter passed to current_time with TIRTOS
2016-07-01 16:57:49 -06:00
toddouska
00cd0a3146 Merge pull request #471 from dgarske/fixdoubleinit
Remove double call to "wolfCrypt_Init()" in test.c
2016-06-30 19:32:52 -07:00
toddouska
df87ee810f Merge pull request #469 from cconlon/bug-fixes
update README with CU bug fix note
2016-06-30 19:31:58 -07:00
toddouska
000f1a19e5 Merge pull request #470 from JacobBarthelmeh/Testing
sanity checks
2016-06-30 19:30:28 -07:00
David Garske
dcdc28e014 Remove double call to "wolfCrypt_Init()" in test.c. Appears to have been added in static memory merge on 6/10. 2016-06-30 16:51:13 -07:00
Jacob Barthelmeh
8bba628f3f sanity check in function GetInputData and when shrinking buffer 2016-06-30 13:42:38 -06:00
toddouska
f194c216c0 Merge pull request #466 from JacobBarthelmeh/mutex
free ctx in case of InitMutex fail
2016-06-30 12:05:06 -07:00
Jacob Barthelmeh
cf522314ce sanity checks 2016-06-30 11:41:22 -06:00
Chris Conlon
a2bd4719ee update README with CU bug fix note 2016-06-29 16:54:25 -06:00
Jacob Barthelmeh
3f36a914da remove cast from enum to int 2016-06-29 14:28:36 -06:00
toddouska
c17830e5c7 Merge pull request #467 from dgarske/stdlib_macro_cleanup
Cleanup of stdlib function calls
2016-06-29 12:14:09 -07:00
David Garske
5b3a72d482 Cleanup of stdlib function calls in the wolfSSL library to use our cross-platform "X*" style macros in types.h. 2016-06-29 11:11:25 -07:00
toddouska
eb072e0344 Merge pull request #463 from JacobBarthelmeh/master
update mysql port
2016-06-28 14:56:57 -07:00
toddouska
981cf9cbcb Merge pull request #462 from cconlon/bug-fixes
PemToDer Bug Fixes
2016-06-28 09:58:18 -07:00
Jacob Barthelmeh
0589fe0d39 free ctx in case of InitMutex fail 2016-06-28 09:29:28 -06:00
dgarske
7da797dd4c Merge pull request #464 from wolfSSL/revert-461-bio
Revert "Bio"
2016-06-27 14:50:50 -07:00
Jacob Barthelmeh
f18ff8bfa4 update mysql patch 2016-06-27 15:44:52 -06:00
toddouska
ac6635593b Revert "Bio" 2016-06-27 10:53:34 -07:00
Chris Conlon
9c7bea46d2 fix out of bounds read in PemToDer with 0 size der buffer, CU #4 2016-06-27 10:53:19 -06:00
Chris Conlon
92e501c8e4 fix possible out of bound read in PemToDer header, CU #3 2016-06-27 10:53:19 -06:00
Chris Conlon
2951e167b5 check return code of PemToDer in wolfSSL_CertManagerVerifyBuffer, CU #2 2016-06-27 10:23:22 -06:00
Chris Conlon
8fac3fffea fix possible out of bounds read in PemToDer, CU #1 2016-06-27 10:23:22 -06:00
toddouska
3a18b057d7 Merge pull request #460 from dgarske/DerBufMemcpyCleanup
Cleanup of DerBuffer duplication
2016-06-24 14:51:30 -07:00
toddouska
fbef3c2523 Merge pull request #461 from JacobBarthelmeh/bio
Bio
2016-06-24 14:50:52 -07:00
Jacob Barthelmeh
49934a5c91 Merge https://github.com/wolfSSL/wolfssl into bio 2016-06-24 14:22:14 -06:00
Ludovic FLAMENT
d0e832bda9 change file name from compat-wolfssl to compat-wolfcrypt 2016-06-24 19:10:39 +02:00
Ludovic FLAMENT
033f308a08 change file name from compat-wolfssl to compat-wolfcrypt 2016-06-24 19:00:39 +02:00
Kaleb Himes
19da114c0c Merge pull request #454 from ejohnstown/dtls-version
DTLS Hello Verify Request Version Number
2016-06-24 08:44:55 -07:00
Ludovic FLAMENT
4215182945 fix macro error 2016-06-24 13:27:49 +02:00
Ludovic FLAMENT
0c43123a01 Fix BIO based on review 2016-06-24 10:54:58 +02:00
JacobBarthelmeh
379af941a8 Merge pull request #459 from ejohnstown/aes-cmac-fixes
AES-CMAC Fixes
2016-06-23 22:10:26 -06:00
David Garske
b0f7d819bd Cleanup of DerBuffer duplication that was using memcpy still after refractor and should be direct pointer copy. 2016-06-23 18:14:22 -07:00
John Safranek
ffb537c33f removed dependency on AES-NI for the AES-direct test 2016-06-23 15:34:09 -06:00
John Safranek
0d031fcbd7 added parameter checking to Generate and Verify 2016-06-23 15:34:09 -06:00
toddouska
746ae2f4e5 Merge pull request #458 from JacobBarthelmeh/master
fix secure renegotiation build
2016-06-23 13:34:39 -07:00
Jacob Barthelmeh
0b91e000bb fix secure renegotiation build 2016-06-23 13:10:39 -06:00
toddouska
02ef518a75 Merge pull request #456 from dgarske/FixEccCompKey
Fixes for ECC compressed keys
2016-06-22 14:47:42 -07:00
Jacob Barthelmeh
f6bbe845f5 Merge https://github.com/wolfSSL/wolfssl into bio 2016-06-22 09:14:53 -06:00
David Garske
47c1f4e68f Fix possible use of ForceZero with NULL pointer. Improve init of "kb" when small stack disabled, so memset isn't performed twice. 2016-06-22 07:22:30 -07:00
David Garske
69db94d668 Fix build error for un-initialized "kb" variable when built with fixed point cache and small stack enabled. 2016-06-22 07:06:07 -07:00
David Garske
d294dc363e Fix scan-build warning with "redundant redeclaration of 'fp_isprime'". Changed "fp_isprime" and "fp_isprime_ex" to local static only. Also made "fp_gcd", "fp_lcm", and "fp_randprime" static functions. 2016-06-21 19:35:25 -07:00
David Garske
1db880b6bf Fixed issue with compressed keys and custom curves. The inLen adjustment for compressed curves was only be done for built-in curves. 2016-06-21 15:55:17 -07:00
David Garske
dd52af0872 ECC cleanup / fixes. Improvements to ECC with fast math enabled to avoid mp_clear on stack variables. Refactor of ECC failure cleanup (fixes possible mem leaks with small stack enabled). Refactor of "fp_is*" response checks to use FP_YES or FP_NO. Pulled libtom enhancement/cleanup of fp_isprime. Fix for compressed keys import with custom curves (still having some issues though). 2016-06-21 15:27:51 -07:00
David Garske
aa1a405dd1 Fixes for compressed keys. Fix to fast math "mp_cnt_lsb" to return proper value, which fixes "mp_jacobi", which fixes "mp_sqrtmod_prime", which fixes compressed keys for 224-bit key. Removed workarounds for compressed keys. Added new configure option "--enable-compkey". Fixed issue with normal math and custom curves where "t2" could be free'd and used. Fixed issue with mp_dump in integer.c, with not allocating correctly sized buffer for toradix. 2016-06-21 14:06:02 -07:00
dgarske
5fa80a2667 Merge pull request #455 from toddouska/version
bump dev version
2016-06-20 22:07:18 -07:00
toddouska
f4473edfb1 bump dev version 2016-06-20 16:20:18 -07:00
toddouska
335865a5b2 Merge pull request #447 from ejohnstown/dtls-retx
DTLS Retransmit Fix
2016-06-20 15:46:55 -07:00
toddouska
79e2af8c15 Merge pull request #445 from ejohnstown/dtls-alert
DTLS bad MAC alert
2016-06-20 15:36:18 -07:00
toddouska
a859cf189d Merge pull request #443 from ejohnstown/new-ccm-suite
Add cipher suite ECDHE-ECDSA-AES128-CCM
2016-06-20 15:34:55 -07:00
John Safranek
6d520e0da9 hello verify request handshake version number to match server hello version number 2016-06-20 11:08:45 -06:00
toddouska
de4448c59b Merge pull request #452 from dgarske/fixeccscanbuildwarning
Fixes scan-build warning in ecc.c line 2208
2016-06-20 09:09:21 -07:00
David Garske
3789d9913c Fixes scan-build warning "wolfcrypt/src/ecc.c:2208:6: warning: Use of memory after it is freed". This is due to a rebase issue with static memory changes after the new ECC custom curves changes. The precomp[] is init to NULL at top so cleanup can always be done at end (shouldn't be done in middle). 2016-06-18 22:35:52 -07:00
toddouska
9173ecdc04 Merge pull request #450 from dgarske/NidFix
Fix for NID names on NIST prime 192 and 256 curves
2016-06-18 16:14:04 -07:00
David Garske
eb1d8d5df6 Fix for NID names on NIST prime 192 and 256 curves. Cleanup of the memcpy/memset in .i files to use portable names. 2016-06-17 15:59:25 -07:00
Jacob Barthelmeh
ffee1eafd9 add test_bio.txt to .getignore 2016-06-17 16:20:54 -06:00
JacobBarthelmeh
b8e00a3448 Merge pull request #449 from moisesguimaraes/fix-ocsp-stapling-tests
fixes ocsp stapling tests ignoring CRL
2016-06-17 15:16:39 -06:00
Jacob Barthelmeh
ea71814518 Merge https://github.com/wolfSSL/wolfssl 2016-06-17 13:58:53 -06:00
toddouska
e8c4950a83 Merge pull request #446 from cconlon/cleanup
Remove unimplemented function prototypes
2016-06-17 12:57:55 -07:00
toddouska
4fc07a2e9e Merge pull request #415 from dgarske/customcurve-mathupdate
Support for custom ECC curves and math lib updates
2016-06-17 12:56:52 -07:00
Moisés Guimarães
db7aab5e37 fixes ocsp stapling tests ignoring CRL 2016-06-17 08:19:57 -03:00
JacobBarthelmeh
16b85cee8f Merge pull request #448 from cconlon/winfix
Fix windows example echoserver
2016-06-16 18:18:32 -06:00
Chris Conlon
a7c7407406 fix windows example echoserver 2016-06-16 16:39:18 -06:00
David Garske
6da166d83b Enhancement / cleanup of the "wc_ecc_make_key_ex" API so it can be used with "keysize" or "dp" and allows compatibility with existing "wc_ecc_make_key". Note: "wc_ecc_make_key_ex" was not previously public, so changing it at this point is okay. 2016-06-16 10:38:15 -07:00
David Garske
d55663eaee Added ECC API's for using custom curves that are not in the "ecc_sets" list. Added wolfCrypt test to validate/demonstrate custom curve using BRAINPOOL256R1. Exposed "wc_ecc_make_key_ex" and added "wc_ecc_import_x963_ex" / "wc_ecc_import_raw_ex" API's that accept "const ecc_set_type*" for custom curve. Internally use "ECC_CUSTOM_IDX" (-1) to define custom curve is used. Added "--enable-ecccustcurves" option to configure.ac. 2016-06-16 10:09:41 -07:00
David Garske
69b6ac504f Fixes for ecc heap errors after rebase. 2016-06-16 06:46:22 -07:00
John Safranek
8f3c56c03f Fix where the last flight was getting retransmit on timeout notification. 2016-06-15 18:44:25 -07:00
Chris Conlon
31908b7263 remove unused protos for wc_Sha384Free and wc_Sha512Free, not impmlemented by ti-hash.c 2016-06-15 11:34:29 -06:00
Chris Conlon
3fec69d3f8 remove unused proto for wc_SetCertificatePolicies 2016-06-15 10:50:41 -06:00
David Garske
237193fdee Fixed scan-build warning about "len" being used un-initialized in ecc_mul2add. Cleanup of the "mu" variable handling. 2016-06-15 08:41:51 -07:00
David Garske
7c5483ba0b Performance improvements in fp_mulmod, fp_submod and fp_submod to handle ALT_ECC_SIZE better. Revert fp_clear to fp_add_d, since it isn't required and slows it down. 2016-06-15 08:41:51 -07:00
David Garske
5703e5eadb ECC changes to support custom curves. Added new "WOLFSSL_CUSTOM_CURVES" option to support non-standard ECC curves in ecc_is_point and ecc_projective_dbl_point. Refactor to load and pass curve "a" parameter down through ECC functions. Relocated mp_submod and added mp_addmod. Refactor to pass mp variable directly (not pointer) for montgomery variable. Fix in mp_jacobi to also handle case of a == 0. Cleanup of *_ecc_mulmod and wc_ecc_make_key_ex error handling. Cleanup of ecc_map for handling normal, fast and alt_ecc math for optimization of performance and allowing reduced ecc_size. 2016-06-15 08:41:51 -07:00
David Garske
bb17bac018 Updated the naming for the ECC curve sets. Additional comments for each curve parameter. 2016-06-14 16:56:22 -07:00
David Garske
87c00eb3f3 Math updates from libtom. Fixes in mp_read_radix for to include char 36 and clear the destination before checks. Fix to clear tmp value on fp_sub_d and fp_add_d. Fixes in assembly for x86-32 INNERMUL, PPC32 INNERMUL and PROPCARRY and x86-64 SQRADD. Added mp_isneg. Refactor of mp_iszero, mp_iseven, mp_isodd and mp_isneg to check using MP_YES or MP_NO. Changed fp_read_unsigned_bin "b" arg to const. Removal of the "register" on stack variables to let compiler determine best optimization. 2016-06-14 16:56:22 -07:00
dgarske
7a3cb23af9 Merge pull request #444 from JacobBarthelmeh/master
prepare for version 3.9.6
2016-06-14 15:51:01 -07:00
John Safranek
35f43f9216 In DTLS, if a mac or decrypt error is detected, just drop the datagram and don't send an alert 2016-06-14 14:36:08 -07:00
Jacob Barthelmeh
03de8e3464 prepare for version 3.9.6 2016-06-14 14:35:12 -06:00
John Safranek
2f9c9b9a22 Add cipher suite ECDHE-ECDSA-AES128-CCM
1. Added the usual cipher suite changes for the new suite.
2. Added a build option, WOLFSSL_ALT_TEST_STRINGS, for testing
   against GnuTLS. It wants to receive strings with newlines.
3. Updated the test configs for the new suite.

Tested against GnuTLS's client and server using the options:

    $ gnutls-cli --priority "NONE:+VERS-TLS-ALL:+AEAD:+ECDHE-ECDSA:+AES-128-CCM:+SIGN-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509" --x509cafile=./certs/server-ecc.pem --no-ca-verification -p 11111 localhost
    $ gnutls-serv --echo --x509keyfile=./certs/ecc-key.pem --x509certfile=./certs/server-ecc.pem --port=11111 -a --priority "NONE:+VERS-TLS-ALL:+AEAD:+ECDHE-ECDSA:+AES-128-CCM:+SIGN-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509"

To talk to GnuTLS, wolfSSL also needed the supported curves option
enabled.
2016-06-13 14:39:41 -07:00
dgarske
2752f3f9c9 Merge pull request #442 from toddouska/mcapi-aes
fix mcapi aes size with heap
2016-06-11 12:52:59 -07:00
toddouska
02985b16ac fix mcapi aes size with heap 2016-06-11 09:29:20 -07:00
toddouska
a156cedabc Merge pull request #435 from JacobBarthelmeh/staticmemory
Staticmemory
2016-06-10 17:03:49 -07:00
Jacob Barthelmeh
707714dd38 threaded fixes with static memory 2016-06-10 15:35:02 -06:00
Jacob Barthelmeh
3d3591a227 typdef gaurd / error out on bad mutex init / handle no maxHa or maxIO set 2016-06-10 14:13:27 -06:00
Chris Conlon
cbefaef6bc Merge pull request #440 from toddouska/output-size
Output size
2016-06-10 11:33:31 -06:00
Jacob Barthelmeh
2bda6c6449 16 byte aligned static memory 2016-06-10 11:15:54 -06:00
Chris Conlon
620ea41191 Merge pull request #439 from kaleb-himes/update-cert-buffers
update certificate buffers per github issue #422
2016-06-10 10:08:25 -06:00
toddouska
dede05db9e Merge pull request #441 from dgarske/time_base64enc
Public "wc_GetTime" API and "configure --enable-base64encode"
2016-06-10 08:47:08 -07:00
Jacob Barthelmeh
ea3d1f8e17 extended method function 2016-06-09 23:41:51 -06:00
David Garske
b3068ffef5 Added new public "wc_GetTime" API for getting seconds from the asn.c XTIME. Added new "./configure --enable-base64encode" to enable Base64 encoding (now enabled by default for "x86_64"). 2016-06-09 16:26:39 -07:00
toddouska
6551c9fcab add getter for max output size 2016-06-09 14:51:07 -07:00
kaleb-himes
76d960c4c0 update certificate buffers per github issue #422 2016-06-09 13:47:33 -06:00
Jacob Barthelmeh
7943f68f2a run allocation tool on ocsp and check for mallocs 2016-06-09 12:03:28 -06:00
dgarske
367b519407 Merge pull request #424 from kojo1/MDK5
updated MDK5 projects
2016-06-09 10:47:04 -07:00
Jacob Barthelmeh
8be5409bc5 static method func / ocsp callbacks / heap test / alpn free func / remove timing resistant constraint 2016-06-09 11:36:31 -06:00
Jacob Barthelmeh
664d2190ba session ticket extension fix with static memory heap hint 2016-06-08 10:50:20 -06:00
toddouska
a2d7ba0dd9 add output size getter 2016-06-08 09:32:34 -07:00
Jacob Barthelmeh
e214086dce tlsx with static memory / account for session certs size 2016-06-08 09:18:43 -06:00
toddouska
c48db891d1 Merge pull request #433 from ejohnstown/aes-cmac
Aes cmac
2016-06-07 16:48:46 -07:00
dgarske
c1c1990247 Merge pull request #437 from tisb-vikram/master
Enable ECC features for TI devices
2016-06-07 16:00:20 -07:00
Vikram Adiga
57675dc51d add ALT_ECC_SIZE for TI build to reduce memory usage 2016-06-07 14:05:35 -07:00
Jacob Barthelmeh
738373038b clean up staticmemory with crl 2016-06-06 17:50:54 -06:00
Jacob Barthelmeh
e1edadafe1 ocsp with static memory, remove unused function 2016-06-06 16:19:33 -06:00
toddouska
9f7e8a6f4b Merge pull request #436 from JacobBarthelmeh/master
fix index to check for sperator value
2016-06-06 14:52:20 -07:00
Vikram Adiga
4ba77a7059 add HAVE_SUPPORTED_CURVES to TI-RTOS wolfSSL configuration 2016-06-06 13:50:14 -07:00
Jacob Barthelmeh
db90594909 adjust pointer cast, ssl rng with fips and unused param 2016-06-06 14:32:49 -06:00
Jacob Barthelmeh
e085be9485 fix index to check for sperator value 2016-06-06 10:34:35 -06:00
dgarske
a25df5b78e Merge pull request #434 from toddouska/crlbuffer
add wolfSSL and wolfSSL_CTX LoadCRLBuffer()
2016-06-06 09:01:25 -07:00
toddouska
38d5480256 Merge pull request #432 from JacobBarthelmeh/DTLS-MultiCore
import / export of peer connection information
2016-06-06 08:51:24 -07:00
Jacob Barthelmeh
2feee8856e revise static memory and update heap hint 2016-06-04 19:03:48 -06:00
Jacob Barthelmeh
104ff12e76 add staticmemory feature 2016-06-04 19:01:23 -06:00
toddouska
3f205d19f4 add wolfSSL and wolfSSL_CTX LoadCRLBuffer() 2016-06-03 15:13:16 -07:00
John Safranek
d05754f9db Merge pull request #404 from moisesguimaraes/wolfcrypt-py
wolfcrypt Python wrapper
2016-06-03 08:24:12 -07:00
Moisés Guimarães
7f71c526f6 adds python3 support 2016-06-03 10:37:41 -03:00
Moisés Guimarães
6736ffe10e adds links to wolfssl.com 2016-06-02 22:08:57 -03:00
Moisés Guimarães
a76291c2e2 adds tox instructions 2016-06-02 21:38:34 -03:00
Jacob Barthelmeh
046b987324 callbacks for setting and getting peer ip/port/family 2016-06-02 09:23:12 -06:00
Kaleb Himes
5be916e336 Merge pull request #403 from ejohnstown/dtls-fix
when dropping a DTLS message, drop the whole datagram
2016-05-30 17:26:25 -06:00
Jacob Barthelmeh
73328ac4bc import / export of peer connection information 2016-05-26 16:26:08 -06:00
toddouska
a4fa4d5253 Merge pull request #431 from JacobBarthelmeh/master
sanity checks on wolfSSL_dtls_get_peer arguments
2016-05-26 14:46:58 -07:00
dgarske
806a0bbaa7 Merge pull request #430 from toddouska/sesstick_type_typo
fix dynamic type session ticket typos
2016-05-26 11:35:46 -07:00
John Safranek
61801e06df add benchmark for AES-CMAC 2016-05-25 16:12:19 -07:00
John Safranek
1b9b7f52c9 1. Reformat a couple of #ifdefs around if(dtls) checks.
2. Move fuzz update for DTLS GetRecordHeader to be like the TLS case.
3. DtlsCheckWindow only allows current epoch and last epoch.
4. ProcessReply only retransmits flight on a CCS out of sequence when
   still retaining the handshake data.
2016-05-25 15:44:06 -07:00
Jacob Barthelmeh
5e1f06ce52 sanity checks on wolfSSL_dtls_get_peer arguments 2016-05-25 10:57:00 -06:00
toddouska
669cdfc357 fix dynamic type session ticket typos 2016-05-25 09:47:54 -07:00
John Safranek
ae093ded8f add standalone AES-CMAC generate and verify functions 2016-05-25 09:22:39 -07:00
Ludovic FLAMENT
5d67bb881e fix memory leaks 2016-05-25 17:44:31 +02:00
Ludovic FLAMENT
bb754bb46a Fix Win32 warnings 2016-05-25 13:49:06 +02:00
John Safranek
9bf4598772 use constant for Cmac type 2016-05-24 16:46:04 -07:00
John Safranek
dbfd5dffaf added parameter checks 2016-05-24 11:21:06 -07:00
John Safranek
b3d068dc40 Merge pull request #418 from toddouska/dyntickets
Dyntickets
2016-05-24 11:00:14 -07:00
Ludovic FLAMENT
1d675ed1e6 Fix va_copy error for Win32 build and AES-NI segfault 2016-05-24 18:17:26 +02:00
John Safranek
c0cbc97b06 add AES-CMAC 2016-05-23 17:50:36 -07:00
Moisés Guimarães
07ce928bf3 adds installation testing with vagrant 2016-05-23 21:10:44 -03:00
Moisés Guimarães
04d5ca41df adds --enable-Sha512 to make sure it is always present 2016-05-23 20:33:11 -03:00
toddouska
9ab5ec4a36 Merge pull request #428 from dgarske/eccmathfixes
Fixed bug with "ecc_projective_add_point"
2016-05-23 11:46:54 -07:00
toddouska
61f0af5cf3 Merge pull request #429 from dgarske/wolfcryptinit
Added missing wolfCrypt_Init() to wolfCrypt test application
2016-05-23 09:23:42 -07:00
Ludovic FLAMENT
ab1d6c91bf fix errors (win32, met leak) 2016-05-23 13:46:26 +02:00
Ludovic FLAMENT
99b5aa587f Fix errors (jenkins) 2016-05-23 11:11:57 +02:00
David Garske
5eb7768d00 Added missing wolfCrypt_Init() to wolfCrypt tests. 2016-05-22 18:18:06 -07:00
David Garske
15cd06b7ca Fixed bug with "ecc_projective_add_point" that was not protecting the case where Q == R and using the R variable directly for the result. Now if Q == R then swap P and Q and using a local x,y,z, is only required when used with ALT_ECC_SIZE. 2016-05-22 17:31:36 -07:00
John Safranek
7c93912f1d reject messages that are too far from the future 2016-05-22 16:10:47 -07:00
JacobBarthelmeh
eb6153f028 Merge pull request #425 from shihrer/master
Fixed scripts/benchmark.test, replaced == with -eq
2016-05-20 14:49:43 -06:00
JacobBarthelmeh
f369f8a434 Merge pull request #426 from jrblixt/master
Changes to date
2016-05-20 14:48:04 -06:00
Ludovic FLAMENT
ed4f67058a Merge branch 'master' of https://github.com/wolfssl/wolfssl 2016-05-20 21:51:13 +02:00
John Blixt
f1860d6263 Changes to date 2016-05-20 09:48:03 -06:00
Michael Shihrer
fa94f5ffe9 Replaced == with -eq to fix benchmark.test scripting error 2016-05-20 09:43:30 -06:00
Moisés Guimarães
fcc0eb7a6a fixes install instructions 2016-05-20 03:55:57 -03:00
Takashi Kojo
217ccd8b6a updated MDK5 projects for 3.9.0. Eliminated files for older versions 2016-05-20 13:32:23 +09:00
toddouska
504081e602 Merge pull request #421 from ejohnstown/limit-country-code
Limit Country Name size
2016-05-19 16:05:15 -07:00
toddouska
1bb5c48080 Merge pull request #423 from dgarske/bench-ecc-encrypt-decrypt
Added a benchmark for ECC encrypt/decrypt
2016-05-19 14:47:03 -07:00
David Garske
c1507957c4 Added a benchmark for ECC encrypt/decrypt when enabled via "HAVE_ECC_ENCRYPT" or "--enable-eccencrypt --enable-hkdf". 2016-05-19 11:42:00 -07:00
John Safranek
bae0fe9b63 MakeCertReq() was not checking return codes correctly for the SetFoo()
functions.
2016-05-18 15:14:23 -07:00
John Safranek
5c8daa0ac6 1. SetName() should return error if country code isn't 2 bytes.
2. MakeCert() was not checking return codes correctly for the SetFoo()
    functions.
3. Added error code for invalid country code length.
2016-05-18 15:04:40 -07:00
John Safranek
03e6f7cca3 RFC 5280 Appendix A.1 states that the Country Name in a certificate
shall have a size of 2 octets. Restrict country name length to 2 or 0.
2016-05-18 10:39:18 -07:00
toddouska
b8c0802e3c Merge pull request #414 from JacobBarthelmeh/DTLS-MultiCore
Dtls multi core
2016-05-17 17:39:18 -07:00
Moisés Guimarães
47a1dd8cc4 fixes install steps 2016-05-17 14:15:17 -03:00
Ludovic FLAMENT
9fe6ca3130 remove XSNPRINTF
add a full BIO client/server test
2016-05-17 17:49:30 +02:00
Jacob Barthelmeh
1b278edfd0 fix unused functions, make WOLFSSL first parameter, add comments 2016-05-16 23:48:26 -06:00
Moisés Guimarães
a000ee4db3 remove empty dirs 2016-05-16 22:17:09 -03:00
Moisés Guimarães
dc080694b4 reorder installation steps 2016-05-16 21:55:31 -03:00
Moisés Guimarães
2851f7d6a1 remove unnecessary dependency 2016-05-16 20:37:42 -03:00
Moisés Guimarães
2a0adc74a0 fixes wrapper path 2016-05-16 20:13:26 -03:00
Moisés Guimarães
347d80e879 removes folders from include.am 2016-05-16 15:49:32 -03:00
Moisés Guimarães
40cf30a13d adds .gitignore to include.am 2016-05-16 15:31:51 -03:00
Ludovic FLAMENT
4017e0f8dd fix BIO issues :
- remove unrequited tests
- fix compilations for lighty, stunned, openssh
- wc_BioGetAcceptSocket IPv4 / IPv6 support
- remove <stdio.h> from bio.h
- add NO_STDIO_FILESYSTEM for BIO_printf
- memset -> XMEMSET
- strlen -> XSTRLEN
2016-05-15 20:22:19 +02:00
Moisés Guimarães
d76d74d6c5 updates Linux deps on README 2016-05-15 15:08:16 -03:00
Jacob Barthelmeh
c8576566cc add public wolfSSL_dtls_export and api tests 2016-05-14 12:49:09 -06:00
toddouska
185e60ad19 based on pr#316; turns isDynamic ticket off on some failure cases, move an XFREE out of a Lock that isn't required 2016-05-13 14:11:46 -07:00
toddouska
1ea01a7ad8 Merge branch 'master' of https://github.com/NickolasLapp/wolfssl into dyntickets 2016-05-13 09:07:55 -07:00
Jacob Barthelmeh
3897f78073 truncated hmac export and sanity checks 2016-05-13 09:11:38 -06:00
toddouska
67ab30088b Merge pull request #416 from dgarske/mathmemleakfix
Fix mem leak with fast math disabled due to recent ecc_projective_add_point changes
2016-05-12 15:23:19 -07:00
David Garske
2ad9d41641 Performance improvement for fast math mp_clear to use fp_zero (memset) instead of fp_clear(ForceZero). Added new mp_forcezero function for clearing/free'ing sensitive private key data. Changed ECC and RSA to use mp_forcezero to explicitly handle private key clearing. 2016-05-12 11:50:34 -07:00
Jacob Barthelmeh
8d66ba2923 refactor export/import of cipher specs struct 2016-05-12 10:06:15 -06:00
Jacob Barthelmeh
fbf39a761a refactor export/import of key struct 2016-05-12 09:23:38 -06:00
Jacob Barthelmeh
f9ce2f2677 verify cipher suite is valid on import 2016-05-12 09:09:07 -06:00
John Safranek
39833768cf Merge pull request #417 from toddouska/stdio
make sure stdio.h can be swtiched off if not available
2016-05-11 14:55:05 -07:00
toddouska
cc16a543dd make sure stdio.h can be swtiched off if not available 2016-05-11 10:11:25 -07:00
David Garske
440956f8d4 Fixed new issue with ecc_projective_add_point not free'ing the local x, y, z if fast math was disabled. Formatting cleanup in integer.c. 2016-05-11 08:47:30 -07:00
toddouska
3bff6f10e3 Merge pull request #411 from dgarske/mathfixes
Math fixes
2016-05-10 14:45:20 -07:00
Jacob Barthelmeh
8c45cb1938 add DTLS session export option 2016-05-10 13:27:45 -06:00
David Garske
2fb4506922 iFixes to FP_MAX_BITS_ECC calculation. Alignment check against digit_bits is based on max ecc bits times two. If alignment check fails we add a digit_bit to make sure we have enough room. 2016-05-10 12:20:39 -07:00
Moisés Guimarães
9659505260 updates python docs 2016-05-09 18:46:01 -03:00
David Garske
d71d0f2cb4 Fix with fast math disabled so ecc_projective_add_point uses temp local variable for x,y,z result. 2016-05-09 13:29:25 -07:00
Moisés Guimarães
412141198e drops 'import about' requirement 2016-05-09 15:25:18 -03:00
David Garske
8f6352725a Fixed math for FP_MAX_BITS_ECC calculations. Error in alignment check. Altered non-aligned formula to be (max bits * 2) + digit, then 8-bit aligned. Cleanup of the example user_settings.h. 2016-05-09 10:34:37 -07:00
David Garske
8c9b8a596a Fixed calculation of max ECC bits with ALT_ECC_SIZE defined so it only allocates what is required. For 8-bit aligned curve sizes its double the max bits. For un-aligned curves sized, like ECC521, its 521 8-bit aligned, doubled, plus digit bit. 2016-05-09 09:51:11 -07:00
David Garske
44b1f98b39 Fixed issue with ALT_ECC_SIZE and default value for FP_MAX_BITS_ECC so its based on max enabled ECC curve bits. 2016-05-09 09:51:11 -07:00
David Garske
880b2e454b Refactor of the ecc_projective_add_point and ecc_projective_dbl_point functions to eliminate duplicate versions. Modified new single functions to work with normal, fast and alt_ecc_size math options. Careful use of mp_clear to retain original performance. 2016-05-09 09:51:11 -07:00
David Garske
fe58db2a07 Fixed typo with new "eccshamir" configure option. 2016-05-09 09:51:11 -07:00
David Garske
1b602d783c Fast math correction of "sizeof" to use (). Updates to tfm and ecc comments. 2016-05-09 09:51:11 -07:00
David Garske
5cbc4bdf29 Added new "WOLFSSL_DEBUG_MATH", which enables use of "mp_dump" to display information about an mp_int. 2016-05-09 09:51:11 -07:00
David Garske
a4782fcf01 Fix in fast math version of ecc_projective_dbl_point to use a local for x,y,z since ecc_point fp_int's are reduced size and cause math issues with ALT_ECC_SIZE enabled. Added local stack variable cleanups for ecc_projective_add_point. 2016-05-09 09:51:11 -07:00
David Garske
0ddbe0e60e Enhancement to RSA math function "_fp_exptmod" (non timing resistant version) to support WOLFSSL_SMALL_STACK, which moves the allocation of the 64 fp_int's from the stack to the heap. 2016-05-09 09:51:11 -07:00
David Garske
fa5dd01001 Fixes/improvements to the wolfCrypt ECC tests. Fixed bug with sharedA/sharedB being too small when BENCH_EMBEDDED is used and curve size over 256 bit. Added error message for ECC test failures, to show the curve size used. Fix to wc_ecc_verify_hash test to use digest that is not all zeros as that doesn't work correctly for non-Shamir ECC math. Changed return code for wc_ecc_check_check so its unique. 2016-05-09 09:51:11 -07:00
David Garske
a5d27853fa Fixes to fp_mul and fp_div to clear any excess digits on the destination. Added compile-time check to confirm FP_SIZE is compatible with TFM_ acceleration defines enabled. Updated comments in other places where excess digits are cleared. 2016-05-09 09:51:11 -07:00
David Garske
7c3fbd7644 Fix for fp_copy() when used with ALT_ECC_SIZE so any excess digits on the destination that we didn't write to are set to zero. 2016-05-09 09:51:11 -07:00
David Garske
9001036e09 Fixes memory leak in the wc_RsaFunction if failure happens when using normal math (not fast math) and RSA_LOW_MEM is not defined. 2016-05-09 09:51:11 -07:00
David Garske
9f0fa7500f Added configure "--disable-eccshamir" option. 2016-05-09 09:51:11 -07:00
Ludovic FLAMENT
f438e7ac65 Fix for Fedora 32/64 2016-05-09 08:13:17 +02:00
Ludovic FLAMENT
03b571cde4 fix some bugs, add Windows support 2016-05-07 21:12:08 +02:00
Nickolas Lapp
ecba5161ac default copyInto static instead of dynamic 2016-05-06 13:15:21 -06:00
toddouska
1c664ae710 Merge pull request #412 from cconlon/netRandom
add support for Whitewood netRandom
2016-05-06 07:31:18 -07:00
Chris Conlon
3449990374 add example netRandom config file 2016-05-05 15:34:52 -06:00
Chris Conlon
8f3e1165a1 add Whitewood netRandom client library support 2016-05-05 15:31:25 -06:00
toddouska
ee21d33794 Merge pull request #407 from wolfSSL/embOS-port
embOS port
2016-05-05 13:27:27 -07:00
kaleb-himes
4df12e1bd5 Add note for users about embOS directory 2016-05-05 12:29:20 -06:00
toddouska
e5f1ad5702 Merge pull request #410 from kaleb-himes/master
update version to 3.9.1
2016-05-05 10:59:05 -07:00
Chris Conlon
6b8c6cebc7 Merge pull request #409 from dgarske/rowleyfixes
Rowley Crossworks updates/fixes
2016-05-05 11:49:46 -06:00
David Garske
726703e903 Added details on RTC oscillator startup delay and implemented a delay_us function. Added information about NO_INLINE and USE_SLOW_SHOW to example user_settings.h. Moved the USE_SLOW_SHA2 into the SHA512 area. 2016-05-05 09:43:11 -07:00
Moisés Guimarães
b0c23ceafa fixes about 2016-05-05 12:48:47 -03:00
Ludovic FLAMENT
5d1de3bb33 One file for all BIO functions in wolfcrypt
move required functions from wolfssl to wolfcrypt
add client/server tests for BIO
2016-05-05 12:58:21 +02:00
David Garske
5ee0659e1b Rowley Crossworks updates/fixes. Fixed issue with the RTC init for scenario where TIF is set. Added support for HW RNG only by providing reference custom_rand_generate_block. Updated kinetis_hw.c comments about serial ports on boards. Updated the stack/heap settings. Updated the user_settings.h with a well documented and configurable reference. 2016-05-04 23:11:08 -07:00
Moisés Guimarães
9e9fd24d68 updates metadata; drops py26 tests 2016-05-04 21:38:27 -03:00
kaleb-himes
ca2f0af2e4 Make suggested changes from first review
Add changes to the example user settings noted by david

missed .dep files, exclude these as well

.dep files are necessary

rebase
2016-05-04 17:28:19 -06:00
kaleb-himes
3e19316f8a update version to 3.9.1 2016-05-04 16:45:51 -06:00
toddouska
f9f9546d0e Merge pull request #408 from cconlon/header-fix
fix aes_asm.asm header format
2016-05-04 14:38:23 -07:00
toddouska
84651e97d3 Merge pull request #405 from dgarske/memtrackdebug
Memory tracking cleanup and new debug memory option
2016-05-04 14:01:37 -07:00
kaleb-himes
41d19b49ae Remove WOLFSSL_TRACK_MEMORY 2016-05-04 14:09:45 -06:00
kaleb-himes
6e26cac686 Reworking directories and simplify README 2016-05-04 13:03:05 -07:00
David Garske
822d71431e Moved mem_track.h into wolfssl/wolfcrypt. Added new WOLFSSL_DEBUG_MEMORY option. Added documentation for using mem_track and new debug memory option. 2016-05-04 10:04:38 -07:00
toddouska
ab53d732ce Merge pull request #398 from JacobBarthelmeh/master
update to MYSQL compatibility
2016-05-04 09:10:39 -07:00
toddouska
1b5ed7fb09 Merge pull request #406 from cconlon/starttls
fix type comparison on 32bit for starttls
2016-05-04 09:06:46 -07:00
kaleb-himes
8176c74b3e Merge branch 'embOS-port' of https://github.com/wolfssl/wolfssl into embOS-port 2016-05-04 08:57:06 -07:00
Jacob Barthelmeh
197672d4fc define KEEP_OUR_CERT to set keeping ssl certificate 2016-05-04 09:05:11 -06:00
Chris Conlon
d91ec3ce77 fix aes_asm.asm header format 2016-05-04 09:02:50 -06:00
kaleb-himes
d184f8b1aa wolfSSL embOS port Initialize
self-review complete

Removed autogenerated files
2016-05-03 17:09:55 -06:00
Chris Conlon
4b16600011 fix type comparison on 32bit for starttls, zero tmp buffer 2016-05-03 13:52:04 -06:00
Jacob Barthelmeh
b2325aad6d option to keepCert for ssl lifetime, refactor of ourCert process 2016-05-03 09:22:16 -06:00
Jacob Barthelmeh
d1ab51e10f maintain lighttpd port 2016-05-03 09:22:16 -06:00
Jacob Barthelmeh
05e56b75f6 scan-build, valgrind issues and fix issue with ExtractDate, struct tm 2016-05-03 09:22:16 -06:00
Jacob Barthelmeh
38bbd41f99 add EDH-RSA-AES256-SHA, used in one mysql test 2016-05-03 09:22:16 -06:00
Jacob Barthelmeh
bd4e8ac714 cipher name string format 2016-05-03 09:22:15 -06:00
Jacob Barthelmeh
6613ebb642 persistant X509 struct with ssl session 2016-05-03 09:22:15 -06:00
Jacob Barthelmeh
f88d82375e add function wolfSSL_ASN1_TIME_to_string 2016-05-03 09:22:15 -06:00
Jacob Barthelmeh
f19541ffe5 update to MYSQL compatibility 2016-05-03 09:22:15 -06:00
Moisés Guimarães
3181731404 adds docs 2016-05-03 00:49:56 -03:00
John Safranek
f9ab61db5d Merge pull request #402 from cconlon/starttls
use send/recv instead of write/read with STARTTLS
2016-05-02 17:19:50 -07:00
John Safranek
ddcf47eadd when dropping a DTLS message, drop the whole datagram 2016-05-02 15:18:08 -07:00
Chris Conlon
a94383037c use send/recv instead of write/read with STARTTLS for winsock compatibility 2016-05-02 14:36:59 -06:00
toddouska
52d6fb575b Merge pull request #395 from cconlon/starttls
add STARTTLS support to example client
2016-04-29 14:24:08 -07:00
Moisés Guimarães
69ac477976 updates docs template 2016-04-29 16:25:53 -03:00
Moisés Guimarães
1efd1343ee initial docs 2016-04-29 16:13:38 -03:00
dgarske
89f15f9393 Merge pull request #400 from ejohnstown/dtls-sanity-check
Fixes DTLS sanity check and bug with DTLS timeout notification deleting the peer's received msg list.
2016-04-29 11:55:40 -07:00
Nickolas Lapp
00737d1e82 Ensure that tmpBuff gets assigned null after free. 2016-04-29 09:45:44 -06:00
Ludovic FLAMENT
1bd65cc8a9 First version for OpenSSL BIO compatibility 2016-04-29 16:34:11 +02:00
John Safranek
0a1212924e Merge pull request #401 from cconlon/warning-fixes
fix visual studio code analysis warnings
2016-04-28 16:45:08 -07:00
Chris Conlon
46addfb130 move example client STARTTLS into separate funcs 2016-04-28 14:21:33 -06:00
Chris Conlon
78e62eddd7 fix visual studio code analysis warnings 2016-04-28 13:08:50 -06:00
John Safranek
2f05c96004 added braces to else clause for compiler warning differences 2016-04-28 11:33:29 -07:00
John Safranek
e0c7739fd6 fix bug with non-blocking DTLS where the stored peer messages were deleted after a timeout 2016-04-28 10:50:51 -07:00
John Safranek
0511c8cac8 delay check of DTLS handshake message's RH version until the handshake header check 2016-04-28 10:50:51 -07:00
John Safranek
7123b080ed fix issue with missing client key exchange and duplicate change cipher spec messages. 2016-04-28 10:50:51 -07:00
Moisés Guimarães
66d41eee36 updates python README 2016-04-28 13:36:41 -03:00
Moisés Guimarães
d8309ab624 adds python ignored files 2016-04-28 13:26:59 -03:00
Moisés Guimarães
7e661ab866 importing wolfcrypt-py repo 2016-04-28 13:20:10 -03:00
toddouska
a54b0f9d0c Merge pull request #397 from lchristina26/master
VxWorks updates: add pthreads define
2016-04-26 18:17:56 -07:00
Kaleb Himes
b2af02a783 Merge pull request #383 from kojo1/MDK5
fixes for MDK5 compiler
2016-04-26 16:11:59 -06:00
lchristina26
8f8f4129fd VxWorks updates: add pthreads define 2016-04-26 09:36:01 -06:00
Nickolas Lapp
ccee49978b Fix scan-build warning 2016-04-25 11:00:56 -06:00
Nickolas Lapp
1c9bf483ec Reorder check for thread modified in addSession. Make sure tick assigned
correctly in non dynamic case
2016-04-25 11:00:56 -06:00
Nickolas Lapp
5f12b4c2ae Add check to see if thread modified session in AddSession 2016-04-25 11:00:56 -06:00
Nickolas Lapp
5f9c1ffca6 Initial support for deep copying of session 2016-04-25 11:00:42 -06:00
Nickolas Lapp
f27aca0956 Remove redundant dynTicket pointer. Reorder struct for packing/alignment 2016-04-25 11:00:31 -06:00
toddouska
cc56e1da48 Merge pull request #393 from JacobBarthelmeh/RSA-min
use short for RSA min key size and check casts
2016-04-22 13:56:59 -07:00
Chris Conlon
5abeeff919 add STARTTLS support to example client 2016-04-22 13:46:54 -06:00
Jacob Barthelmeh
77a9343973 use short for RSA min key size and check casts 2016-04-22 12:56:51 -06:00
toddouska
1e821dbd59 Merge pull request #394 from cconlon/sigalgo
Omit NULL parameter in AlgorithmIdentifier encoding for ECDSA OIDs
2016-04-22 11:37:17 -07:00
toddouska
70aa4a99a0 Merge pull request #390 from JacobBarthelmeh/ECC-min
minimum ECC key size check at TLS/SSL level
2016-04-22 11:33:43 -07:00
Nickolas Lapp
0eb59d5c35 Fix rand num generation on MacOS, Improve organization with tic storage 2016-04-22 10:35:44 -06:00
Nickolas Lapp
c8b20d9090 Add support for dynamic session tickets, add openssl.test to testuiste 2016-04-22 10:35:44 -06:00
Chris Conlon
27814ca1df omit NULL AlgorithmIdentifier parameter for ECDSA algoOID types in SetAlgoID 2016-04-21 14:32:28 -06:00
Jacob Barthelmeh
1dac3841ca change type to short for comparision and up default min size 2016-04-20 15:44:45 -06:00
toddouska
86cbabf035 Merge pull request #392 from wolfSSL/aesni-update
AES-NI Update
2016-04-20 14:27:52 -07:00
dgarske
ee8ec1fb1d Merge pull request #391 from JacobBarthelmeh/master
update oid value for secp160r1
2016-04-20 09:02:50 -07:00
Jacob Barthelmeh
659d6c0689 update oid value for secp160r1 2016-04-19 17:01:39 -06:00
Jacob Barthelmeh
3129bb22cd minimum ECC key size check at TLS/SSL level 2016-04-19 15:50:25 -06:00
dgarske
73c830a576 Merge pull request #388 from JacobBarthelmeh/master
fix NID name in openssl compatibility
2016-04-19 13:57:33 -07:00
toddouska
117231c0e3 Merge pull request #387 from JacobBarthelmeh/RSA-min
add check for min RSA key size at TLS/SSL level
2016-04-19 13:57:26 -07:00
Jacob Barthelmeh
e0a9b365cc fix NID name in openssl compatibility 2016-04-19 13:17:32 -06:00
Jacob Barthelmeh
789f346c5f follow verifyNone variable when checking key size 2016-04-19 10:23:01 -06:00
Jacob Barthelmeh
0eb57ccab0 set return error before jumping to end of function 2016-04-18 14:27:34 -06:00
toddouska
0dbdc8eab0 Merge pull request #372 from dgarske/mingwfixes
MinGW fixes
2016-04-18 12:50:13 -07:00
Jacob Barthelmeh
09e4e13958 update comment about MinGW 2016-04-18 12:14:47 -06:00
Jacob Barthelmeh
e15aca4189 static and shared library with MinGW 2016-04-15 16:04:15 -06:00
Kaleb Himes
3ce01192ac Merge pull request #384 from tisb-vikram/master
enable aesgcm and alpn support in TI-RTOS/WolfSSL configuration
2016-04-15 14:56:56 -06:00
toddouska
72bfc2aa09 Merge pull request #382 from JacobBarthelmeh/master
build with asn disabled and opensslextra enabled
2016-04-15 10:12:52 -07:00
toddouska
8cf57845ff Merge pull request #386 from JacobBarthelmeh/RSA-fix
fix check on RSA key size
2016-04-14 17:53:26 -07:00
Jacob Barthelmeh
1e766b23cf check return value of ping.test 2016-04-14 14:42:01 -06:00
Jacob Barthelmeh
c9891567e8 add check for min RSA key size at TLS/SSL level 2016-04-14 13:35:49 -06:00
John Safranek
4506839c6d back out last commit. it was a pain to use. 2016-04-14 11:57:42 -07:00
John Safranek
526606e42f added conditional assembly for the intel-format AES_NI decrypt procedures 2016-04-14 11:30:10 -07:00
John Safranek
5340ea0d79 fixed a missing operand swap in the AES-CBC decrypt by 6 2016-04-14 10:47:14 -07:00
Jacob Barthelmeh
f998851642 fix check on RSA key size 2016-04-14 09:33:25 -06:00
Takashi Kojo
cab1ebf2d6 move MDK5 current_time to test.h 2016-04-14 18:47:16 +09:00
Takashi Kojo
98dffc070a current_time in test.h 2016-04-14 18:32:33 +09:00
Takashi Kojo
35c5353698 fixed current_time argument 2016-04-14 16:26:51 +09:00
John Safranek
6f51c2a8f8 1. Fix bad opcode mnemonics in the intel-format source listing.
2. Update the aes.c file to call both format assembly routines the same
way.
2016-04-13 16:42:58 -07:00
John Safranek
c34944e389 added intel-format translations of new att-format AES-NI decrypt routines 2016-04-13 16:02:18 -07:00
John Safranek
9781fa3dc9 relabel jump points in new code with D (decrypt) mnemonics rather than E (encrypt) 2016-04-13 15:51:19 -07:00
toddouska
d0717c7b76 Merge pull request #385 from cconlon/freertos-fix
Fix typo in FREERTOS_TCP settings.h
2016-04-13 13:28:04 -07:00
John Safranek
57fce85531 modify AES-CBC with AESNI test to check all key sizes for each message size checked 2016-04-13 12:18:59 -07:00
John Safranek
13f002f186 only compile in the AES-CBC decrypt-by-size variant selected by define, default by 8 blocks at a time 2016-04-13 12:00:53 -07:00
John Safranek
451fd878f9 touching whitespace in assembly routines being touched right now 2016-04-13 11:48:25 -07:00
Chris Conlon
d5df119c65 fix typo in FREERTOS_TCP settings.h 2016-04-12 15:03:34 -06:00
Vikram Adiga
c7ad33e5d4 enable aesgcm and alpn support in TI-RTOS/WolfSSL configuration
These macros enable the AES GCM cipher suites and application layer
protocol negotiation in the TLS layer. Adding these macros would
allow connecting to websites with higher security requirements and
also support newer web technologies like HTTP/2 but the drawback is
that they add ~2K increase in memory footprint. Applications not
requiring these features can comment the macros and rebuild the
library to get smaller footprint.

Signed-off-by: Vikram Adiga <vikram.adiga@ti.com>
2016-04-12 12:25:32 -07:00
John Safranek
8524afc56a 1. Rename routine AES_CBC_decrypt_ex as AES_CBC_decrypt_by8
2. Added routine AES_CBC_decrypt_by6 that does six at a time.
3. Setting HAVE_AES_DECRYPT_BY6 or _BY8 (or not setting it) selects
   the 6, 8, or 4 way version of the assembly routine.
4. Modified AES-NI decrypt test to loop checking against the test
   bolus from 1 AES block to the whole 24 blocks.
2016-04-12 10:10:55 -07:00
Takashi Kojo
cfd5af341b fixed test.c compile error and server.c/client.c/ssl.c warnings with MDK5 compiler. 2016-04-12 11:05:30 +09:00
JacobBarthelmeh
4d38813b0c Merge pull request #381 from kaleb-himes/scan-build-psk
scan-build warnings related to enable-psk, disable-asn,rsa,ecc
2016-04-11 14:52:38 -06:00
kaleb-himes
1b7cd5cb06 consolidate handling of dead assignment warnings 2016-04-11 13:39:44 -06:00
Jacob Barthelmeh
23ab4247ea build with asn disabled and opensslextra enabled 2016-04-11 11:56:30 -06:00
kaleb-himes
c6e9021732 scan-build warnings related to enable-psk, disable-asn,rsa,ecc 2016-04-11 11:13:26 -06:00
toddouska
85505b99b9 Merge pull request #380 from cconlon/utasker
uTasker Port
2016-04-08 15:08:39 -07:00
Chris Conlon
7a0f8672e7 Merge pull request #375 from dgarske/stm32hashfixes
Fixes when using the STM32 with STM32F2_HASH defined.
2016-04-08 15:04:46 -06:00
John Safranek
698b1cc7dc update benchmark to show AES-CBC decrypt speed 2016-04-08 13:33:41 -07:00
John Safranek
b75dc127f3 1. Attempting to perform 8 AES-CBC decrypt operations simultaneously.
2. Added code to test large AES-CBC decrypts.
2016-04-08 11:53:40 -07:00
toddouska
c6e4fb8cf8 Merge pull request #378 from JacobBarthelmeh/Testing
autoconf checks on some builds that break, macro for no server, and u…
2016-04-08 11:01:46 -07:00
David Garske
993972162e MinGW fixes, server port assigning cleanup and ping test cleanup. Fixes issue with visibility detection with MinGW. The visibility.m4 script was not actually trying to call the hidden function, which caused MinGW to detect improperly that visibility was supported. Fix for bogusFile on Windows build. Fixes to build warnings for unused variable 'res' and signed/unsigned comparison for sizeof min(). Cleanup of the server side port assignment to allow use with Windows/MinGW/Cygwin. If Windows uses new GetRandomPort() function in test.h to get port in in the 49152 - 65535 range. If *nix then uses the tcp_listen returned port. Otherwise uses the default wolfSSLPort. Refactor of the ping test code to use common file and properly handle ping count differences (Windows "-c" vs. *Nix style "-n"). Workaround for MinGW and cyassl/options.h getting file permissions error. Added non-fatal compile warning if using MinGW that "strtok_s" might be missing along with a link to public domain source that can be used. 2016-04-08 11:48:14 -06:00
David Garske
2aab090c8b Fixes when using the STM32 with STM32F2_HASH defined. 2016-04-08 11:39:15 -06:00
Chris Conlon
46f4be357b uTasker: add note about XTIME to settings.h 2016-04-08 11:20:58 -06:00
Chris Conlon
8d040ad41f uTasker: add initial port, WOLFSSL_UTASKER 2016-04-08 11:12:17 -06:00
toddouska
255d9ecfb3 Merge pull request #377 from JacobBarthelmeh/master
add wc_EccPublicKeyToDer function
2016-04-07 12:20:05 -07:00
Jacob Barthelmeh
5b4f17545b autoconf checks on some builds that break, macro for no server, and user rsa 2016-04-06 15:36:50 -06:00
Jacob Barthelmeh
665fb3076c add trailing zero enum and correct call for export key size 2016-04-06 15:15:56 -06:00
Jacob Barthelmeh
4f8fffbc37 add wc_EccPublicKeyToDer function 2016-04-06 15:15:56 -06:00
Kaleb Himes
a0cd888fbf Merge pull request #379 from JacobBarthelmeh/PSK
fix c89 build on windows
2016-04-06 14:02:55 -07:00
Jacob Barthelmeh
85a9c55048 fix c89 build on windows 2016-04-06 11:16:40 -06:00
toddouska
9f86a91dbd Merge pull request #374 from dgarske/asyncfixes
Fix build issues with new async changes
2016-04-01 16:04:08 -07:00
toddouska
29194bd977 Merge pull request #371 from cconlon/sniffer-fix
Extra cleanup in sniffer.c with ForceZero
2016-04-01 13:39:29 -07:00
David Garske
2d4aa1bbb5 Better fix for scan-build warning regarding possible use of NULL in AddRecordHeader. Scan-build considers paths where output is set to NULL, but ssl->spec.kea is corrupted/changed, which could result in output == NULL (even though it should never happen). So added proper NULL check in SendServerKeyExchange on AddHeader to make sure output isn't NULL. 2016-04-01 12:57:33 -07:00
David Garske
19f0769ec4 Fix for scan-build warning where async changes make it appear like the output buffer could be NULL (even though its not). Added NULL check on the AddRecordHeader function. 2016-04-01 10:55:01 -07:00
David Garske
dd28d53cfb Fix build issues with new async changes. Fixed issue with unused args preSigSz and preSigIdx with PSK enabled and ECC + RSA disabled. Fixed issue with missing qsSz variable in DoClientKeyExchange. Fixed missing DhAgree and DhKeyGen with NO_CERTS and PSK enabled. Fixed a couple scan-build warnings with "Value stored to '' is never read". 2016-04-01 09:23:46 -07:00
Chris Conlon
2939c3ace1 add ssl_FreeZeroDecode() to sniffer.c 2016-03-31 13:25:39 -06:00
toddouska
63b1282e67 Merge pull request #335 from dgarske/asynccrypt
Asynchronous crypto and wolf event support
2016-03-30 20:12:41 -07:00
David Garske
4472152b18 Added new "wolfSSL_poll" which filters event queue by ssl object pointer. Changed wolfSSL_CTX_poll to support using WOLF_POLL_FLAG_PEEK flag to peek at events and return count. Removed "wolfssl_CTX_poll_peek". Switched the examples (test.h AsyncCryptPoll) to use just the WOLFSSL object and call new wolfSSL_poll. Added warning when using the "--enable-asynccrypt" option to make sure users know they need real async.c/.h files. 2016-03-30 15:15:38 -07:00
toddouska
6e5b23e102 Merge pull request #370 from dgarske/stm_aes_gcm_ccm
Enhancement to the STM32F2_CRYPTO port to support AES GCM, AES CCM an…
2016-03-30 13:39:35 -07:00
Chris Conlon
ec9f10d74f extra cleanup in sniffer.c with ForceZero 2016-03-30 10:52:27 -06:00
toddouska
d30f410768 Merge pull request #368 from JacobBarthelmeh/master
Check for compile of misc.c and fix disable inline
2016-03-29 17:26:55 -07:00
toddouska
49e117ebb5 Merge pull request #369 from JacobBarthelmeh/Testing
if using inline do not compile misc.c in iOS XCode builds
2016-03-29 14:41:20 -07:00
Jacob Barthelmeh
e60adfc9da better naming of macro and alter misc.c check 2016-03-29 13:42:40 -06:00
Jacob Barthelmeh
2437e97d70 if using inline do not compile misc.c in iOS XCode builds 2016-03-28 17:33:38 -06:00
JacobBarthelmeh
2733f0a7ca Merge pull request #309 from coletiv/add-tvos-target
Add tvos target to the xcode project
2016-03-28 17:29:32 -06:00
Jacob Barthelmeh
7e90e2e540 misc.c compile warning accounts for FIPS 2016-03-28 17:22:39 -06:00
Jacob Barthelmeh
2665db73a4 check for compiling misc.c when not needed 2016-03-28 16:03:15 -06:00
Jacob Barthelmeh
79a212da8d fix disable inline build 2016-03-28 14:24:12 -06:00
John Safranek
59a84b40c7 Merge pull request #364 from toddouska/ecc-test-free
Fixes to cleanup unnecessary ECC make key, check key and free in ECC vector item test.
2016-03-28 13:15:20 -07:00
toddouska
137f477277 Merge pull request #363 from JacobBarthelmeh/master
sanity check on ssl pased to wolfSSL_set_fd
2016-03-28 11:47:22 -07:00
David Garske
03765ecca7 Fixes to cleanup unnecessary ECC make key, check key and free in ECC vector item test. 2016-03-25 13:22:31 -07:00
Jacob Barthelmeh
67b4d2e2f4 case where memory is exhausted before ctx copied to ssl 2016-03-25 14:19:51 -06:00
Jacob Barthelmeh
696169634e check return value of wolfSSL_set_fd 2016-03-25 13:59:04 -06:00
John Safranek
190d30f336 Merge pull request #362 from dgarske/bench_rng
Added benchmark for the RNG.
2016-03-25 12:12:20 -07:00
toddouska
1649af37be fix ecc curve test in normal math mode, free is needed 2016-03-25 11:33:35 -07:00
Jacob Barthelmeh
57ea1cdcd7 sanity check on ssl pased to wolfSSL_set_fd 2016-03-25 11:32:53 -06:00
David Garske
5569dfe838 Fix with FIPS build and RNG_MAX_BLOCK_LEN define location. 2016-03-25 08:56:11 -07:00
David Garske
f539a60a40 Adjusted the RNG benchmark to split into smaller requests of max allowed RNG size. 2016-03-25 06:59:35 -07:00
David Garske
27e041246f Added benchmark for the RNG. 2016-03-24 08:42:19 -07:00
toddouska
855e42b66a Merge pull request #359 from cconlon/ecc-comment
Fix wc_ecc_import_raw() comment
2016-03-24 08:21:42 -07:00
David Garske
3796fc1322 Enhancement to the STM32F2_CRYPTO port to support AES GCM, AES CCM and AES-Direct (for encrypt only) using combination of software and AES HW acceleration. 2016-03-24 07:08:42 -07:00
toddouska
3509ff0c73 Merge pull request #358 from JacobBarthelmeh/master
fix free of WOLFSSL_METHOD pointer on create ctx fail
2016-03-23 15:35:16 -07:00
Chris Conlon
20285bec01 fix wc_ecc_import_raw comment, public key instead of base point 2016-03-23 15:33:53 -06:00
Jacob Barthelmeh
8f8f7ac152 remove unecessary XFREE 2016-03-23 13:40:45 -06:00
toddouska
2dfc7faa73 Merge pull request #355 from dgarske/EccTestCleanup
wolfCrypt ECC test improvements and code cleanup
2016-03-23 12:18:42 -07:00
toddouska
18961e5620 Merge pull request #351 from dgarske/ChaChaRefactor
Refactor of the ChaCha hard coded variables
2016-03-23 12:17:23 -07:00
Jacob Barthelmeh
620e4fa5ca fix free of WOLFSSL_METHOD pointer on create ctx fail 2016-03-23 09:27:27 -06:00
John Safranek
d8fb4b6ee7 Merge pull request #352 from dgarske/DRBGSmallStack
Fix to reduce stack usage in the hash-based random number generator h…
2016-03-21 12:20:48 -07:00
David Garske
0fc5575b8b Fixed typo with WOLFSSL_VALIDATE_ECC_IMPORT defined. Disable ECC-224 bit compressed key test since it isn't working. Cleanup in accel_fp_mul for KB_SIZE. 2016-03-18 15:41:03 -07:00
David Garske
71683e23e9 Resolve 2nd unused "typeH" warning. 2016-03-18 06:27:42 -07:00
toddouska
51a911c727 Merge pull request #354 from JacobBarthelmeh/master
prepare for release v3.9.0
2016-03-17 16:10:18 -07:00
David Garske
0e43fca1f3 Resolve unused "typeH" warning. 2016-03-17 15:56:51 -07:00
David Garske
369930238a Cleanup of the ecc_test functions to break areas into separate functions providing WC_RNG and key size. Added ECC tests by key size for all enabled curves. Added actual key size on wc_ecc_make_key for the NIST test vectors. Added ECC testing of wc_ecc_verify_hash with digests having 0's and sequence (1,2,3,...) and made sure it runs verify twice. 2016-03-17 15:31:45 -07:00
Jacob Barthelmeh
e99a5b0483 prepare for release v3.9.0 2016-03-17 16:02:13 -06:00
David Garske
e1787fe160 Added "--enable-asynccrypt" option for enabling asynchronous crypto. This includes a refactor of SendServerKeyExchange and DoClientKeyExchange to support WC_PENDING_E on key generation, signing and verification. Currently uses async simulator (WOLFSSL_ASYNC_CRYPT_TEST) if cavium not enabled. All of the examples have been updated to support WC_PENDING_E on accept and connect. A generic WOLF_EVENT infrastructure has been added to support other types of future events and is enabled using "HAVE_WOLF_EVENT". Refactor the ASN OID type (ex: hashType/sigType) to use a more unique name. The real "async.c" and "async.h" files are in a private repo. 2016-03-17 13:31:03 -07:00
toddouska
10e74f7200 Merge pull request #353 from dgarske/EccUnsignedSizeCheckFix
Fixed bug where mp_unsigned_bin_size returning 0 could produce a UINT…
2016-03-17 10:50:01 -07:00
David Garske
19967dd264 Fixed bug where mp_unsigned_bin_size returning 0 could produce a UINT_MAX (based on -1) resulting in invalid index to an array. Added test case for this if FP_ECC is defined. 2016-03-17 09:39:10 -07:00
David Garske
bda69decc1 Fix to reduce stack usage in the hash-based random number generator health tests when WOLFSSL_SMALL_STACK is defined. 2016-03-16 17:04:07 -07:00
toddouska
46a01c29d8 Merge pull request #350 from JacobBarthelmeh/master
check for invalid RSA OAEP with SHA512 test case
2016-03-16 16:25:13 -07:00
Jacob Barthelmeh
2dd5efd969 sanity check for RSA key size and hash digest size 2016-03-16 15:25:52 -06:00
Jacob Barthelmeh
4c3ddac23c catch invalid test case of RSA-OAEP and fix cast 2016-03-16 14:51:25 -06:00
David Garske
473ea567bd Refactor of the ChaCha hard coded variables. 2016-03-16 13:36:44 -07:00
toddouska
7722c4484a Merge pull request #349 from dgarske/CobiPort
Port for Nordic nRF51 RNG, RTC and AES. Added RNG test for wc_RNG_Gen…
2016-03-16 13:36:27 -07:00
David Garske
0683ecb727 Fixed FreeCRL issue with strdup memory. Added additional checks for WOLF_AES_CBC and WOLF_AES_COUNTER. Disabled memory tracker by default for wolfCrypt test and benchmark. Updated README to better document Linux Binutils LD bug workaround. 2016-03-16 09:41:19 -07:00
David Garske
f0ea9d747f Fix possible positive return value for random_rng_test. Removed reference to nrf51_aes_decrypt, which is not supported, and added compile error for it. Corrected ecc_test_raw_vector return code checking. Cleanup in InitMemoryTracker. 2016-03-15 18:33:24 -07:00
David Garske
bf058ef1b9 Fixed Jenkins error reports for mem_track msg, incorrect #ifdef in aes_test and ecc_test_raw_vector response code checking. Fixed C89 compliance with wc_AesSetKey. Fixed nrf_drv_rng_init response checks in RNG code. Reverted comment change in AES. Fixed nRF51 AES CBC Encrypt support. Added response code checking for nrf51_aes_set_key. 2016-03-15 17:18:03 -07:00
David Garske
a38183b816 Port for Nordic nRF51 RNG, RTC and AES. Added RNG test for wc_RNG_GenerateBlock 0's check even if HAVE_HASHDRBG is enabled. Added NIST test vectors for ECC P-256, P-384 and P-521. Added helpful debug message in ECC import if issue finding ecc_sets[] for curve. Moved memory tracker into separate file and added support for it to wolfcrypt test and benchmark. Added Ed255519/Curve25519 options for granular control of sign, verify, shared secret, import and export. Added AES options for max key size (AES_MAX_KEY_SIZE), no decrypt (NO_AES_DECRYPT) and no CBC (NO_AES_CBC). 2016-03-15 13:58:51 -07:00
toddouska
47491e6c22 Merge pull request #332 from JacobBarthelmeh/Certs
Certs
2016-03-14 13:24:03 -07:00
Jacob Barthelmeh
db758dc98b update test script, fall back to cert name search, fix der free 2016-03-12 09:37:32 -07:00
Jacob Barthelmeh
060e278559 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into Certs 2016-03-11 23:48:39 -07:00
JacobBarthelmeh
154f027c54 Merge pull request #347 from dgarske/ScanBuildFix214
Address scan-build issue on build #214 after DerBuffer refactor part 2
2016-03-11 16:53:41 -07:00
David Garske
81b0ccdb1a Address scan-build issue on build #214 after DerBuffer refactor part 2 (ceafb25). 2016-03-11 09:39:13 -08:00
dgarske
98f40fa132 Merge pull request #345 from moisesguimaraes/remove_unnecessary_condition
remove unnecessary condition
2016-03-11 09:27:22 -08:00
Moisés Guimarães
2e1c1ca7f8 remove unnecessary condition 2016-03-10 23:07:36 -03:00
dgarske
0171aefc65 Merge pull request #344 from JacobBarthelmeh/master
K64F RNGA register
2016-03-10 16:05:19 -08:00
toddouska
1bd7de46bb Merge pull request #342 from dgarske/JenkinsFixes20160310
Fixes multiple Jenkins warnings/failures
2016-03-10 14:19:47 -08:00
Jacob Barthelmeh
3976a3e2f2 K64F RNGA register 2016-03-10 14:35:55 -07:00
David Garske
80aa431689 Fixes multiple Jenkins warnings/failures. First is PickHashSigAlgo is required for client builds or if certs are enabled. Fixed scan-build warning with OCSP not recognized ForceZero as cleaning memory and using possible garbage value. Also cleaned up the OCSP functions to use struct buffer* instead of void* for clarity with a little forward declaration. 2016-03-10 09:38:11 -08:00
toddouska
1435a6ce92 Merge pull request #341 from JacobBarthelmeh/master
SEP and CERTEXT, QSH debug
2016-03-10 09:36:25 -08:00
Kaleb Joseph Himes
0a1871e77c Merge pull request #337 from dgarske/WarnDoubleFree
Fixes scan-build warning with "--enable-opensslextra --disable-memory"
2016-03-09 16:28:18 -08:00
Jacob Barthelmeh
6e1c5b3801 disable CERT_EXT policies check when SEP is used instead 2016-03-09 17:22:38 -07:00
Jacob Barthelmeh
49b547db08 make QSH debug compile for C89 2016-03-09 17:15:28 -07:00
toddouska
ceafb25f49 Merge pull request #338 from dgarske/DerBufferRefactor2
Refactor of DerBuffer, so WOLFSSL object doesn't have to grow as a re…
2016-03-09 12:36:22 -08:00
toddouska
2f060dd860 Merge pull request #312 from dgarske/LeanTls
New LeanTLS configure option
2016-03-09 10:13:00 -08:00
David Garske
f17dfa5b03 Moved the x509 XFREE to outside the FreeX509 function. Internally FreeX509 is only used in two places. One is for the ssl->peerCert, which is not dynamic anyways. The second is in the ExternalFreeX509 where it calls FreeX509 if its dynamic and will XFREE there. 2016-03-09 09:15:00 -08:00
David Garske
c863300805 Fixed scan-build error with possibly using a NULL pointer. 2016-03-08 09:34:56 -08:00
David Garske
0f93b86b61 Fixes for PK_CALLBACKS and sniffer after DerBuffer refactor #2. 2016-03-08 08:56:14 -08:00
David Garske
ce9f14f713 Refactor of DerBuffer, so WOLFSSL object doesn't have to grow as a result of additional functionality. Removed InitDer. Changed all DerBuffers to use pointer and pass pointer to DerBuffer* to AllocDer and FreeDer. Result is more efficient code and reduced WOLFSSL object size. AllocDer uses first part of the allocated buffer for the actual DerBuffer. 2016-03-08 08:56:14 -08:00
David Garske
daa1cd634e Fixes scan-build warning with "--enable-opensslextra --disable-memory". Problem was different #if defines on the InitX509 and FreeX509, which caused the static analyzer to think the "x509->dynamicMemory" was always true. 2016-03-08 08:38:02 -08:00
David Garske
0ed26ad262 Updated build for "leantls" to support building only the client, by splitting BUILD_EXAMPLES into 3 parts (BUILD_EXAPLE_SERVERS, BUILD_EXAMPLE_CLIENTS and BUILD_TESTS). This allows the make check to perform the external tests to validate the client only "leantls" configuration option. 2016-03-08 08:35:28 -08:00
David Garske
2891939098 Remove NO_CERT and NO_CODING. Enable building of the client with leantls. 2016-03-08 08:35:28 -08:00
David Garske
8e8ee45828 LeanTLS: Fixed issue with GetCA, GetCAByName and PickHashSigAlgo with HAVE_ECC, NO_RSA and NO_CERTS defined. Added new "--enable-leantls" option, which enables TLS 1.2 client only with ECC256, AES128 and SHA256 (no RSA, DH, DSA, MD4, MD5, SHA, PSK, PWD, CERTS, DES3, Error Strings, ARC4, Coding, Memory or File System). 2016-03-08 08:35:28 -08:00
JacobBarthelmeh
375d85fe9a Merge pull request #336 from dgarske/ASNCertPolicyExtFix
Fixed bug with ASN.1 X509V3 Certificate Policy extension parsing
2016-03-08 08:59:24 -07:00
David Garske
b549c81337 Fix the WOLFSSL_SEP (--enable-sep) build scenario where extCertPoliciesNb is not available. 2016-03-07 14:49:24 -08:00
David Garske
05fb648747 Remove white-space. 2016-03-07 14:33:22 -08:00
David Garske
9b79d8643e Added checks for total length and the cert policy OID len to make sure they don't exceed buffer. 2016-03-07 14:20:37 -08:00
David Garske
dee3645c4e Fixed bug with ASN.1 X509V3 Certificate Policy extension parsing. Bug had to do with parsing when OID contains multiple items such as example 2 below. The wolfssl.com server key now contains a URL in the certificate policy "https://secure.comodo.com/CPS0", which wasn't being parsed over correctly. Also cleanup to use loop instead of duplicate code.
Example 1:
30 12
30 06 06 04 55 1D 20 00
30 08 06 06 67 81 0C 01 02 01

Result:
2.5.29.32.0
2.23.140.1.2.1

Example 2:
30 46
30 3A 06 0B 2B 06 01 04 01 B2 31 01 02 02 07
   30 2B 30 29 06 08 2B 06 01 05 05 07 02 01 16 1D 68 74 74 70 73 3A 2F 2F 73 65 63 75 72 65 2E 63 6F 6D 6F 64 6F 2E 63 6F 6D 2F 43 50 53
30 08 06 06 67 81 0C 01 02 01

Result:
1.3.6.1.4.1.6449.1.2.2.7
2.23.140.1.2.1
2016-03-07 13:40:25 -08:00
dgarske
98a72a3f9d Merge pull request #334 from JacobBarthelmeh/master
update wolfssl-ntru vs project and fix warnings
2016-03-03 15:53:52 -08:00
dgarske
8ca1c3935d Merge pull request #322 from ejohnstown/dtls-handshake
DTLS Handshake Update
2016-03-03 14:33:31 -08:00
Jacob Barthelmeh
c98c457b9b update wolfssl-ntru vs project and fix warnings 2016-03-03 14:35:39 -07:00
dgarske
b9ecd9474c Merge pull request #330 from kaleb-himes/CID-66007-coverity
avoid dereference of null pointer if args is null
2016-03-02 18:22:07 -08:00
Jacob Barthelmeh
112cf1f0c9 fix example client help print out 2016-03-02 16:51:57 -07:00
kaleb-himes
7a599c1309 Account for not used case 2016-03-02 16:31:58 -07:00
dgarske
a0f1e1e3ea Merge pull request #331 from kaleb-himes/CID-66006-coverity
Move assignment to after the null check
2016-03-02 15:23:58 -08:00
Jacob Barthelmeh
aab44eb26b adjest example server PSK plus flag 2016-03-02 15:43:17 -07:00
Jacob Barthelmeh
267dc48d95 fixs after testing : hash table, using NO_SKID, sanity check, and freeing dCert 2016-03-02 15:23:50 -07:00
Jacob Barthelmeh
d969e2ba11 automated test for trusted peer certs 2016-03-02 11:42:00 -07:00
kaleb-himes
85215cc174 clean up braces left over from local declaration of ready 2016-03-02 11:39:34 -07:00
Jacob Barthelmeh
05d2cec7c1 addition to api tests and refactor location of trusted peer cert check 2016-03-02 11:35:03 -07:00
kaleb-himes
01cd43c319 Seperate declaration and assignment per c99 standards 2016-03-02 11:31:08 -07:00
Jacob Barthelmeh
7df22ee210 Trusted peer certificate use 2016-03-02 11:22:34 -07:00
kaleb-himes
1f4ddb20df Move assignment to after the null check 2016-03-01 17:00:27 -07:00
kaleb-himes
d15dac04b8 remove unnecessary NULL assignment 2016-03-01 16:33:47 -07:00
kaleb-himes
d473452769 avoid dereference of null pointer if args is null 2016-03-01 16:21:03 -07:00
Kaleb Joseph Himes
7c63ac4f6a Merge pull request #329 from dgarske/BuildErrDerBuf
Fixes build error with new DerBuffer with ASN, ECC and RSA disabled.
2016-02-26 08:44:30 -08:00
David Garske
79ef8e232b Fixes build error with new DerBuffer with ASN, ECC and RSA disabled. 2016-02-26 15:39:30 +01:00
toddouska
0c45a7a028 Merge pull request #317 from dgarske/DerBufferRefactor
Refactor of the DER buffer handling
2016-02-25 09:35:50 -08:00
David Garske
a46fd6612b Changed CopyDecodedToX509 AllocDer error code handing to return MEMORY_E, since that is an explicitly handled case. Also resolves the issue with "warning: Value stored to 'ret' is never read". 2016-02-25 14:35:54 +01:00
dgarske
f549f71912 Merge pull request #325 from kaleb-himes/CID-66016-coverity
Always execute wc_InitRsaKey if we are always going to execute wc_Fre…
2016-02-25 08:45:06 +01:00
dgarske
f0b1d2fd9d Merge pull request #324 from JacobBarthelmeh/master
argument peer can be NULL when macro INADDR_ANY is NULL
2016-02-25 08:40:37 +01:00
John Safranek
aa7eae3294 Merge pull request #320 from moisesguimaraes/fix-ocsp-dependency-check
fixes ocsp dependency check on asn during configure.
2016-02-24 16:21:51 -08:00
kaleb-himes
16dac5597f prevent buffer overflows if sigSz > MAX_ENCODED_SIG_SZ 2016-02-24 16:08:54 -07:00
Moisés Guimarães
fb9697bda6 adds check for missing rsa and ecc at the same time 2016-02-24 18:57:16 -03:00
kaleb-himes
4858a65984 Always execute wc_InitRsaKey if we are always going to execute wc_FreeRsaKey 2016-02-24 14:42:07 -07:00
Jacob Barthelmeh
6ee3c0ae59 argument peer can be NULL when macro INADDR_ANY is NULL 2016-02-24 13:55:44 -07:00
Moisés Guimarães
1824a494d1 adds missing ENABLED_OCSP test 2016-02-24 16:45:07 -03:00
toddouska
35b48250ad Merge pull request #321 from dgarske/FixCryptBenchEdCurve25519
Fixes issue with building crypt benchmark with only ED/Curve25519 ena…
2016-02-24 11:19:30 -08:00
toddouska
12bb050ec9 Merge pull request #323 from JacobBarthelmeh/master
check for RSA and ECC before testing RSA signed ECC cert
2016-02-24 09:34:37 -08:00
David Garske
1227db4e44 Fixed issue with not properly returning memory error in CopyDecodedToX509 after DER refactor. 2016-02-24 07:04:03 +01:00
Jacob Barthelmeh
dcfec3d2fa check for RSA and ECC before testing RSA signed ECC cert 2016-02-23 17:03:52 -07:00
Moisés Guimarães
143b9fda1b adds build dependency check for OCSP 2016-02-23 15:19:04 -03:00
Moisés Guimarães
a92d2d582f Revert "fixes ocsp dependency check on asn during configure."
This reverts commit 46ade8f03f.
2016-02-23 14:13:52 -03:00
John Safranek
69e00a3f97 allow dtls timeout to be 0 in the recvfrom callback, set to 0 if the handshake is done 2016-02-22 21:13:05 -08:00
John Safranek
f621f81fa2 1. Some DTLS code was missing an ifdef.
2. If receiving a handshake message that's already been processed,
    retransmit the previous message flight.
2016-02-22 14:08:35 -08:00
toddouska
8dbef9b14b Merge pull request #318 from dgarske/BuildErrorNoFileSysWCerts
Fixes build error with NO_FILESYSTEM and !NO_CERTS
2016-02-22 12:12:24 -08:00
David Garske
731e13ecf2 Fixes issue with building crypt benchmark with only ED/Curve25519 enabled with static rng missing. 2016-02-22 16:46:13 +01:00
John Safranek
f6fafe6738 for DTLS, retain the handshake resources until peer sends application data record 2016-02-21 21:52:38 -08:00
Moisés Guimarães
46ade8f03f fixes ocsp dependency check on asn during configure. 2016-02-21 20:54:45 -03:00
David Garske
953a3bd01d Fixes build error with NO_FILESYSTEM and !NO_CERTS where the wolfssl/test.h load_buffer() function is passing non-existent enum value. Was renamed from CYASSL_ to WOLFSSL_. 2016-02-19 13:52:06 -08:00
David Garske
3fe5ee1a7c Refactor of the DER buffer handling. Added new DerBuffer struct that includes the type and heap ptr. Added new InitDer, AllocDer and FreeDer functions. Cleanup of some missing "heap" args on XMALLOC/XFREE. In FreeDer uses ForceZero if type is private key. 2016-02-18 22:42:15 -08:00
dgarske
b72c83e191 Merge pull request #315 from kaleb-himes/fix-no-sha
update for configure option --disable-sha
2016-02-16 13:08:59 -08:00
toddouska
c1ef4d4521 Merge pull request #313 from kaleb-himes/master
wolfssl.com and google.com now differ in pre-reqs for external test
2016-02-16 11:05:55 -08:00
kaleb-himes
24d93c90cd update for configure option --disable-sha 2016-02-16 12:03:37 -07:00
kaleb-himes
46b34c19d0 wolfssl.com and google.com now differ in pre-reqs for external test 2016-02-15 13:30:11 -07:00
toddouska
3d8f91d418 Merge pull request #302 from dgarske/EccOnlyNoSignVerify
New ECC and ASN build options for reduce build size options
2016-02-15 12:13:43 -08:00
toddouska
d7d2a6f565 Merge pull request #307 from JacobBarthelmeh/PSK
New fail with no peer cert behavior and allow RSA signed ECC key certs
2016-02-12 15:27:18 -08:00
JacobBarthelmeh
7de352a0e9 Merge pull request #311 from dgarske/FixSkipObjectIdWarn
Fixes warning with SkipObjectId defined but not used.
2016-02-12 15:04:04 -07:00
toddouska
951fe0a927 Merge pull request #310 from dgarske/CustRngGenBlock
Added new CUSTOM_RAND_GENERATE_BLOCK option that allows override and …
2016-02-12 13:51:06 -08:00
David Garske
a969dd8efd Fixed "error: unused function 'StoreRsaKey'" with NO_ASN_TIME and RSA enabled. 2016-02-12 13:19:58 -08:00
David Garske
aeaac15682 Fixed compile errors in signature.c if ECC on but ECC sign/verify disabled. Added new NO_ASN_TIME option to reduce ASN size for space constrained or missing RTC. Added check to make sure ASN is enabled if ECC sign/verify is enabled. 2016-02-12 13:16:39 -08:00
Jacob Barthelmeh
8073024ee7 fix formatting of .conf file so ephemeral port is used 2016-02-12 13:41:30 -07:00
David Garske
f328c6bdf7 Fixes warning with SkipObjectId defined but not used. 2016-02-12 12:34:22 -08:00
David Garske
08c663a4ac Added new CUSTOM_RAND_GENERATE_BLOCK option that allows override and disabling of the HASHDRBG for customers who have a HW RNG they would like to use instead.
Examples:
"./configure --disable-hashdrbg CFLAGS="-DCUSTOM_RAND_GENERATE_BLOCK= custom_rand_generate_block".
OR
/* RNG */
//#define HAVE_HASHDRBG
extern int custom_rand_generate_block(unsigned char* output, unsigned int sz);
2016-02-12 11:59:51 -08:00
David Garske
4872f2bc33 Added the following ECC optional config defines: HAVE_ECC_SIGN, HAVE_ECC_VERIFY, HAVE_ECC_DHE, HAVE_ECC_KEY_IMPORT and HAVE_ECC_KEY_EXPORT. Still working through issues with using ECC sign/verify with ASN disabled. Added documentation to top of ecc.c for all the ECC define options. 2016-02-12 11:07:50 -08:00
Tiago Duarte
8f5cd98857 Added tvos target to the xcode project 2016-02-12 10:23:23 +01:00
Jacob Barthelmeh
3e860107f3 remove extra cert and key, plus add new test 2016-02-11 13:49:07 -07:00
Jacob Barthelmeh
1197f88c4f add psk.test script for testing 2016-02-11 09:15:04 -07:00
toddouska
09f631238e Merge pull request #306 from kaleb-himes/master
correct logic to allow for static RSA if ECC and no Curves
2016-02-10 16:47:17 -08:00
dgarske
49a5ea18e8 Merge pull request #303 from ejohnstown/sniffer-check
When loading a named key, check that the save buffer mallocs.
2016-02-10 13:19:59 -08:00
dgarske
b0a51a22a1 Merge pull request #304 from cconlon/testh-fix
Check build_addr() arguments for NULL
2016-02-10 13:19:28 -08:00
David Garske
a83ff6aada Updated the configure.ac comments about big int being used for ECC and DH. Moved the checks for ecc/asn and psk/asn until after cryptonly value is set and fixed so those checks work for normal build and are excluded for crypt only builds. 2016-02-10 13:03:53 -08:00
Jacob Barthelmeh
9defe9b42b fix warning of unused variable and adjust debug statements 2016-02-10 13:57:10 -07:00
kaleb-himes
ffe7b38409 correct logic to allow for static RSA if ECC and no Curves
use same coding standards as the rest of the libraries
2016-02-10 13:39:59 -07:00
Jacob Barthelmeh
69fc400d28 add new certs to EXTRA_DIST 2016-02-10 13:26:03 -07:00
Jacob Barthelmeh
2f74706367 allow use of RSA signed ECC key certs 2016-02-10 13:26:03 -07:00
Jacob Barthelmeh
ff7a9d9f78 option for fail on no peer cert except PSK suites 2016-02-10 13:26:03 -07:00
Chris Conlon
3293857834 check build_addr() arguments for NULL before memset 2016-02-10 10:35:48 -07:00
David Garske
8d0d5a3f90 Fixes so ECC only build works. Fixes so ECC enabled with ASN disabled works and will prevent ECC sign/verify. 2016-02-10 08:53:09 -08:00
dgarske
9a5938432b Merge pull request #301 from kaleb-himes/master
if connecting to google.com and using ECC need supported curves
2016-02-10 08:42:28 -08:00
kaleb-himes
bf4d6454b1 if connection to google.com and using ECC need supported curves 2016-02-09 17:06:06 -07:00
John Safranek
ccffee1617 When loading a named key, check that the save buffer mallocs. It calls a library function that checks the pointer, but an application of the library shouldn't depend on side effects. This fixes #300. 2016-02-09 15:17:05 -08:00
Kaleb Joseph Himes
62a2efdacc Merge pull request #298 from kaleb-himes/master
Avoid unnecessary assignments in client example
2016-02-09 09:54:55 -08:00
toddouska
f30ef33d8b Merge pull request #295 from JacobBarthelmeh/master
ECDHE-PSK and added cipher suites
2016-02-09 09:40:13 -08:00
toddouska
66aa1da829 Merge pull request #299 from dgarske/MinGWFixes
Fixes for warnings found using MinGW
2016-02-09 09:32:18 -08:00
Kaleb Joseph Himes
2e88785358 Merge pull request #282 from dgarske/WinUserSettings
Refactor of Visual Studio projects to centralize preprocessors into IDE/WIN/user_settings.h
2016-02-09 09:27:32 -08:00
toddouska
014740eda0 Merge pull request #289 from dgarske/SigHashFixes
Fixes/improvements to the signature and hash wrappers:
2016-02-09 09:23:18 -08:00
David Garske
2af9fb91b3 Use += approach to detect "done" in example client for external tests. Cleaner and code is smaller to accomplish same thing. 2016-02-08 19:54:22 -08:00
David Garske
4ea76b8ac8 Fixes for warnings found using MinGW. Fixes for WOLFSSL_SOCKET_IS_INVALID and WOLFSSL_SOCKET_INVALID to use the SOCKET_T. 2016-02-08 15:44:22 -08:00
Jacob Barthelmeh
53162d5fc4 addjust size according to offset length and add PMS size comment 2016-02-08 15:22:49 -07:00
JacobBarthelmeh
f6bebc1cf4 Merge pull request #297 from dgarske/RemoveExeBitOnCFiles
Removed the execute bit on all .c files
2016-02-08 14:22:05 -07:00
David Garske
2e0d05f727 Fixes issues with new IDE/WIN/user_settings.h and FIPS. Fixed issue with using CYASSL_USER_SETTINGS in ctaocrypt/settings.h with FIPS by moving settings_comp.h to after user_settings.h. Fixed issue with non-existent ctaocrypt/signature.c file being included. Added the user_settings.h file to the FIPS project. 2016-02-08 12:22:20 -08:00
David Garske
09615c01cc Updated the naming for the new encoding DER signature enum and function. 2016-02-08 12:04:38 -08:00
David Garske
97edaf88d4 Added the new IDE/WIN/user_settings.h to the include.am file. Changed the WOLFSSL library to use macro WOLFSSL_LIB for clarity. 2016-02-08 11:28:46 -08:00
David Garske
cb3a9cc348 Removed the execute bit on all .c, .h, and .cs files. 2016-02-08 09:45:31 -08:00
dgarske
a607c5dcc4 Merge pull request #296 from cconlon/freescale-fix
Freescale: USER_TIME fixes, enable ECC and AES-GCM by default
2016-02-08 09:36:53 -08:00
kaleb-himes
c920e6dd30 Avoid unnecessary assignments in client example 2016-02-07 08:27:01 -07:00
David Garske
d5f410523a Fixed possible memory leak on signature wrapper ASN encode and corrected the maximum header size. Added new MAX_ENCODED_HEADER_SZ which is the maximum encoded ASN header size and update asn.c to use it. Added comment about key size sanity check. Renamed wc_SignatureRsaEncode to wc_SignatureAsnEncode. 2016-02-05 16:01:42 -08:00
David Garske
e031d2fa06 Removed the execute bit on all .c files. These were inadvertently set in PR #293 due to editing files through Windows VMWare shared folder. 2016-02-05 14:25:43 -08:00
Chris Conlon
fa4da43655 Freescale: remove USER_TIME after recent time fixes, enable ECC and AES-GCM by default 2016-02-05 14:09:43 -07:00
JacobBarthelmeh
a4f1138e5b Merge pull request #293 from dgarske/WinWarnFixes
Fixes several warnings that were seeing building with Visual Studio 2…
2016-02-05 13:20:22 -07:00
Kaleb Joseph Himes
244bea18b9 Merge pull request #292 from dgarske/WolfRootFindFix
Fixed bug with "ChangeToWolfRoot" that was incorrectly seeking previo…
2016-02-05 11:28:39 -08:00
JacobBarthelmeh
25959bfb62 Merge pull request #279 from dgarske/CustRandGenSeed_OSArg
Added new CUSTOM_RAND_GENERATE_SEED_OS macro
2016-02-05 11:18:18 -07:00
Jacob Barthelmeh
3dc2e01180 warning from windows build with ECDHE-PSK and fix potential memory leak 2016-02-05 09:54:39 -07:00
David Garske
be99fcff43 Fixed typo in wc_SignatureGetSize causing error. 2016-02-05 07:32:47 -08:00
dgarske
ee4b8b2f10 Merge pull request #291 from kaleb-himes/master
Fixes for disabling the crypt test and benchmark. Added new "./configure --disable-crypttests" option. Added new NO_CRYPT_BENCHMARK define.
2016-02-04 17:06:59 -08:00
toddouska
ae19b7a272 Merge pull request #290 from dgarske/PemPubKey_CertExt_Fixes
Public key PEM to DER fixes
2016-02-04 15:19:15 -08:00
JacobBarthelmeh
60668be1c0 Merge pull request #285 from ejohnstown/dtls-hello
DTLS server should be able to receive multiple client hellos without …
2016-02-04 14:27:03 -07:00
David Garske
faf590eb22 Fix for "warning: Value stored to 'ret' is never read". Now explicitly set SIG_TYPE_E in each case. Fixed wc_SignatureGetSize so it will return SIG_TYPE_E for unsupported type scenario. 2016-02-04 12:49:39 -08:00
David Garske
bc059e12c2 Cleanup to remove trailing whitespace and convert tabs to spaces. 2016-02-04 12:31:08 -08:00
David Garske
be4c400d16 Fixes for disabling the crypt test and benchmark. Added new "./configure --disable-crypttests" option. Also made sure use of both NO_CRYPT_BENCHMARK and NO_CRYPT_TEST in "./configure CFLAGS=-D" scenario work correctly. 2016-02-04 12:06:24 -08:00
David Garske
2257c1dcef Fixes several warnings that were seeing building with Visual Studio 2015. Also noticed issue with "struct Options" in internal.h for the bit flags that was causing split due to type difference (byte vs. word16). 2016-02-04 11:30:48 -08:00
David Garske
e63989dcfd Fixed bug with "ChangeToWolfRoot" that was incorrectly seeking previous directories where depth 2 was using ..\..\ and skipping one. This bug applied to both Win and Lin*. For example running ./server from inside examples/server would not find the wolf root. 2016-02-04 11:26:33 -08:00
David Garske
2db6246abc Fixed typo with testsuite preprocessor. Added missing chacha.c, chacha20_poly1305.c, pkcs7.c and poly1305.c. Also added the IDE/WIN/user_settings.h to the project so its easy to find. 2016-02-04 11:19:51 -08:00
kaleb-himes
bf1af39027 benchmark needs a main if NO_CRYPT_BENCHMARK defined 2016-02-04 12:07:39 -07:00
Kaleb Joseph Himes
7936c7a72e Merge pull request #286 from dgarske/DisableBench
Added optional define "NO_CRYPT_BENCHMARK" to allow disabling benchmark
2016-02-04 10:59:55 -08:00
toddouska
d39c6a6e13 Merge pull request #287 from JacobBarthelmeh/fast-rsa
Force Zero of data when done
2016-02-04 10:59:21 -08:00
Jacob Barthelmeh
42219a327a refactor ForceZero of memory to gain performance 2016-02-04 10:31:05 -07:00
Jacob Barthelmeh
3ce64da44c ChaCha20-Poly1305 PSK cipher suites 2016-02-04 09:50:29 -07:00
Jacob Barthelmeh
5a9175a758 add cipher suite ECDHE-PSK-AES128-SHA256 and adjustments to ECDHE-PSK 2016-02-04 09:39:34 -07:00
David Garske
f3399b6578 Fixes/improvements to the signature and hash wrappers:
Fixed output buffer to wc_RsaSSL_Verify so its min size is the key size (needed for inline operations).
Fixed the signature wrapper return codes when using RSA so 0 indicates success.
Fixed signature wrappers use of wc_HashGetDigestSize to return the error code result.
Changed enum wc_HashType and enum wc_SignatureType so all values always exist.
Added new "wc_HashGetOID" which returns the OID for an enum wc_HashType.
Added new "WC_SIGNATURE_TYPE_RSA_W_ENC", that adds the encoded ASN header to the digest using wc_EncodeSignature for RSA signatures.
Added new SIG_TYPE_E and HASH_TYPE_E error types for explicit reporting of sig/hash type not available.
2016-02-03 15:07:56 -08:00
David Garske
a6b7c00c9c Fix so WOLFSSL_CERT_EXT can be defined without WOLFSSL_CERT_GEN. Added new WOLFSSL_PUB_PEM_TO_DER to allow the public key PEM to DER functions to be available without CERT_GEN or CERT_EXT. Fix to add NO_FILESYSTEM check around wolfSSL_PemPubKeyToDer in ssl.h. Cleanup in coding.h for the #if check. 2016-02-03 14:58:46 -08:00
Jacob Barthelmeh
d04a7e802a add ECDHE-PSK and cipher suite ECDHE-PSK-NULL-SHA256 2016-02-03 13:44:13 -07:00
John Safranek
d26ca17efd Merge pull request #288 from moisesguimaraes/add_python_pbkdf2_tests
adds pbkdf_pcscs12 tests
2016-02-03 11:09:28 -08:00
Moisés Guimarães
1ad497177a adds pbkdf_pcscs12 tests 2016-02-02 15:43:48 -03:00
Moisés Guimarães
dc316d13bf Merge pull request #250 from ikudriavtsev/master
Wrapping PBKDF PKCS#12 algorithm.
2016-02-02 15:40:50 -03:00
toddouska
8edf38632b Merge pull request #284 from JacobBarthelmeh/DH
fixed point DH operations
2016-02-02 08:31:30 -08:00
Jacob Barthelmeh
cad6a08f10 comment for clarifying table of DH sizes 2016-02-01 17:11:01 -07:00
Jacob Barthelmeh
f84c0742ad fix clang warning about potentially unset value 2016-02-01 15:23:24 -07:00
Jacob Barthelmeh
93c54c07ea cipher suite ECDHE-ECDSA-NULL-SHA 2016-02-01 14:43:17 -07:00
David Garske
dda0de4baa Added optional define "NO_CRYPT_BENCHMARK" to allow disabling benchmark code. 2016-02-01 13:04:30 -08:00
John Safranek
7fe73c7cbd DTLS server should be able to receive multiple client hellos without advancing state 2016-02-01 11:06:24 -08:00
Jacob Barthelmeh
d0f8132cdc forcing sensitive memory to be all zeros when done with it 2016-02-01 10:45:09 -07:00
John Safranek
b6017c59ba Merge pull request #275 from dgarske/WolfErrorTypo
Fixed spelling errors
2016-02-01 09:00:10 -08:00
John Safranek
6fd5579130 Merge pull request #281 from toddouska/math-rsa-fix
fix normal math off by one loop error in fast_s_mp_mul_high_digs
2016-01-29 16:59:36 -08:00
David Garske
f8876854f4 Spelling fixes in comments and error strings (ALGO_ID_E, ASN_TIME_E and WOLFSSL_ERROR function). 2016-01-29 16:13:09 -08:00
David Garske
41f7cb0482 Forgot to change the testsuite and sslSniffer projects. Now these also use the IDE/WIN/user_settings.h. 2016-01-29 15:07:03 -08:00
David Garske
ebd14a657d Added signature.c to Visual Studio project files. Added new "IDE/WIN/user_settings.h" which contains all the defines for the various Windows Visual Studio projects. Moved the settings into this new file and added the WOLFSSL_USER_SETTINGS and CYASSL_USER_SETTINGS macros and include path to IDE/WIN to all project files. This allows the settings (defines) to be adjusted in a single place for Win VS. 2016-01-29 14:29:31 -08:00
toddouska
3f87d28190 Merge pull request #280 from JacobBarthelmeh/master
Update ChaCha20-Poly1305 cipher suites
2016-01-29 14:12:53 -08:00
toddouska
fa25e5d09d fix normal math off by one loop error in fast_s_mp_mul_high_digs 2016-01-29 13:54:41 -08:00
Jacob Barthelmeh
9a5ad356a6 fixed point DH operations 2016-01-29 10:31:49 -07:00
Jacob Barthelmeh
611e37b3e8 naming for AEAD macros and TLSX with chacha-poly 2016-01-29 09:38:13 -07:00
toddouska
6856e5bbe6 Merge pull request #261 from dgarske/AsnIoCleanup
asm.c time cleanup and io.c include cleanup
2016-01-28 13:25:21 -08:00
David Garske
2bc0ae05b5 Added new CUSTOM_RAND_GENERATE_SEED_OS macro to allow custom random generation, which includes the OS_Seed. Opted to create new macro instead of modifying existing CUSTOM_RAND_GENERATE_SEED. 2016-01-28 09:31:36 -08:00
David Garske
fa64abd83e Fix for deleted USER_TIME gmtime forward declaration. Fix to make sure XGMTIME maps to gmtime just as previous code did. 2016-01-27 13:20:06 -08:00
Jacob Barthelmeh
7d71d756f3 update ChaCha20-Poly1305 to most recent RFCs 2016-01-27 14:03:05 -07:00
David Garske
fadd97de3a Moved the forward declarations until after the struct tm and time_t have been defined. 2016-01-27 11:17:54 -08:00
dgarske
3b6f2b0330 Merge pull request #274 from JacobBarthelmeh/master
Updated comments for adding new error id strings and added missing UNKNOWN_MAX_FRAG_LEN_E.
2016-01-27 09:28:56 -08:00
Jacob Barthelmeh
18f1faa13d check error strings and update comment 2016-01-27 09:50:20 -07:00
Jacob Barthelmeh
71fcc1e478 comment for adding new wolfCrypt error id strings 2016-01-26 17:12:31 -07:00
David Garske
5c4a3462ee Cleanup of the time macros in asn.c to allow expanded use of wolf "struct tm", "time_t" and "gmtime". Cleanup of the io.c socket includes for clarity. Cleanup trailing spaces in io.c and asn.c. 2016-01-26 13:47:01 -08:00
John Safranek
02397623be Merge pull request #273 from toddouska/bump-version
bump dev version
2016-01-26 13:18:11 -08:00
toddouska
ee512cac4a bump dev version 2016-01-25 13:12:45 -08:00
dgarske
18c25b5d04 Merge pull request #272 from cconlon/ksdk-fixes
Update support for Freescale KSDK 1.3.0, fix Freescale+FreeRTOS build
2016-01-25 12:24:01 -08:00
Chris Conlon
0801eeac8d update support for Freescale KSDK 1.3.0 2016-01-25 10:41:26 -07:00
Nickolas Lapp
993ae48502 Merge pull request #271 from JacobBarthelmeh/mysql
function needed for MYSQL compatibility
2016-01-25 09:39:18 -07:00
Jacob Barthelmeh
5df55e053d function needed for MYSQL compatibility 2016-01-22 16:33:54 -07:00
dgarske
e1abf5f623 Merge pull request #270 from JacobBarthelmeh/OAEP
Use type enum wc_HashType rather than int for OAEP functions.
2016-01-21 08:50:00 -08:00
Jacob Barthelmeh
63d1f81fb1 cast XMALLOC to byte pointer 2016-01-21 09:05:19 -07:00
Jacob Barthelmeh
197f25f135 use type enum wc_HashType rather than int 2016-01-20 15:31:08 -07:00
JacobBarthelmeh
3098e09f42 Merge pull request #269 from cconlon/coverity-fix
fix recursive include in wc_port.h
2016-01-20 09:01:09 -07:00
Chris Conlon
122a67139d fix recursive include in wc_port.h 2016-01-19 14:23:47 -07:00
JacobBarthelmeh
f84722bbac Merge pull request #267 from moisesguimaraes/fix_ocspstapling_dtls_typo
Fix ocspstapling dtls typo
2016-01-19 10:34:15 -07:00
Chris Conlon
04a1bf0086 Merge pull request #265 from toddouska/cov-tfm
fix coverity report for fp_mont reduce where m is half max size, not …
2016-01-19 10:30:09 -07:00
toddouska
a7bac3ae9b Merge pull request #266 from JacobBarthelmeh/master
check not CHACHA_BYTE before considering normal suite
2016-01-18 17:55:02 -08:00
Moisés Guimarães
a6a2214306 removes 'end of line' spaces; 2016-01-18 20:51:27 -03:00
Moisés Guimarães
08c67e5cdc fixes typo; 2016-01-18 20:51:27 -03:00
toddouska
33a71fb456 Merge pull request #264 from JacobBarthelmeh/OAEP
help out clang static analyzer
2016-01-18 15:31:18 -08:00
Jacob Barthelmeh
3a65f55bd3 check not CHACHA_BYTE before considering normal suite 2016-01-18 15:33:32 -07:00
toddouska
04b8df09e3 Merge pull request #260 from kaleb-himes/master
system read returns ssize_t, cast to int
2016-01-18 13:55:35 -08:00
toddouska
8e97145682 fix coverity report for fp_mont reduce where m is half max size, not currently called that big but let's allow 2016-01-18 13:53:01 -08:00
John Safranek
93e454f09a Merge pull request #259 from dgarske/UnusedParamError
Fixes unused argument build error seen on CrossWorks (Issue #255).
2016-01-18 09:40:30 -08:00
Jacob Barthelmeh
268515018d help out clang static analyzer 2016-01-18 10:22:12 -07:00
toddouska
1ab9f19541 Merge pull request #256 from JacobBarthelmeh/fast-rsa
fix for size of buffer when reading fast-rsa BN data
2016-01-15 15:47:57 -08:00
kaleb-himes
71741847d3 system read return size_t, cast to int
remove whitespace
2016-01-15 16:03:45 -07:00
John Safranek
014b849af4 Merge pull request #258 from toddouska/no-sha384
resolve issue #257, no sha384 with wolfssl cert chain and external test
2016-01-15 13:29:06 -08:00
toddouska
81d26b83c3 Merge pull request #246 from JacobBarthelmeh/OAEP
RSA OAEP padding
2016-01-15 11:34:37 -08:00
Jacob Barthelmeh
476355b5bf fix potential memory leak on fail 2016-01-14 23:58:30 -07:00
David Garske
07c79f9dc3 Fixes unused argument build error seen on CrossWorks (Issue #255). 2016-01-14 21:09:01 -08:00
toddouska
1d473ab7b5 resolve issue #255, no sha284 with wolfssl cert chain and external test 2016-01-14 20:25:50 -08:00
toddouska
d20b8880f0 Merge pull request #254 from lchristina26/master
Fix formatting to VxWorks README
2016-01-14 16:49:13 -08:00
John Safranek
dec13db1e7 Merge pull request #252 from moisesguimaraes/fix_srp_build
fixes srp build without sha512
2016-01-14 15:48:39 -08:00
Jacob Barthelmeh
3347bea0d5 fix for size of buffer when reading fast-rsa BN data 2016-01-14 15:00:59 -07:00
Jacob Barthelmeh
008612ec70 OAEP w/ smallstack and fixs 2016-01-14 14:26:17 -07:00
dgarske
df0d2e8c3a Merge pull request #248 from JacobBarthelmeh/CSharp
C# wrapper fixes account for null terminator. Added additional read/write overrides for byte[] data.
2016-01-14 08:46:18 -08:00
Leah
c41b5ac3d2 Fix formatting to VxWorks README 2016-01-13 10:42:30 -07:00
Moisés Guimarães
10df002ec5 fixes srp build without sha512 2016-01-12 15:42:58 -03:00
John Safranek
037f4c60ab Merge pull request #251 from ejohnstown/dtls-handshake
fix a sequence number issue with DTLS epoch 0 messages earlier in the…
2016-01-11 11:29:25 -08:00
Iurii Kudriavtsev
03fd89bc45 Wrapping PBKDF PKCS#12 algorithm. 2016-01-10 10:50:02 +01:00
toddouska
db1f321ae3 Merge pull request #249 from lchristina26/master
Updates for VxWorks entropy and README, Arduino functionality
2016-01-08 16:08:13 -08:00
Jacob Barthelmeh
5e0fa1de90 utf8 switched to default and added comments 2016-01-08 16:50:49 -07:00
Leah
86ddeeb110 Add steps for including wolfSSL as an Arduino library 2016-01-08 12:07:35 -07:00
lchristina26
ae92a41512 Update fork to upstream: Merge https://github.com/wolfSSL/wolfssl 2016-01-08 11:59:35 -07:00
lchristina26
f7baf9e392 settings for Arduino functionality 2016-01-08 11:54:46 -07:00
lchristina26
efae688120 add entropy steps for VxWorks 2016-01-08 11:43:05 -07:00
Jacob Barthelmeh
ee1a767332 account for null terminator 2016-01-07 17:39:00 -07:00
John Safranek
5360e22ba5 fix a sequence number issue with DTLS epoch 0 messages earlier in the handshake 2016-01-07 13:18:01 -08:00
toddouska
431951a692 Merge pull request #247 from kaleb-himes/null-pointer-excptn
safeguards to avoid de-referencing a null pointer
2016-01-06 10:25:14 -08:00
kaleb-himes
38392ce56a safeguards to avoid de-referencing a null pointer 2016-01-06 10:12:52 -07:00
John Safranek
251550ea62 Merge pull request #242 from kaleb-himes/scan-build-fixes
avoid unused variable warnings
2016-01-05 15:31:52 -08:00
kaleb-himes
a6ca2c3bdd Avoid un-necessary cast 2016-01-05 14:32:45 -07:00
kaleb-himes
29e6f283cf Implement peer suggestion 2016-01-05 14:19:46 -07:00
John Safranek
ef95000236 Merge pull request #243 from kaleb-himes/scan-build-fixes2
Avoid unused variable warnings with dead store in AES_GCM_decrypt
2016-01-05 12:30:32 -08:00
John Safranek
db55f0f8dd Merge pull request #235 from moisesguimaraes/fix_localhost_ocsp_stapling_tests
Fixes --enable-ocspstapling and --enable-ocspstapling2 Jenkins failures
2016-01-05 12:07:43 -08:00
toddouska
1a16001dac Merge pull request #245 from kaleb-himes/scan-build-fixes4
check err after set
2016-01-05 10:52:53 -08:00
Moisés Guimarães
1fd496a5a7 Merge pull request #244 from kaleb-himes/scan-build-fixes3
Remove unnecessary assignment prior to return
2016-01-05 15:27:26 -03:00
Jacob Barthelmeh
d815affe83 RSA OAEP padding 2016-01-05 10:56:15 -07:00
kaleb-himes
e4c4c5a73a white space change removed 2016-01-05 07:37:31 -07:00
kaleb-himes
699597bb21 execute undef before checking and return 2016-01-05 07:35:28 -07:00
toddouska
3725133592 Merge pull request #240 from kaleb-himes/myStack-init-check
compiler warning about myStack use in unique environment
2016-01-04 16:45:12 -08:00
kaleb-himes
fcfef59c43 check err after set 2016-01-04 17:04:10 -07:00
kaleb-himes
21c972f805 Remove unnecessary assignment prior to return 2016-01-04 16:08:04 -07:00
kaleb-himes
023052eaf1 Avoid unused variable warnings with dead store in AES_GCM_decrypt 2016-01-04 15:40:10 -07:00
kaleb-himes
dd469bb67d avoid unused variable warnings 2016-01-04 15:03:39 -07:00
lchristina26
0718f4b9a3 formatting fixes for VxWorks README 2016-01-04 14:44:08 -07:00
lchristina26
9351f0d2e7 updates to VxWorks README 2016-01-04 14:41:31 -07:00
lchristina26
4834e2d5cf updates for VxWorks simulator entropy 2016-01-04 14:33:30 -07:00
kaleb-himes
15918ebd99 initialize myStack to NULL for the later check against NULL 2016-01-04 13:18:43 -07:00
Moisés Guimarães
858da86c05 restore original certs, without OCSP Authority Information Access; 2016-01-04 17:15:29 -03:00
kaleb-himes
e6398998b1 check for NULL after malloc in posix_memalign 2016-01-04 12:55:35 -07:00
kaleb-himes
723a7fcf90 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into myStack-init-check 2016-01-04 09:17:04 -07:00
Moisés Guimarães
8a47c1d01e Merge pull request #237 from kaleb-himes/32-bit-ocsp
Also account for 32-bit users with ocsp test
2016-01-04 09:33:12 -03:00
Moisés Guimarães
d817f0fbc8 fixes test scripts to avoid bash-isms 2016-01-04 09:27:58 -03:00
toddouska
7bbd93b609 Merge pull request #239 from kaleb-himes/openx-curve-unused
Fix cases that were not detected in Jenkins
2015-12-31 18:35:03 -08:00
kaleb-himes
fa3f0660b6 compiler warning about myStack use 2015-12-31 13:59:11 -07:00
John Safranek
51e365541f Merge pull request #238 from toddouska/aesni-192key
fix aesni 192bit key expansion over read of 64bits
2015-12-31 12:55:28 -08:00
kaleb-himes
b78fb311bb Fix cases that were not detected in Jenkins 2015-12-31 13:18:37 -07:00
toddouska
99539b8875 fix aesni 192bit key expansion over read of 64bits 2015-12-31 11:19:47 -08:00
kaleb-himes
84ae9a9ae5 Also account for 32-bit users 2015-12-31 12:05:45 -07:00
toddouska
71a3555f6f Merge pull request #236 from kaleb-himes/ed-openx-unused
catching up on old jenkins issues that need fixed
2015-12-31 10:29:32 -08:00
kaleb-himes
6a56a53545 catching up on old jenkins issues 2015-12-31 09:33:01 -07:00
Moisés Guimarães
1bef0ba455 cosmetic changes to OCSP Stapling options. 2015-12-30 17:10:25 -03:00
Moisés Guimarães
5fb8ea691a updates ocsp certs with better OCSP Responder URI. 2015-12-30 16:50:22 -03:00
Jacob Barthelmeh
5040820f98 prepare for 3.8.0 release 2015-12-30 12:09:31 -07:00
toddouska
2145eebd1a Merge pull request #234 from JacobBarthelmeh/master
add ocsp needed certs to dist
2015-12-30 10:51:17 -08:00
Jacob Barthelmeh
0c21b67bb6 add ocsp needed certs to dist 2015-12-30 10:19:20 -07:00
JacobBarthelmeh
87e828bf17 Merge pull request #233 from toddouska/hint-types
fix hint types for misuse of in_buffer and out_buffer
2015-12-30 09:34:25 -07:00
toddouska
71218169c1 Merge pull request #232 from kaleb-himes/master
accounts for assumptions with external ocsp stapling test
2015-12-29 18:22:11 -08:00
toddouska
157486ce0d fix hint types for misuse of in_buffer and out_buffer 2015-12-29 16:13:09 -08:00
kaleb-himes
a973eca4b8 accounts for assumptions with external ocsp stapling test 2015-12-29 17:05:51 -07:00
Moisés Guimarães
6ba14fa241 fixes some errors from Jenkins Expected Configurations Build # 111 2015-12-29 10:19:27 -03:00
toddouska
0a14e6f3c6 Merge pull request #230 from cconlon/mcp_time_fix
fix LowResTimer on Microchip ports
2015-12-28 21:56:07 -08:00
Moisés Guimarães
774d335387 Merge branch 'csr' 2015-12-28 19:53:27 -03:00
Moisés Guimarães
ec9d23a9c3 Merge branch 'csr' 2015-12-28 19:38:04 -03:00
Moisés Guimarães
487bb4eb5e fixes before merge 2015-12-28 19:33:06 -03:00
Chris Conlon
a9894e9033 Merge pull request #229 from ejohnstown/dtls-warnings
fix DTLS warnings for Windows
2015-12-28 14:20:03 -07:00
Chris Conlon
47426b1f8d fix LowResTimer on Microchip ports 2015-12-28 13:58:01 -07:00
Moisés Guimarães
2e00b12b69 updates configure.ac with better option naming. 2015-12-28 17:55:41 -03:00
toddouska
91c06736cb Merge pull request #228 from kaleb-himes/typo-corrections
minor typo corrections
2015-12-28 11:56:48 -08:00
toddouska
2d33380abc Merge pull request #225 from JacobBarthelmeh/master
help message to use NTRU key in example server
2015-12-28 11:56:13 -08:00
toddouska
c3df8af997 Merge pull request #223 from cconlon/vswarnings
fix Visual Studio warnings
2015-12-28 11:55:13 -08:00
toddouska
3a1909dab9 Merge pull request #209 from kaleb-himes/master
OpenSSH added support for additional NID types. Update our compatibil…
2015-12-28 11:52:38 -08:00
John Safranek
92cb8eee61 revise the comments about port 0 use in the example client and server 2015-12-24 15:42:52 -08:00
Kaleb Joseph Himes
99797eb4f6 Merge pull request #227 from ejohnstown/example-comments
Example comments
2015-12-23 15:09:54 -07:00
kaleb-himes
cc8633fe7f minor typo corrections 2015-12-23 13:28:45 -07:00
John Safranek
4b836f8476 added note to client and server regarding port 0 2015-12-23 12:20:53 -08:00
John Safranek
d17549f848 update example client ShowVersions() to not show disabled old-tls versions 2015-12-23 12:12:41 -08:00
Kaleb Joseph Himes
558d2566cc Merge pull request #226 from toddouska/ranports-scripts
add random ports for all make check scripts, unique ready file
2015-12-23 12:49:16 -07:00
Chris Conlon
5cbaa9de20 Merge pull request #224 from ejohnstown/windows-fips-segments
add the Windows object ordering tags to wolfCrypt first and last sources
2015-12-22 17:08:57 -07:00
toddouska
22385f2b39 add random ports for all make check scripts, unique ready file 2015-12-22 14:35:34 -08:00
Jacob Barthelmeh
41f50b7a73 NTRU suites considered part of static RSA suites group 2015-12-22 15:19:11 -07:00
Jacob Barthelmeh
0721b79282 help message to use NTRU key in example server 2015-12-22 11:51:26 -07:00
John Safranek
44c4f18d3e fix DTLS warnings for Windows 2015-12-22 09:45:54 -08:00
kaleb-himes
cbf3213c4f correct logic on pre-processor macro 2015-12-21 23:33:33 -07:00
kaleb-himes
0cb2374c69 Ensure configured before assuming message digest is supported 2015-12-21 23:03:45 -07:00
Chris Conlon
b153ac002c fix Visual Studio warnings 2015-12-21 16:11:02 -07:00
John Safranek
d5295edbd1 add the Windows object ordering tags to wolfCrypt first and last sources 2015-12-21 11:01:09 -08:00
Jacob Barthelmeh
37b8e60537 Merge branch 'toddouska-hello-size' 2015-12-18 10:00:00 -07:00
Jacob Barthelmeh
4da1ae3947 Merge branch 'hello-size' of https://github.com/toddouska/wolfssl into toddouska-hello-size 2015-12-18 09:33:13 -07:00
John Safranek
917edc5f18 Merge pull request #218 from toddouska/ssl3-aes256
add aes256 key derivation to ssl3
2015-12-17 18:30:23 -08:00
Chris Conlon
b89354880f switch pragma once uses, causes warnings on some compilers 2015-12-17 13:19:17 -07:00
toddouska
e503b89ca1 allow sniffer build with -v 0 examples to work 2015-12-17 12:10:22 -08:00
toddouska
6c69b7f109 make hello suite size user settable, increase default 2015-12-17 09:57:44 -08:00
kaleb-himes
d395c5aba3 condense to one switch statement for testing of message digests 2015-12-16 11:40:58 -07:00
kaleb-himes
46c4653f60 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-12-16 11:37:07 -07:00
toddouska
ed8a50ce69 Merge pull request #211 from lchristina26/master
GenerateSeed() Function for VxWorks compatibility
2015-12-15 15:59:20 -08:00
toddouska
94b1df49ae Merge pull request #219 from JacobBarthelmeh/master
install user_rsa.h and fix leading bit function
2015-12-15 15:57:48 -08:00
lchristina26
3113c8db9b update VXWORKS GenerateSeed() - no printf, error return 2015-12-15 16:52:21 -07:00
Jacob Barthelmeh
1cdc6d5edb refactoring dist and install of user/fast-rsa 2015-12-15 16:09:49 -07:00
Jacob Barthelmeh
b87c7fb460 install user_rsa.h and fix leading bit function 2015-12-15 13:50:01 -07:00
toddouska
eed40eb690 add aes256 key derivation to ssl3 2015-12-15 11:54:03 -08:00
toddouska
b9e2ff3055 Merge pull request #217 from NickolasLapp/openssl_version_increase
Add in stub functions for opensslv1.0.1 w/ stunnel and lighttpd
2015-12-15 11:17:52 -08:00
Moisés Guimarães
9688a0f0db fixes API names (marketing wise); 2015-12-14 23:12:08 -03:00
Moisés Guimarães
a15c003211 adds extra certs for ocspstapling tests; 2015-12-14 23:02:49 -03:00
Moisés Guimarães
0ca6a5601e fixes OCSP_MULTI check;
adds root-ca-cert to index0.txt;
adds keyUsage to CA certs;
sets fixed serial to root-ca-cert;
2015-12-14 20:22:48 -03:00
Nickolas Lapp
bf621f1832 Add in stub functions for opensslv1.0.1 w/ stunnel and lighttpd 2015-12-14 15:36:04 -07:00
Moisés Guimarães
196b983b7b adds ocsp test scripts; 2015-12-13 18:06:08 -03:00
John Safranek
a834c2acf6 improved DTLS handshake sequence numbering when retransmitting finished message 2015-12-11 18:41:09 -08:00
lchristina26
6ab9c87f13 add comment to VXWORKS GenerateSeed() 2015-12-11 13:41:05 -07:00
lchristina26
e2456214f4 update random.c for better entropy with VXWORKS 2015-12-11 13:22:33 -07:00
lchristina26
8b99cea5c8 update README with entropy instructions 2015-12-11 13:19:44 -07:00
dgarske
af4eb590a6 Merge pull request #214 from aburks/IS-213-AESFailsWithFreescaleCAU
Issue #213: AES fails with Freescale (mm)CAU
2015-12-10 17:08:52 -08:00
dgarske
838c5297c3 Merge pull request #216 from aburks/IS-215-SignatureUsesOldRNG
Issue #215: Signature module uses old RNG
2015-12-10 17:08:36 -08:00
Andrew Burks
03a643cc35 Issue #215: Signature module uses old RNG. Use the new WC_RNG construct instead in order to prevent conflicts with board support packages. 2015-12-10 17:04:48 -08:00
Andrew Burks
bc54b18cad Issue #213: AES fails with Freescale (mm)CAU. 2015-12-10 16:55:49 -08:00
toddouska
4f0c2177b2 Merge pull request #212 from dgarske/CleanupAsnLeadingZero
Cleanup of the leading zero detection in wc_RsaKeyToDer and wc_DsaKey…
2015-12-10 11:11:58 -08:00
David Garske
89518ad445 Cleanup of the leading zero detection in wc_RsaKeyToDer and wc_DsaKeyToDer to use existing mp_leading_bit function. 2015-12-10 10:48:50 -08:00
Jacob Barthelmeh
1c4b3016e6 set required tls1_2 for when using ChaCha20-Poly1305 suite 2015-12-10 11:45:27 -07:00
toddouska
5c5c7ffaec Merge pull request #210 from dgarske/CheckEccAltwFastMath
Added compile time check for ALT_ECC_SIZE requiring USE_FAST_MATH.
2015-12-10 10:24:20 -08:00
lchristina26
cb73064c10 format changes to VXWORKS GenerateSeed() 2015-12-09 13:22:13 -07:00
lchristina26
38ac17864e added entropy, wc_GenerateSeed() for VxWorks 2015-12-09 13:18:42 -07:00
David Garske
1153c31bbb Added compile time check for ALT_ECC_SIZE requiring USE_FAST_MATH. 2015-12-09 09:53:59 -08:00
kaleb-himes
97dcb5e567 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-12-08 13:45:25 -08:00
Chris Conlon
5fd4903fde bump version to 3.7.3 2015-12-08 09:32:00 -08:00
kaleb-himes
1d1af6410d OpenSSH added support for additional NID types. Update our compatibility layer 2015-12-08 07:27:43 -08:00
Moisés Guimarães
d30a1be572 adds new certificates for OCSP tests 2015-12-07 19:55:33 -03:00
John Safranek
8756c31a01 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-12-07 12:43:01 -08:00
John Safranek
c7fdc9ba9e DTLS Hello Verify and Server Hello should use the sequence number of the Client Hello 2015-12-07 11:24:14 -08:00
toddouska
4a0c4fbf3f remove fprintf from ecdsa verify fail wrapper 2015-12-07 09:25:19 -08:00
toddouska
beebc87bc8 Merge pull request #208 from JacobBarthelmeh/master
example IO callback and keep memory alive when needed
2015-12-07 09:12:07 -08:00
Jacob Barthelmeh
1600ba7f3d example IO callback and keep memory alive when needed 2015-12-06 14:30:00 -07:00
John Safranek
6c70e3233d fix bug where unknown OIDs were treated as parsing errors rather than ignored 2015-12-05 13:14:29 -08:00
David Garske
89a65b0aa0 Fixed compile error in signature.c with g++. Corrected comment. 2015-12-04 15:22:06 -08:00
toddouska
179f1cab9b Merge branch 'keyex' 2015-12-03 12:38:02 -08:00
toddouska
37bc497f21 fix merge conflict 2015-12-03 12:37:49 -08:00
toddouska
532d1da9c0 Merge pull request #206 from dgarske/FixExtraMalloc_wNotTLS12
Fixed issue with "WOLFSSL_SMALL_STACK" and pre TLS 1.2 in "SendServer…
2015-12-03 11:26:43 -08:00
toddouska
0c9dca3a5f Merge pull request #201 from JacobBarthelmeh/fast-rsa
modification to fast-rsa sign operation and make key
2015-12-03 11:19:02 -08:00
toddouska
1c2a920b8f Merge pull request #203 from dgarske/SendServerHelloRNGCombine
Combined "wc_RNG_GenerateBlock" calls in "SendServerHello".
2015-12-03 11:16:00 -08:00
David Garske
b1d18d8455 Fixed issue with "WOLFSSL_SMALL_STACK" and pre TLS 1.2 in "SendServerKeyExchange" where "encodedSig" is allocated and not used. 2015-12-02 19:43:05 -08:00
Jacob Barthelmeh
fea769816c ed25519 verify function return descriptive error value 2015-12-02 15:55:40 -07:00
toddouska
e08fa67a32 fix clang --disable-memory issues 2015-12-02 14:40:32 -08:00
John Safranek
5cf94166b2 silently drop epoch 0 messages when handshake completed 2015-12-01 14:59:32 -08:00
Jacob Barthelmeh
d673a56c83 change line ending of license to match Windows CR LF 2015-12-01 14:49:16 -07:00
John Safranek
5687562e7b back out change to decryptedCur flag 2015-12-01 13:32:00 -08:00
John Safranek
a5f689168e fix call to IsEncryptionOn for session tickets 2015-12-01 09:18:21 -08:00
Jacob Barthelmeh
bb5de34e5c cast type on XMALLOC with ntru 2015-12-01 09:24:44 -07:00
David Garske
654e17379e Combined "wc_RNG_GenerateBlock" calls in "SendServerHello". 2015-11-30 19:29:20 -08:00
John Safranek
251d0364f8 check DTLS sequence number against window a little earlier 2015-11-30 17:16:47 -08:00
Moisés Guimarães
346dcb0fd9 adds WOLFSSL_CSR2_OCSP_MULTI support; 2015-11-30 21:26:00 -03:00
John Safranek
514aa331f8 wrapped checks for encryptionOn with a function to allow more complicated checks like for epoch 0 being unencrypted 2015-11-30 14:43:03 -08:00
Moisés Guimarães
07356af78e prepares BuildCertificateStatus() to send more than one certificate status; 2015-11-30 18:34:00 -03:00
Chris Conlon
767da41b16 allow 1024 and 2048 example cert buffers to be enabled at same time, gencertbuf.pl 2015-11-30 14:18:17 -07:00
Chris Conlon
d2a80ba1bc remove extra NULL check in SetTmpDH_buffer/file_wrapper, fix API tests 2015-11-30 10:25:55 -07:00
Jacob Barthelmeh
6030970026 perfer local IPP libraries, memory usage and casting 2015-11-29 23:34:58 -07:00
Jacob Barthelmeh
db599bb361 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into fast-rsa 2015-11-29 13:39:45 -07:00
Takashi Kojo
4217ef5475 fixed mdk4 macro control in example server/client, echoserver/client 2015-11-27 11:31:12 +09:00
John Safranek
7f1b9a1e13 storing DTLS handshake messages takes into account overlapping data 2015-11-25 20:25:57 -08:00
toddouska
83f26abdde Merge pull request #198 from JacobBarthelmeh/master
C Sharp wrapper
2015-11-25 14:11:52 -08:00
John Safranek
e4894bfd0b add comments to clarify accept and connect state advancement due to sending fragments 2015-11-25 11:10:42 -08:00
John Safranek
02411ccced add F back into the client command line options scanning 2015-11-25 10:36:51 -08:00
toddouska
1b3254cc47 Merge pull request #202 from NickolasLapp/openssl_test_update
Clarify Openssl.test results messaging
2015-11-25 09:12:52 -08:00
Jacob Barthelmeh
f7fac88e8b Don't error out when calling ippInit to find optimized IPP library, just fall back to use standard 2015-11-24 17:28:43 -07:00
Nickolas Lapp
33eb4b98d3 Clarify Openssl.test results messaging 2015-11-24 15:16:26 -07:00
toddouska
1626ae6287 Merge pull request #200 from lchristina26/master
Update VxWorks README to assume a filesystem, fix typos
2015-11-24 13:31:16 -08:00
Jacob Barthelmeh
c5c9991d11 modification to fast-rsa sign operation and make key 2015-11-24 13:41:04 -07:00
Jacob Barthelmeh
da127dfb17 warrning for unused function in user-crypto / fast-rsa mode 2015-11-24 13:18:39 -07:00
lchristina26
76952d9ea9 updated README to leave out NO_FILESYSTEM 2015-11-24 12:21:01 -07:00
Moisés Guimarães
1fbaf089ae adds support to WOLFSSL_CSR2_OCSP in both DoCertificateStatus() and SendCertificateStatus();
adds contingence plan for status_request_v2;
2015-11-24 00:47:27 -03:00
Moisés Guimarães
f9d6464793 adds basic extension code for CERTIFICATE_STATUS_REQUEST_V2;
fixes EncodeOcspRequestExtensions() length check;
2015-11-23 23:42:05 -03:00
Takashi Kojo
e4bed957b3 #1591: fixed macro control for MDK4 2015-11-24 11:26:08 +09:00
toddouska
91b7cddb7c better error checking on condition variable operations, cleanup 2015-11-23 15:13:36 -08:00
toddouska
b9f0243528 Merge pull request #195 from dgarske/LPCXpresso
Adds LPCXpresso IDE support
2015-11-23 14:47:20 -08:00
toddouska
6c1fd13184 Merge pull request #199 from dgarske/ChangeToWolfRootWarnFix
Fixes "warning: Size argument is greater than the free space in the d…
2015-11-23 14:43:45 -08:00
David Garske
c3b3ba4a2a Fixes "warning: Size argument is greater than the free space in the destination buffer" with XSTRNCAT(). 2015-11-23 14:41:24 -08:00
toddouska
feef035c06 Merge branch 'crl-monitor' 2015-11-23 14:17:27 -08:00
toddouska
32b2d7f9e4 have calling thread wait for crl monitor thread to setup for simpler cleanup 2015-11-23 14:15:12 -08:00
Moisés Guimarães
96e18a8c68 adds next update verification when decoding the OcspResponse;
fixes memleak in GetOcspStatus(); If the status was outdated, the responseBuffer was allocated twice;
consider error in OcspResponseDecode() also a BAD_CERTIFICATE_STATUS_ERROR;
2015-11-23 15:11:51 -03:00
Moisés Guimarães
f3131fb5d6 adds next update time to ocspd.sh 2015-11-23 13:34:27 -03:00
Moisés Guimarães
b820619e6c updates certs;
adds ocsp certs;
2015-11-23 09:56:45 -03:00
Moisés Guimarães
51f5ded392 adds config to generate ocsp certs 2015-11-23 09:44:39 -03:00
Moisés Guimarães
aaad9787db updates box version to trusty64;
fixes provisioning errors;
2015-11-23 09:19:33 -03:00
John Safranek
d248a7660c ASN: when getting OID from stream, check the summed value; added utility to skip OID; setting OID uses same strings as getting, separated NULL tag from the OID 2015-11-21 12:00:34 -08:00
Chris Conlon
9c6b52876a add SetTmpDH file/buffer functions to API tests 2015-11-20 13:32:44 -07:00
Chris Conlon
85373f7b6e move SetTmpDH buffer functions out of NO_FILESYSTEM 2015-11-20 13:30:22 -07:00
Jacob Barthelmeh
7d13fe9017 license heading 2015-11-20 10:19:55 -07:00
Jacob Barthelmeh
39d6992759 logging levels added 2015-11-20 09:59:08 -07:00
Jacob Barthelmeh
b9dae51658 C Sharp wrapper 2015-11-19 20:51:32 -07:00
David Garske
6abfaf6df4 Implemented Wolf version of LPC18XX startup code to eliminate NXP code from our repo. Cleanup of trailing spaces and convert tabs to spaces. 2015-11-19 19:06:40 -08:00
toddouska
14cb082a37 Merge pull request #197 from dgarske/RowleyIDECleanup
Rowley IDE fix to exclude .asm and .s files. Cleanup to remove Rowley…
2015-11-19 18:16:57 -08:00
David Garske
c898c582f9 Corrected filename in include.am and top of file. 2015-11-19 17:56:49 -08:00
David Garske
1894358bec Rowley IDE fix to exclude .asm and .s files. Cleanup to remove Rowley example code, leaving just stubs and Wolf code. 2015-11-19 14:32:45 -08:00
toddouska
6d67ee11b6 Merge pull request #196 from NickolasLapp/SNI_ConditionalCompile
Define SNI func condtionally. Declare var at top of func
2015-11-19 13:18:23 -08:00
Nickolas Lapp
c3cdbf31bb Define SNI func condtionally. Declare var at top of func 2015-11-19 13:49:57 -07:00
toddouska
2698736aaf fix missing XMALLOC/FREE types 2015-11-19 10:20:28 -08:00
David Garske
e51f99a5c3 Adds LPCXpresso IDE support. Tested with the OM13076 (LPCXpresso18S37) board. 2015-11-18 17:16:33 -08:00
toddouska
4da70f9fe9 Merge pull request #193 from dgarske/SigHashFixes
Fixes for build errors with new signature and hash wrapping functions…
2015-11-17 12:19:21 -08:00
toddouska
a2915fbc57 Merge pull request #194 from dgarske/BenchmarkAddHeader
Added benchmark.h to expose the benchmark_test function. Updated a co…
2015-11-17 12:13:08 -08:00
David Garske
cdc830c1cc Fixes for build errors with new signature and hash wrapping functions. Disabled MD2/4 hash wrapping. 2015-11-17 10:15:36 -08:00
David Garske
09793e3206 Added benchmark.h to expose the benchmark_test function. Updated a couple of projects to use the new benchmark header. 2015-11-17 08:52:12 -08:00
toddouska
5e80bf46bf Merge branch 'master' of github.com:wolfssl/wolfssl 2015-11-16 13:20:26 -08:00
toddouska
ca7956b50d update cavium nitrox port to wolfssl 2015-11-16 13:20:19 -08:00
toddouska
4e7935f5f5 Merge pull request #188 from dgarske/HashSignVerifyWrappers
New hash and signature wrapper functions:
2015-11-16 12:16:55 -08:00
David Garske
103f984421 Cleanup of the signature wrapper error cases to be more explicit. 2015-11-16 11:54:23 -08:00
Moisés Guimarães
60b1a0c8be fixes scan-build warnings 2015-11-16 16:16:48 -03:00
Moisés Guimarães
5e4955f689 reuse OcspRequest data in ocsp stapling; 2015-11-16 16:03:48 -03:00
Moisés Guimarães
6d6ca56e4e fixes SendCertificateStatus() loading the CA in the server side to build the OCSP request properly. 2015-11-16 15:31:50 -03:00
Moisés Guimarães
24907fc818 adds buffer logging; 2015-11-15 18:43:29 -03:00
Moisés Guimarães
12802f40c5 finishes SendCertificateStatus(); sending the stored status; 2015-11-15 16:40:47 -03:00
Moisés Guimarães
8ae6bf1641 adds server side Certificate Status Request extension;
missing: Finish SendCertificateStatus();
2015-11-15 00:26:11 -03:00
Moisés Guimarães
cc684f8593 fixes OCSP nonce extension size estimation at client hello message; 2015-11-14 22:28:52 -03:00
Chris Conlon
a38f7bb937 fix jni build enabling ecc on non 64 bit platforms 2015-11-13 16:58:05 -07:00
David Garske
b870bad63e Added new "SIG_VERIFY_E" type for "wc_SignatureVerify" failure. Added argument checking on new signature wrapper functions. Added new "NO_SIG_WRAPPER" to optionally disable wrappers to reduce code size. 2015-11-13 12:22:32 -08:00
Leah
4a853b7318 Update README.md 2015-11-13 10:45:11 -07:00
Leah
bcff81fd64 Update README.md 2015-11-13 10:38:58 -07:00
Leah
9007d4b655 Update README.md 2015-11-13 10:37:46 -07:00
Leah
0994491916 Update README.md 2015-11-13 10:36:36 -07:00
Leah
e5707f0d49 Update README.md 2015-11-13 10:35:13 -07:00
toddouska
0c1a4dfd12 Merge pull request #190 from NickolasLapp/stunnel_session_changes
Implement missing openssl API
2015-11-12 16:11:01 -08:00
Nickolas Lapp
66965759d5 Implement missing openssl API 2015-11-12 16:52:56 -07:00
toddouska
5c96be4d19 fix idea conversion warnings 2015-11-12 15:14:00 -08:00
toddouska
806a2748bf Merge pull request #189 from lchristina26/master
Updates for Wind River WORKBENCH/ VxWorks Compatibility
2015-11-12 13:33:27 -08:00
Leah
307413f11b Update README.md 2015-11-12 13:34:36 -07:00
lchristina26
db6920d372 updates for vxworks compatibility 2015-11-12 13:33:47 -07:00
toddouska
261fedd906 idea_mult() now works on 16,32, AND 64bit systems 2015-11-12 10:32:35 -08:00
toddouska
d9cb1cfbe1 fix idea_mult() for 16 and 32bit systems 2015-11-12 10:22:31 -08:00
Leah
ba92b2db7b Update README.md 2015-11-12 10:47:38 -07:00
David Garske
f692c8cefb New hash and signature wrapper functions:
1. Added new hash wrapper function "wc_Hash". Hash functions support Md# and SHA# using "enum wc_HashType". Added new "wc_HashGetDigestSize" function to get hash size (returns 0 if not supported).
2. Added new signature wrapper functions "wc_SignatureGenerate" and "wc_SignatureVerify" to perform hash then sign/verify of bytes. Signature functions support ECC and RSA using "enum wc_SignatureType". Added new "wc_SignatureGetSize" function to get the signature size using the key (returns 0 if not supported).
2015-11-12 09:36:14 -08:00
Takashi Kojo
302fd05edd Change "//" to "/* */" comment. Removed unreferred functions. 2015-11-12 15:31:58 +09:00
toddouska
866b1517d3 Merge pull request #187 from NickolasLapp/fix_getShutdown
Make get_shutdown return correct results with stunnel
2015-11-11 11:15:22 -08:00
Nickolas Lapp
e49b12c7cc Make get_shutdown return correct results with stunnel 2015-11-11 11:43:38 -07:00
Leah
01e649210d Update README.md 2015-11-11 10:16:48 -07:00
Leah
6cdeebc4da Update README.md 2015-11-11 10:03:49 -07:00
Leah
27e523a85a Update README.md 2015-11-11 10:00:53 -07:00
Leah
d34f2ebc35 Update README.md 2015-11-11 09:30:03 -07:00
Leah
cdea03fdf3 Update README.md 2015-11-11 09:28:59 -07:00
Leah
f9cd90872d Update README.md 2015-11-11 09:21:27 -07:00
Leah
4063fbc2b5 Update README.md 2015-11-11 09:18:00 -07:00
Leah
7d9356ae04 Update README.md 2015-11-11 09:13:04 -07:00
Leah
19ebc5b600 Update README.md 2015-11-11 09:12:10 -07:00
Leah
c3540b2f6e Update README.md 2015-11-11 09:11:14 -07:00
toddouska
28cbe7e7a5 Merge pull request #186 from tisb-vikram/master
add HAVE_ECC to WolfSSL/TI-RTOS settings
2015-11-10 19:58:46 -08:00
Vikram Adiga
196b965be5 add HAVE_ECC to WolfSSL/TI-RTOS settings 2015-11-10 18:06:55 -08:00
toddouska
d076fdf0cd Merge pull request #185 from tisb-vikram/master
fix TI-RTOS makefiles to build wolfSSL from local dir
2015-11-10 17:41:57 -08:00
Vikram Adiga
3211817f59 fix TI-RTOS makefiles to build wolfSSL from local dir
Signed-off-by: Vikram Adiga <vikram.adiga@ti.com>
2015-11-10 17:21:10 -08:00
toddouska
a69d99981f Merge pull request #184 from kaleb-himes/master
allow openssl extra tests if configuration supports
2015-11-10 15:15:30 -08:00
kaleb-himes
c3a249009f allow openssl extra tests if configuration supports 2015-11-10 15:29:05 -07:00
Moisés Guimarães
9b8f26329d improves srp unit test to use random salt; 2015-11-10 17:43:02 -03:00
toddouska
5823485f61 Merge pull request #182 from lchristina26/master
Update the README for VxWORKS
2015-11-10 12:36:59 -08:00
Leah
56e94cb3a9 Update README.md 2015-11-09 22:37:21 -07:00
Leah
9c43e94746 Update README.md 2015-11-09 22:36:00 -07:00
Leah
ebd1e2b35d Update README.md 2015-11-09 22:35:16 -07:00
Leah
a0f3fa1f1a Update README.md 2015-11-09 22:34:53 -07:00
lchristina26
54c5a3a10c update VxWorks readme 2015-11-09 17:23:25 -07:00
toddouska
6efd8e2db0 fix unused PemToDer() vars depending on build options 2015-11-09 14:58:20 -08:00
toddouska
906be9fb20 add printf to logger w/o callbacks w/ WOLFSSL_LOG_PRINTF 2015-11-09 14:55:09 -08:00
toddouska
417f85da86 use gmtime_r if there 2015-11-09 14:48:39 -08:00
toddouska
756feb37f5 Merge pull request #179 from kaleb-himes/master
SAFESEH:NO in DLL Debug|Win32
2015-11-09 14:25:23 -08:00
kaleb-himes
e9348635a0 SAFESEH:NO in DLL Debug|Win32 2015-11-09 15:11:58 -07:00
toddouska
d869279ad5 Merge branch 'custom-seed' 2015-11-06 15:37:26 -08:00
David Garske
099b6bc3df Updated the Rowley Crossworks example so it builds due to new user-crypto. Tested and verified new "CUSTOM_RAND_TYPE" using 8, 16 and 32 bit values. 2015-11-06 09:41:16 -08:00
David Garske
05f4c83b98 Optimizations to improve random number generation performance and provide additional ways to implement custom versions of custom random handlers. Added new "CUSTOM_RAND_TYPE" to define the datatype for the "CUSTOM_RAND_GENERATE" function. Added new "CUSTOM_RAND_GENERATE_SEED" option for anyone who wants to implement their own equivalent "wc_GenerateSeed()" function. Added generic FREESCALE_RNGA and FREESCALE_RNGB options. 2015-11-05 22:20:11 -08:00
Moisés Guimarães
dccbc1cdd4 fixes ocsp nonce extension decoding;
enables use of ocsp nonce extension in the client example.
2015-11-05 11:45:42 -03:00
Moisés Guimarães
62210186c7 fix code logic to single if 2015-11-05 11:45:41 -03:00
toddouska
17c9494a2d fix gfmul intel calling convention 2015-11-04 13:26:38 -08:00
toddouska
124f1f8ce7 switch gfmul to intel syntax in aes_asm.asm 2015-11-04 11:55:04 -08:00
John Safranek
3b102862b1 exclude new AES-GCM test when in FIPS mode 2015-11-03 16:57:38 -08:00
John Safranek
23ba31cbdd 1. Fixed bug where AES-GCM IVs had to only be 12 bytes. Now
accepts any length.
2. Added test case for AES-GCM using an 60 byte IV.
3. AesGcmSetKey doesn't calculate H value in AES-NI mode.
2015-11-03 16:47:42 -08:00
toddouska
427405fff9 Merge branch 'timediff' 2015-11-03 14:21:55 -08:00
toddouska
44165371bc timediff fixup 2015-11-03 14:15:15 -08:00
toddouska
69d5f2e43c Merge branch 'DateFormat' of https://github.com/kojo1/wolfssl into timediff 2015-11-03 14:04:14 -08:00
toddouska
5c9089651a fix github issue #174 , disable des3 with (else if) logic broken 2015-11-03 12:03:35 -08:00
toddouska
8d4d9ebe12 fix jenkins ec 56 2015-11-03 11:30:56 -08:00
toddouska
37f4fbc000 Merge branch 'openssl-script' 2015-11-02 13:27:20 -08:00
toddouska
fbd4f8a6ed fix merge conflict 2015-11-02 13:26:46 -08:00
toddouska
54a0a3370a fix wolfSSL_Init to only call new wolfCrypt_Init() once 2015-11-02 12:35:43 -08:00
toddouska
a1d1155b0c add missing error strings 2015-11-02 12:18:12 -08:00
toddouska
b13ae543ec bump dev version 2015-11-02 11:15:21 -08:00
Moisés Guimarães
3db5a5f2c2 Merge branch csr into 'master' 2015-11-02 15:54:41 -03:00
Moisés Guimarães
21d70636dc Merge branch csr into 'master' 2015-11-02 15:51:01 -03:00
toddouska
1d32ff2c59 Merge branch 'aes-ni-gcm' 2015-11-02 09:42:10 -08:00
toddouska
28dcef2d71 gcm benchmark results format alignment 2015-11-02 09:39:34 -08:00
John Safranek
f8aeac608c 1. Add C NI-intrinsic AES-GCM encrypt and decrypt.
2. Fix error string for wolfcrypt test of GMAC.
3. Add AES-GCM Decrypt to benchmark.
2015-10-30 16:03:26 -07:00
toddouska
5d2d249673 turn on OpenSSL public key type decodes unless explicitly turned off 2015-10-30 13:40:05 -07:00
Takashi Kojo
d741d4cddc Adding UTC Time Differential in ValidateDate 2015-10-30 11:26:54 +09:00
toddouska
e76f95465d Merge pull request #170 from dgarske/master
Fixes initialization of the Crypto HW protection, which could leak a …
2015-10-29 13:56:18 -07:00
Leah
8dfa1af9e9 Merge pull request #169 from lchristina26/master
updates for VxWorks

Update example client/server to be compatible with VxWorks builds
2015-10-29 13:50:13 -06:00
lchristina26
5bcb7e98cb readme updates 2015-10-29 13:47:40 -06:00
lchristina26
1a96ff6766 readme updates 2015-10-29 13:45:58 -06:00
lchristina26
4061346f77 more readme updates 2015-10-29 13:44:22 -06:00
lchristina26
dd99948bcd Workbench readme update 2015-10-29 13:41:17 -06:00
lchristina26
723fc3761b Example client/server compatible with VxWorks 2015-10-29 13:39:02 -06:00
David Garske
dacfd84bea Enhanced "ChangeToWolfRoot" to report error if the root was not found. Also fixed the depth limit. 2015-10-29 10:45:37 -07:00
David Garske
f977caa492 Cleanup of the test code that looks for the WolfSSL root directory. Now it tries to open the certs/ntru-cert.pem file in each directory up (limited to 5) until it opens it. 2015-10-28 23:54:08 -07:00
David Garske
d31cec0df0 Fixes initialization of the Crypto HW protection, which could leak a mutex if two calls to "wolfSSL_CryptHwMutexLock()" occurred at the same time prior to calling "wolfSSL_CryptHwMutexInit()". Fixes #164. 2015-10-28 23:07:52 -07:00
Jacob Barthelmeh
2c41a5b961 adjust wolfssl lib value in rpm spec.in 2015-10-28 17:33:31 -06:00
Jacob Barthelmeh
55a56cac05 Release 3.7.0 2015-10-28 15:07:22 -06:00
Moisés Guimarães
3e9fd1c542 Merge branch 'master' into csr
Conflicts:
	configure.ac
	wolfssl/wolfcrypt/types.h
2015-10-28 14:34:15 -03:00
Moisés Guimarães
071a452bec fix indentation and enum conflict 2015-10-28 12:20:20 -03:00
lchristina26
a914ca74f2 updates for VxWorks 2015-10-27 21:24:21 -06:00
toddouska
542b59d90a Merge pull request #150 from JacobBarthelmeh/master
Intel RSA IPP plug in
2015-10-27 16:57:32 -07:00
Jacob Barthelmeh
8bd228a391 remove libusercrypto.dylib and adjust gitignore 2015-10-27 17:11:31 -06:00
toddouska
5b2fbd9747 Merge pull request #168 from NickolasLapp/uninitWarn
Fixed gcc variable-mayble-uninitialized warning
2015-10-27 16:07:12 -07:00
Nickolas Lapp
b7848481a3 Fixed gcc variable-mayble-uninitialized warning 2015-10-27 16:42:19 -06:00
Moisés Guimarães
cddebfa941 changes --enable-statusrequest to --enable-ocspstapling 2015-10-27 19:27:56 -03:00
toddouska
f477168cf7 make it easier for user to define custom bigint types 2015-10-27 14:52:07 -07:00
Jacob Barthelmeh
fa1a356888 add DYNAMIC_TYPE_USER_CRYPTO tag for malloced memory 2015-10-27 13:26:32 -06:00
Moisés Guimarães
8dc154ff71 adds support for TLS downgrading against buggy TLS servers.
reference: RFC 5246 - TLS 1.2 - Appendix E.1:

   Note: some server implementations are known to implement version
   negotiation incorrectly.  For example, there are buggy TLS 1.0
   servers that simply close the connection when the client offers a
   version newer than TLS 1.0.  Also, it is known that some servers will
   refuse the connection if any TLS extensions are included in
   ClientHello.  Interoperability with such buggy servers is a complex
   topic beyond the scope of this document, and may require multiple
   connection attempts by the client.

   Earlier versions of the TLS specification were not fully clear on
   what the record layer version number (TLSPlaintext.version) should
   contain when sending ClientHello (i.e., before it is known which
   version of the protocol will be employed).  Thus, TLS servers
   compliant with this specification MUST accept any value {03,XX} as
   the record layer version number for ClientHello.

   TLS clients that wish to negotiate with older servers MAY send any
   value {03,XX} as the record layer version number.  Typical values
   would be {03,00}, the lowest version number supported by the client,
   and the value of ClientHello.client_version.  No single value will
   guarantee interoperability with all old servers, but this is a
   complex topic beyond the scope of this document.
2015-10-27 16:10:23 -03:00
Moisés Guimarães
f37ea955ec improves OCSP response signature verification;
reference: RFC 2560 -  Section 4.2.2.2  Authorized Responders:

   The key that signs a certificate’s status information need not be the
   same key that signed the certificate. It is necessary however to
   ensure that the entity signing this information is authorized to do
   so.  Therefore, a certificate’s issuer MUST either sign the OCSP
   responses itself or it MUST explicitly designate this authority to
   another entity.
2015-10-26 19:33:35 -03:00
Moisés Guimarães
a47f98ee19 adds support to nonce extension in OCSP stapling (status request tls extension);
fix nonce encoding, there was a missing ASN.1 OctetString header;
2015-10-26 18:11:38 -03:00
Moisés Guimarães
14fa980dad adds contingence plan (force OCSP check when the server answer the status_request extension but doesn't sends a CertificateStatus message);
adds back status_request to context level;
2015-10-26 18:11:38 -03:00
Moisés Guimarães
42380793c9 adds comparison of OcspRequest and OcspResponse;
removes TLS Extension Status Request at context level as specific data is always needed for each session;
2015-10-26 18:11:38 -03:00
Moisés Guimarães
daf3155d3c adds partial client support to TLS Extension Status Request, a.k.a. OCSP stapling;
missing:
 - compare OcspRequest and OcspResponse;
 - execute contingence plan;
 - add nonce extension;
2015-10-26 18:11:38 -03:00
Moisés Guimarães
82f86adb8e renames TLS Extension types to follow the TLSX_ + "extension name" pattern; using names listed by IANA:
http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml

fixes ocsp response extensions parsing in asn.c;

fixes dir slashes in .gitignore: replaces '\' with '/';

removes trailing white spaces;
2015-10-26 18:11:38 -03:00
Jacob Barthelmeh
975452f585 configure error out when not finding libraries with fast-rsa 2015-10-26 13:11:11 -06:00
John Safranek
a42308e28a Add function ssl_FreeDecodeBuffer() to release the sniffer allocated data buffer and reset the pointer. 2015-10-26 12:01:21 -07:00
John Safranek
b05332c417 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-10-26 10:17:46 -07:00
toddouska
f99d3067c9 sniffer dynamic buffer release 2015-10-23 16:56:17 -07:00
toddouska
ab68f38236 have allocate extra byte in case user wants to null terminate returned plaintext 2015-10-23 16:38:59 -07:00
toddouska
d53b6a9132 handle sniffer realloc failure w/o leak 2015-10-23 16:19:26 -07:00
toddouska
880ec8cb09 sniffer owns data buffer now, user free(s) after use 2015-10-23 14:12:45 -07:00
toddouska
c90d0d9607 Merge branch 'sniffer' 2015-10-23 14:10:51 -07:00
toddouska
73f6666fc2 pre 3.7 2015-10-23 11:18:44 -07:00
Jacob Barthelmeh
dc31b9238f wolfcrypt init 2015-10-23 11:55:17 -06:00
John Safranek
2569cd2ca4 simplify the size check for storing a DTLS handshake message fragment 2015-10-21 15:04:55 -07:00
John Safranek
54e06cd04e added deallocator for DtlsPools 2015-10-21 15:04:55 -07:00
Jacob Barthelmeh
6b3c8e8b79 Merge https://github.com/wolfssl/wolfssl 2015-10-21 10:57:39 -06:00
Jacob Barthelmeh
f64f326ab3 work on cyassl -> wolfssl compatibility 2015-10-20 15:25:00 -06:00
toddouska
87668e7acd make external script test optional with env variable as CA changes more frequent than release 2015-10-20 11:56:46 -07:00
toddouska
d2bdea9d96 add new ca to wolfssl website 2015-10-20 11:28:25 -07:00
toddouska
66d8dc0c71 fix README candidiate typo 2015-10-20 11:22:10 -07:00
toddouska
1b311eb8e6 Merge pull request #166 from dgarske/master
Updated the INSTALL file with section for building with Rowley CrossW…
2015-10-20 11:18:45 -07:00
David Garske
f26a9f8a70 Updated the INSTALL file with section for building with Rowley CrossWorks and updated the prerequisites for building with *nix. 2015-10-20 09:44:04 -07:00
Jacob Barthelmeh
374e31b211 user crypto memory management 2015-10-20 09:22:43 -06:00
toddouska
7499175bdb fix jenkins sniffer changes 2015-10-19 15:09:36 -07:00
Jacob Barthelmeh
c132f9887e Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-10-19 13:56:39 -06:00
Jacob Barthelmeh
ee5a11b8d9 Add Intel IPP crypto for RSA
add user-crypto makefile

update README for IPP crypto

place user crypto in wolfcrypt and use autotools

adjust distributed files

move openssl compatibility consumption

auto use IPP RSA -- IPP directory containing shared libraries local

return value of wolfSSL_BN and formating of debug

openssh testing

make sure IPP not built when fips is

ipp init to select correct optimizations -- static libraries on linux -- fast-rsa disabled by default

try to only set library once

only use static IPP if fast rsa is enabled

make print out for user crypto more pretty
2015-10-19 13:51:49 -06:00
John Safranek
14d893aeb0 Add decrypt of AES-GCM to the sniffer. 2015-10-19 11:28:25 -07:00
toddouska
e1b0c0ac3d fix jenkins build#69 2015-10-16 15:12:37 -07:00
toddouska
c93c6c9bf4 add wolfSSL_new() pointer return check on all calls in example client 2015-10-16 14:12:38 -07:00
toddouska
1253c86c95 Merge branch 'alpn' 2015-10-16 14:06:33 -07:00
toddouska
4141ea8f83 example server to use cstd free for all build options 2015-10-16 14:05:37 -07:00
Ludovic FLAMENT
1bfc7c7921 Merge branch 'master' of https://github.com/wolfssl/wolfssl
Conflicts:
	examples/server/server.c
	src/ssl.c
	src/tls.c
	tests/api.c
	wolfssl/internal.h
	wolfssl/ssl.h
2015-10-16 08:01:29 +02:00
Ludovic FLAMENT
9ef43910ed Merge branch 'master' of https://github.com/wolfssl/wolfssl 2015-10-16 07:46:51 +02:00
David Garske
10eab5047a Fixed compile issues with example server/client. Fixed issue with using XMALLOC/XFREE being used in examples. Fixed issue with "int select_ret" declaration scope. Fixed issue with test.h HAVE_SESSION_TICKET "static rng" name. 2015-10-15 13:42:41 -07:00
Chris Conlon
d3584979a0 add JNI object storage in WOLFSSL struct 2015-10-15 13:30:03 -06:00
Chris Conlon
bfc8240dc5 Update --enable-jni to enable PSK, define WOLFSSL_JNI 2015-10-15 13:27:43 -06:00
David Garske
78bdaedad2 Fixed issues in example server with uninitialized variable and resume test. 2015-10-15 10:18:26 -07:00
toddouska
74e981093d fix merge conflict misses on alpn example letter change 2015-10-15 09:48:07 -07:00
Ludovic FLAMENT
d4f3419758 ALPN : add function to get in a server the list of supported protocols sent by the client. 2015-10-15 14:59:35 +02:00
David Garske
32171997e7 Updated Rowley CrossWorks README.md for enabling FREESCALE_MMCAU. Added sample benchmark output with MMCAU enabled. 2015-10-14 19:19:13 -07:00
David Garske
fdab3943be Added throughput benchmarking for client/server examples and added helper script "scripts/benchmark.test". Added example client option: "-B <num>" Benchmarking throughput. Added example server options: "-B <num>" Benchmark throughput, "-e" Echo data, "-i" Loop / Accept multiple connections. Cleanup of the include.am for examples. Cleanup of tcp_connect with DTLS enabled. Cleanup of the valid socket checking. Cleanup trailing whitespace. 2015-10-14 19:13:45 -07:00
Ludovic FLAMENT
ee8537fb6d Merge branch 'master' of https://github.com/wolfssl/wolfssl 2015-10-14 20:53:30 +02:00
toddouska
d6cb203210 fix tlsx library proper build with NO_SERVER or NO_CLIENT 2015-10-14 11:16:22 -07:00
toddouska
f2959168c9 Merge branch 'read-key' 2015-10-14 10:50:37 -07:00
toddouska
56af895c68 make sure pubkey in ecc private key has size 2015-10-14 10:48:37 -07:00
Jacob Barthelmeh
d2cc582939 fips related macros for configurations using AES direct and DES ECB 2015-10-14 10:51:39 -06:00
toddouska
52cdf85e26 move touch fips files for non fips distribution to autogen.sh for cleaner autoconf handling 2015-10-14 09:18:05 -07:00
toddouska
d7772dd254 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-10-13 15:00:59 -07:00
toddouska
a0a4386504 fix alpn example client merge command options 2015-10-13 15:00:53 -07:00
John Safranek
1359674fa7 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-10-13 14:52:20 -07:00
John Safranek
c0210491d9 don't try to defragment handshake messages outside the handshake 2015-10-13 14:21:39 -07:00
toddouska
dfc733a304 switch example client max fragment arg to -F to make -L open on both client and server 2015-10-13 14:13:12 -07:00
David Garske
67861bb222 Added crypto hardware mutex capabilities to wolfcrypt/wc_port. Added optional define "WOLFSSL_CRYPT_HW_MUTEX" to override use of hardware mutex. Enabled hardware mutex protection for Freescale MMCAU. Cleanup of the AES FREESCALE_MMCAU implementation to use wc_AesEncrypt/wc_AesDecrypt wrappers. Fixes #154. 2015-10-13 12:36:24 -07:00
Ludovic FLAMENT
10f5154389 ALPN : add option to continue in case of client/server protocol mismatch (like OpenSSL) 2015-10-13 09:38:40 +02:00
toddouska
8595890c51 change sniffer decode data to pointer to pointer 2015-10-12 18:10:24 -07:00
toddouska
3a0e25637e Merge branch 'mdk5-update' 2015-10-12 09:33:10 -07:00
Jacob Barthelmeh
c7264ff6d7 enable ecc with stunnel 2015-10-12 09:25:54 -06:00
John Safranek
2840fb47ef fix bounds check of handshake messages in TLS 2015-10-11 21:32:13 -07:00
toddouska
d18339f5f7 Merge pull request #162 from kaleb-himes/master
Modified scope for ChangeDirToRoot
2015-10-10 09:32:56 -07:00
kaleb-himes
7364884a69 Modified scope for ChangeDirToRoot 2015-10-09 22:04:41 -06:00
toddouska
ea1040cfe4 Merge branch 'fix-asn' 2015-10-09 17:00:48 -07:00
toddouska
92c222798e Merge branch 'master' of https://github.com/kaleb-himes/wolfssl into fix-asn 2015-10-09 16:56:53 -07:00
kaleb-himes
91e7d433f8 expected_configure test fixes. Squash for review.
fix for --enable-certservice --disable-md5

fix for --disable-md5 --enable-fortress

update macros to reflect referencing code logic for --disable-asn fix
2015-10-09 16:05:36 -06:00
toddouska
cf605f32dd Merge branch 'MDK5-3.6.9' of https://github.com/kojo1/wolfssl into mdk5-update 2015-10-09 10:39:15 -07:00
David Garske
6e61a095c7 Added new Xcode project for test suite. Added Xcode workspace file. Added library support for iOS and OS X targets. Updated project files to Xcode 7. Updated README. Added shared user_settings.h. Cleanup of the test.h "ChangeDirBack" function. Cleanup of duplicate ChangeDirBack() code in testsuite.c and adjusted for new Xcode build location. 2015-10-09 10:25:40 -07:00
Chris Conlon
7e5be2f313 fix resource cleanup in testsuite and wolfcrypt test 2015-10-09 10:57:55 -06:00
Ludovic FLAMENT
266936db93 fix warning on Windows 2015-10-09 16:00:53 +02:00
Ludovic FLAMENT
826034315e Merge branch 'master' of https://github.com/wolfssl/wolfssl 2015-10-09 15:23:41 +02:00
Ludovic FLAMENT
bf3b0a228d add support for Application-Layer Protocol Name (RFC 7301) in the TLS extensions 2015-10-09 15:18:41 +02:00
Takashi Kojo
26ca093c76 fixed errno with errno.h 2015-10-09 09:49:38 +09:00
Takashi Kojo
7e1d0ccb11 removed CyaSSL-Full project, replaced with wolfSSL-Full 2015-10-08 16:10:42 +09:00
Takashi Kojo
78ed5d96df echoclient for MDK fgets 2015-10-08 15:39:14 +09:00
Takashi Kojo
e242d3eea3 Change project name cyassl to wolfssl 2015-10-07 14:55:34 +09:00
Takashi Kojo
a80653f464 Eliminate local copies of examples/test/benchmark fro example projects 2015-10-07 14:52:18 +09:00
Takashi Kojo
504d3337de Catching up updated mMDK middleware packs 2015-10-07 14:46:11 +09:00
Takashi Kojo
cc2460b4a0 refactor options in test.h, eliminate cyassl_MDK_ARM.[ch] coupler functions, cert_data.[ch] 2015-10-07 14:39:23 +09:00
Takashi Kojo
cdc3d61b97 Refactoring WOLFSSL_MDK, MDK5 to KEIL_TCP_NET, KEIL_FS 2015-10-07 14:06:19 +09:00
John Safranek
9f6b07aec2 Merge branch 'defrag' 2015-10-06 20:21:06 -07:00
John Safranek
a7ae5155ce fix defragment of handshake messages in TLS 2015-10-06 20:18:55 -07:00
toddouska
6d49c308b7 require WOLFSSL_OPENSSL_TEST set for scripts/openssl.test to run, also disable in ipv6 test case because openssl s_server doesn't accept ipv6 2015-10-06 17:02:31 -07:00
David Garske
adb9d27e9e Fixed release distribution of the Rowley IDE example. Added section in README for required library functions. 2015-10-06 16:11:28 -07:00
David Garske
16ba3138a1 Added support for the Rowley CrossWorks for ARM IDE. Added new "WOLFSSL_ROWLEY_ARM" setting define. Added a sample solution (wolfssl.hzp) for building the WolfSSL library and sample test/benchmark applications. The sample applications are written for the Freescale Kinetis K64, but easily be customized for any Kinetis or further extended to support other ARM micro-controllers. 2015-10-06 10:45:46 -07:00
toddouska
3dda2965bd fix bash bracket string contains 2015-10-05 15:43:38 -07:00
toddouska
750302dd2e Merge branch 'script-openssl-test' 2015-10-05 15:34:38 -07:00
toddouska
236df9257b add openssl script suite test
switch to bash for 'read -ra <<<' for now
2015-10-05 15:33:37 -07:00
John Safranek
d6a5bfb53d Revert "revert defragment of handshake messages in TLS"
This reverts commit 6d21d328fb.
2015-10-05 15:31:39 -07:00
John Safranek
f06c08718c bump version for sniffer release 2015-10-05 10:14:07 -07:00
toddouska
b1c5f3b299 add show every cipher suite to examples/client 2015-10-02 16:26:20 -07:00
John Safranek
8c24fa1e66 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-10-02 15:59:15 -07:00
John Safranek
50d340c261 Merge branch 'sniffer-recovery' 2015-10-02 15:58:57 -07:00
John Safranek
0f6f404938 delete debugging breadcrumb 2015-10-02 15:55:40 -07:00
toddouska
ad51d4ba09 make sure fast invmod lowers result in too big case 2015-10-02 15:38:22 -07:00
John Safranek
9fe5401630 sniffer skips partially received record when fixing an ACK fault 2015-10-02 15:13:02 -07:00
John Safranek
1237b35bb8 add option to sniffer to try to restart decoding after an ACK fault 2015-10-02 11:26:45 -07:00
toddouska
27450aca7d increment explicit iv and zero nonce even on GCM/CCM failure 2015-10-02 11:24:32 -07:00
Jacob Barthelmeh
10276944d3 return value on AES CCM encrypt 2015-10-02 11:40:47 -06:00
toddouska
08771518a7 Merge branch 'freertos' 2015-10-02 10:28:10 -07:00
kaleb-himes
67e08e48c5 Github Issue #130 (XMALLOC_USER, NO_WOLFSSL_MEMORY) with FREERTOS 2015-10-02 10:56:19 -06:00
Jacob Barthelmeh
dd262fe939 fix on AES CCM nonce size 2015-10-01 17:42:03 -06:00
toddouska
8f32604542 Merge branch 'vxworks' 2015-09-29 11:59:29 -07:00
toddouska
3d110516f4 fixup WORKBENCH autoconf 2015-09-29 11:57:52 -07:00
toddouska
628a4e5ac2 Merge branch 'master' of https://github.com/lchristina26/wolfssl into vxworks 2015-09-29 11:55:06 -07:00
Leah
350fe922b9 Update README.md 2015-09-29 12:53:43 -06:00
Leah
914ed31ff2 Update README.md 2015-09-29 12:53:10 -06:00
Leah
389bbc94eb Update README.md 2015-09-29 12:51:03 -06:00
toddouska
f4250006b3 Merge branch 'vxworks' 2015-09-29 11:49:32 -07:00
lchristina26
46cd3a915b VxWorks README 2015-09-29 12:49:24 -06:00
toddouska
208f0eeb8e fix trailing whitespace 2015-09-29 11:48:46 -07:00
toddouska
799dfadf44 Merge branch 'master' of https://github.com/lchristina26/wolfssl into vxworks 2015-09-29 11:46:18 -07:00
lchristina26
7c9490844a fix formatting for vxworks commits 2015-09-29 12:22:03 -06:00
lchristina26
3c2712da31 vxworks compatibility additions 2015-09-29 12:12:35 -06:00
toddouska
d94321ecfb Merge branch 'freertos-tcp' 2015-09-28 16:16:14 -07:00
toddouska
b403036c77 Merge branch 'FreeRTOS_TCP' of https://github.com/kojo1/wolfssl into freertos-tcp 2015-09-28 16:13:21 -07:00
toddouska
77b1649638 Merge branch 'idea' 2015-09-28 15:25:43 -07:00
toddouska
28912621ec switch idea invmod too big to subtraction 2015-09-28 15:24:32 -07:00
toddouska
292e05dc75 switch memset / memcpy to XMEM in src and wolfcrypt/src proper 2015-09-28 11:37:00 -07:00
toddouska
a8b5c57dd2 make sure external tests have a valid cipher 2015-09-28 09:47:59 -07:00
toddouska
cab37ef24e Merge https://github.com/lfcrypto/wolfssl into idea 2015-09-28 09:32:55 -07:00
Ludovic FLAMENT
c7193672a5 fix IDEA modular inverse, add CBC tests with random values 2015-09-27 15:05:01 +02:00
Takashi Kojo
0a530c1b70 #pragma worning for Visual Studio 2015-09-26 08:49:03 +09:00
Takashi Kojo
f450ac0684 settings.h: GenSeed for test only option 2015-09-26 08:03:49 +09:00
toddouska
ab269b277e Merge branch 'master' into idea 2015-09-25 15:48:00 -07:00
toddouska
8c01c8d8e1 Merge branch 'master' of https://github.com/lfcrypto/wolfssl into idea 2015-09-25 15:42:31 -07:00
toddouska
ac79effa42 Merge branch 'ca-continue' 2015-09-25 15:40:04 -07:00
Ludovic FLAMENT
71576aef14 fix bad computed values 2015-09-25 23:52:08 +02:00
toddouska
3451ab2f5d Merge branch 'CA_continue' of https://github.com/NickolasLapp/wolfssl into ca-continue 2015-09-25 14:18:16 -07:00
Takashi Kojo
0c95a5e940 Adding FreeRTOS TCP support, FREERTOS_TCP option 2015-09-25 10:51:35 +09:00
Ludovic FLAMENT
ae6b4be135 fix idea_mult
move reg and tmp buffer to word32
2015-09-24 22:55:11 +02:00
toddouska
42d94a0f7f wolfssl.com now requires ECDHE or static RSA 2015-09-24 12:19:38 -07:00
toddouska
465622d4e0 wolfssl.com now uses old chacha-poly, detect for external test 2015-09-24 12:13:01 -07:00
Nickolas Lapp
755e844f05 CA parsing to continue after failure when possible 2015-09-24 11:14:07 -06:00
Chris Conlon
edc9a24681 fix hard tabs in icerts/1024/include.am 2015-09-24 10:03:27 -06:00
Chris Conlon
86bdeaf490 add new 1024 certs/keys to include.am 2015-09-24 10:00:32 -06:00
Ludovic FLAMENT
86d74efc37 return IdeaCbc{Encrypt/Decrypt} error code 2015-09-24 08:13:43 +02:00
toddouska
9848701dab make sure options.h captures user CFLAGS now too 2015-09-23 16:27:48 -07:00
toddouska
dc1baabd27 update wolfssl website ca 2015-09-23 16:19:55 -07:00
toddouska
d669fc28c2 add idea benchmark, cleanup 2015-09-23 14:42:48 -07:00
Chris Conlon
aa3780f6b0 add example 1024-bit server/CA certs and keys for testing 2015-09-23 13:37:34 -06:00
toddouska
c4e1bdcb29 Merge branch 'master' of https://github.com/lfcrypto/wolfssl into idea 2015-09-23 12:03:58 -07:00
toddouska
2ded079e95 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-09-23 11:21:38 -07:00
toddouska
7393b0eea0 allow user to free x509 object in static case (no op) 2015-09-23 11:20:40 -07:00
toddouska
31439e2baa remove unneeded tmp from plain DES cbc decrypt 2015-09-23 11:01:22 -07:00
Ludovic FLAMENT
f68400da40 add IDEA cipher (ECB and CBC mode)
add support of SSL_RSA_WITH_IDEA_CBC_SHA cipher suite (SSLv3, TLS v1.0 and TLSv1.1)
2015-09-23 16:16:39 +02:00
Chris Conlon
207859cde8 fix typos in README, ssl.c 2015-09-22 15:40:46 -06:00
John Safranek
2c87cfa983 initialize CFLAGS in configure as empty, remove erasing it when hardening CFLAGS 2015-09-17 16:36:53 -07:00
toddouska
8ba207e477 Release 3.6.8 prep 2015-09-16 14:57:43 -07:00
Jacob Barthelmeh
6d21d328fb revert defragment of handshake messages in TLS 2015-09-16 11:57:58 -06:00
John Safranek
329e6a6207 update the example server and echoserver to correctly generate the DTLS cookie 2015-09-15 17:23:52 -07:00
Jacob Barthelmeh
578ea44e1e check on return values of QSH 2015-09-15 17:46:45 -06:00
toddouska
764fadeb3b add sanity checks to internal RsaVerifySign inputs 2015-09-15 16:16:04 -07:00
toddouska
e0bdaf8146 Merge pull request #138 from kaleb-himes/VS_fix
fix for sniffer link error in vcproj
2015-09-15 14:40:25 -07:00
kaleb-himes
7858d412b9 fix for sniffer link error in vcproj 2015-09-15 15:34:47 -06:00
toddouska
906cc84f94 Merge pull request #137 from kaleb-himes/VS_fix
fix link error in sniffer
2015-09-15 14:07:10 -07:00
kaleb-himes
2a3863058f fix link error in sniffer 2015-09-15 14:37:27 -06:00
toddouska
797bcb6340 Fix Visual Studio warning/errors 2015-09-15 12:13:11 -07:00
toddouska
cdacb50336 Merge pull request #136 from NickolasLapp/master
Fix GCC Compiler warning, fix stunnel naming conflict
2015-09-14 18:56:06 -07:00
toddouska
9bdcd59338 fix dtls cookie leak 2015-09-14 17:13:16 -07:00
Nickolas Lapp
d70e0422a7 Fix naming conflict in stunnel psk_XXX_callback 2015-09-14 18:00:38 -06:00
Nickolas Lapp
274be55679 Fix GCC compiler warning 2015-09-14 17:57:24 -06:00
John Safranek
9ceb89b114 Merge branch 'dtls-cookie' 2015-09-14 16:13:49 -07:00
John Safranek
b62e5d57fe 1. improved DTLS cookie generation, uses HMAC and parts of Client Hello
message
2. add function to set the cookie Hmac key
3. removed server state for hello verify message
2015-09-14 16:05:30 -07:00
toddouska
98603b1547 fix +keygen +dsa +opensslextra -filesystem build 2015-09-14 14:18:25 -07:00
toddouska
097250755a Merge branch 'ludovic' 2015-09-14 13:30:10 -07:00
toddouska
91fdc67571 fix cert_ext statics not used with sep 2015-09-14 13:25:15 -07:00
toddouska
de04565c1e fix cert_ext test memory leak 2015-09-14 13:15:53 -07:00
toddouska
7391fc7e89 Merge https://github.com/lfcrypto/wolfssl into ludovic 2015-09-14 13:01:53 -07:00
toddouska
d8905a0110 move XSTRTOK to STRING_USER where it belongs 2015-09-14 13:00:26 -07:00
Ludovic FLAMENT
10165e966c remove OPENSSL_EXTRA requirement 2015-09-14 21:14:01 +02:00
Ludovic FLAMENT
0ecd6435e9 remove CERT_EXT from enable-bump
cortex test are only done if openssl extra is set
2015-09-14 18:45:14 +02:00
Ludovic FLAMENT
08d1f33d30 remove snprintf
use strtok thread safe version
add output size for sanity checks in some functions
2015-09-12 23:17:53 +02:00
toddouska
de64092a70 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-09-11 15:53:26 -07:00
toddouska
dbe08087e9 Merge branch 'ludovic' 2015-09-11 15:52:44 -07:00
toddouska
989f5ffb24 handle gmtime failures 2015-09-11 15:49:55 -07:00
toddouska
29270d88a4 remove another stdio.h assumption, breaks NO_FILESYSTEM 2015-09-11 15:13:47 -07:00
toddouska
c0f15b9326 DEBUG_WOLFSSL can't assume C standard headers, fix 2015-09-11 14:12:27 -07:00
toddouska
088467d312 fix autoconf with new certext files 2015-09-11 14:10:11 -07:00
toddouska
5654d4beee fix no_filesystem with certext 2015-09-11 14:04:40 -07:00
toddouska
21cf0e437e add --enable-cryptonly build option 2015-09-10 16:24:25 -07:00
John Safranek
a53d05c8bd updated sniffer statistics for missed sessions and reassembly buffer usage 2015-09-10 11:06:48 -07:00
toddouska
4785cbf616 fix opensslextra with debug without filesystem 2015-09-09 12:47:45 -07:00
toddouska
b6b385fe11 fix opensslextra with no filesystem 2015-09-09 12:38:28 -07:00
toddouska
80c5fecdb2 user CA adds use same policy as Context Verify for verification 2015-09-09 12:19:53 -07:00
toddouska
5bbcda3c79 add TLS signature fault checks indpendent of build options, plugins, callbacks, etc 2015-09-09 09:59:10 -07:00
toddouska
108679970a allow cert_ext to work w/o openssl extra 2015-09-08 16:44:13 -07:00
toddouska
2f70f27adc Merge branch 'master' of https://github.com/lfcrypto/wolfssl into ludovic 2015-09-08 14:46:53 -07:00
toddouska
7e2906de52 add new sniffer APIs, framework 2015-09-08 14:31:32 -07:00
Jacob Barthelmeh
10ad789c6f set inital value in NTRU rsa_test 2015-09-08 10:27:44 -06:00
Ludovic FLAMENT
25f24ed34f fix to build on Fedora 32bits and Windows 2015-09-08 08:49:29 +02:00
Ludovic FLAMENT
b685dfb2e7 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-09-07 10:23:46 +02:00
Ludovic FLAMENT
d2ea6f7ef0 Add support for :
- PEM public key loading
  - set/get KeyUsage in CSR and X.509
  - set/get SKID in CSR and X.509
  - set/get AKID in X.509
  - set/get two Certificate Policies OID in X.509
2015-09-07 09:51:21 +02:00
toddouska
6041b117d6 fix fips-check freertos help string 2015-09-04 11:05:53 -07:00
John Safranek
58a36566cb allow for DTLS1.0 version record headers for client hello and hello verify 2015-09-03 15:35:01 -07:00
John Safranek
6dd85815bf added freertos build to fips-check script 2015-09-03 14:05:09 -07:00
Moisés Guimarães
316302cec3 fixes SRP documentation. 2015-09-03 12:21:22 -03:00
Moisés Guimarães
12bf9b4430 fixes conflict with reserver names used as variable names;
adds NOT_COMPILED_IN error when trying to use SRP with a hash not compiled in.
2015-09-03 12:06:56 -03:00
John Safranek
c34082b7ba updated fips-check script with proper win versions 2015-09-01 17:57:37 -07:00
Takashi Kojo
aaaebf6213 pkcs7 rolling back static values to auto 2015-09-02 08:59:04 +09:00
Chris Conlon
be5ac590b7 Freescale: Add KSDK FreeRTOS build, using fastmath 2015-09-01 15:37:11 -06:00
toddouska
e604ca1d3c Merge branch 'kojo-mdk5' 2015-09-01 13:35:47 -07:00
toddouska
ebea6145f6 change generice define to more specific for pkcs7 digest size 2015-09-01 13:33:26 -07:00
toddouska
31500d0d12 Merge branch 'MDK5' of https://github.com/kojo1/wolfssl into kojo-mdk5 2015-09-01 11:35:58 -07:00
toddouska
05bef43c1e bump dev version 2015-09-01 11:31:46 -07:00
Takashi Kojo
3b468bc1ef internal.c: declaration after exection statements 2015-09-01 09:40:08 +09:00
Takashi Kojo
efb06e2559 rolling back internal.c for master conflict 2015-09-01 09:29:44 +09:00
toddouska
928d2b7caa add build optional skip crl next date if missing 2015-08-31 17:02:15 -07:00
toddouska
a56a8a22e5 add idrect dev time 2015-08-31 15:02:41 -07:00
toddouska
6969453d06 allow CRL with NO_FILESYSTEM 2015-08-31 14:57:23 -07:00
toddouska
553fc283c9 add Buffer Load CRL 2015-08-31 14:23:50 -07:00
toddouska
f8445193a4 add idirect generate seed 2015-08-31 13:55:56 -07:00
toddouska
1368ae1fb1 add SHA512 signature creation 2015-08-31 13:51:52 -07:00
toddouska
756cff4cb4 add Rsa Public Key To Der, non FIPS mode 2015-08-31 13:29:22 -07:00
toddouska
cf38d1c022 detect SetSSL_CTX requirements and error out early 2015-08-31 11:57:30 -07:00
Takashi Kojo
2f3b7d3567 mdk portability, fixed declaration after executing statements 2015-08-30 13:38:52 +09:00
Takashi Kojo
18383d286a fixed uITRON, uTKernel option 2015-08-30 10:25:09 +09:00
Takashi Kojo
dc68832dba TIRTOS Semaphore_create error check 2015-08-30 08:36:33 +09:00
Takashi Kojo
122b2e9753 pkcs7: rolling back to static values 2015-08-29 22:02:23 +09:00
Takashi Kojo
f5ee6d616c Merge remote-tracking branch 'origin/MDK5' into MDK5 2015-08-29 21:24:44 +09:00
Takashi Kojo
cf80a6f639 pkcs7: avoid initial value of pointer to auto value for embedded compilers 2015-08-29 21:22:30 +09:00
Takashi Kojo
572a8cfc11 hmac.c: fixed warning, statement is unreachable 2015-08-29 18:04:57 +09:00
Takashi Kojo
6ff9f96809 inline to INLINE 2015-08-29 14:07:55 +09:00
Takashi Kojo
539bc81682 blake2b: declaration after execution statements, for embedded compiler 2015-08-29 12:30:40 +09:00
Takashi Kojo
2a141f6a82 ed25519: fixed initial data to auto values for embedded compilers 2015-08-29 12:08:52 +09:00
Takashi Kojo
df2216d092 Fixed file access mode 2015-08-29 11:32:30 +09:00
Takashi Kojo
e459bb2e23 Fixed file access mode 2015-08-29 11:08:07 +09:00
toddouska
1ba1acb8f7 Merge branch 'nlapp' 2015-08-28 16:08:16 -07:00
Nickolas Lapp
10b2cf4f2f turn on ecc with Stunnel 2015-08-27 17:44:55 -06:00
Nickolas Lapp
42428f10ad Remove uneccessary defines from compat. layer 2015-08-27 13:27:33 -06:00
Nickolas Lapp
d336268caa Turns on PSK when compiling for stunnel 2015-08-27 12:57:43 -06:00
Ada Lovelace
565f2ce1d7 Stunnel with psk compiles against 2015-08-27 12:57:43 -06:00
Nickolas Lapp
0b72b28b13 reorganize InitSSL. Rename forcekeep->cacheOnly. Free instead of decrement 2015-08-27 12:57:43 -06:00
Nickolas Lapp
122b94ea6e Stunnel needs sni and tlsext 2015-08-27 12:57:43 -06:00
Nickolas Lapp
1787e04b23 Enum should be int, not byte 2015-08-27 12:57:43 -06:00
Nickolas Lapp
90ad5336fc Fix uninitialized warning 2015-08-27 12:57:43 -06:00
Nickolas Lapp
900edc04e5 Adding sni to mimic openssl functionality 2015-08-27 12:57:43 -06:00
toddouska
30067d4f59 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-08-27 11:36:43 -07:00
toddouska
5e26a5c8fc fix alt_ecc_size exptmod with negative numbers 2015-08-27 11:18:06 -07:00
Chris Conlon
5e95740d93 Freescale: Add KSDK Bare Metal build, TRNG support 2015-08-27 11:45:40 -06:00
toddouska
1ee27f7a04 Merge branch 'ecc-keygen' 2015-08-27 10:32:21 -07:00
toddouska
3814871f71 merge pull request #82, suite b ecc key-gen 2015-08-27 10:31:22 -07:00
toddouska
3c614b5ba7 manual merge pull request #83, ALT_ECC_SIZE fix 2015-08-27 10:18:00 -07:00
toddouska
e8c17ed2bb fix defrag member layout, add comments 2015-08-26 12:13:07 -07:00
toddouska
f2db01bef2 fix defrag memory errors 2015-08-26 12:10:10 -07:00
John Safranek
cc216d5079 InitSuites to disallow stream ciphers for DTLS sessions 2015-08-26 14:16:13 -04:00
John Safranek
5a1a076131 update README(.md) typo 2015-08-26 12:27:28 -04:00
John Safranek
7d067dfec6 defragment the handshake messages in TLS 2015-08-25 21:09:19 -04:00
toddouska
cb51432dc8 update README.md ia32 register note 2015-08-25 16:11:26 -07:00
toddouska
e02f177c10 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-08-25 14:58:23 -07:00
toddouska
9ee88b54f8 add ia32 fastmath register note about --without-pic and fPIE 2015-08-25 14:58:05 -07:00
John Safranek
bd65b06459 remove name decorator from wolfcrypt error reporting function prototypes 2015-08-21 21:49:43 -07:00
John Safranek
5ce39e147d clean up sniffer packet overlap issue 2015-08-20 18:54:16 -07:00
John Safranek
a93aa8972e fix sniffer crash with reassembly processing 2015-08-20 18:54:16 -07:00
toddouska
a47af476d1 add REAMDE note about static cipher suites disabled and compiler error detection 2015-08-20 17:11:00 -07:00
Ludovic FLAMENT
d49499df4c Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-20 13:40:12 +02:00
Ludovic FLAMENT
66e91beb2d Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-20 13:22:30 +02:00
toddouska
2f1836d985 fix snifftest bsd build 2015-08-19 16:52:16 -07:00
toddouska
dfb8d34d0b 3.6.6 release notes 2015-08-19 14:18:48 -07:00
John Safranek
b3aa98147a fix description text for enable-sslv3 configure option 2015-08-19 12:29:20 -07:00
Ludovic FLAMENT
c6ef29ac4c Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-19 08:18:05 +02:00
Ludovic FLAMENT
33595a0b3c Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-19 08:08:49 +02:00
John Safranek
b0d90918f9 fix issue between certificate fragmentation and secure renegotiation 2015-08-18 21:00:17 -07:00
toddouska
c1d663f22d Merge branch 'kojo-ti' 2015-08-18 12:32:25 -07:00
toddouska
3b9ec2c119 add extern C to hash.h 2015-08-18 12:31:34 -07:00
toddouska
15995d1b2c Merge branch 'TI_hash' of https://github.com/kojo1/wolfssl into kojo-ti 2015-08-18 12:27:57 -07:00
Takashi Kojo
82aaff9e43 Eliminate hash free in DoRound with non-TI case 2015-08-18 11:22:51 +09:00
John Safranek
5cffea7aac clean static analysis report in cert fragmentation 2015-08-17 17:27:29 -07:00
toddouska
049a4c6460 fix C++ mode warnings 2015-08-17 16:47:39 -07:00
toddouska
c812379924 fix shadow decl in DsaKeyToDer() 2015-08-17 14:39:40 -07:00
Takashi Kojo
6376736129 HashFree for TI hash memory leak 2015-08-15 16:51:23 +09:00
John Safranek
4fb0519b37 clean up GCC and VS build warnings 2015-08-14 15:06:12 -07:00
toddouska
09b2da799f Merge pull request #125 from kojo1/MDK4
MDK4 name change
2015-08-14 14:59:25 -07:00
Chris Conlon
34ac1a33f3 Freescale: Add support for KSDK (FREESCALE_KSDK_MQX) 2015-08-14 15:21:23 -06:00
toddouska
a4cbc3b943 fix google external test w/o ecdhe 2015-08-14 12:58:00 -07:00
toddouska
8374a461d0 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-08-14 12:50:14 -07:00
toddouska
7fa4302a80 disable static PSK cipher suites by default 2015-08-14 12:49:30 -07:00
John Safranek
d12308a053 SendCertificate fragments the message based on max_fragment setting for TLS and DTLS. 2015-08-14 11:06:42 -07:00
Jacob Barthelmeh
0f9f4ea7e0 add macro blocks to make it easier on embedded devices and fix declaration after executable code 2015-08-14 09:58:44 -06:00
Takashi Kojo
e6ab7de923 TI hardware hash driver memory leak in dummy rounds 2015-08-14 07:44:13 +09:00
John Safranek
8cc9c62911 skip past the pad and mac when skipping a finished message in DTLS 2015-08-13 14:29:56 -07:00
toddouska
b5ac17539e Merge pull request #127 from kaleb-himes/master
Dynamic Libraries for windows-fips project
2015-08-13 12:46:50 -07:00
toddouska
fb35dc61db disable static rsa cipher suites in non max strength build by default 2015-08-13 11:05:07 -07:00
unknown
6e2dcdbb73 reset to vs 2010 toolset in .sln file 2015-08-13 12:04:06 -06:00
unknown
e9f63f0e17 Release-32 working 2015-08-13 12:03:42 -06:00
Ludovic FLAMENT
838a873cf1 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-13 10:20:47 +02:00
toddouska
4eafff0c21 Merge pull request #126 from NickolasLapp/scan_build_errs
Changes to remove scan-build warnings when compiling with full build
2015-08-12 16:42:47 -07:00
toddouska
deb5d8ab08 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-08-12 16:41:41 -07:00
toddouska
46e7e9acf9 disable SSLv3 by default 2015-08-12 16:39:13 -07:00
Jacob Barthelmeh
f6c5231e68 fix shadowed declaration on power pc (shadowed asn.h Oid_Types enum) 2015-08-12 14:30:12 -06:00
Nickolas Lapp
910fd79a1d Changes to remove scan-build warnings when compiling with full build 2015-08-12 13:58:23 -06:00
Takashi Kojo
2b35a8242e MKD file reference path 2015-08-12 19:49:30 +09:00
Takashi Kojo
3af082de39 Remove unused file 2015-08-12 17:58:49 +09:00
Takashi Kojo
9af596dfff add config files 2015-08-12 17:55:18 +09:00
Takashi Kojo
6b1e351d4d Merge branch 'master' into MDK4 2015-08-12 17:30:47 +09:00
Takashi Kojo
30f6bc1e27 MDK4, wolfSSL name change 2015-08-12 16:45:40 +09:00
unknown
b0bc9e0f0d Remove hard tabs, update DLL-x64-Release 2015-08-11 15:14:19 -06:00
toddouska
ffa75d40e0 disable static dh cipher suites in non max strength build by default 2015-08-11 12:25:40 -07:00
toddouska
4cf78a2dab Merge pull request #124 from jay/fix-mixed-declarations
fix mixed declarations by moving them to their block start
2015-08-10 14:31:05 -07:00
Jacob Barthelmeh
241e375b34 add wc_encrypt and hash to the MYSQL cmake 2015-08-10 13:30:57 -06:00
John Safranek
d367f7ac93 Add wc_encrypt.c to the iOS Xcode project files. 2015-08-10 11:59:19 -07:00
unknown
c4cbcff6e0 remove hard tabs 2015-08-10 10:27:24 -06:00
unknown
51b9d2bf9d DLL-Debug-x64 working 2015-08-10 10:25:00 -06:00
Chris Conlon
4b74e96542 remove stdio.h from dsa.c 2015-08-10 09:34:16 -06:00
Jay Satiro
e179da07d0 fix mixed declarations by moving them to their block start
In Visual Studio <= 2012 C99 mixed declarations aren't supported.
2015-08-10 01:54:25 -04:00
John Safranek
106abb873f skip the sanity check on a duplicate change cipher spec message in DTLS mode, they are allowed 2015-08-08 23:57:02 -07:00
Takashi Kojo
e16ff73273 Added wc_encrypt.c and other *.c files. 2015-08-08 10:12:05 +09:00
John Safranek
8b0d7cc8da don't let sniffer try to parse handshake messages after the handshake has completed, new error for secure renegotiation not supported 2015-08-07 15:48:04 -07:00
Chris Conlon
0cd893a51b Freescale: Use new I/O where applicable 2015-08-07 16:22:31 -06:00
Chris Conlon
a80777179b update MPLABX README 2015-08-07 14:36:47 -06:00
Chris Conlon
5d40c5f566 Rename RNG to WC_RNG for Freescale, add NO_OLD_RNGNAME define to completely remove RNG type usage 2015-08-07 11:53:19 -06:00
toddouska
ca41d52f68 Merge pull request #123 from lchristina26/master
move MBED GenerateSeed() due to duplicated code
2015-08-07 09:52:19 -07:00
toddouska
490caf87c3 Merge pull request #122 from kaleb-himes/no-md5-with-hc128
fix for test failure with --enable-hc128 --disable-md5
2015-08-07 09:52:07 -07:00
toddouska
d3c8ff3488 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-08-07 09:42:07 -07:00
toddouska
50fd2538ff Merge branch 'srp' 2015-08-07 09:41:44 -07:00
toddouska
0a037d39ff fix srp request; forcezero, check mp_init(), no leaks 2015-08-07 09:37:22 -07:00
lchristina26
9397b9e10f move MBED GenerateSeed() due to duplicated code 2015-08-06 16:40:36 -06:00
kaleb-himes
08111ab59f fix for test failure with --enable-hc128 --disable-md5 2015-08-06 10:43:55 -06:00
Chris Conlon
716ab20afa Update MPLABX project files, define WOLFSSL_HAVE_MIN in MICROCHIP_PIC32 2015-08-06 10:25:47 -06:00
Jacob Barthelmeh
590f3e1ca0 Merge pull request #113 from lfcrypto/wolfssl
add check of ret value
2015-08-06 09:01:12 -07:00
Ludovic FLAMENT
aa0852bf71 Fix Curve25519 test 2015-08-06 08:51:41 -07:00
Ludovic FLAMENT
d050c10581 add support for curve 25519 and Ed25519 in OpenSSH
refactor curve25519 and Ed25519 code
fix warning in PEM_xxx_mem_xxx functions
2015-08-06 08:51:41 -07:00
unknown
865d88ce3e rewind tool version 2015-08-05 15:55:05 -06:00
unknown
42a50d2caf Release x64 tested and working 2015-08-05 15:41:46 -06:00
unknown
f45ef26977 DLL-x64 and Debug-x64 removed x86 constraint 2015-08-05 11:28:07 -06:00
unknown
92b725dfd7 DLL-Debug-32 tested and linking properly 2015-08-05 11:16:21 -06:00
toddouska
ba83b54616 Merge branch 'master' into srp 2015-08-04 15:49:04 -07:00
toddouska
f30a11f5ce Merge branch 'kaleb' 2015-08-04 15:33:05 -07:00
toddouska
ae397a0b7c Merge branch 'fix_logic' of https://github.com/kaleb-himes/wolfssl into kaleb 2015-08-04 15:30:27 -07:00
toddouska
ca66b59815 Merge pull request #120 from kaleb-himes/update_window_projects
updated existing projects to include wc_encrypt.c
2015-08-04 15:28:18 -07:00
kaleb-himes
b15e5b1747 updated existing projects to include wc_encrypt.c 2015-08-04 15:31:40 -06:00
kaleb-himes
121a24ba15 update logic for ECC FASTMATH KEY-GEN and COMP-KEY 2015-08-04 15:11:01 -06:00
Moisés Guimarães
114e3edc27 add srp example to test.c 2015-08-04 16:02:44 -03:00
Moisés Guimarães
690cb14746 makes sure random values are safe. 2015-08-04 15:31:18 -03:00
Moisés Guimarães
12b8445153 adds key generation function callback option. 2015-08-04 13:36:58 -03:00
Moisés Guimarães
f31c32bea2 adds docs using doxygen style. 2015-08-04 01:07:24 -03:00
Moisés Guimarães
1d99bd3339 removes u from srp struct. 2015-08-04 01:07:24 -03:00
Moisés Guimarães
53224281d2 adds proof getter and verifier for both sides. 2015-08-04 01:07:24 -03:00
Moisés Guimarães
490d063dec adds key computation.
removes unnecessary fields from the srp struct.
2015-08-04 01:07:24 -03:00
Moisés Guimarães
ba0c75011b adds secret computation. 2015-08-04 01:07:24 -03:00
Moisés Guimarães
6ee788277f adds tests to SrpSetPassword(), SrpSetVerifier(), SrpGetVerifier();
adds SrpGenPublic() and SrpSetPrivate() with unit tests;
fixes k with left pad at g;
adds new error SRP_CALL_ORDER_E to force the functions to be called in the right order.
2015-08-04 01:07:24 -03:00
Moisés Guimarães
6d5efccc55 finishes SrpSetPassword(), SrpSetVerifier(), SrpGetVerifier();
updates client_proof during SrpSetParams();
2015-08-04 01:07:24 -03:00
Moisés Guimarães
8b23b86659 Adds hash type directly inside SrpHash and removes temp hash from Srp struct. 2015-08-04 01:07:24 -03:00
Moisés Guimarães
119dd0250e fixes field types in SRP structure;
adds new memory allocation type (DYNAMIC_TYPE_SRP);
improves wc_SrpInit;
adds wc_SrpTerm(), wc_SrpSetUsername(), wc_SrpSetParams(), wc_SrpSetPassword();
2015-08-04 01:07:24 -03:00
Moisés Guimarães
dfa956d227 adds wc_SrpInit() with unit tests. 2015-08-04 01:07:24 -03:00
Moisés Guimarães
6d7b5bd2f8 adds srp files to build process. 2015-08-04 01:07:24 -03:00
Moisés Guimarães
daf01977a1 adds SRP client and server structures. 2015-08-04 01:07:24 -03:00
toddouska
08959624f2 fix ed25519 with external hash functions 2015-08-03 15:30:07 -07:00
toddouska
b330bca4b7 Merge pull request #114 from lchristina26/master
updates to FREERTOS settings
2015-08-03 10:59:36 -07:00
toddouska
6c02a9acb7 Merge pull request #115 from kaleb-himes/master
re-format test-psk-no-id.conf add README
2015-08-03 10:56:42 -07:00
kaleb-himes
273a0dd4d5 re-format test-psk-no-id.conf add README 2015-08-03 11:04:18 -06:00
toddouska
ad39c6137c Merge branch 'kaleb' 2015-08-03 09:33:40 -07:00
toddouska
37ba6aeee7 fix psk no identify hint example logic 2015-08-03 09:32:51 -07:00
toddouska
5adda01e98 Merge https://github.com/kaleb-himes/wolfssl into kaleb 2015-08-03 09:19:45 -07:00
lchristina26
f8feb339fc updates to FREERTOS settings 2015-08-03 10:13:42 -06:00
Ludovic FLAMENT
281ba1c4c5 Fix Curve25519 test 2015-08-03 09:05:02 +02:00
Ludovic FLAMENT
409126a97c add support for curve 25519 and Ed25519 in OpenSSH
refactor curve25519 and Ed25519 code
fix warning in PEM_xxx_mem_xxx functions
2015-08-01 18:28:18 +02:00
kaleb-himes
303fb2bb62 Option for no PSK Id Hint and test cases
update comment file reference
2015-07-31 22:00:28 -06:00
toddouska
2ade35c65a expose have 128bit type to options flags 2015-07-31 16:43:59 -07:00
toddouska
3fb10301f6 fix build 267, case 743 blak2b w/o md5 2015-07-31 16:29:35 -07:00
toddouska
16b0120028 fix build 267, base 1361 fp ecc w/ no memory 2015-07-31 11:57:35 -07:00
toddouska
409b044ec7 fix build 267, case 1299 ocsp + iopool (no stdlib) 2015-07-31 11:44:09 -07:00
toddouska
c14398cb7a fix build 267 case 1197, pwdbases -des3 warning 2015-07-31 11:40:14 -07:00
toddouska
59e894d6a4 fix build 267 case 1044, dhe + psk w/o aes 2015-07-31 11:35:16 -07:00
toddouska
75b9d809b3 fix build 267 case 932, certgen w/o sha 2015-07-31 11:24:34 -07:00
toddouska
1470789ac6 fix build 483 with wc_encrypt 2015-07-31 11:13:05 -07:00
toddouska
342b19496d Merge branch 'master' of github.com:wolfssl/wolfssl 2015-07-30 16:46:27 -07:00
toddouska
cc604d23be fix psk no server hint sanity check 2015-07-30 16:45:31 -07:00
John Safranek
5d7388f879 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-07-30 16:38:06 -07:00
John Safranek
95db44def3 remove autogen clone of fips repo; pre-push runs fips-check if fips directory exists 2015-07-30 16:33:14 -07:00
toddouska
97853dc3c2 keep resume script from endless loop on bad startup 2015-07-30 16:31:14 -07:00
John Safranek
27371263b7 move variable declaration to beginning of block 2015-07-30 14:47:52 -07:00
John Safranek
bcaa8cde06 fix pre-push calling fips-check with unimplemented option 2015-07-30 14:32:16 -07:00
John Safranek
e1513c30d2 added a pre-push hook. move fips test to pre-push check 2015-07-30 14:24:45 -07:00
toddouska
2cbb30745e bump dev version 2015-07-30 12:59:17 -07:00
toddouska
78cc76b3cd move DES oneshot APIs out of des.[hc] 2015-07-30 12:51:33 -07:00
toddouska
011fdc1103 move AES oneshot calls out of aes.[hc] 2015-07-30 12:42:25 -07:00
toddouska
6d172fce32 hash.h should pull in types before checking defines 2015-07-29 14:40:57 -07:00
toddouska
12ffa1b778 fix small stack with hash changes 2015-07-29 10:43:54 -07:00
toddouska
b8fac462cd No oneshot Hash() in FIPS c files anymore 2015-07-28 16:55:58 -07:00
toddouska
e97a60c647 move wc_Sha512/384 Hash() outside of sha512.[hc] 2015-07-28 16:41:32 -07:00
toddouska
9d2b711796 add wc_Sha256Hash() outside of sha256.[hc] 2015-07-28 16:34:23 -07:00
toddouska
2f3b7b05ba move wc_ShaHash() outside of sha.[hc] 2015-07-28 16:30:10 -07:00
toddouska
480bab467d fix warning 2015-07-28 09:35:28 -07:00
toddouska
388d023df6 put rsa non public enums back into c file for FIPS 2015-07-28 09:29:47 -07:00
toddouska
8ff692b772 Merge pull request #109 from NickolasLapp/master
Fixed bug when getting PEM encoded sz of cert chain. Add idx check
2015-07-27 15:05:39 -07:00
toddouska
38fb8caec8 restore FIPS des3 build w/o opensslextra 2015-07-27 14:56:26 -07:00
Nickolas Lapp
b85637e06b Fixed bug when getting PEM encoded sz. Add idx check 2015-07-27 10:43:49 -06:00
toddouska
e363848ecc fix jenkins build #465 with kegen changes 2015-07-24 19:19:53 -07:00
toddouska
4ba57a609c Merge branch 'ludovic' 2015-07-24 15:39:54 -07:00
toddouska
0a975eaff9 fix valgrind warning mp_add_d 2015-07-24 15:34:56 -07:00
Nickolas Lapp
5780f4d5f7 stub notices. edited b64 encode size. err cert depth/sn 2015-07-24 16:30:16 -06:00
Chris Conlon
9038ea018a Freescale/RTCS fixes for io.c 2015-07-24 15:06:58 -06:00
toddouska
45ef61e46f fix warnings 2015-07-24 12:43:26 -07:00
toddouska
aaf7f63eef Merge https://github.com/lfcrypto/wolfssl into ludovic 2015-07-24 12:14:28 -07:00
Ludovic FLAMENT
9c2a85d9f6 fix compilation for 32 bits OS 2015-07-24 11:17:06 +02:00
Ludovic FLAMENT
78a936a4fd remove debug info
fix potential memory leaks
comments the size used
2015-07-24 10:58:17 +02:00
Ludovic FLAMENT
8d7d803e58 add wc_DerToPemEx to restore compatibility API with wc_DerToPem 2015-07-24 07:50:29 +02:00
kaleb-himes
bf4be3f02b comment updates only for crl-revoked.test 2015-07-23 21:54:52 -06:00
toddouska
ddb638d020 Merge branch 'crl-revoked' 2015-07-23 16:40:30 -07:00
toddouska
9f7209b484 add new certs to include.am 2015-07-23 16:37:37 -07:00
kaleb-himes
1a0a9de9c6 changes post review
crl-revoked dash compliant. revoked-cert has unique fields

new print statements
2015-07-23 17:05:25 -06:00
John Safranek
03a50c128a update WIN IDE readme 2015-07-23 15:27:46 -07:00
Ludovic FLAMENT
0054fe4a25 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-07-23 14:37:58 +02:00
Ludovic FLAMENT
8951d72f03 Merge branch 'master' of https://github.com/wolfSSL/wolfssl
Fix DSA key generation
2015-07-23 13:24:20 +02:00
kaleb-himes
1bb76a54c9 Merge branch 'master' of https://github.com/kaleb-himes/wolfssl 2015-07-22 15:14:00 -06:00
Nickolas Lapp
f9def1431f Adding support for crl testing via make check.
includes modifying crl.pem/revoked
    Adding a revoked server cert/key pair.
    Adding a script to test with a revoked cert (scripts/crl.test)
2015-07-22 15:08:29 -06:00
toddouska
5fe7a1b89a have fastmath use negative error codes for consistent <0 error detection 2015-07-22 13:32:56 -07:00
John Safranek
4cdece20fb change SetCurve return type to int, as used 2015-07-22 11:52:42 -07:00
John Safranek
e1a2458bb4 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-07-22 11:25:47 -07:00
John Safranek
c169a113ae for Windows build, clean up warnings and a couple variable declarations 2015-07-22 11:20:45 -07:00
Nickolas Lapp
3732d31955 Fixed file cleanup in gencrls, finished support for crl.test update crls sign revoked cert 2015-07-22 10:37:24 -06:00
kaleb-himes
f73c6a5ea9 new crl test using server and client instead 2015-07-22 10:05:39 -06:00
kaleb-himes
d2de4719eb added way to gen revoked without running renewcerts 2015-07-22 09:31:23 -06:00
Ludovic FLAMENT
349edd40c2 Add support for OpenSSH ssh-keygen tools
refactor existing code
2015-07-22 14:18:07 +02:00
Nickolas Lapp
27202912e8 Adjusted gencrls and renewcerts to add a revoked server cert 2015-07-21 17:17:41 -06:00
Jacob Barthelmeh
e7dd5c4b8f add setting client cipher list 2015-07-21 16:55:42 -06:00
kaleb-himes
4743dfe813 add a uniquely, always revoked server-cert for testing 2015-07-21 15:35:24 -06:00
kaleb-himes
37211d4636 crl script initialize 2015-07-21 13:56:47 -06:00
toddouska
8499f816c6 fix potential resource leaks 2015-07-21 11:10:28 -07:00
toddouska
4916ae72bc custom release notes 2015-07-20 16:47:03 -07:00
toddouska
922df2cfb3 allow bigger rsa key gen w/o sanity check error on invmod() 2015-07-20 16:08:55 -07:00
toddouska
c50f6ba693 Merge pull request #105 from NickolasLapp/master
Changes to remove last warnings from Stunnel
2015-07-20 14:04:59 -07:00
Nickolas Lapp
03172818a1 Changes to remove last warnings from Stunnel 2015-07-20 14:37:57 -06:00
toddouska
a0b907f0b3 Merge pull request #104 from NickolasLapp/master
Fix stunnel warning
2015-07-20 08:13:08 -07:00
Jacob Barthelmeh
a4c7b8eb07 version number to use with Lighttpd compatibility 2015-07-17 18:19:36 -06:00
Nickolas Lapp
6d619ade13 Fix stunnel warning 2015-07-17 17:28:17 -06:00
toddouska
51f177fdb7 bump dev version 2015-07-17 15:41:51 -07:00
toddouska
2d021489b3 fix SetMinDhKey_Sz() implementation defines 2015-07-17 15:37:15 -07:00
toddouska
262f5f87cb remove auto timing resistant with stunnel 2015-07-17 14:52:03 -07:00
toddouska
be54b40d94 Merge pull request #102 from NickolasLapp/master
Configure options to allow stunnel to use fastmath
2015-07-17 14:50:19 -07:00
Nickolas Lapp
cb3873ea03 Configure options to allow stunnel to use fastmath 2015-07-17 15:05:04 -06:00
JacobBarthelmeh
7d44ed3989 Merge pull request #97 from jschanck-si/libntruencrypt
Use updated drbg ntru functions from stable libntruencrypt api
2015-07-17 14:18:27 -06:00
toddouska
bae8c6fd50 add openssh ./configure build 2015-07-17 09:14:58 -07:00
toddouska
d443c03dcc Merge pull request #101 from kaleb-himes/fortress_requires_aes
fortress relies on aes disallowed pair
2015-07-17 08:48:37 -07:00
kaleb-himes
11f1159e30 fortress relies on aes disallowed pair 2015-07-17 09:30:25 -06:00
toddouska
101aac5720 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-07-16 16:47:17 -07:00
toddouska
9b81e41856 merge pull request 96 2015-07-16 16:46:37 -07:00
John Safranek
5409c171e4 In wolfSSL_BN_mod_word, typecast error code to a unsigned output like in emulated function. 2015-07-16 16:38:48 -07:00
toddouska
a0a8a52f6c Merge branch '98' 2015-07-16 14:55:55 -07:00
toddouska
e61022b498 Merge https://github.com/lchristina26/wolfssl into 98 2015-07-16 14:52:57 -07:00
toddouska
9c7fd0b15e Merge pull request #99 from kaleb-himes/eccencrypt_without_aes
Ecc_encrypt + hkdf requires aes
2015-07-16 14:51:44 -07:00
kaleb-himes
e698c12530 ecc_encrypt + hkdf requires aes 2015-07-16 15:31:36 -06:00
kaleb-himes
85907397d3 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-07-16 15:15:55 -06:00
lchristina26
c6003c33bb fix disable filesystem errors 2015-07-16 14:19:11 -06:00
John M. Schanck
53fb9188e7 Use ntru functions from stable libntruencrypt api
ntru_crypto_external_drbg_instantiate has been renamed
to ntru_crypto_drbg_external_instantiate in the 1.0.0
release of libntruencrypt. Made various other small changes
to build against libntruencrypt.
2015-07-16 15:43:50 -04:00
toddouska
5a00e4b72b use full ivSz with ecc encrypt 2015-07-16 10:18:08 -07:00
toddouska
7f155d64d5 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-07-15 16:36:58 -07:00
toddouska
84a5087bd7 resume script cleans up /tmp ready file 2015-07-15 16:35:23 -07:00
John Safranek
8cb1949203 fix some build warnings from VS 2015-07-15 16:27:50 -07:00
toddouska
ffb73bc3d5 fix no newline in openssl/ecdsa.h 2015-07-15 16:25:49 -07:00
toddouska
8eaac3de47 fix clang redef 2015-07-15 15:01:48 -07:00
toddouska
c1dfa16f91 Merge pull request #95 from lchristina26/enable_mcapi_with_libz
New AES structure size increased, update mcapi context to encompass
2015-07-15 14:56:32 -07:00
kaleb-himes
bffecfbc2d New AES structure size increased, update mcapi context to encompass 2015-07-15 15:33:49 -06:00
toddouska
3ad3334bce Merge branch 'master' of github.com:wolfssl/wolfssl 2015-07-15 13:57:10 -07:00
toddouska
1c5eb291e8 Merge branch 'nick' 2015-07-15 13:56:56 -07:00
toddouska
0b3bc289ae fix enable stunnel help alignment 2015-07-15 13:44:09 -07:00
Jacob Barthelmeh
763e9370bf WOLFSSL_STUB log for debug message 2015-07-15 13:48:31 -06:00
toddouska
db932acca5 Merge https://github.com/NickolasLapp/wolfssl into nick 2015-07-15 11:05:06 -07:00
Chris Conlon
55677aa5ae fix BLAKE2b cyassl compat header includes 2015-07-15 11:56:14 -06:00
John Safranek
4b1e87f9d0 update the wolfSSL FIPS VS IDE project files and README 2015-07-14 21:17:20 -07:00
Nickolas Lapp
96cf16848c Stunnel Base Commit 2015-07-14 14:56:26 -06:00
Jacob Barthelmeh
7fba0d25f9 variable declaration location for VS and avoid empty struct 2015-07-14 14:33:00 -06:00
JacobBarthelmeh
67fd0ebbd4 wolfssl enter msgs on lighty stubs and create a new BN when given a null argument 2015-07-13 17:26:04 -06:00
kaleb-himes
bd81a3336f Merge branch 'master' of ssh://github.com/wolfSSL/wolfssl 2015-07-13 11:34:04 -06:00
kaleb-himes
1750fe698e Name change to LICENSING 2015-07-13 11:32:59 -06:00
Jacob Barthelmeh
df8b48cd0f NTRU suites from earlier code 2015-07-11 12:52:22 -06:00
toddouska
e6d8ab0d45 add enable lighty 2015-07-09 09:14:33 -06:00
toddouska
ea7f955bd4 Merge branch 'lighty' 2015-07-08 17:35:41 -06:00
toddouska
e41ebcf5d4 remove c++ comments, switch ASN1 string back to first spot 2015-07-08 17:33:15 -06:00
Ada Lovelace
1383a0f1b5 Uptodate wolfssl works with lighttpd-1.4.x (one warning), working on making lighttpd-1.4.35 work. 2015-07-08 16:39:52 -06:00
Jacob Barthelmeh
d68eb12ee6 use macros in TLSX Write with QSH 2015-07-07 22:10:26 -06:00
toddouska
dafb5a80e7 recommit invalid free w/o smallstack 2015-07-07 09:23:02 -07:00
Jacob Barthelmeh
14723b7e65 QSH (quantum-safe handshake) extension 2015-07-07 09:55:58 -06:00
toddouska
01da9aacb0 Merge branch 'ludovic' 2015-07-06 17:13:01 -07:00
toddouska
acdeb3d536 Merge https://github.com/lfcrypto/wolfssl into ludovic 2015-07-06 17:09:41 -07:00
Jacob Barthelmeh
304982a597 Big Endian System ChaCha20 counter, auto tests added for ChaCha20 counter 2015-07-06 15:29:53 -06:00
Ludovic FLAMENT
702dbcf570 align return code, coding style (tab-> space, line with 80 char), curve_idx validity 2015-07-05 20:10:43 +02:00
toddouska
88fa36e3c0 fix enable dsa w/o opensslextra or keygen 2015-07-03 20:53:55 -07:00
toddouska
1a853d277d fix opensslextra w/o ecc ssh 2015-07-03 09:58:42 -07:00
toddouska
9b0c1499c3 fix opensslextra w/ dsa additions 2015-07-03 09:53:48 -07:00
toddouska
e2689a0656 fix opensslextra small stack invalid free 2015-07-03 09:50:16 -07:00
toddouska
6355bb4daf remove C++ comments 2015-07-02 13:52:37 -07:00
toddouska
b183bdc009 fix ALT_ECC_SIZE in ssh mode 2015-07-02 13:48:58 -07:00
toddouska
d2f34c11d3 Merge branch 'master' into ssh 2015-07-01 16:37:33 -07:00
Moisés Guimarães
ca01cebd28 adds SNI abort option to turn SNI mandatory for WebSocket (RFC6455 page 17).
@see WOLFSSL_SNI_ABORT_ON_ABSENCE and the xxxSNI_SetOptions() functions for further details.
2015-07-01 19:21:18 -03:00
Moisés Guimarães
e121d01206 TLSX and SNI code maintenance:
* improves docs;
 * fixes indentation;
 * Extracts TLSX_New() from TLSX_Push();
 * Replaces TLSX_SNI_Append() with TLSX_SNI_New();
 * Adds missing STK_VALIDATE_REQUEST() in TLSX_WriteRequest();
 * Moves TLSX_SetResponse() to the right position inside TLSX_SNI_Parse().
2015-07-01 19:11:13 -03:00
toddouska
74245dcc1c bump dev version 2015-07-01 14:43:58 -07:00
toddouska
9452d6cfb4 don't leak on bad verify decoding with extended API 2015-07-01 13:28:10 -07:00
toddouska
e164173562 fix null deference potential on new API 2015-07-01 12:51:19 -07:00
toddouska
1d663d3bff merge conflict 2015-07-01 12:24:11 -07:00
John Safranek
afde172f28 added buffer version of CertManagerLoadCABuffer 2015-07-01 11:42:54 -07:00
John Safranek
d6047736e9 added GPL headers to the unit test driver files 2015-07-01 11:12:54 -07:00
John Safranek
91b3959063 fix uninitialized decoded cert in CertManagerVerify() 2015-06-26 11:56:21 -06:00
John Safranek
8b324b94e9 removed some unused code due to an always true comparison 2015-06-25 11:21:33 -06:00
Moisés Guimarães
61c50b26d0 makes wolfSSL_SNI_GetFromBuffer() return SNI_UNSUPPORTED instead of BUFFER_ERROR for SSL v2.0 client hello buffers. 2015-06-25 12:48:11 -03:00
toddouska
7fcbee54e4 Merge pull request #81 from tisb-vikram/master
add IAR compiler option to ignore EWOULDBLOCK/EAGAIN warning for TI-RTOS
2015-06-24 21:51:46 -07:00
Vikram Adiga
0525575fbf add IAR compiler option to ignore EWOULDBLOCK/EAGAIN warning for TI-RTOS 2015-06-24 17:41:02 -07:00
John Safranek
36748fb62b Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-06-24 11:21:38 -06:00
John Safranek
5ba35b1f64 force HAVE_HASHDRBG enabled in settings.h unless WOLFSSL_FORCE_RC4_DRBG flag set 2015-06-24 11:16:18 -06:00
toddouska
39015f51ab Merge pull request #80 from kojo1/TI_temp
Resolving type mismatches in TI-hash/crypt
2015-06-24 07:34:18 -07:00
Takashi Kojo
309aadd3f3 TI-des3.c, type mismatch 2015-06-24 14:12:40 +09:00
Takashi Kojo
1feac72b62 check InitMutex 2015-06-24 11:47:58 +09:00
Takashi Kojo
a910daa886 fixed arm-none-eabi-gcc type check on AESIVSet, AESKey1Set 2015-06-24 11:06:38 +09:00
Takashi Kojo
c6e2591711 Remove wornings 2015-06-23 17:39:15 +09:00
toddouska
d334b05596 Merge pull request #79 from kojo1/TI_crypt
missed CCM Init in wc_xxxHash
2015-06-22 17:29:22 -07:00
John Safranek
57128a82ab update README.md for v3.6.0 2015-06-22 15:35:21 -06:00
John Safranek
4b5cc6ebb3 add hash.c to the iOS project files 2015-06-22 13:21:35 -06:00
kaleb-himes
9889dfb2fb README edits 2015-06-22 11:31:02 -06:00
John Safranek
075370a39c update automake includes to limit which files are added from the IDE sub-directories 2015-06-20 14:57:31 -07:00
John Safranek
b54dc09971 updated fips-check to cover all builds 2015-06-19 22:21:27 -07:00
Takashi Kojo
45a3838433 missed wolfSSL_TI_CCMInit in wc_xxxHash 2015-06-20 10:59:08 +09:00
toddouska
48a42e1a75 prepare release 2015-06-18 16:58:59 -07:00
toddouska
eee50cf42e update rpm version 2015-06-18 11:21:13 -07:00
toddouska
fe39cd34b9 bump version 2015-06-18 11:18:51 -07:00
toddouska
86403a270a Merge branch 'master' of github.com:wolfssl/wolfssl 2015-06-18 11:13:29 -07:00
toddouska
6cad1949b4 if NO_SHA don't run external script tests 2015-06-18 11:12:35 -07:00
toddouska
34ed64c5ce Merge branch 'leah' 2015-06-18 11:04:44 -07:00
toddouska
52072ab5e4 Merge https://github.com/lchristina26/wolfssl into leah 2015-06-18 11:00:34 -07:00
toddouska
f47398fff9 Merge branch 'tisb' 2015-06-18 10:50:13 -07:00
toddouska
63e2b29a08 update ti-rtos package for pull request file renames 2015-06-18 10:49:08 -07:00
toddouska
183b54a10d Merge https://github.com/tisb-vikram/wolfssl into tisb 2015-06-18 10:39:02 -07:00
toddouska
d49a35597f Merge branch 'master' of github.com:wolfssl/wolfssl 2015-06-18 10:16:06 -07:00
toddouska
ba63bc0d3e Merge branch 'kojo-ti' 2015-06-18 10:15:53 -07:00
toddouska
fa9d6428fc add hash.c to vcprojs 2015-06-18 10:14:55 -07:00
toddouska
9e7cb81d5a Merge branch 'TI_hash' of https://github.com/kojo1/wolfssl into kojo-ti 2015-06-18 09:05:13 -07:00
Takashi Kojo
ae749f727d IAR_ARM block in settings.h 2015-06-18 14:27:52 +09:00
Takashi Kojo
7ef85d1894 Add RestorePos 2015-06-18 14:27:15 +09:00
Takashi Kojo
4e546d92d9 BuildMD5/SHA for GetHash, RestorePos 2015-06-18 14:25:48 +09:00
John Safranek
e61592b9d8 Added ECC test certificate for having keyUsage without digitalSignature. 2015-06-17 13:46:09 -07:00
John Safranek
7d9a1ccf42 allow storage of out of order zero length DTLS handshake messages 2015-06-17 12:37:10 -07:00
lchristina26
11f0ae47af fix redeclaration of RsaKeyToDer() with FIPS 2015-06-17 09:51:38 -06:00
John Safranek
19cad21a46 fix bug when defragmenting out of order DTLS handshake messages 2015-06-16 21:49:01 -07:00
toddouska
55de33f493 Merge branch 'TI_hash' of https://github.com/kojo1/wolfssl into kojo-ti 2015-06-16 11:38:04 -07:00
toddouska
67dc53f84e Merge branch 'master' of github.com:wolfssl/wolfssl 2015-06-16 11:30:14 -07:00
toddouska
a62589f3fc add wc_ecc_check_key(), import validate option too 2015-06-16 11:29:27 -07:00
John Safranek
8fa258c657 fix scan-build warning 2015-06-15 17:52:30 -07:00
Takashi Kojo
86a9b1734a TI hash option control in hash.c 2015-06-16 09:30:56 +09:00
John Safranek
f2d9eb2994 1. Disable randomized base address on FIPS test project.
2. Fixed setting for disabling whole program optimization on file fips.c
in the windows project file.
2015-06-15 15:47:40 -07:00
Vikram Adiga
f358aab845 update TI-RTOS build scripts to add hardware accelerator lib build 2015-06-15 14:58:53 -07:00
John Safranek
c40dc11ce3 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-06-15 09:46:13 -07:00
John Safranek
c98fde3d43 updated wolfssl fips project files so test harness will run. added a readme 2015-06-15 09:46:07 -07:00
John Safranek
5976296a77 removed a comment from random.c 2015-06-15 07:37:05 -07:00
Takashi Kojo
a634d0e345 including hash.h in hash.c 2015-06-15 12:28:05 +09:00
Takashi Kojo
d976256816 TI-RTOS adjustment in test.h 2015-06-15 10:13:14 +09:00
Takashi Kojo
c2818ed87c DIGEST_SIZE fixed in Sha256GetHash 2015-06-15 09:59:34 +09:00
Takashi Kojo
89d39a6073 GetHash in SendBuffered, BuildTlsFinished. HashFinal in FreeHandshakeResources. 2015-06-15 09:46:16 +09:00
toddouska
203786dc25 add ecc keygen validate option 2015-06-12 13:11:07 -07:00
toddouska
6d9fece9f4 bump dev version 2015-06-12 09:39:03 -07:00
toddouska
89d9accc4d switch user ticket encrypt ctx to WOLFSSL_CTX 2015-06-10 18:13:13 -07:00
toddouska
47af6459d8 add user context to session ticket encrypt callback 2015-06-10 16:32:43 -07:00
toddouska
53bf8ed7cb fix scan-build warnings 2015-06-10 15:24:24 -07:00
toddouska
ce583552ce fix resumte.test script warning 2015-06-10 14:22:35 -07:00
toddouska
f76af05abf change autoconf scripts to /bin/sh, no -i on ping for portability 2015-06-10 14:11:36 -07:00
toddouska
44db140076 move client-test.sh to scripts/google.test 2015-06-09 08:51:55 -07:00
toddouska
8afa6fe08f Merge pull request #74 from NickolasLapp/master
Fixing bug in wc_ecc_sig_size not handling error code
2015-06-09 08:42:22 -07:00
toddouska
0426adaa1b document current scripts 2015-06-09 08:37:55 -07:00
Takashi Kojo
d9ccc51f58 Fix TI driver API to ROM_xxx 2015-06-09 07:02:21 +09:00
toddouska
13b0d632b2 add WOLFSSL_VXWORKS setting 2015-06-08 14:44:02 -07:00
Nickolas Lapp
9f8862888e Fixing bug in wc_ecc_sig_size not handling error code 2015-06-08 14:40:15 -06:00
John Safranek
067f11ff34 Added a known answer test inside the HashDRBG that is called when
creating a new instance of a DRBG, at reseed time.
Added a check that the freed DRBG's state actually gets cleared.
2015-06-05 14:46:48 -07:00
Jacob Barthelmeh
e461bc72b8 curve25519 and ed25519 low memory 2015-06-05 15:39:37 -06:00
toddouska
96a298018d simplify padcheck compare 2015-06-05 09:42:10 -07:00
Takashi Kojo
7433dcb95c Adding hash.c 2015-06-05 13:26:32 +09:00
Takashi Kojo
7584af3d36 Adding hash.c 2015-06-05 13:23:54 +09:00
toddouska
670c325f29 Merge pull request #72 from wolfSSL/smallstack
dummy buffer replacement in timing resistant functions.
2015-06-04 11:38:50 -07:00
Chris Conlon
defd1f9f94 add configure option for wolfSSL JNI, --enable-jni 2015-06-02 21:58:23 -06:00
Takashi Kojo
13185574d2 Merge branch 'EWARM' into TI_hash 2015-06-01 20:07:16 +09:00
Takashi Kojo
fe3253e618 IAR/EWARM wolfSSL name change 2015-06-01 20:02:20 +09:00
Takashi Kojo
644f7a4cdb ti-hash.c included in wc_port.c 2015-06-01 14:32:36 +09:00
Moisés Guimarães
3d41595ed4 internal.c: refactoring TimingPadVerify to reduce stack usage:
--- variable dummy replaced with ssl object (~250 bytes saved)

internal.c: refactoring VerifyMac to reduce stack usage:
--- variable dummy replaced with ssl object (~250 bytes saved)
2015-05-30 10:44:14 -03:00
Moisés Guimarães
ed65565390 integer.c: refactoring mp_exptmod_fast to reduce stack usage:
--- variable M moved to the heap (512 bytes saved)
2015-05-28 18:29:17 -03:00
Moisés Guimarães
a7a00a4bd5 remove trailing spaces. 2015-05-28 18:29:17 -03:00
John Safranek
77fe4f3a2e Fixes #71. Disable SHA works with TLS, PWDBASED, testing. 2015-05-28 10:25:41 -07:00
Takashi Kojo
e4580c3461 adding hash.h to include.am 2015-05-28 20:50:22 +09:00
Takashi Kojo
d67168d539 aes.c cleaned. ti-has.c, ti-aes.c, ti-des3.c are included in each respective algorithm source file. 2015-05-28 20:40:53 +09:00
Takashi Kojo
902799ef75 adding ti hash/crypt to include.am 2015-05-27 19:34:11 +09:00
Takashi Kojo
559404137e moving xxxGetHash to hash.c 2015-05-27 18:37:19 +09:00
Chris Conlon
b4a6ed1d7f Merge pull request #68 from tass-belgium/master
Improved support for PicoTCP on embedded devices
2015-05-26 13:47:45 -06:00
Moisés Guimarães
67a93a5999 fixes trailing white spaces.
adds port mapping in Vagrantfile.
2015-05-22 20:09:01 -03:00
Takashi Kojo
aaa1fe813a Added aes.c/des3.c 2015-05-22 09:55:49 +09:00
John Safranek
8fbcd7d74b added upper bound check on DH min bit size for configure forced default 2015-05-21 10:30:54 -07:00
John Safranek
64602d1969 added check for allowed minimum DH key size 2015-05-21 10:11:21 -07:00
Takashi Kojo
5bcce85de4 md5.h cleaned 2015-05-21 18:34:51 +09:00
Takashi Kojo
ce8b4e0cdc Added ti-hash.c 2015-05-21 18:26:35 +09:00
Takashi Kojo
d24c7f070c files cleaned 2015-05-21 18:12:43 +09:00
Takashi Kojo
527013ec1e corrected NL code 2015-05-21 14:16:09 +09:00
Takashi Kojo
b5654092ec Added Md5GetHash for BuildCertHashes 2015-05-21 13:42:02 +09:00
Takashi Kojo
1a315fd89e Initial TI crypt/hash 2015-05-21 13:31:02 +09:00
John Safranek
50a80bbcd2 update Windows FIPS preprocessor flags in project file 2015-05-19 14:37:03 -07:00
John Safranek
9a10210a2a replaced always-true comparison in PrintSessionStats with preprocessor checks 2015-05-19 09:52:30 -07:00
toddouska
bbec7011d4 add session ticket hint interval setter 2015-05-18 13:15:13 -07:00
toddouska
8b52330877 add key name compare for session ticket callback example 2015-05-18 09:48:15 -07:00
toddouska
e730aa571c add sanity checks to user session ticket encrypt callback 2015-05-18 09:29:25 -07:00
toddouska
8ff17b66f3 add session tickets to echoserver example too 2015-05-18 09:13:34 -07:00
toddouska
ebf73fab5d Merge branch 'tickets' 2015-05-15 16:13:09 -07:00
toddouska
cedd41432c fix windows session ticket warnings 2015-05-15 16:10:38 -07:00
toddouska
74cc2274fa add tiket key cleanup to help valgrind 2015-05-15 15:30:29 -07:00
toddouska
2212381925 add session ticket key returns for reject and use but create 2015-05-15 14:58:16 -07:00
toddouska
f6d12bfc37 initial server side session ticket support 2015-05-15 12:51:44 -07:00
John Safranek
660e0b868b added check for window's api's min macro 2015-05-14 11:40:23 -07:00
John Safranek
dcd6602293 misc.c can now only be included once 2015-05-13 15:10:05 -07:00
John Safranek
5e083eafb4 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-05-13 14:55:16 -07:00
John Safranek
4e482a348e wrapped the min() inline functions with better preprocessor checks 2015-05-13 14:53:11 -07:00
John Safranek
48034b56c5 update the VS solution and project files for FIPS build 2015-05-13 13:10:03 -07:00
John Safranek
b6e540b005 new VS solution and project files for FIPS build 2015-05-12 16:36:38 -07:00
John Safranek
69b4b37e86 modify ossl-extra HMAC testcase to use longer password 2015-05-12 16:16:44 -07:00
John Safranek
0b1ea204b7 cleaned up Windows build warnings 2015-05-12 11:59:07 -07:00
toddouska
513b43baae update CUSTOM_RAND_GENERATE to not include dev random files 2015-05-11 12:03:53 -07:00
toddouska
dde4b29462 add handshake done callback with ability to end connection 2015-05-09 11:04:47 -07:00
toddouska
d2c53c3229 reduce wolfcrypt test stack use, curve25519 2015-05-07 15:25:20 -07:00
toddouska
d4982bb988 add dsa verify input check, not used at TLS or default 2015-05-07 15:10:33 -07:00
toddouska
8f8fb3834a reduce benchmark stack use, reduce max variable sizes 2015-05-07 14:24:58 -07:00
toddouska
4fe04c6bed detect build cases where external script test case doesn't make sense 2015-05-07 12:50:27 -07:00
toddouska
914a27ad9f Merge branch 'kaleb' 2015-05-07 12:33:44 -07:00
toddouska
357ab1df14 Merge https://github.com/kaleb-himes/wolfssl into kaleb 2015-05-07 12:19:34 -07:00
toddouska
c52b7160e9 fix ipv6 external test case 2015-05-07 12:15:58 -07:00
kaleb-himes
173b1147b5 updated certs 2015-05-07 12:21:50 -06:00
toddouska
7a90f60a9c add rsafunction mp_exptmod_e debug message 2015-05-07 10:33:23 -07:00
toddouska
08b6e66ea8 add external site script test to make check 2015-05-07 10:02:43 -07:00
kaleb-himes
fc24885f17 updated subject matter for server-ecc.pem 2015-05-06 11:57:32 -06:00
John Safranek
20851c62f9 modify Encrypt and Decrypt switch statements for single return 2015-05-05 14:45:43 -07:00
toddouska
1571ced095 update python example to TLSv1.2 against example server 2015-05-03 10:19:02 -07:00
toddouska
6db33051d3 better detection of invalid ecc keys 2015-05-01 14:44:43 -07:00
toddouska
46eca67336 make certs_test buffers static in case multiple files need 2015-04-30 17:14:04 -07:00
toddouska
114fc18c33 add alignment to benchmark key/iv 2015-04-30 17:10:33 -07:00
toddouska
1771fea17d fix ecc_make_key cleanup on rng failure 2015-04-30 16:50:02 -07:00
toddouska
162214924f simplify build verify hashes to one spot 2015-04-30 09:22:25 -07:00
toddouska
ada5ff876a allow example client to do resume with scr 2015-04-29 17:06:57 -07:00
toddouska
c04de5ba82 add resume to example client benchmarking 2015-04-28 18:04:11 -07:00
toddouska
47ba1368c2 add wolfssl website ca, go daddy class2 CA 2015-04-28 14:15:31 -07:00
toddouska
d927aa4334 add resume test to example server and script test 2015-04-28 12:21:54 -07:00
Daniele Lacamera
96bb6e8cd7 Improved support for PicoTCP on embedded devices 2015-04-23 12:35:05 +02:00
toddouska
1e9647023c add snifftest script check to make check 2015-04-18 08:35:47 -07:00
John Safranek
99a9d221bc in sniffer, free handshake resources in the right order 2015-04-17 13:42:08 -07:00
toddouska
7536cec0d6 fix github issue #65, ignore sys options 2015-04-17 09:23:43 -07:00
toddouska
281decae46 fix github issue #65, don't undef with arg to options.h 2015-04-16 10:36:51 -07:00
toddouska
05b8e1274d add WOLFSSL_SESSION_STATS and optionally WOLFSSL_PEAK_SESSIONS which will slow down servers under load 2015-04-15 13:17:33 -07:00
kaleb-himes
3a6f08b04a update old CYASSL comment 2015-04-14 13:48:57 -06:00
toddouska
1f8701540d change SESSION_STATS to PRINT_SESSION_STATS, will add WOLFSSL_SESSION_STATS 2015-04-14 12:35:24 -07:00
toddouska
ceeb3d007e fix github issue #65, don't output (N)DEBUG to options.h 2015-04-13 12:01:21 -07:00
toddouska
7e9a5fb8ee remove poly/chacha from fips build 2015-04-12 11:01:16 -07:00
toddouska
7d213011c1 fix fips make dist for misc.c 2015-04-11 08:47:13 -07:00
toddouska
ecfcc533c8 add library version getters 2015-04-10 10:38:31 -07:00
toddouska
d40fbd58f4 fix pkcs7 warning 2015-04-10 10:37:25 -07:00
John Safranek
c1adae2fe4 moved FOURK_BUF constant to top of file 2015-04-10 08:06:59 -07:00
toddouska
edd6b91b56 on send dhe server_key_exchange only do hash(es) required 2015-04-09 09:58:16 -07:00
toddouska
86f2b9a98f turn off DTLSv1 functions for disable old tls 2015-04-08 13:29:25 -07:00
toddouska
0722e79627 Merge branch 'kojo-intel' 2015-04-08 11:38:27 -07:00
toddouska
b9767fdac6 Merge branch 'IntelAsm' of https://github.com/kojo1/wolfssl into kojo-intel 2015-04-08 11:23:48 -07:00
toddouska
b59d922d51 on send echde server_key_exchange only do hash(es) required 2015-04-08 11:22:22 -07:00
Takashi Kojo
9ae434a87b Merge branch 'Staging' of https://github.com/kojo1/wolfssl into Staging 2015-04-08 14:00:07 +09:00
Takashi Kojo
97f3336fae Merge branch 'master' of https://github.com/wolfSSL/wolfssl into Staging 2015-04-08 13:56:23 +09:00
Takashi Kojo
3ff5e54025 rollback files 2015-04-08 13:46:27 +09:00
Takashi Kojo
079c9908a3 Merged with 3.4.8 2015-04-08 11:09:57 +09:00
Takashi Kojo
6728a18d7c cpuflag ADX for Intel MULX in asm.c, BMI2 in sha256/512.c 2015-04-08 10:14:45 +09:00
John Safranek
af0204a069 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-04-07 16:02:25 -07:00
John Safranek
ea585e9b19 Updated iOS readme. Turned off unused wolfCrypt options in iOS FIPS build. 2015-04-07 16:00:12 -07:00
toddouska
2c73fa20a5 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-04-07 14:58:25 -07:00
toddouska
cf95bc23bb on process server_key_exchange only do hash(es) required 2015-04-07 14:57:40 -07:00
John Safranek
875ad2dc8e forced iphone os deployment version to 8.1 in FIPS project 2015-04-07 13:41:29 -07:00
toddouska
b115e4d898 Merge branch 'IntelAsm' of https://github.com/kojo1/wolfssl into kojo-intel 2015-04-07 09:49:17 -07:00
Takashi Kojo
015b68e6fb cpuflag BMI2 for Intel MULX 2015-04-07 10:21:26 +09:00
John Safranek
e17d452f9b Updated Xcode projects for missing headers 2015-04-06 16:12:50 -07:00
John Safranek
aef879dc20 Updated iOS FIPS project, bump version 2015-04-06 15:06:56 -07:00
toddouska
98231f4504 Merge branch 'IntelAsm' of https://github.com/kojo1/wolfssl into kojo-intel 2015-04-06 11:43:12 -07:00
toddouska
0519085c69 add SOCKET_PEER_CLOSED_E vs general SOCKET_E for case where peer closes underlying transport w/o close notify 2015-04-06 11:40:51 -07:00
Chris Conlon
4e6f619302 Merge pull request #46 from jay/add-dll-config-to-vcxproj
build: Add DLL configurations to wolfssl64.sln and all vcxproj files
2015-04-06 09:05:06 -06:00
Takashi Kojo
d8a6d9cffc runtime cpuflag for Intel MULX, cleaned in tfm.c 2015-04-06 10:34:07 +09:00
Takashi Kojo
3a372aebe3 Merge commit 'd67a031132b87fc01f0808f161eda0e3101dbba7' into IntelAsm 2015-04-06 10:22:33 +09:00
Takashi Kojo
ebedd64c5f Merge commit 'b9aa7621e716267f310aec0010c5240270b75cce' into IntelAsm 2015-04-06 10:21:54 +09:00
toddouska
d67a031132 fix scr gcm mode 2015-04-05 09:13:11 -07:00
toddouska
a7d004e47d add sha512 sig_algo processing for server_key_exchange and cert_verify messages 2015-04-04 09:49:34 -07:00
toddouska
44a3011328 fix STREAM_ALIGN consistency 2015-04-03 13:25:51 -07:00
toddouska
e39abffc5e add GNU ld bug error and solution 2015-04-03 12:11:29 -07:00
Jacob Barthelmeh
10f853ae4d adjustment to chacha for big endian 2015-04-03 12:19:40 -06:00
John Safranek
523775fcd6 updated the iOS readme 2015-04-03 09:54:15 -07:00
toddouska
b1316796f9 allow CTX set tmp dh w/o asn and certs too 2015-04-02 11:54:16 -07:00
toddouska
7552764fbb turn off chacha on big endian 2015-04-02 11:34:17 -07:00
toddouska
9437a3a303 fix tirtos distcheck 2015-04-02 11:26:55 -07:00
toddouska
d2c816f322 fix github issue #63, intelasm checkin broke MMCAU sha256 2015-04-02 10:52:58 -07:00
toddouska
ee4b063b42 remove double define 2015-04-02 10:01:09 -07:00
toddouska
a54c916c8f fix chacha on bigendian, touchups 2015-04-02 09:40:22 -07:00
toddouska
e1beca3e60 fix with ecc w/o dh functions 2015-04-02 08:14:48 -07:00
Takashi Kojo
b9aa7621e7 Intel MULX run time check in tfm.c 2015-04-02 15:42:38 +09:00
toddouska
09310a853d Merge branch 'ti' 2015-04-01 20:09:38 -07:00
toddouska
2fbab2f8d6 Merge https://github.com/tisb-vikram/wolfssl into ti 2015-04-01 20:06:20 -07:00
John Safranek
327a5c6dc2 added compile time check for Max Strength that all the requirements aren't disabled 2015-04-01 19:38:03 -07:00
Vikram Adiga
4a5912c754 fix tirtos build for wolfssl name change 2015-04-01 16:52:11 -07:00
Vikram Adiga
ad29c262d4 use Seconds APIs instead of MYTIME APIs for TI-RTOS 2015-04-01 16:51:54 -07:00
John Safranek
50e829ea79 when keeping peer cert, alt names were getting lost for the peer name check 2015-04-01 15:36:55 -07:00
John Safranek
afbd517838 fix issue with --enable-maxstrength --disable-ecc losing AES-GCM 2015-04-01 14:32:17 -07:00
John Safranek
2b5de9bd15 move MAX_STRENGTH and IPHONE in settings.h per pattern 2015-04-01 14:14:56 -07:00
John Safranek
b5a1cd186f Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-04-01 13:39:30 -07:00
John Safranek
3039d16e09 1. HAVE_AEAD and HAVE_PFS should be set in internal.h, not CFLAGS
2. Added WOLFSSL_MAX_STRENGTH as option in settings.h for non-autoconf
3. When selecting max-strength cipher suites, ECDHE is only dependent on
   ECC, not DH
2015-04-01 13:35:13 -07:00
toddouska
8dd1afb49c have ./configure error out on maxstrength + sniffer 2015-04-01 12:30:46 -07:00
toddouska
869aeee6cb allow sniffer play nice in ecc build 2015-04-01 12:14:48 -07:00
toddouska
11f65346bc Merge branch 'master' of github.com:wolfssl/wolfssl 2015-04-01 12:04:29 -07:00
toddouska
cc804b110f allow example client to talk with echoserver in ecc mode w/o switch 2015-04-01 12:03:27 -07:00
John Safranek
5ecbe14d2c Added --enable-maxstrength configure build to only
allow TLSv1.2, PFS, and AEAD ciphers.
2015-04-01 11:55:49 -07:00
Chris Conlon
34700642fa Merge pull request #47 from jay/ignore-vs-files
Ignore Visual Studio Intellisense files
2015-04-01 10:52:35 -06:00
toddouska
5ed451a29d Merge branch 'master' of github.com:wolfssl/wolfssl 2015-04-01 09:39:10 -07:00
toddouska
3abf1952c8 fix leanpsk default changes 2015-04-01 09:37:41 -07:00
Chris Conlon
1d4187e168 add local struct tm for XGMTIME with TIME_OVERRIDES, fixes issue #55 2015-04-01 10:02:02 -06:00
Takashi Kojo
3aeedcf092 fixed --enable-debug issue on Intel MULX, asm.c 2015-04-01 16:19:29 +09:00
Jay Satiro
b8b13ad9e9 build: Revert using MSBuild property files to auto-detect platform toolset
Prior to this change I had added a .props file for each .vcxproj to
use MSBuild's $(DefaultPlatformToolset) as the the default for
$(PlatformToolset). Typically that configuration allows for the
appropriate toolset to be used no matter which version of VS2010+
the wolfssl64.sln and project files are opened in. Problem is when an
MSBuild was used from the command line to build the solution it got the
$(DefaultPlatformToolset) from a property file based on the solution
header (currently "Format Version 12.00" which maps to Visual Studio
2012) instead. Another side effect was it set the VisualStudioVersion
to 11.0 (n - 1; n in this case 12.0) which was incorrect.

To remedy the above this change reverts back to the old PlatformToolset
method where the v110 toolset (Visual Studio 2012) is specified in every
configuration in every vcxproj. The user will have to specify explicitly
a different toolset to override it (either via command line or the GUI)
if they are not using VS2012.

VS2010 example:
msbuild -p:Configuration="Debug" wolfssl64.sln -p:PlatformToolset=v100
2015-04-01 02:05:15 -04:00
John Safranek
748c5ac128 update configure help strings for AESGCM and DH 2015-03-31 16:23:28 -07:00
toddouska
d84ff83689 fix leanpsk w/ new defaults 2015-03-31 15:55:39 -07:00
toddouska
a5f42cc9ca fix opensslextra time shadow on some systems 2015-03-31 13:56:12 -07:00
toddouska
5319eb8f38 fix github issue #56, have tls layer use time_overrides for ticks if available and not using explicit user_ticks 2015-03-31 13:41:10 -07:00
toddouska
24102eb95f on x86_64 enable sha512, ecc, and increase max_bits by default 2015-03-31 13:28:49 -07:00
John Safranek
175fd5ce17 updated rpm/spec.in 2015-03-31 10:24:57 -07:00
John Safranek
00b335d71a Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-03-31 09:54:27 -07:00
John Safranek
0458e21211 1. In the sniffer, replace call to strnlen with strlen and
accounted for size differences (fixes issue #60)
2. fixed overrun with long SNI names in hello messages
2015-03-31 09:51:55 -07:00
Chris Conlon
a24a22670c fix configure help string for arc4, chacha, poly1305 2015-03-31 09:42:32 -06:00
toddouska
1c19b67885 update lib version 2015-03-30 13:07:59 -07:00
toddouska
8588bb8b10 fix README typo 2015-03-30 12:52:59 -07:00
toddouska
e917df4c59 prepare 3.4.6 release 2015-03-30 12:28:12 -07:00
toddouska
c47acc7f24 Merge branch 'kojo-intel' 2015-03-30 11:11:28 -07:00
toddouska
5d4c4d36e5 Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-30 11:07:11 -07:00
Takashi Kojo
6243c6244a fixed ftm/Intel MULX -O0 option, register usage 2015-03-30 14:49:53 +09:00
toddouska
69b4e982c8 fix tmp output files lingering around, remove() was called in bad spot 2015-03-29 19:32:48 -07:00
Takashi Kojo
a895a606e7 sha256.c, eliminate platform dependent code. 2015-03-30 07:55:05 +09:00
toddouska
3ca0bc0d66 fix windows warning 2015-03-29 14:31:09 -07:00
toddouska
e73b76c8ca fix warning for compilers that don't understand bitfield size 2015-03-29 14:18:52 -07:00
toddouska
500ee73be4 fix opensslextra set_timeout assumes long > int 2015-03-29 12:00:04 -07:00
toddouska
c90977c7a5 fix windows build 2015-03-29 11:51:05 -07:00
toddouska
4332acbeaa leanpsk doesn't need new gcm, poly, chacah defaults 2015-03-29 11:30:05 -07:00
toddouska
b12a1bb2e3 switch pkcs12 encrypted key to 3des since arc4 now off by default 2015-03-29 11:10:21 -07:00
toddouska
defc66f8db update client encrypt key to 2048 bit version 2015-03-29 10:53:21 -07:00
toddouska
72be4d91d0 Merge branch 'kojo-intel' 2015-03-29 10:34:28 -07:00
toddouska
fc4e0dfd6d Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-29 09:48:13 -07:00
Takashi Kojo
57d766f1eb fixed ftm/MULX crash with --enable-debug, missing register def in inline asm destroying registers 2015-03-29 19:50:32 +09:00
Takashi Kojo
bd5fc1712f fixed sha256/AVX1 crash with --enable-debug: missing register def in inline asm destroy register
rorx removed when non-AVX2 build . cleaned set_Transform
2015-03-29 19:39:03 +09:00
Takashi Kojo
a83e85b91e Intel mulx/adcx/adox 2015-03-29 10:20:30 +09:00
toddouska
02ffb563d6 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-28 14:59:20 -07:00
toddouska
9ba62a2c52 allow examples build if no-sha but psk is on 2015-03-28 14:58:17 -07:00
toddouska
d090721730 fix cycles per byte format is cycles > 100 2015-03-28 14:38:29 -07:00
toddouska
27faf15678 add intelasm ./configure option 2015-03-28 14:34:39 -07:00
toddouska
905e5801f8 fix benchmark format, GB/s won't misalign output 2015-03-27 21:36:35 -07:00
toddouska
1fc3aa100b aes gcm/ccm require aes, duh 2015-03-27 21:30:27 -07:00
toddouska
c9a0c9a797 fix some psk warnings 2015-03-27 19:20:31 -07:00
toddouska
7f621f0637 Merge branch 'kojo-intel' 2015-03-27 15:42:55 -07:00
toddouska
3b8009bfd4 Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-27 15:41:02 -07:00
toddouska
32c9f00189 only alloc poly auth size if cipher suite needs it 2015-03-27 15:38:01 -07:00
toddouska
e66aa9885f fix linux warning 2015-03-27 15:20:28 -07:00
toddouska
c92e4bd908 remove save file 2015-03-27 14:32:44 -07:00
toddouska
495fbe087e allow dh to be used w/o certs and asn 2015-03-27 14:28:05 -07:00
toddouska
4b8583168b add our strsep to msvc build 2015-03-27 12:14:14 -07:00
toddouska
ff11df2c14 enable chacha - poly by default 2015-03-27 11:22:42 -07:00
toddouska
af1fd4719a enable gcm by default 2015-03-27 11:12:42 -07:00
toddouska
c5f7c7ce57 enable dh by default 2015-03-27 10:23:15 -07:00
toddouska
d655fb9d74 remove rc4 from default build 2015-03-27 10:17:22 -07:00
toddouska
e4ac398d98 fix snifftest bad include on windows 2015-03-27 09:55:54 -07:00
toddouska
ac4b6af823 make attrib align compiler neutral for sha256 2015-03-27 09:40:53 -07:00
Takashi Kojo
ef6e08dc01 static to static const in sha256/512.c 2015-03-27 20:19:43 +09:00
toddouska
9adbf41baa Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-26 14:28:16 -07:00
toddouska
2935234484 Merge branch 'kojo-intel' 2015-03-26 14:27:12 -07:00
toddouska
22afce8609 fixup intel avx request 2015-03-26 14:26:25 -07:00
Chris Conlon
d4a3e83582 fix OPENSSL_EXTRA + NO_MD5 build, fixes issue #26 2015-03-26 13:52:06 -06:00
John Safranek
0f4216360e fix StoreExternalIV and SetInternalIV for 3DES 2015-03-26 11:09:36 -07:00
Chris Conlon
b5cac58845 fix pwdbased + NO_MD5 build 2015-03-26 11:50:15 -06:00
toddouska
4bd5dfe04a Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-26 10:28:53 -07:00
Jacob Barthelmeh
699aae25a0 remove extra comments 2015-03-25 18:09:06 -06:00
Takashi Kojo
9ddf775afa Intel RdSeed, no Rand with hash DRBG 2015-03-26 09:08:02 +09:00
toddouska
b99b91ed99 :Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-25 13:08:26 -07:00
Takashi Kojo
3c55971ffa Removed Intel RD from Hash DRBG 2015-03-25 18:31:08 +09:00
Takashi Kojo
994ffa96e0 sha256/512 removed static values for thread safe 2015-03-25 18:26:46 +09:00
toddouska
4b5a34e378 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-24 11:57:37 -07:00
toddouska
8f6d7a1ce7 rename ecc25519 to curve25519, less confusing with ed25519 now in play too 2015-03-24 11:56:40 -07:00
John Safranek
54b2f423bc clear unused variable build warning for OCSP 2015-03-24 11:16:50 -07:00
Takashi Kojo
28109b01f7 Intel rdrand/rdseed: fixed error check, separated rdrand and rdseed 2015-03-24 15:13:11 +09:00
John Safranek
fe303c97c6 refactor CRL/OCSP lookup for peer cert. add option to allow checking all certs in peer cert chain. 2015-03-23 17:35:56 -07:00
Takashi Kojo
572214ebb4 cpuid_flags, thread safe in sha256.c/sha512.c 2015-03-24 06:24:09 +09:00
toddouska
66a65f84bd add a few ForceZeros to ecc fp 2015-03-23 11:44:33 -07:00
toddouska
b841bc66c3 fix github issue #43, ecc_point uses DYNAMIC_TYPE ECC instead of BIGINT 2015-03-23 11:23:31 -07:00
Takashi Kojo
7e3c310ec9 random.c, runtime switch between Intel RD and software version 2015-03-23 19:40:35 +09:00
Takashi Kojo
2a2bf81c15 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into IntelAVX 2015-03-23 18:43:01 +09:00
Jay Satiro
a5072d09ae Ignore Visual Studio Intellisense files 2015-03-23 02:21:34 -04:00
Jay Satiro
6e14362940 build: Add DLL configurations to wolfssl64.sln and all vcxproj files
- Remove extern from declspec in WOLFSSL_API macro.

- Add a property file to *.vcxproj so that $(DefaultPlatformToolset) is
available.

- Remove the specified platform toolset (VS 2012) in *.vcxproj.

This change allows the projects to use $(DefaultPlatformToolset) so that
they will be built using the default platform toolset for whatever
version of Visual Studio 2010+ that loads them.

- Add DLL Release and DLL Debug configurations to *.vcxproj except for
sslSniffer.vcxproj.

The sniffer uses internal library components that aren't exposed in the
wolfSSL DLL so it can only be built by linking to CyaSSL's static lib.

- Change intermediate output directory of obj files to
<current-dir-setting>\obj\.

The purpose of this change is to separate the output files from the
intermediate files because sometimes they can end up in the same dir.
2015-03-23 02:12:01 -04:00
John Safranek
9f2454fc78 Added a noop function wc_FreeRng() for when not using the HashDRBG to keep
the calls to InitRng and FreeRng simple and balanced.
2015-03-20 14:19:35 -07:00
Chris Conlon
0afd09d900 fix OPENSSL_EXTRA + NO_AES build 2015-03-20 11:25:22 -06:00
Chris Conlon
6c963c8d8e fix OPENSSL_EXTRA + NO_DES3 build 2015-03-20 10:59:54 -06:00
toddouska
2e7d3a9121 cleanup ed benchmark 2015-03-19 13:00:20 -07:00
toddouska
b54c29487d Merge branch 'jacob-ed' 2015-03-19 12:52:15 -07:00
toddouska
478a8bb059 adjust ./configure format, change ed sign/verify to msg from hash 2015-03-19 12:48:32 -07:00
Jacob Barthelmeh
d89d524570 initial ed25519 implementation 2015-03-19 11:40:41 -06:00
Chris Conlon
5577555ce3 adjust test.c CERT_GEN for Freescale MFS examples 2015-03-18 18:21:52 -06:00
Chris Conlon
605ca8eaf6 update Freescale CodeWarrior project files to wolfSSL 2015-03-18 18:18:09 -06:00
toddouska
8e82806c01 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-18 15:48:22 -07:00
toddouska
555eb66292 fix github issue #40, export Base64_Decode, allow user to export Base64_Encode w/o other options 2015-03-18 15:47:19 -07:00
Chris Conlon
1d4cc928c6 fix Freescale MQX gmtime, cert generation 2015-03-18 16:15:56 -06:00
toddouska
eb0d980779 Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-18 14:39:54 -07:00
toddouska
bb47dece1f Merge branch 'kaleb-master' 2015-03-18 14:27:53 -07:00
toddouska
8e4b24d6e4 note msvc is complaining compiler 2015-03-18 14:27:07 -07:00
toddouska
64d83c39a0 Merge https://github.com/kaleb-himes/wolfssl into kaleb-master 2015-03-18 14:25:31 -07:00
toddouska
f7c99cec3e obey user ecc choices at TLS layer 2015-03-18 14:12:23 -07:00
toddouska
f398b20bcc have ecc SetCurve() and CheckCurve() obey user ecc choices 2015-03-18 13:52:21 -07:00
toddouska
0316dd2ef6 fix github issue #35, allow user to pick ecc curves with ECC_USER_CURVES and separate HAVE_ECCxxx defines 2015-03-18 13:36:07 -07:00
toddouska
145123ff64 fix github issue #38, +sha512 -sha384 +aes-gcm redefinition 2015-03-18 11:44:39 -07:00
kaleb-himes
fd772bb434 MSVS warning fixes for all solutions 2015-03-18 10:42:10 -06:00
Chris Conlon
913240f6e4 add comments to RSA funcs, fix 80 char line limits 2015-03-18 10:06:48 -06:00
toddouska
6b0bfa1b2c bump dev version 2015-03-17 14:59:01 -07:00
toddouska
0b6c03ad06 snifftest.c needs socket.h included for AIX, john cyassl commit #a8803e1e16f23 2015-03-17 14:52:42 -07:00
toddouska
eba98a9ec2 removed some AC_REQUIRE statements for macros, ksh, John cyassl commit #46d9037d26dc 2015-03-17 14:47:44 -07:00
toddouska
e9cdfe84ce Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-17 14:26:43 -07:00
toddouska
24ad168acf put memset back before ecdsa sig decode for failure case 2015-03-17 14:25:57 -07:00
Takashi Kojo
16f0b603c3 a comment line cleaned 2015-03-17 21:56:12 +09:00
Takashi Kojo
7d6f169e29 random.c for Intel rdseed/rdrand 2015-03-17 21:48:59 +09:00
Takashi Kojo
77145a1f3e eliminate unsed macro in sha256.c 2015-03-17 21:46:57 +09:00
Takashi Kojo
78375db73b sha256/384/512 for Intel AVX1/2 2015-03-17 21:19:31 +09:00
John Safranek
33e767a1b4 sniffer should fail a session missing a RSA key 2015-03-16 18:13:51 -07:00
John Safranek
db51c88e25 added cert status trace message to win resource file 2015-03-16 11:30:43 -07:00
John Safranek
4d62389389 added Certificate Status handshake message to sniffer 2015-03-16 11:19:16 -07:00
toddouska
023f44bacf fix github issue #31, allow time overrides for all time uses 2015-03-13 12:44:25 -07:00
toddouska
4c2bf4ea34 add SetMinVersion at context level 2015-03-13 12:20:39 -07:00
John Safranek
84edbd1ff2 cleanup some configure help text 2015-03-12 12:25:39 -07:00
John Safranek
dbe6ecedf8 fix enable-sniffer option in configure.ac 2015-03-12 12:07:48 -07:00
toddouska
3daa8369c7 allow XTOUPPER to work with macros that don't like signed types 2015-03-11 17:52:11 -07:00
John Safranek
b02622d1d0 optimize hashDRBG internal state 2015-03-10 18:16:44 -07:00
toddouska
ab874d70db make suites at context level on demand only 2015-03-10 16:09:16 -07:00
toddouska
7e2931e5fa make sure DHE / client certs freed during handshake free 2015-03-09 22:13:34 -07:00
Chris Conlon
edfe8b8a87 fix sha256.h copyright 2015-03-09 12:06:51 -07:00
toddouska
2c00e2c7a4 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-09 11:59:11 -07:00
toddouska
64705acf94 optimize cert_manager layout 2015-03-09 10:08:04 -07:00
toddouska
e9db5cca74 fix saveArrays check in free handshake resources 2015-03-09 09:54:29 -07:00
toddouska
c201239d02 missed 2 now redundant inits on CTX 2015-03-09 09:39:50 -07:00
toddouska
e6c369e026 use memset on Init SSL for 0,NULL defaults 2015-03-09 09:34:38 -07:00
toddouska
8e6f8d8693 use memset for 0,NULL defaults on CTX init 2015-03-09 09:21:04 -07:00
Jacob Barthelmeh
8822d670b3 rename function parameter to remove global shadow possibility 2015-03-09 10:08:56 -06:00
toddouska
7d4faf7c90 make handshake hashes dynamic part of ssl, can be freed after handshake 2015-03-09 09:05:06 -07:00
toddouska
b7b655b8bf fix example server memory tracker 2015-03-07 12:00:27 -08:00
toddouska
44b6ca9597 use bitfield for basic options struct 2015-03-07 11:17:22 -08:00
toddouska
8e7d8e8a55 optimize session layout 2015-03-07 10:53:08 -08:00
toddouska
22899019b4 optimzie Buffers layout 2015-03-07 10:37:22 -08:00
toddouska
742278a305 optimize basic SSL layout 2015-03-07 10:32:35 -08:00
toddouska
f48298cbd5 move bio fds to openssl extra 2015-03-07 10:16:26 -08:00
toddouska
31a2acd9c3 optimzie cipherSpecs layout 2015-03-07 10:08:34 -08:00
toddouska
dc5faebb8d optimize buffer layout 2015-03-07 10:05:36 -08:00
toddouska
3d971bb885 optimzie bufferStatic layout 2015-03-07 10:04:15 -08:00
toddouska
28d5d50000 optimize Arrays layout 2015-03-07 10:00:37 -08:00
toddouska
4bf74da2f3 optimize Suites layout 2015-03-07 09:57:14 -08:00
toddouska
ef0a918072 optimize hash-drbg layout, save 12 bytes on 64bit 2015-03-07 09:46:14 -08:00
toddouska
da208e8629 fix github issue #28, allow FREERTOS user in settings to turn on DH or SHA-512 2015-03-07 08:59:36 -08:00
toddouska
7caf0499d6 bump version 2015-03-06 13:39:57 -08:00
toddouska
7a87ce54ca fix hash size mismatch on HashSession() 2015-03-06 11:33:06 -08:00
John Safranek
874fa8c1f9 fix freeing a failed RNG 2015-03-06 09:51:29 -08:00
toddouska
d5975e39f8 fix github issue #27, better help on fips not working w/o license 2015-03-06 09:15:33 -08:00
Jacob Barthelmeh
7ef362d4ba format of curve25519 key 2015-03-05 15:38:07 -07:00
toddouska
450ccea7ee delay peer RSA key alloc/init until needed 2015-03-05 12:38:34 -08:00
toddouska
818d5c4bf3 fix github issue #25, delay ecc key allocs/init until needed 2015-03-05 12:15:10 -08:00
toddouska
11e15188bf fix github issue #24, settings first before ifdef checks on 25519_fe files 2015-03-04 12:15:23 -08:00
toddouska
18e710ce9a make sure external X509 free uses internal free 2015-03-03 14:14:33 -08:00
John Safranek
9f37133e67 removed top-level iOS/iPhone projects in favor of the IDE/iOS projects 2015-03-02 12:02:29 -08:00
toddouska
c14bd2dddd Merge branch 'kojo-itron' 2015-02-28 11:30:39 -08:00
toddouska
1caaeb8355 tiddy whitespace 2015-02-28 11:29:42 -08:00
Takashi Kojo
6f08459264 uITRON and uT-Kernel, wc-prot.c 2015-02-28 11:24:16 +09:00
toddouska
b7db43a189 make ConstantCompare available outside of internal.c 2015-02-26 17:31:47 -08:00
toddouska
6cced22256 add INSTALL, basic build instructions and locations for more info 2015-02-26 13:48:57 -08:00
toddouska
e25dc7b16c update README.md 2015-02-26 13:27:54 -08:00
toddouska
c7a72a2c00 Merge branch 'jacob-master' 2015-02-26 12:37:45 -08:00
toddouska
681fc85bc8 Merge branch 'master' of https://github.com/JacobBarthelmeh/wolfssl into jacob-master 2015-02-26 12:36:42 -08:00
toddouska
9913edd7a5 fix github issue #20, allow user to use settings.h at app level as well for building wolfssl. verified types.h (which includes settings.h) or settings.h is included b4 definition checks at wolfssl and wolcrypt header levels 2015-02-26 12:29:15 -08:00
Jacob Barthelmeh
30cbadc38d changes for MYSQL port 2015-02-26 10:40:32 -07:00
Jacob Barthelmeh
67e81f534a mac compare in chacha-poly AEAD and remove unneeded null check 2015-02-26 08:04:15 -07:00
toddouska
ac979d49ab fix sni yassl tests 2015-02-25 20:34:50 -08:00
toddouska
c04a6d2d0e update README names 2015-02-25 20:29:34 -08:00
toddouska
1395c88ec4 Merge pull request #14 from lchristina26/master
fix STM32 bug in benchmark.c
2015-02-25 13:39:49 -08:00
toddouska
473a120ba2 remove more stale cyassl headers 2015-02-25 13:34:29 -08:00
toddouska
dbaac4da12 remvoe stale cyassl headers from openssl layer 2015-02-25 12:34:54 -08:00
toddouska
ef87043495 fix github issue #16, stale cyassl header 2015-02-25 12:16:52 -08:00
toddouska
2b9b3dd395 fix github issue #15, stale cyassl headers 2015-02-25 12:14:11 -08:00
lchristina26
f04b042c73 fix STM32 bug in benchmark.c 2015-02-25 11:43:30 -07:00
John Safranek
795a32446b fix github issue #13, DRBG type-punning 2015-02-24 16:47:00 -08:00
toddouska
787e73d818 Merge pull request #11 from kaleb-himes/master
ntru neo.lib -> NtruEncrypt_DLL.lib
2015-02-24 15:22:40 -08:00
toddouska
6d691e1b9f fix github issue #12, cyassl_mutex leftovers 2015-02-24 15:03:24 -08:00
toddouska
8ee361a0d4 fix scan-build warning 2015-02-24 12:46:53 -08:00
kaleb-himes
40d51f13ce ntru neo.lib -> NtruEncrypt_DLL.lib 2015-02-24 13:44:15 -07:00
toddouska
501d1cd934 Merge branch 'aburks-chapoly' 2015-02-24 12:35:08 -08:00
toddouska
9d20e712bf add autoconf support for chapoly-aead, wipe temp polykey, minor whitespace adjusts 2015-02-24 12:33:52 -08:00
Andrew Burks
0e5f879d0b Added documentation and benchmarks. 2015-02-24 10:00:39 -08:00
Andrew Burks
8c3410d6c2 Added wolfcrypt API for the ChaCha20-Poly1305 AEAD. 2015-02-24 09:15:11 -08:00
Andrew Burks
14b6254e6e Fixed dependency chain issue with integer.h since one of the function prototypes uses mp_int. 2015-02-23 15:40:39 -08:00
toddouska
bbe4a3815f release README update 2015-02-23 13:04:23 -08:00
toddouska
9e2c02d47a wolfcrypt examples build option for build tests 2015-02-23 12:23:16 -08:00
kaleb-himes
db8619cc76 compatibility layer psk updates 2015-02-23 09:45:22 -07:00
toddouska
608da64ece add ForceZero() to force memset(0) 2015-02-20 15:51:21 -08:00
John Safranek
732a0dd39a removed redundant mp_init of r and s in ecc verify hash 2015-02-20 13:54:30 -08:00
toddouska
c3f73018a0 fix scan-build warnings 2015-02-20 12:38:29 -08:00
toddouska
2f20376704 Merge branch 'kojo-pic32' 2015-02-19 18:00:19 -08:00
toddouska
43918fa0dc Merge branch 'pic32mz' of https://github.com/kojo1/wolfssl into kojo-pic32 2015-02-19 17:58:21 -08:00
Takashi Kojo
1af158ea23 Add configurations.xml under mplabx/mcaip 2015-02-20 10:54:53 +09:00
toddouska
d11158431f Merge branch 'jacob-master' 2015-02-19 16:08:58 -08:00
toddouska
420668c1f9 tiddy up 25519 2015-02-19 16:07:13 -08:00
toddouska
cc642fbaf6 tiddy up 25519 2015-02-19 16:06:24 -08:00
Takashi Kojo
9a96da72eb Change mplabx/mcapi path names in .gitignore 2015-02-20 08:04:42 +09:00
Takashi Kojo
2746a69882 Add Makefile for mplabx, mcapi projects 2015-02-20 07:55:24 +09:00
toddouska
f6bcb6cf17 Merge https://github.com/JacobBarthelmeh/wolfssl into jacob-master 2015-02-19 14:45:59 -08:00
toddouska
d5b249754b make sure poly1305 and chacha defined for chacha-poly aead mode 2015-02-19 14:33:21 -08:00
Chris Conlon
42b58bd05b cleanup conditional header inclusion 2015-02-19 14:02:23 -07:00
Jacob Barthelmeh
4babd2cf2d added in curve25519 crypto 2015-02-19 10:59:05 -07:00
Takashi Kojo
6827e4b8f4 update Makefile.am for mplabx/pcapi 2015-02-19 22:07:10 +09:00
Takashi Kojo
267063e0f9 adjusted mplabx/mcapi projects/include.am to wolfssl 2015-02-19 21:00:54 +09:00
Takashi Kojo
b8f476192d Eliminating unnecessary files under mplabx projects 2015-02-19 14:10:55 +09:00
Takashi Kojo
255f7381a4 buffering hash message, pic32mz-hash.c 2015-02-19 14:08:33 +09:00
toddouska
17ed9e147f fix SLOW_WORD name change 2015-02-18 15:47:50 -08:00
kaleb-himes
2a068ff025 final powerPC support modification 2015-02-18 08:02:05 -07:00
kaleb-himes
de2115b140 shutdown shadows global in sys/socket.h line 576 renamed wc_shutdown 2015-02-18 08:00:25 -07:00
Takashi Kojo
0b695f683f pic32mz crypt engine, pic32mz-hash.c 2015-02-18 16:25:19 +09:00
Takashi Kojo
963ba3fe41 sha512 rollback 2015-02-18 07:46:11 +09:00
Takashi Kojo
1e3fa1fac3 adjusting pic32mz code to wolfssl 2015-02-18 07:38:41 +09:00
kaleb-himes
3a150da10f final powerPC support modification 2015-02-17 14:26:01 -07:00
kaleb-himes
8d5bba7962 shutdown shadows global in sys/socket.h line 576 renamed wc_shutdown 2015-02-17 14:24:31 -07:00
kaleb-himes
317e7fdb08 Merge branch 'master' of ssh://github.com/wolfSSL/wolfssl 2015-02-17 14:20:53 -07:00
kaleb-himes
c516c42c9a reduce footprint size removing compatibility layer where no longer needed 2015-02-17 14:20:10 -07:00
toddouska
de7c9da363 Merge branch 'leah-master' 2015-02-16 14:24:28 -08:00
toddouska
5f3b1d90b6 fix shutdown returns 2015-02-16 14:23:33 -08:00
toddouska
518bdd3a65 Merge branch 'master' of https://github.com/lchristina26/wolfssl into leah-master 2015-02-16 13:43:36 -08:00
John Safranek
ff79e646e1 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-02-16 11:36:23 -08:00
John Safranek
16e468b05f updated PBKDF2 test to use longer password 2015-02-16 11:33:06 -08:00
toddouska
4dbb74b9ea Merge branch 'master' of github.com:wolfssl/wolfssl 2015-02-16 09:55:51 -08:00
toddouska
0efdabb9a0 move pwdbased lower in config for openssl manual sets 2015-02-16 09:54:55 -08:00
Moisés Guimarães
b9e5b5f90c add libevent installation on the vagrant box 2015-02-15 13:34:56 -03:00
John Safranek
0aa48498b9 1. Added new iOS IDE project
2. Added new iOS IDE project for FIPS
3. Added a readme for the iOS projects
4. Added error codes for FIPS local storage
2015-02-14 12:22:51 -08:00
toddouska
a92d4c5719 fix server-keyPkcs8Enc.pem name change error, password, and add ecc pkcs8 encrypted file 2015-02-11 17:24:15 -08:00
kaleb-himes
297e1751b2 return line options.h being read literally by debian, fixed 2015-02-11 14:10:06 -07:00
lchristina26
4c7b076cea updates to shutdown and mymktemp 2015-02-11 09:37:54 -07:00
Leah
b26b5f1b51 Merge pull request #1 from wolfSSL/master
update to current wolfssl version
2015-02-11 16:33:44 +00:00
lchristina26
1ef9d7852c fixes from scan-build output in test.c 2015-02-06 08:42:37 -07:00
toddouska
c8b9c84178 fix c++ build 2015-02-05 17:23:53 -08:00
toddouska
d3b15e4d50 Merge branch 'master' of https://github.com/lchristina26/wolfssl into leah-master 2015-02-05 11:19:32 -08:00
toddouska
c2ed94958c Merge branch 'kaleb-himes-master' 2015-02-05 10:27:00 -08:00
toddouska
d37abe4363 Merge branch 'master' of https://github.com/kaleb-himes/wolfssl into kaleb-himes-master 2015-02-05 10:22:48 -08:00
toddouska
430f95e4f1 fix ecc compressed with alt size 2015-02-05 10:17:29 -08:00
kaleb-himes
c539393ca4 updated all certs 2015-02-04 23:34:04 -07:00
kaleb-himes
b7ba495924 all certs in renewcerts.sh -> 1000 days 2015-02-04 23:29:56 -07:00
lchristina26
ed80732957 add mymktemp function for random output file name in test.h 2015-02-04 11:52:37 -07:00
kaleb-himes
b98cf6826e Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-02-04 10:49:51 -07:00
John Safranek
4bc2743b55 changed port.c to wc_port.c in Xcode iOS project 2015-02-03 14:21:20 -08:00
kaleb-himes
9261aa1d6d crls updated 2015-02-02 11:24:30 -07:00
kaleb-himes
c840c0ba3e endif comment update 2015-02-02 09:19:00 -07:00
kaleb-himes
55d30ca277 new client-ecc-cert.pem/renewcerts updates/certs relavent name changes 2015-02-02 09:10:07 -07:00
John Safranek
7cff22c4b0 moved the buffers, key, and iv around in the file so lean-psk would still build 2015-01-30 10:43:31 -08:00
John Safranek
dcebbe4445 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-01-30 09:56:35 -08:00
John Safranek
f75329aa2e 1. Changed a memset to 0 of some mp_ints with mp_inits()
2. For alt-ecc, implemented the function fp_init_copy()
3. Added an fp_init() for the temp fp_int in fp_sub_d()
2015-01-30 09:03:44 -08:00
lchristina26
29be69b92b change CYASSL_DEBUG to DEBUG_CYASSL for compatibility 2015-01-30 09:11:42 -07:00
lchristina26
db5a95b370 add option for bidirectional shutdown 2015-01-30 08:41:34 -07:00
Moisés Guimarães
fe26b86207 fixes for vagrant scripts due to name changing:
update name to wolfssl.
add question before sync.
2015-01-29 12:17:08 -03:00
toddouska
0e4c008247 add pic32mz header to distribution 2015-01-28 15:30:41 -08:00
toddouska
c5b495c44e fix HASH-DRBG memory leak in benchmark 2015-01-28 12:29:53 -08:00
toddouska
7ac337a21e Merge branch 'master' of github.com:wolfssl/wolfssl 2015-01-28 10:33:12 -08:00
toddouska
a26630eec0 remove unused ecc_timing variables 2015-01-28 10:32:12 -08:00
kaleb-himes
81b6c7ff7a encrypt shadowing global in unistd.h fix 2015-01-28 11:18:13 -07:00
kaleb-himes
7dba293fbb global declaration being shadowed in pwdbased.h 2015-01-28 10:38:10 -07:00
kaleb-himes
14eaa69eae version git diff fix 2015-01-27 11:42:25 -07:00
toddouska
d6d56c8532 fix missing function argument to get_intel_cycles() 2015-01-26 16:49:28 -08:00
toddouska
a682d53f67 add cycles per byte to gcc + x86_64 benchmarks 2015-01-26 16:33:30 -08:00
toddouska
466d8a970c bump version 2015-01-26 14:02:57 -08:00
John Safranek
4c97531d6a added comment about ALT_ECC_SIZE to ecc.h 2015-01-26 11:08:49 -08:00
John Safranek
6ba6ca7435 fix pointer issue with ECC cache 2015-01-26 09:20:22 -08:00
John Safranek
2bcd55226f Merge branch 'ecc2' 2015-01-23 10:37:55 -08:00
John Safranek
2e6d118a50 allow different sized fast math for both RSA and ECC
add C_EXTRA_FLAGS "-DALT_ECC_SIZE" to enable, and set
size with "-DFP_MAX_BITS_ECC=512", default is 512
2015-01-23 10:26:41 -08:00
kaleb-himes
3393c3a4b4 CYASSL_DEBUG in compatibility layer 2015-01-23 11:06:01 -07:00
toddouska
74790fa265 fix gcc 4.9 warning for idx on fpecc 2015-01-20 15:35:58 -08:00
kaleb-himes
402bbe0321 32 bit implicit cast 2015-01-20 13:44:35 -07:00
kaleb-himes
b0e88e32ff Error printouts name changed 2015-01-20 12:36:20 -07:00
Jacob Barthelmeh
859c22f2c2 update to asn compatibility 2015-01-19 21:18:35 -07:00
Moisés Guimarães
75fa8af5f6 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-01-19 14:55:52 -03:00
Moisés Guimarães
9e667c15c7 fix tolower typecast on CYGWIN, gcc-arm-none-eabi (gnuarmeclipse toolchain) and possible future ports. 2015-01-19 14:53:54 -03:00
kaleb-himes
780d01afc6 tirtos compatibility 2015-01-19 09:07:13 -07:00
kaleb-himes
d591716060 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-01-19 08:46:13 -07:00
kaleb-himes
e735ba1357 formatting and lone API removed 2015-01-19 08:45:09 -07:00
Jacob Barthelmeh
3345293ad7 debugging the debugging function in benchmark 2015-01-14 17:01:44 -07:00
John Safranek
1bd80b20d6 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-01-14 10:03:20 -08:00
kaleb-himes
8fe965cf24 ntru wc_ fixes 2015-01-14 09:52:33 -07:00
kaleb-himes
3229a96bb3 pre-commit to use wolfssl/options 2015-01-13 16:22:21 -07:00
kaleb-himes
53d65de105 visual studio project paths updated 2015-01-13 15:30:57 -07:00
kaleb-himes
b9a70ce3ca wc_ in src/ssl.c 2015-01-13 14:01:10 -07:00
kaleb-himes
b849d1ca8b visual c name change 2015-01-13 13:42:49 -07:00
Jacob Barthelmeh
03345f1024 catch cyassl_sniffer macro 2015-01-13 13:40:53 -07:00
kaleb-himes
288d9a039d legacy defines and updates 2015-01-13 13:27:01 -07:00
Jacob Barthelmeh
7f3184b0ed header file includes for compatibility and macros added to cyassl/ssl.h 2015-01-12 14:45:21 -07:00
John Safranek
c4c32221a9 update download URL in the rpm/spec template to new location 2015-01-12 09:24:28 -08:00
kaleb-himes
f138faa565 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-01-09 16:03:07 -07:00
kaleb-himes
1ebaf41808 random.c updated, conflict with TIRTOS 2015-01-09 16:01:22 -07:00
Jacob Barthelmeh
e6a84243ee chacha-poly aead test 2015-01-09 15:18:20 -07:00
Jacob Barthelmeh
6c9abe06f9 remove compatibility include 2015-01-09 14:28:26 -07:00
John Safranek
733cfde318 updated RPM build spec for wolfSSL 2015-01-09 11:49:44 -08:00
John Safranek
2be9d8f5c6 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-01-09 11:22:38 -08:00
John Safranek
e5734d5ef5 wolfssl is a new library, reset libtool version number to 0:0:0 2015-01-09 11:20:41 -08:00
kaleb-himes
aff7669cad make distcheck and sniffer comment removed 2015-01-09 11:43:17 -07:00
kaleb-himes
6b1484ef2f sniffer underscore 2015-01-09 11:33:40 -07:00
kaleb-himes
d6dcaab89e sniffer added to compatibility layer 2015-01-09 11:31:31 -07:00
kaleb-himes
9dfd47648b real README.md 2015-01-09 11:18:09 -07:00
kaleb-himes
7b6c17037c initial wolfSSL 2015-01-09 11:09:43 -07:00
kaleb-himes
be35f0df47 3.3.3 2015-01-09 10:37:42 -07:00
kaleb-himes
74749b2b6a tirtos name change 2015-01-09 10:09:54 -07:00
kaleb-himes
819a303a79 version update 2015-01-09 10:08:43 -07:00
Jacob Barthelmeh
9af457f8c3 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-09 10:07:54 -07:00
Jacob Barthelmeh
f2dea4812a add includes to compatibility 2015-01-09 10:06:50 -07:00
kaleb-himes
b7aa0e1057 Johns changes in cyassl/cyassl 2015-01-08 16:51:59 -07:00
kaleb-himes
bb92d41e8d xcode projects, merge Chriss latest 2015-01-08 16:27:40 -07:00
Jacob Barthelmeh
2d3c607acd handel poly1305 warning and clean up commented out compatibility layer includes 2015-01-08 15:33:44 -07:00
kaleb-himes
2951ef5b97 swig updated, tested, and working 2015-01-08 14:47:41 -07:00
Jacob Barthelmeh
492bae7afe Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-08 10:44:00 -07:00
Jacob Barthelmeh
d366599285 adding comment to header and _fips to c files 2015-01-08 10:42:01 -07:00
kaleb-himes
48fd041c40 no longer user compatibility layer 2015-01-08 10:02:07 -07:00
kaleb-himes
7e5cac6c43 support dir update 2015-01-08 09:56:06 -07:00
kaleb-himes
878c1889b3 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-08 09:40:17 -07:00
kaleb-himes
a389620a29 Copyright (C) updates 2015-01-08 09:39:04 -07:00
Jacob Barthelmeh
0721d575f6 correction on rename of struct 2015-01-07 15:56:02 -07:00
Jacob Barthelmeh
6195ae1db2 placement of poly1305 in test file 2015-01-07 15:37:55 -07:00
Jacob Barthelmeh
1c4b4a2d1e ripemd in function call fixed 2015-01-07 15:26:09 -07:00
Jacob Barthelmeh
e3826d26c5 refactor settings_comp to respective .h files 2015-01-07 15:03:54 -07:00
Jacob Barthelmeh
bdb37d0da9 adjustment to compatibility in random.h file 2015-01-07 14:45:11 -07:00
Jacob Barthelmeh
252390a476 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-07 14:32:31 -07:00
Jacob Barthelmeh
455db9f84b adjust cyassl headders 2015-01-07 14:30:28 -07:00
kaleb-himes
8d98db7593 cyassl/options.h backwards compatibile 2015-01-07 14:30:02 -07:00
Jacob Barthelmeh
02f16b9232 going through wolfcrypt 2015-01-07 13:36:11 -07:00
kaleb-himes
7e9c8028b2 more macros, fips test passes 2015-01-07 13:33:10 -07:00
kaleb-himes
639637278d CYASSL -> WOLFSSL macros 2015-01-07 13:17:57 -07:00
kaleb-himes
33fff07eee Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-07 13:14:26 -07:00
Jacob Barthelmeh
f516bcf1ce old cyassl header files adjusted 2015-01-07 13:11:37 -07:00
kaleb-himes
e256291511 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-07 10:19:53 -07:00
Jacob Barthelmeh
4008bec496 remove assembly files from ctaocrypt and adjustment to visibility 2015-01-07 10:16:52 -07:00
kaleb-himes
99d0e80248 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-07 08:58:02 -07:00
Jacob Barthelmeh
95aad35e41 prunning on ctaocrypt files 2015-01-06 22:23:20 -07:00
Jacob Barthelmeh
310347f623 prunning on ctaocrypt files 2015-01-06 15:18:36 -07:00
kaleb-himes
4872ec52f9 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-06 15:02:10 -07:00
kaleb-himes
e84f429ed4 white space configure.ac 2015-01-06 15:00:38 -07:00
Jacob Barthelmeh
161a90aeae error crypt header adjusted and removed from ctaocrypt 2015-01-06 14:45:07 -07:00
Jacob Barthelmeh
6f17e5ecd0 prune ctaocrypt, alter cyassl headers and catch wolfssl rsa header 2015-01-06 14:26:13 -07:00
Jacob Barthelmeh
27e7038c00 cyassl coding header and asthetics to settings macros 2015-01-06 14:02:43 -07:00
Jacob Barthelmeh
8315e76f32 update to function calls in ecc c file 2015-01-06 13:43:46 -07:00
kaleb-himes
11a563aa91 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-06 13:42:50 -07:00
kaleb-himes
ce65bef5a8 enable-fpecc enable-ecc 2015-01-06 13:42:02 -07:00
Jacob Barthelmeh
f5ec8489b8 dummy files for autoconf 2015-01-06 13:38:16 -07:00
kaleb-himes
a990a5cebf missed tfm.h 2015-01-06 13:09:14 -07:00
kaleb-himes
369a5f04a9 library wide licence update 2015-01-06 12:14:15 -07:00
kaleb-himes
0790f53f04 remove wolfssl/options.h 2015-01-06 11:31:18 -07:00
kaleb-himes
067b85877d full commit passing 2015-01-06 11:29:05 -07:00
kaleb-himes
0dbdb35222 enable-md4, enable-hkdf, disable-memory 2015-01-06 10:41:47 -07:00
Jacob Barthelmeh
42f3ec73eb ripemd debug 2015-01-06 10:36:35 -07:00
Jacob Barthelmeh
bc48c83147 blake2 debug and settings refactor 2015-01-06 10:16:56 -07:00
kaleb-himes
e8af870e37 distribution fix 2015-01-05 16:58:28 -07:00
kaleb-himes
4d2b620d23 Merge branch 'master' of https://github.com/cyassl/cyassl 2015-01-05 16:38:27 -07:00
Jacob Barthelmeh
9e2ae79c8a include in tfm and compatability for random and sha256 2015-01-05 16:36:24 -07:00
John Safranek
090a8830ee fix math problem with configure on ksh88 2015-01-05 15:27:20 -08:00
Jacob Barthelmeh
159afeae14 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-05 15:00:50 -07:00
Jacob Barthelmeh
15554342c2 change of some header file macros 2015-01-05 14:59:48 -07:00
kaleb-himes
a4ce557263 Licencing update 2015-01-05 14:54:43 -07:00
lchristina26
b84b0401a9 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-05 14:50:41 -07:00
lchristina26
3cbed90cb9 name change for client.c 2015-01-05 14:48:43 -07:00
kaleb-himes
53ddf53a45 compatibility layer update 2015-01-05 14:38:16 -07:00
Jacob Barthelmeh
37deb65371 aes reverse compat. 2015-01-05 14:16:28 -07:00
Jacob Barthelmeh
e204c41768 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2015-01-05 13:42:22 -07:00
Jacob Barthelmeh
5d377b7bc5 for make dist and also aes compatibility 2015-01-05 13:40:26 -07:00
kaleb-himes
dcbfae1c31 Anon added to compatibility layer 2015-01-05 11:21:40 -07:00
kaleb-himes
cf3ba3f0e8 disable-asn, disable-rsa, enable-psk fixed 2015-01-05 11:06:04 -07:00
kaleb-himes
e09d14f6f8 remove wc_ from non-public functions 2015-01-05 10:50:33 -07:00
kaleb-himes
15f021c074 --enable-bump fixed 2015-01-05 10:41:22 -07:00
Jacob Barthelmeh
db7f7c39e1 comment in testsuite, adjustment to src include and wolfssl ssl 2015-01-05 10:32:51 -07:00
kaleb-himes
4ba12c86cb fastmath, maxfragment, md5, iopool, certreq, certgen 2015-01-05 09:53:00 -07:00
Jacob Barthelmeh
accfaf17af update to comment headers 2015-01-05 09:48:43 -07:00
Jacob Barthelmeh
966ca9c97e clean up comments on c files and fix duplicate in chacah header 2015-01-04 23:26:26 -07:00
Jacob Barthelmeh
e6ebbf4fc2 pre-commit pass and update to name change files 2015-01-03 23:33:14 -07:00
Jacob Barthelmeh
2520973b73 update to c files for name change and pwdbased along with debugging src function calls 2015-01-03 19:09:48 -07:00
Jacob Barthelmeh
144798c962 update to md functions and blake for hmac 2015-01-03 17:24:51 -07:00
Jacob Barthelmeh
f64d76257e readjust c files, autoconf, and some header files 2015-01-02 14:56:58 -07:00
Jacob Barthelmeh
b91934f065 change to header files and update of function calls in src folder 2015-01-01 14:48:33 -07:00
Jacob Barthelmeh
5365bdb06c debugging on name change 2015-01-01 07:33:07 -07:00
kaleb-himes
98fa85ed83 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-31 17:03:33 -07:00
kaleb-himes
aa08c17dc1 sha.c updated 2014-12-31 17:03:07 -07:00
Jacob Barthelmeh
38e129fd24 cleaning up some cyassl 2014-12-31 17:01:27 -07:00
kaleb-himes
87431aa744 version 2014-12-31 16:05:43 -07:00
kaleb-himes
5cff32e271 backing up 2014-12-31 16:04:42 -07:00
Jacob Barthelmeh
e3c82842a5 rsa des3 random : update 2014-12-31 15:31:50 -07:00
kaleb-himes
e6cebf1246 fips preservation update 2014-12-31 15:20:53 -07:00
kaleb-himes
a50af85e95 autoconf, libversioning, .gitignore updated 2014-12-31 14:06:01 -07:00
Jacob Barthelmeh
f81ee9e4d3 addition to aes and alteration to md files 2014-12-31 13:54:57 -07:00
kaleb-himes
88e32c6c5a compatability and sniffer.c 2014-12-31 13:41:30 -07:00
kaleb-himes
2f15d38dc0 fips MD5 checksum preservation 2014-12-31 13:37:51 -07:00
kaleb-himes
b569165ad8 configure.ac updates 2014-12-31 13:04:03 -07:00
Jacob Barthelmeh
3483816f9f fix to test.c and asthetics fo asn_public.h 2014-12-31 11:00:38 -07:00
Jacob Barthelmeh
78e7ffdfa9 rm old asn.c and adjust function calls in new asn.c 2014-12-31 10:42:03 -07:00
kaleb-himes
924abb2d12 accounting for WOLFSSL in md5.h 2014-12-31 10:33:51 -07:00
Jacob Barthelmeh
d1e48e2364 progress on asn 2014-12-31 10:28:13 -07:00
kaleb-himes
59eb83c6e9 auto-tools and wc_ updates 2014-12-31 10:01:32 -07:00
kaleb-himes
62a5548009 compatibility layer additions for wolfssl/ssl.h 2014-12-30 16:19:50 -07:00
kaleb-himes
e8d8f97c64 src/ssl.c, cyassl/ssl.h 2014-12-30 15:48:01 -07:00
Jacob Barthelmeh
e1db640cd5 test for command line utility 2014-12-30 15:37:12 -07:00
kaleb-himes
c0302b4b2c wc_ removed from internal method 2014-12-30 15:19:59 -07:00
Jacob Barthelmeh
3b49b72436 debugging on asn and internal.c 2014-12-30 15:14:27 -07:00
kaleb-himes
0d4a65cd6f pwdbased updated 2014-12-30 14:41:49 -07:00
kaleb-himes
c57609acc3 wc_ udates in src/ directory 2014-12-30 14:13:57 -07:00
Jacob Barthelmeh
7a3fdbc07f debugging for test script 2014-12-30 13:50:40 -07:00
Jacob Barthelmeh
3511454bce Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-30 13:05:48 -07:00
Jacob Barthelmeh
26a2688f0e debuging test script 2014-12-30 13:05:24 -07:00
kaleb-himes
1c75a6e74f tests/api.c updated 2014-12-30 12:41:26 -07:00
kaleb-himes
23368a2bca ctaocrypt -> wolfcrypt 2014-12-30 11:57:58 -07:00
kaleb-himes
7da867135f wolfssl/openssl/ headers updated 2014-12-30 11:52:21 -07:00
Jacob Barthelmeh
8594ccf2df working on commit tests 2014-12-30 11:00:18 -07:00
kaleb-himes
9f3de72055 src/include.am update 2014-12-30 10:38:41 -07:00
Jacob Barthelmeh
5eef118ff5 test and debug of poly-chacha suites 2014-12-30 10:30:54 -07:00
Jacob Barthelmeh
da2c78026c changes to integer.h 2014-12-30 09:28:25 -07:00
kaleb-himes
bf9d41cbcc src/include.am updated 2014-12-30 09:09:42 -07:00
kaleb-himes
adfa2348ba cleanup 2014-12-29 17:06:45 -07:00
Jacob Barthelmeh
76249dd8ee Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-29 16:38:47 -07:00
Jacob Barthelmeh
174e2b23c2 ecc check and adjustment to visibility 2014-12-29 16:38:13 -07:00
kaleb-himes
1078106c65 output file specified LIBWOLFSSL_VERSION 2014-12-29 16:33:47 -07:00
kaleb-himes
64d06580c1 examples not seeing WOLFSSL_API 2014-12-29 16:30:26 -07:00
Jacob Barthelmeh
cbbdfc7b96 wolfcrypt api testwolfcrypt update 2014-12-29 14:35:46 -07:00
Jacob Barthelmeh
67858df5e0 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-29 13:00:07 -07:00
Jacob Barthelmeh
894b888291 update to misc.c integer.c and tfm.c 2014-12-29 12:59:14 -07:00
kaleb-himes
bd1ff08aa9 certs name changes 2014-12-29 11:53:25 -07:00
kaleb-himes
edf53a1ed0 new changes 2014-12-29 10:27:03 -07:00
Jacob Barthelmeh
db383fbbac Merge branch 'master' of https://github.com/cyassl/cyassl 2014-12-22 09:20:57 -07:00
Kaleb Himes
2ab4f6e2f0 echoclient, server, libwolfssl updates 2014-12-22 09:01:53 -07:00
Moisés Guimarães
98cefa88c4 Fixes #136 2014-12-22 12:17:11 -03:00
Moisés Guimarães
64b456df59 Fixes #137 2014-12-22 12:11:00 -03:00
Kaleb Himes
a37fb63c0c examples 2014-12-19 16:53:49 -07:00
Jacob Barthelmeh
279f149828 adjustments to reverse compatibility 2014-12-19 16:31:01 -07:00
Jacob Barthelmeh
77f167790d progress on name change 2014-12-19 15:43:19 -07:00
Jacob Barthelmeh
5107c6c12b debugging linking error 2014-12-19 15:30:07 -07:00
Kaleb Himes
626a4f318e removed ifdef 2014-12-19 15:13:15 -07:00
Kaleb Himes
86ea853eab header and compatibility layer updates 2014-12-19 15:09:20 -07:00
Kaleb Himes
4f15949bd6 compatibility updates 2014-12-19 13:06:42 -07:00
Kaleb Himes
8212f5df46 src and compatability layer updates 2014-12-19 12:50:30 -07:00
Kaleb Himes
c97db6ba6e src updated, CTaoCrypt -> wc_ 2014-12-19 11:27:01 -07:00
Jacob Barthelmeh
42e5c8fb35 sync up 2014-12-19 10:47:38 -07:00
Kaleb Himes
10c4dd7b4c src/include.am fips updates 2014-12-19 10:46:58 -07:00
Kaleb Himes
d6f37bd34f shell files for autotools 2014-12-19 10:19:29 -07:00
Jacob Barthelmeh
a5529b124d moving over more files 2014-12-19 09:56:51 -07:00
Kaleb Himes
f944bf88b0 src/include.am 2014-12-19 09:26:22 -07:00
Kaleb Himes
b70f0938d0 include.am updates 2014-12-19 09:06:27 -07:00
Jacob Barthelmeh
d958a2f3d6 close to build test with --disable-examples option 2014-12-18 15:40:09 -07:00
Jacob Barthelmeh
d2a97b035d header files for des3, hmac, random and rsa 2014-12-18 14:58:09 -07:00
Kaleb Himes
7bab3a9564 headers 2014-12-18 14:53:27 -07:00
Jacob Barthelmeh
e6a629118c api calls to crypt library in portibality layer 2014-12-18 14:23:33 -07:00
Kaleb Himes
2867920d62 Merge branch 'master' of https://github.com/cyassl/cyassl 2014-12-18 14:12:19 -07:00
Kaleb Himes
a073730c38 compatibility layer includes 2014-12-18 14:06:27 -07:00
Jacob Barthelmeh
4898047aca visibility 2014-12-18 13:17:09 -07:00
Kaleb Himes
09a09f80bd wolfssl/wolfcrypt/memory.h 2014-12-18 13:04:32 -07:00
Jacob Barthelmeh
324177a4a8 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-18 11:57:13 -07:00
Jacob Barthelmeh
ddae6974e3 header files for poly, rabbit, and ripemd 2014-12-18 11:57:05 -07:00
Kaleb Himes
0ce0a7b558 wolfssl/wolfcrypt/visibility.h 2014-12-18 11:52:35 -07:00
Jacob Barthelmeh
557e969b3b Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-18 11:44:56 -07:00
Jacob Barthelmeh
607760f829 header files for aes, arc4, camellia, chacha, dh, and dsa 2014-12-18 11:44:48 -07:00
Kaleb Himes
fc1ddf117f header updates 2014-12-18 11:40:51 -07:00
Jacob Barthelmeh
d7a3585a96 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-18 11:11:09 -07:00
Jacob Barthelmeh
50eee6afdf wolf c files for des, hmac, random, and rsa 2014-12-18 11:10:55 -07:00
Kaleb Himes
8c70593da6 header updates 2014-12-18 11:08:12 -07:00
Chris Conlon
c300d77c55 fix PRQA-C level 6 warnings 2014-12-18 09:50:15 -07:00
Jacob Barthelmeh
aa0d339b05 Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-17 15:48:37 -07:00
Jacob Barthelmeh
664a40844c c files for pkcs, poly, rabbit and ripemd 2014-12-17 15:47:00 -07:00
Kaleb Himes
cf8cf779c5 headers and include.ams 2014-12-17 15:33:22 -07:00
Kaleb Himes
0da381e019 mem.h in wolfcrypt, compatibility layer 2014-12-17 14:59:19 -07:00
Jacob Barthelmeh
6e1a0befdc md's c files 2014-12-17 14:57:56 -07:00
Jacob Barthelmeh
473d1d18a6 chacha, dh, dsa, hc128 c files 2014-12-17 14:37:13 -07:00
Kaleb Himes
0957d275b3 latest 2014-12-17 13:55:34 -07:00
Jacob Barthelmeh
d3acb121ff Merge branch 'master' of https://github.com/kaleb-himes/cyassl 2014-12-17 11:00:07 -07:00
Jacob Barthelmeh
ea3bf1649d in process of shiffting many files 2014-12-17 10:59:27 -07:00
Kaleb Himes
17c37ae208 moved cyassl -> wolfssl 2014-12-17 10:29:35 -07:00
Jacob Barthelmeh
881c0b941a progress on name change, arc4, aes, camilea 2014-12-17 10:28:35 -07:00
Kaleb Himes
53057f0b0d name changes kaleb push 2014-12-17 10:00:17 -07:00
Jacob Barthelmeh
813ad2e102 name change progress 2014-12-17 09:58:11 -07:00
toddouska
34633617f7 fix ecc 64bit cast for systems where long is 32bits 2014-12-11 21:20:39 -08:00
Moisés Guimarães
513ea4d38a add SNI_UNSUPPORTED for better handling SSL 3.0 buffers on CyaSSL_SNI_GetFromBuffer() 2014-12-08 17:31:37 -03:00
Chris Conlon
1ada0dfa31 update README.md for 3.3.0 release 2014-12-05 10:48:27 -07:00
toddouska
15bffb2a1e prepare 3.3.0 release 2014-12-05 09:37:19 -08:00
toddouska
51ffb84e11 fix build errors when compiler is C++ 2014-12-04 17:16:39 -08:00
John Safranek
8105b9efa2 fix bug in sniffer with SNI using the key from ctx rather than the session 2014-12-04 14:16:39 -08:00
toddouska
7aed412512 fix SMALL_STACK typo 2014-12-04 13:44:33 -08:00
toddouska
8ef04a8cde remove exit as goto label 2014-12-04 13:30:30 -08:00
toddouska
e499b8f828 fix dh_test drbg memory leak 2014-12-04 12:46:50 -08:00
toddouska
66f14c8a9a add dh to commit tests 2014-12-04 12:42:39 -08:00
toddouska
5f9660b23e fix aes gcm set key return 2014-12-04 11:51:19 -08:00
toddouska
da5f235d75 Merge branch 'master' of github.com:cyassl/cyassl 2014-12-04 11:25:59 -08:00
toddouska
53cb50761d fix hash hrbg memory leaks 2014-12-04 11:24:38 -08:00
John Safranek
9dc6084e3e Merge branch 'master' of github.com:cyassl/cyassl 2014-12-04 11:22:44 -08:00
John Safranek
9fff57839f fixed saving ServerKeyExchange message in DTLS for most key exchange types 2014-12-04 11:21:19 -08:00
toddouska
7fbf8359e2 fix coverity tell < 0 and store fread bytes issues 2014-12-04 10:53:29 -08:00
John Safranek
a9d9ff8b58 fix sanity check for DHE-PSK cipher suite handshake 2014-12-04 10:27:00 -08:00
toddouska
d3eec77294 fix SMALL Stack change error 2014-12-03 16:10:05 -08:00
toddouska
3f53d9f229 fix sniffer coverity problem 2014-12-03 16:06:28 -08:00
toddouska
a4a3ebb567 use input stream record end for sniffer multi msg 2014-12-03 14:44:18 -08:00
toddouska
d552390b39 allow sniffer muliple msgs per record to handle encrypted msgs too 2014-12-03 14:12:13 -08:00
toddouska
264e180147 allow sniffer to handle bundled record layer messages 2014-12-03 11:58:50 -08:00
toddouska
f1c6e901a4 allow user to set sniffer cache timeout at compile time w/ CYASSL_SNIFFER_TIMEOUT 2014-12-02 10:33:10 -08:00
toddouska
09d290f552 allow user to set session timeout at compile time w/ CYASSL_SESSION_TIMEOUT 2014-12-02 10:28:47 -08:00
toddouska
1688fd1670 help static anaylsis 2014-12-01 16:35:04 -08:00
toddouska
52c2c126c1 turncate hashSigAlgoSz to max buffer size 2014-12-01 15:53:59 -08:00
toddouska
09aeda2162 fix SetCipherList() possible 1 byte overrun 2014-12-01 14:34:48 -08:00
toddouska
295e65ca02 add sanity size check to iv fill in case block size is bad 2014-12-01 14:23:10 -08:00
toddouska
4954043def release lock on client side cache bad hash 2014-12-01 14:11:32 -08:00
John Safranek
1742e0ddb6 Merge in the ADH-AES128-SHA changes and add a check for it during the
packet order sanity checking.
2014-12-01 11:44:32 -08:00
toddouska
b2f9d62852 make HASH-DRBG default RNG w/ autoconf 2014-12-01 09:12:26 -08:00
toddouska
fe81c2855d sanity size check on handshake headers 2014-12-01 08:58:52 -08:00
toddouska
1f8d84553c add server_ready file to externally monitor example server for ready to accept, -r option 2014-11-26 12:13:47 -08:00
John Safranek
438cb515d5 added a make clean after updating the verify hash when running the fips check 2014-11-24 15:52:47 -08:00
John Safranek
98db39a913 fixed the check in commit-tests to see if FIPS test should run 2014-11-24 13:33:14 -08:00
John Safranek
f7235819d2 bugfix in the FIPS check script 2014-11-24 12:50:55 -08:00
toddouska
a352908c61 fix optimized fastmath read digit for explicit 32bit digits 2014-11-24 10:00:13 -08:00
John Safranek
65c0dd4f8a Added fips-check script when running commit-tests. 2014-11-19 12:00:04 -08:00
toddouska
17a4cc8239 fix ctaocrypt test RNG leak when using HASH-DRBG 2014-11-18 16:52:37 -08:00
toddouska
f1ab188949 disallow client to fast forward handshake messages 2014-11-18 16:27:39 -08:00
toddouska
25362268db Merge pull request #132 from tisb/master
Fix for TI-RTOS CyaSSL build errors
2014-11-17 17:16:11 -08:00
Vikram Adiga
9fd6e680a2 Removed extra comma to avoid TI compiler warnings. 2014-11-17 15:58:19 -08:00
Vikram Adiga
e0bec88f76 fixed build errors for TI-RTOS. 2014-11-17 15:58:05 -08:00
toddouska
59e62b7c49 Merge pull request #131 from lchristina26/master
add braces around empty if statements
2014-11-17 15:30:14 -08:00
toddouska
57522d217b disallow basic server fast forwards during handshake 2014-11-17 15:25:49 -08:00
toddouska
31858d2a34 move gotChangeCipher from options into msgsReceived 2014-11-17 13:11:45 -08:00
toddouska
5318b243ba add messages received framework, disallow duplicates 2014-11-17 12:55:07 -08:00
lchristina26
b3b0c8d1fc Add braces around empty if statements 2014-11-17 11:10:23 -07:00
toddouska
de388bf37f version 3.2.6 2014-11-14 11:49:14 -08:00
John Safranek
2c85756130 fixed carry error on array add in HashDRBG 2014-11-13 18:08:23 -08:00
toddouska
6c2a238c9b bump version 2014-11-13 10:19:03 -08:00
toddouska
730cede82d add HAVE_FORCE_FIPS_FAILURE for operational testing 2014-11-12 17:09:16 -08:00
John Safranek
6944eb69f6 added error code for AESGCM FIPS KAT test error 2014-11-10 15:38:41 -08:00
Chris Conlon
654c421441 fix benchmark error with NO_AES, jenkins found 2014-11-10 10:13:23 -07:00
John Safranek
eb59597fed fix bug in sniffer when using old client hellos where large hello message may
be ignored
2014-11-07 17:11:38 -08:00
John Safranek
54f678b9ee Merge branch 'master' of github.com:cyassl/cyassl 2014-11-07 17:06:04 -08:00
John Safranek
12a6978401 refactored HashDRBG to remove some redundant code 2014-11-07 17:05:18 -08:00
toddouska
eda2103dc3 add size check to fips core hash gen 2014-11-07 16:43:32 -08:00
toddouska
e6e24d92fb Merge branch 'master' of github.com:cyassl/cyassl 2014-11-07 16:23:56 -08:00
toddouska
81fd594c9f add fips get status functions 2014-11-07 16:23:19 -08:00
Chris Conlon
4d819dea87 fix hashType warning on Linux 2014-11-07 17:19:11 -07:00
John Safranek
138ce50bae Merge branch 'master' of github.com:cyassl/cyassl 2014-11-07 15:36:49 -08:00
John Safranek
00965d44dc fix sniffer bug with detecting old client hello 2014-11-07 15:35:36 -08:00
Chris Conlon
71da84122f expose EncodeSignature() for DER-encoded comparisons 2014-11-07 16:33:38 -07:00
John Safranek
a45a8f2cd8 Merge branch 'master' of github.com:cyassl/cyassl 2014-11-07 14:40:21 -08:00
John Safranek
d829b5f93b Allow sniffer to follow ports using STARTTLS. 2014-11-07 14:37:00 -08:00
Chris Conlon
233bca3346 add RsaPublicKeyDecodeRaw() to load key from existing n, e 2014-11-07 15:24:02 -07:00
toddouska
b36f823da5 only do fips verify core check on fips files 2014-11-07 13:09:32 -08:00
John Safranek
4441e3be1a HashDRBG continuity failure passed up to caller 2014-11-07 12:08:26 -08:00
John Safranek
3130145213 Added note to SSL_ResourceFree() 2014-11-06 16:07:05 -08:00
John Safranek
580289375c Fix memory leak in CyaSSL when using Hash DRBG 2014-11-06 15:44:24 -08:00
toddouska
f11d2c435d add fips continuous test error code/msg 2014-11-06 14:56:11 -08:00
toddouska
202a1a152d fix jenkins report for smallstack derive tls keys 2014-11-04 15:39:54 -08:00
toddouska
322f79f521 allow user to set minimum downgrade version with v23 methods() 2014-11-03 15:12:48 -08:00
toddouska
d9f5ada772 add external wrappers for TLS Master Secret generation and Key Expansion 2014-11-03 09:56:40 -08:00
toddouska
02f7c71222 Merge branch 'master' of github.com:cyassl/cyassl 2014-10-31 13:24:29 -07:00
toddouska
0f641e07a2 remove old client hello processing by default, can turn on with OLD_HELLO_ALLOWED, add sanity checks before size front alloc 2014-10-31 13:23:50 -07:00
Chris Conlon
2fe0d9b38d update RNG_HealthTest to output generated bits 2014-10-31 14:05:13 -06:00
John Safranek
bb8853aa50 fix memory leak when resetting the peer address on a DTLS session 2014-10-30 16:23:25 -07:00
John Safranek
56c12c9716 For sniffer with SNI, refactored ssl_SetPrivateKey and
ssl_SetNamedPrivateKey so they can be called in any order
for a particular server.
2014-10-30 14:08:45 -07:00
toddouska
1e7b579777 sniffer signals got change cipher 2014-10-29 14:14:32 -07:00
toddouska
7fed36b09d explicit check for change cipher before finished instead of encryptionOn implicit 2014-10-29 14:07:41 -07:00
toddouska
a4228740f5 add FIPS pos errors and messages, better output for in core check and how to fix 2014-10-28 14:21:55 -07:00
toddouska
247bef6be3 add fips pos cb for fail codes, generated hash 2014-10-28 14:03:58 -07:00
toddouska
c982dd2281 allow aes gcm fips wrappers, no void returns 2014-10-27 15:52:22 -07:00
John Safranek
bf718a7d51 Added a callback function to set the master secret on the client 2014-10-24 15:26:47 -07:00
Moisés Guimarães
6138ce720c internal.c: refactoring SendServerKeyExchange to reduce stack usage:
--- variable md5 moved to the heap (sizeof(Md5) saved)
--- variable sha moved to the heap (sizeof(Sha) saved)
--- variable hash moved to the heap (36 bytes saved)
--- variable sha256 moved to the heap (sizeof(Sha256) saved)
--- variable hash256 moved to the heap (32 bytes saved)
--- variable sha384 moved to the heap (sizeof(sha384) saved)
--- variable hash256 moved to the heap (48 bytes saved)
--- variable encodedSig moved to the heap (512 bytes saved)
*** the variables above appear twice in the code
2014-10-24 13:51:58 -03:00
Moisés Guimarães
dc90935fc7 internal.c: refactoring SendServerKeyExchange to reduce stack usage:
--- variable exportBuf moved to the heap (256 bytes saved)
--- indentation fixes
2014-10-24 13:29:18 -03:00
Moisés Guimarães
0e43240180 trims trailing white spaces. 2014-10-24 10:33:24 -03:00
John Safranek
62f0c9f661 Merge branch 'master' of github.com:cyassl/cyassl 2014-10-23 14:08:11 -07:00
John Safranek
4d7f26af8d Add continuous block test to Hash DRBG 2014-10-23 14:07:31 -07:00
Chris Conlon
6108f9cd45 add LICENSING file 2014-10-22 14:26:20 -06:00
Chris Conlon
b64b864431 Merge pull request #130 from tass-belgium/master
Updated picoTCP support, based on newer HTTPS demo
2014-10-22 14:10:57 -06:00
Daniele Lacamera
fde4d56845 Updated picoTCP support, based on newer HTTPS demo 2014-10-22 12:11:31 +02:00
Moisés Guimarães
a60332d9a3 internal.c: refactoring DoServerKeyExchange to reduce stack usage:
--- using goto to centralize resources deallocation.
2014-10-21 20:23:50 -03:00
Moisés Guimarães
5056ebe829 internal.c: refactoring DoServerKeyExchange to reduce stack usage:
--- variable hash256 moved to the heap (32 bytes saved)
--- variable hash384 moved to the heap (48 bytes saved)
--- variable hash moved to the heap (36 bytes saved)
--- variable messageVerify moved to the heap (612 bytes saved)
--- variable encodedSig moved to the heap (512 bytes saved)
2014-10-21 20:23:50 -03:00
Moisés Guimarães
0447bf7551 internal.c: refactoring DoServerKeyExchange to reduce stack usage:
--- variable md5 moved to the heap (sizeof(Md5) saved)
--- variable sha moved to the heap (sizeof(Sha) saved)
--- variable sha256 moved to the heap (sizeof(Sha256) saved)
--- variable sha384 moved to the heap (sizeof(Sha384) saved)
2014-10-21 20:23:50 -03:00
Moisés Guimarães
7f836cd6b3 internal.c: refactoring SendClientKeyExchange to reduce stack usage:
--- variable encSecret moved to the heap (1027 bytes saved)
--- variables priv moved to the heap (1024 bytes saved)
2014-10-21 20:23:50 -03:00
Moisés Guimarães
949094cfbc internal.c: refactoring DoCertificateVerify to reduce stack usage:
--- variable encodedSig moved to the heap (512 bytes saved)
2014-10-21 20:23:50 -03:00
Moisés Guimarães
9368c8d1e8 internal.c: refactoring SendCertificateVerify to reduce stack usage:
--- variable encodedSig moved to the heap (512 bytes saved)
2014-10-21 20:23:50 -03:00
Moisés Guimarães
845e49781f internal.c: refactoring DoServerHello to reduce stack usage:
--- variable clSuites removed (sizeof(Suites) saved)

ps.: TLSX_Parse() does not requires the suites parameter at client side.
2014-10-21 20:23:50 -03:00
Moisés Guimarães
a7e585b63d internal.c: refactoring BuildMessage to reduce stack usage:
--- variable hmac moved to the heap (up to 64 bytes saved)
2014-10-21 20:23:50 -03:00
Moisés Guimarães
5ef9a21eaa internal.c: refactoring DoCertificate to reduce stack usage:
--- variable domain moved to the heap (256 bytes saved)
--- variable dCert moved to the heap (sizeof(DecodedCert) saved)
--- variable store moved to the heap (sizeof(CYASSL_X509_STORE_CTX) saved)
2014-10-21 20:23:49 -03:00
Moisés Guimarães
37c1627234 internal.c: refactoring BuildFinished to reduce stack usage:
--- variable md5 moved to the heap (sizeof(Md5) saved)
--- variable sha moved to the heap (sizeof(Sha) saved)
--- variable sha256 moved to the heap (sizeof(Sha256) saved)
--- variable sha384 moved to the heap (sizeof(Sha384) saved)
2014-10-21 20:23:49 -03:00
Chris Conlon
50a00d4ff0 add PicoTCP support 2014-10-21 15:43:43 -06:00
John Safranek
e35e02a283 Added SNI named keys to the sniffer. 2014-10-21 12:22:12 -07:00
John Safranek
35bcc98948 Added a callback when receiving a NewSessionTicket handshake message. 2014-10-20 09:25:14 -07:00
John Safranek
60790ee4ae Merge branch 'master' of github.com:cyassl/cyassl 2014-10-16 22:01:55 -07:00
John Safranek
b2f25cd91c 1. Added accessors for session tickets.
2. Fixed client case when server doesn't want to resume session with ticket.
2014-10-16 22:00:13 -07:00
Moisés Guimarães
c2ade678e1 Adds use of ssl->session.sessionIDSz during SendClientHello(). 2014-10-13 23:16:11 -03:00
Moisés Guimarães
b10fdbf1f0 Adds storage of ssl->arrays->sessionIDSz in SessionCache at AddSession();
Adds storage of ssl->arrays->sessionIDSz in ssl->session at FreeArrays();
2014-10-13 23:16:11 -03:00
Moisés Guimarães
6956d146d1 Adds capture of ssl->arrays->sessionIDSz at DoServerHello. 2014-10-13 23:16:11 -03:00
Moisés Guimarães
e98eb1ba4d Adds sessionIDSz to CYASSL_SESSION and Arrays. 2014-10-13 23:16:11 -03:00
toddouska
08cdf91761 bump version 2014-10-13 14:44:39 -07:00
toddouska
d457ff8d71 don't set GetLength input value to negative in error case, shouldn't matter if return value checked 2014-10-10 10:25:42 -07:00
toddouska
159abadd73 add NO_FORCE_SCR_SAME_SUITE flag for scr 2014-10-09 11:10:40 -07:00
toddouska
5019eab073 Merge branch 'master' of github.com:cyassl/cyassl 2014-10-07 15:51:38 -07:00
toddouska
54049c6000 allow dhe 4096bit for ssl key exchange 2014-10-07 15:50:33 -07:00
Moisés Guimarães
557f19db0b Adds support to session IDs of size 1 to 31 bytes.
Only session IDs of size 0 or 32 bytes was allowed before, now the session ID size may be from 0 to 32 bytes.
A size of zero bytes means that is no session ID provided by the server.
2014-10-07 13:02:59 -03:00
toddouska
c65b14a891 add scr check against subject hash, only allow explicit session ticket resupmtion during scr 2014-10-06 16:12:45 -07:00
toddouska
214eba0325 fix session ticket get size 2014-10-06 14:52:05 -07:00
John Safranek
7c67a9261c trimmed some unused code for session tickets 2014-10-06 12:44:52 -07:00
John Safranek
954740e2a8 Added check for expected session ticket 2014-10-04 12:41:51 -07:00
John Safranek
b95b2a8463 Merge branch 'master' of github.com:cyassl/cyassl 2014-10-03 13:27:22 -07:00
John Safranek
80a474ebad 1. Fixed encoding of session ticket hello extension.
2. Session tickets used as alternative resumption.
2014-10-03 13:19:59 -07:00
toddouska
24bfade874 catch user error with write() after WANT_WRITE with short size 2014-10-03 12:03:20 -07:00
toddouska
3f01f097e7 allow scr sessoin ticket 2014-10-02 10:43:06 -07:00
toddouska
668fed4796 don't allow scr and fake indication together 2014-10-02 10:18:11 -07:00
John Safranek
9dbc1d2d00 Parse the NewSessionTicket handshake message 2014-10-01 16:28:01 -07:00
toddouska
2f5520d14c fix potential resource leaks with scr and normal math on key reuse 2014-10-01 11:15:36 -07:00
toddouska
8e96234513 Merge branch 'master' of github.com:cyassl/cyassl 2014-10-01 09:45:57 -07:00
toddouska
41647e441a preview scr 2014-10-01 09:44:24 -07:00
Moisés Guimarães
ee68797cf1 Adds a flag to tell the handshake framework to expect a session ticket. 2014-09-30 18:50:19 -03:00
toddouska
eb42494ddd check scr cipher suite for changes 2014-09-30 12:55:15 -07:00
toddouska
29d4148637 handle bunlded scr messages 2014-09-30 11:52:21 -07:00
Moisés Guimarães
a937040087 Adds Session Ticket TLS Extension handling.
New Session Ticket Handshake Message handling is still needed for Session Tickets to work.
2014-09-30 09:30:23 -03:00
Moisés Guimarães
6a75c8d144 fix TURN_ON mask
adds --enable-session-ticket configure option
2014-09-30 09:30:23 -03:00
toddouska
f81f22799a separate allow scr and force client scr in example client 2014-09-29 15:32:41 -07:00
toddouska
dcde28db51 add server initiated scr 2014-09-29 14:48:49 -07:00
toddouska
d3db4546ec allow client auth with scr 2014-09-29 13:38:56 -07:00
toddouska
369b7559c5 fix session ticket warnings 2014-09-26 16:16:11 -07:00
Moisés Guimarães
c340d78c93 adds SESSION_TICKET extension id.
adds HAVE_TLS_EXTENSIONS as a dependency to HAVE_SECURE_RENEGOTIATION
reduces tlsx semaphore from 16 to 8 bytes (128 flags to 64 flags).
refactors ConvertExtType() to TLSX_ToSemaphore() for a better name and behavior. Now the overflowing flags are set backwards from the end of the flags to avoid collisions.
2014-09-26 16:01:50 -03:00
toddouska
95585e93df scr session resumption example 2014-09-26 10:47:57 -07:00
toddouska
a260171e23 add scr for ephemeral keys 2014-09-26 10:27:14 -07:00
Jacob Barthelmeh
f5a95a9f62 struct for one time authentication ciphers 2014-09-25 16:19:50 -06:00
toddouska
0c20584ed3 add client side initiated secure r, same specs 2014-09-24 18:48:23 -07:00
toddouska
74c6f35766 new handShakeDone flag to allow app data during scr 2014-09-24 13:10:01 -07:00
toddouska
21f46373f3 delay SetKeys() with SetKeysSide() until last possible moment, needed for scr 2014-09-24 11:27:13 -07:00
toddouska
ed1beafdfc allow SetKeys() to be called with encrypt or decrypt, or both 2014-09-24 10:12:22 -07:00
Moisés Guimarães
596148840d adds braces requested by commit_tests.sh on linux 2014-09-22 13:17:05 -03:00
Moisés Guimarães
613337cf89 ssl: refactoring PemToDer to reduce stack usage:
--- variable header moved to the heap (80 bytes saved)
--- variable footer moved to the heap (80 bytes saved)
--- variable password moved to the heap (80 bytes saved)

fixes memory leak in CyaSSL_RAND_bytes
2014-09-22 11:37:36 -03:00
Moisés Guimarães
d9472d65da ssl: refactoring ProcessBuffer to reduce stack usage:
--- variable password moved to the heap (80 bytes saved)
--- variable key moved to the heap (32 bytes saved)
--- variable iv moved to the heap (16 bytes saved)
--- variable Des moved to the heap (sizeof(Des) saved)
--- variable Des3 moved to the heap (sizeof(Des3) saved)
--- variable Aes moved to the heap (sizeof(Aes) saved)
--- variable RsaKey moved to the heap (sizeof(RsaKey) saved)

Utility functions added to Des, Des3 and Aes for easier decryption.
2014-09-22 11:37:36 -03:00
Moisés Guimarães
df3ea53494 replaces tabs with spaces. 2014-09-22 11:37:35 -03:00
Moisés Guimarães
e9af29e3e3 ssl: refactoring CyaSSL_CTX_load_verify_locations to reduce stack usage:
--- variable name moved to the heap (256 bytes saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
cb9dafca26 ssl: refactoring CyaSSL_SetTmpDH_buffer_wrapper to reduce stack usage:
--- variable p moved to the heap (513 bytes saved)
--- variable p moved to the heap (513 bytes saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
3281e0dfcf ssl: refactoring CyaSSL_RAND_bytes to reduce stack usage:
--- variable tmpRNG moved to the heap (sizeof(RNG) saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
7cafb11791 ssl: refactoring CyaSSL_BN_rand to reduce stack usage:
--- variable decoded moved to the heap (1024 bytes saved)
--- variable tmpRNG moved to the heap (sizeof(RNG) saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
68063874dc ssl: refactoring CyaSSL_BN_hex2bn to reduce stack usage:
--- variable decoded moved to the heap (1024 bytes saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
4b783b3d80 ssl: refactoring SetDhInternal to reduce stack usage:
--- variable p moved to the heap (1024 bytes saved)
--- variable g moved to the heap (1024 bytes saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
5605a24e4f ssl: refactoring CyaSSL_DH_generate_key to reduce stack usage:
--- variable tmpRNG moved to the heap (sizeof(RNG) saved)
--- variable pub moved to the heap (1024 bytes saved)
--- variable priv moved to the heap (1024 bytes saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
6b7dbb9f2a ssl: refactoring CyaSSL_DH_compute_key to reduce stack usage:
--- variable pub moved to the heap (1024 bytes saved)
--- variable priv moved to the heap (1024 bytes saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
cab23472be ssl: refactoring CyaSSL_RSA_generate_key_ex to reduce stack usage:
--- variable rng moved to the heap (sizeof(RNG) saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
c325504de7 ssl: refactoring CyaSSL_DSA_do_sign to reduce stack usage:
--- variable tmpRNG moved to the heap (sizeof(RNG) saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
3f459591c6 ssl: refactoring CyaSSL_RSA_sign to reduce stack usage:
--- variable tmpRNG moved to the heap (sizeof(RNG) saved)
--- variable encodedSig moved to the heap (512 bytes saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
961bf710bc Removes unnecessary indentation. Since we use 80 characters line wrap, every space is important. 2014-09-22 11:37:35 -03:00
Moisés Guimarães
79dfb3a3c3 ssl: refactoring CyaSSL_HMAC to reduce stack usage:
--- variable hmac moved to the heap (sizeof(Hmac) saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
8eeadc01b9 ssl: refactoring HashSession to reduce stack usage:
--- variable md5 moved to the heap (sizeof(Md5) saved)
--- variable sha moved to the heap (sizeof(Sha) saved)
--- variable sha256 moved to the heap (sizeof(Sha256) saved)

ssl: refactoring CyaSSL_EVP_BytesToKey to reduce stack usage:
--- variable md5 moved to the heap (sizeof(Md5) saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
19516cf5fd ssl: refactoring AddCA to reduce stack usage:
--- variable cert moved to the heap (sizeof(DecodedCert) saved)

ssl: refactoring ProcessBuffer to reduce stack usage:
--- variable cert moved to the heap (sizeof(DecodedCert) saved)

ssl: refactoring CyaSSL_CertManagerCheckOCSP to reduce stack usage:
--- variable cert moved to the heap (sizeof(DecodedCert) saved)

ssl: refactoring CyaSSL_CertManagerCheckCRL to reduce stack usage:
--- variable cert moved to the heap (sizeof(DecodedCert) saved)

ssl: refactoring CyaSSL_X509_d2i to reduce stack usage:
--- variable cert moved to the heap (sizeof(DecodedCert) saved)

ssl: refactoring CyaSSL_X509_load_certificate_file to reduce stack usage:
--- variable cert moved to the heap (sizeof(DecodedCert) saved)

ssl: refactoring CyaSSL_get_chain_X509 to reduce stack usage:
--- variable cert moved to the heap (sizeof(DecodedCert) saved)
2014-09-22 11:37:35 -03:00
Moisés Guimarães
b2b5179392 fix indentation -- no code changed. 2014-09-22 11:37:35 -03:00
Moisés Guimarães
b22e3abfff ssl: refactoring CyaSSL_PemCertToDer to have a single return point. 2014-09-22 11:37:35 -03:00
Moisés Guimarães
958ec5d578 ssl: refactoring ProcessBuffer to reduce stack usage:
--- variable staticBuffer moved to the heap (1023 bytes saved)

ssl: refactoring CyaSSL_PemCertToDer to reduce stack usage:
--- variable staticBuffer moved to the heap (1023 bytes saved)

ssl: refactoring CyaSSL_X509_load_certificate_file to reduce stack usage:
--- variable staticBuffer moved to the heap (1023 bytes saved)

ssl: refactoring CyaSSL_cmp_peer_cert_to_file to reduce stack usage:
--- variable staticBuffer moved to the heap (1023 bytes saved)

ssl: refactoring ProcessFile to reduce stack usage:
--- variable staticBuffer moved to the heap (1023 bytes saved)

ssl: refactoring CyaSSL_CertManagerVerify to reduce stack usage:
--- variable staticBuffer moved to the heap (1023 bytes saved)

ssl: refactoring CyaSSL_SetTmpDH_file_wrapper to reduce stack usage:
--- variable staticBuffer moved to the heap (1023 bytes saved)

ssl: refactoring CyaSSL_writev to reduce stack usage:
--- variable staticBuffer moved to the heap (1023 bytes saved)
2014-09-22 11:37:34 -03:00
Moisés Guimarães
82d2aca505 ssl: refactoring CyaSSL_CertManagerVerifyBuffer to reduce stack usage:
--- variable cert moved to the heap (sizeof(DecodedCert) saved)
2014-09-22 11:37:34 -03:00
Moisés Guimarães
d264a8f890 ssl: refactoring ProcessBuffer to reduce stack usage:
--- variable info moved to the heap (sizeof(EncryptedInfo) saved)

ssl: refactoring CyaSSL_CertManagerVerifyBuffer to reduce stack usage:
--- variable info moved to the heap (sizeof(EncryptedInfo) saved)

ssl: refactoring CyaSSL_PemCertToDer to reduce stack usage:
--- variable info moved to the heap (sizeof(EncryptedInfo) saved)

ssl: refactoring CyaSSL_X509_load_certificate_file to reduce stack usage:
--- variable info moved to the heap (sizeof(EncryptedInfo) saved)

ssl: refactoring CyaSSL_cmp_peer_cert_to_file to reduce stack usage:
--- variable info moved to the heap (sizeof(EncryptedInfo) saved)
2014-09-22 11:37:34 -03:00
Moisés Guimarães
97548cc842 ssl: refactoring CyaSSL_CertPemToDer to reduce stack usage:
--- variable info moved to the heap (sizeof(EncryptedInfo) saved)

ssl: refactoring CyaSSL_KeyPemToDer to reduce stack usage:
--- variable info moved to the heap (sizeof(EncryptedInfo) saved)
2014-09-22 11:37:34 -03:00
Chris Conlon
27ad083dbf add CodeWarrior wolfCrypt benchmark project files 2014-09-19 11:25:08 -06:00
Chris Conlon
d284225b7e add SHA-384 benchmark 2014-09-19 11:07:30 -06:00
Moisés Guimarães
d61af5d9ae adds record_overflow alert used by max_fragment_length tls extension. 2014-09-18 21:53:10 -03:00
Chris Conlon
63a90d9cb6 fix CodeWarrior wolfCrypt test debug configuration 2014-09-18 15:53:13 -06:00
Chris Conlon
231bfd5b85 update MQX example project README 2014-09-17 16:59:10 -06:00
Chris Conlon
cfa71e82cc update .gitignore for CodeWarrior files 2014-09-17 16:55:02 -06:00
Chris Conlon
ecc6ef19d1 update cyassl_client CodeWarrior project files 2014-09-17 16:53:53 -06:00
Chris Conlon
b4e58a4105 update wolfcrypt_test CodeWarrior project files 2014-09-17 16:50:45 -06:00
Chris Conlon
53b5d7d7f4 update util_lib CodeWarrior project files 2014-09-17 16:39:15 -06:00
Chris Conlon
c1bfdeeb81 update cyassl CodeWarrior project files 2014-09-17 16:35:45 -06:00
toddouska
75657aad40 secure r extensions, sizes correct 2014-09-17 13:49:51 -07:00
toddouska
110a65d41a fix secure r extensions send/recv 2014-09-16 18:56:32 -07:00
toddouska
a735a52608 switch to extensions secure r state 2014-09-16 17:26:57 -07:00
Moisés Guimarães
d80e820654 Renames TLSX_Append to TLSX_Push, adding data param and making sure the list doesn't holds duplicate extensions.
Adds SecureRenegotiation functions
2014-09-16 20:33:17 -03:00
Moisés Guimarães
89b972d946 Renames TLSX_Append to TLSX_Push, adding data param and making sure the list doesn't holds duplicate extensions.
Adds SecureRenegotiation functions
2014-09-16 20:21:29 -03:00
Moisés Guimarães
32cea012d9 Adds secure renegotiation TLSX_Type, structure and enabler function. 2014-09-16 20:21:29 -03:00
toddouska
91e4545441 use new name under tlsx for secure r flags 2014-09-16 16:19:22 -07:00
Chris Conlon
496f1481ab fixes for Freescale MQX, CodeWarrior GCC 2014-09-16 15:43:51 -06:00
toddouska
4bb20612a1 move secure r inside of tls extensions 2014-09-16 12:42:13 -07:00
toddouska
9a90a0c113 save secure r verify data 2014-09-16 11:51:13 -07:00
toddouska
2e6b472ace init secure r state 2014-09-15 15:22:13 -07:00
toddouska
996418c383 add secure reneg state variables 2014-09-15 15:18:01 -07:00
toddouska
f45ffe4a38 fix clang analyzer warning 2014-09-12 11:14:23 -07:00
Chris Conlon
7ed180a04b update README.md 2014-09-10 18:01:13 -06:00
Chris Conlon
7ea5d6c509 bump version to 3.2.0 2014-09-10 16:46:39 -06:00
Chris Conlon
0a96557102 update README 2014-09-10 16:43:37 -06:00
Chris Conlon
c2c9922380 fix Visual Studio warning, scan-build issue 2014-09-10 16:17:13 -06:00
Chris Conlon
8d902637b2 add ctaocrypt_test() return value to fix err_sys() on IAR 2014-09-10 11:10:51 -06:00
John Safranek
91214ad5a6 Fixed issue with ECDH-ECDSA cipher suites rejecting certificates without
the DigitalSignature key usage.
2014-09-09 17:49:38 -07:00
John Safranek
ddeb1bb9f7 Verify RSA type 1 padding. 2014-09-09 15:35:54 -07:00
toddouska
6175a2a20c cleanup fp cache on examples with thread local storage 2014-09-09 10:14:32 -07:00
toddouska
2c595139db fix tirtos merge 2014-09-08 19:40:03 -07:00
toddouska
3a0837ffd5 sanity size checks on ecc private key import 2014-09-08 12:14:58 -07:00
toddouska
ca3f879907 Merge branch 'master' of github.com:cyassl/cyassl 2014-09-08 11:35:06 -07:00
toddouska
9e40e967a0 add ecc key to DER, make sure ctaocrypt test errors always caught at make check level 2014-09-08 11:33:06 -07:00
Moisés Guimarães
d6b4f85d7c Makes TLS_EMPTY_RENEGOTIATION_INFO_SCSV suite optional if using SetCipherList() 2014-09-08 15:03:30 -03:00
Moisés Guimarães
a905d3f877 add libpq-dev (bump dependency) 2014-09-08 14:29:55 -03:00
toddouska
f8f9008c96 simplify hello_request padSz calc with cached value 2014-09-05 16:18:10 -07:00
toddouska
c8d67670f3 fix hello_request processing w/ mac-verify at upper layer 2014-09-05 14:29:18 -07:00
Chris Conlon
422a2b8be8 change word type to cyassl_word to prevent conflicts with some toolchains 2014-09-05 10:17:24 -06:00
Moisés Guimarães
ffd7dd3555 fix github issue #126
api tests refectory with ifdef and prototypes cleaning + use of asserts. Now, if the tests fails, it will point the line error and expected behavior like this:

ERROR - tests/api.c line 715 failed with:

    test:   server_args.return_code is true

    result: server_args.return_code => FALSE
2014-09-04 14:17:55 -03:00
John Safranek
ce0df18c58 Merge branch 'master' of github.com:cyassl/cyassl 2014-09-03 23:10:53 -07:00
John Safranek
1a88e9fbdc Added function to flatten the RSA public key to a pair of byte arrays 2014-09-03 23:10:10 -07:00
toddouska
907670f89a fix github issue #127 2014-09-03 16:56:49 -07:00
Moisés Guimarães
8bb52380a8 TLS_EMPTY_RENEGOTIATION_INFO_SCSV added on SetCipherList.
Function InitSuitesHashSigAlgo() extracted from InitSuites and SetCipherList.
2014-09-01 18:35:30 -03:00
Moisés Guimarães
7f18a39b7a ignore .vagrant folder created by Vagrant 2014-09-01 13:53:45 -03:00
toddouska
e30a06329b fix scan-build issues 2014-08-29 18:35:54 -07:00
toddouska
b02b648c4d fix mp_val non prime issue 2014-08-29 18:09:18 -07:00
toddouska
658f3ec073 fix memory leaks on todays pushes 2014-08-29 15:15:42 -07:00
toddouska
03800a9df4 Merge branch 'keycomp' 2014-08-29 14:34:44 -07:00
toddouska
dbfe2aa242 fix raw import inits 2014-08-29 14:33:48 -07:00
toddouska
3072edb696 add compressed key support 2014-08-29 14:25:58 -07:00
Chris Conlon
7e7cbdc715 add raw ECC key import functionality and tests 2014-08-29 10:46:25 -06:00
John Safranek
2362dfdfa8 Fixed minor typecasting bugs for OCSP 2014-08-28 16:04:51 -07:00
toddouska
b6345d654a delay ssl server from creating ecdhe key until really needed 2014-08-27 10:48:19 -07:00
toddouska
d5d3292ba7 break out of case correctly at end 2014-08-26 16:59:34 -07:00
John Safranek
496228e5b0 Merge branch 'master' of github.com:cyassl/cyassl 2014-08-19 22:38:42 -07:00
John Safranek
100f0e8a96 Don't allow sniffer to decrypt records if the key hasn't been setup. (Possible with misbehaving client.) 2014-08-19 22:38:04 -07:00
Chris Conlon
72be4a31ef Add AES-GCM/CCM/Direct support for mmCAU, rearrange aes.c to better accommodate hardware crypto 2014-08-18 13:27:53 -06:00
toddouska
87564bdffe get_cipher fixes 2014-08-15 10:56:38 -07:00
toddouska
aaf4e74453 Merge https://github.com/ShaneIsrael/cyassl into shane 2014-08-15 10:03:50 -07:00
toddouska
e975c36988 Merge pull request #121 from kaleb-himes/master
All suites build initially
2014-08-15 09:55:42 -07:00
toddouska
7752fe0331 Merge pull request #122 from JacobBarthelmeh/master
Fuzzer callbacks with fuzzer ctx pointer
2014-08-15 09:43:31 -07:00
John Safranek
7e6b3a86d5 Added more bounds checking when saving a DTLS message fragment. 2014-08-14 15:14:29 -07:00
Shane Israel
11bc26d839 Update README.md 2014-08-14 11:37:30 -06:00
Shane Israel
ae1153a721 Update README.md 2014-08-14 11:36:24 -06:00
Shane Israel
6e45a79eb0 Update README.md 2014-08-14 11:33:12 -06:00
Shane Israel
e0c5d797a2 Update README.md 2014-08-14 11:15:51 -06:00
Shane Israel
be296edea0 Update README.md 2014-08-14 11:11:47 -06:00
ShaneIsrael
aedbb299b1 added README.md 2014-08-14 11:01:08 -06:00
JacobBarthelmeh
1a4c7811a6 Merge remote-tracking branch 'upstream/master' 2014-08-14 09:04:29 -06:00
Kaleb Himes
a7c0f66813 all suites build initially 2014-08-13 13:06:04 -06:00
Kaleb Himes
a23e0c3f5a all suites build initially 2014-08-13 12:59:28 -06:00
ShaneIsrael
57f2affe20 Added GetCipherName() which takes an index 2014-08-13 09:46:13 -06:00
ShaneIsrael
f043b90a7f fixed line comment 2014-08-12 16:30:51 -06:00
JacobBarthelmeh
856aab7f30 add fuzzer CYASSL* and fuzzer ctx 2014-08-12 16:25:58 -06:00
ShaneIsrael
bb9696c9f2 Added CyaSSL_get_ciphers() and necessary functions 2014-08-12 16:17:36 -06:00
toddouska
9d4fb79009 add ecc timing mulmod 2014-08-12 12:21:00 -07:00
JacobBarthelmeh
6620df2e4e Merge remote-tracking branch 'upstream/master' 2014-08-12 13:03:55 -06:00
toddouska
20e8e4e0a2 Merge pull request #117 from kaleb-himes/master
All encryptions work. settings.h generic, allow end user mod
2014-08-12 11:02:02 -07:00
JacobBarthelmeh
a18602951b record header fuzz 2014-08-12 11:56:20 -06:00
Kaleb Himes
20f8493046 All encryptions work. settings.h generic, allow end user mod 2014-08-12 10:41:11 -06:00
JacobBarthelmeh
58caf70dc9 Merge remote-tracking branch 'upstream/master' 2014-08-12 10:38:12 -06:00
JacobBarthelmeh
5c72bf6272 fuzzer callbacks 2014-08-11 16:29:19 -06:00
Moisés Guimarães
1a8d06a0e3 keys: fixing DeriveKeys:
--- variables md5InputSz, shaInputSz and keyDataSz removed

keys: refactoring MakeSslMasterSecret to reduce stack usage:
--- variable shaOutput moved to the heap (20 bytes saved)
--- variable md5Input moved to the heap (532 bytes saved)
--- variable shaInput moved to the heap (579 bytes saved)
--- variable md5 moved to the heap (sizeof(Md5) saved)
--- variable sha moved to the heap (sizeof(Sha) saved)
2014-08-11 14:17:44 -07:00
Moisés Guimarães
cc6b11c95b vagrant recipe to get a linux machine for testing.
The virtual machine is provided by hashicorp (the company that makes vagrant) and is an Ubuntu Precise 64

The provisioning script that runs in the first boot of the machine will copy and setup a synchronize script so you don't have to run ./autogen.sh and ./configure every time to build in a different OS and you can also build and run on both (guest and host) at the same time.

The ./pull_to_vagrant.sh script should be called at least once before building cyassl so you get all the changes from you host machine.
2014-08-11 11:31:36 -07:00
toddouska
0919a2927c fix digest sizes in internal.h 2014-08-06 06:53:24 -07:00
Moisés Guimarães
39c167710f keys: refactoring DeriveKeys to reduce stack usage:
--- variable shaOutput moved to the heap (20 bytes saved)
--- variable md5Input moved to the heap (68 bytes saved)
--- variable shaInput moved to the heap (119 bytes saved)
--- variable keyData moved to the heap (112 bytes saved)
--- variable md5 moved to the heap (sizeof(Md5) saved)
--- variable sha moved to the heap (sizeof(Sha) saved)
2014-08-05 15:28:30 -07:00
Moisés Guimarães
32847ee78e tls: refactoring CyaSSL_make_eap_keys to reduce stack usage:
--- variable seed moved to the heap (up to 64 bytes saved)
2014-08-05 15:28:30 -07:00
Moisés Guimarães
04dd56df79 tls: refactoring MakeTlsMasterSecret to reduce stack usage:
--- variable seed moved to the heap (up to 64 bytes saved)
2014-08-05 15:28:30 -07:00
Moisés Guimarães
c74440b27e tls: refactoring DeriveTlsKeys to reduce stack usage:
--- variable seed moved to the heap (up to 64 bytes saved)
--- variable key_data moved to the heap (up to 224 bytes saved)
2014-08-05 15:28:30 -07:00
Moisés Guimarães
0283a917e8 tls: refactoring doPRF to reduce stack usage:
--- variable md5_hash moved to the heap (up to 256 bytes saved)
--- variable sha_hash moved to the heap (up to 256 bytes saved)
--- variable labelSeed moved to the heap (up to 128 bytes saved)
--- variable md5_result moved to the heap (up to 224 bytes saved)
--- variable sha_result moved to the heap (up to 224 bytes saved)

tls: refactoring PRF to reduce stack usage:
--- variable labelSeed moved to the heap (up to 128 bytes saved)
2014-08-05 15:28:30 -07:00
Moisés Guimarães
e3db86753c tls: refactoring p_hash to reduce stack usage:
--- variable previous moved to the heap (up to 48 bytes saved)
--- variable current moved to the heap (up to 48 bytes saved)
--- variable hmac moved to the heap (sizeof(Hmac) bytes saved)
2014-08-05 15:28:30 -07:00
toddouska
9429f07a8a add MD5_DIGEST_SZ to NO_MD5 for non no-old-tls build types that still need it 2014-08-05 13:41:55 -07:00
Kaleb Himes
63b8460210 tirtos build fix: port.c renamed wc_port.c 2014-08-01 10:24:40 -06:00
toddouska
e99c7c2870 don't copy ntru-cert.der into certs/ 2014-07-31 16:45:30 -07:00
toddouska
3cc648f56d Merge branch 'master' of https://github.com/kaleb-himes/cyassl into certs 2014-07-31 16:33:46 -07:00
toddouska
dffd5e09bf make dist adds for tirtos files 2014-07-29 16:34:12 -07:00
toddouska
7a95bc452d Merge branch 'master' into ti 2014-07-29 16:20:57 -07:00
John Safranek
e9297f092d updated HashDRBG so private data not available via struct declaration in header file 2014-07-29 15:19:51 -07:00
John Safranek
5a175450e8 Merge branch 'JonasNorling-master' 2014-07-28 15:15:07 -07:00
Jonas Norling
277598e34a Use same sequence number calculation in tls.c and internal.c
The DTLS sequence number used when decrypting CCM/GCM was taken from
the internal state, instead of from the actual message record.

If any DTLS messages were dropped, the expectation of the next
sequence number was wrong. This lead to a failed MAC check on the next
message to arrive, and an alert was generated.
2014-07-28 15:10:17 -07:00
toddouska
aba16ae239 Merge branch 'master' into ti 2014-07-24 20:15:18 -07:00
toddouska
4ebd5a0717 remove hard tabs 2014-07-24 20:12:10 -07:00
JacobBarthelmeh
3f2ee0801a declaration locations for ARM 2014-07-24 18:59:39 -06:00
Kaleb Himes
f51bba0a43 line 221 fix, portability improvements 2014-07-23 15:58:09 -06:00
toddouska
0c6a961e35 Merge branch 'master' into ti 2014-07-23 14:20:58 -07:00
Moisés Guimarães
c20fdb037e io: refactoring EmbedOcspLookup:
--- single return point
--- changed stack reduction MEMORY_E to -1 to match XMALLOC fail at httpBuf
--- variable written removed
--- variable ocspRespSz renamed to ret (initialized with -1  and set only once with process_http_response result)
2014-07-23 13:20:23 -03:00
Moisés Guimarães
7dfb9e2d5f io: refactoring EmbedGenerateCookie to reduce stack usage:
--- use ShaHash instead of InitSha, ShaUpdate and ShaFinal (sizeof(Sha) saved)

io: refactoring EmbedOcspLookup to reduce stack usage:
--- variable domainName moved to the heap (80 bytes saved)
--- variable path moved to the heap (80 bytes saved)
2014-07-23 12:28:54 -03:00
toddouska
ec0fd7e969 Merge branch 'master' into ti 2014-07-22 13:55:59 -07:00
toddouska
01ef6c3390 Merge pull request #111 from kojo1/MDK5
mdk5 pack for CyaSSL 3.1.0
2014-07-22 13:53:03 -07:00
Takashi Kojo
b2a1b08660 Eliminate license, manual file from mdk5 pack 2014-07-22 20:18:38 +09:00
Takashi Kojo
bc3942e34f MDK5 software pack update for CyaSSL 3.1.0 2014-07-22 20:08:18 +09:00
Moisés Guimarães
2245204685 crl: refactoring LoadCRL to reduce stack usage:
--- variable name moved to the heap (256 bytes saved)
2014-07-21 22:52:06 -03:00
Moisés Guimarães
3ae9105b05 crl: refactoring DoMonitor to reduce stack usage:
--- variable buff moved to the heap (8192 bytes saved)
2014-07-21 22:52:05 -03:00
Moisés Guimarães
108b21e36f crl: refactoring SwapLists to reduce stack usage:
--- variable tmp moved to the heap (sizeof(CYASS_CRL) saved)
2014-07-21 22:52:05 -03:00
Moisés Guimarães
6e0c6551ff crl: refactoring BufferLoadCRL to reduce stack usage:
--- variable dcrl moved to the heap (sizeof(DecodedCRL) saved)
2014-07-21 22:52:05 -03:00
Moisés Guimarães
fb3e706d69 ocsp: refactoring CheckCertOCSP to reduce stack usage:
--- variable newStatus moved to the heap (sizeof(CertStatus) saved)
--- variable ocspRequest moved to the heap (sizeof(OcspRequest) saved)
--- variable ocspResponse moved to the heap (sizeof(OcspResponse) saved)
2014-07-21 22:52:05 -03:00
toddouska
063e5cec80 Merge branch 'master' into ti 2014-07-21 16:38:38 -07:00
toddouska
c214f0cc1b fixup ntru encrypt benchmark 2014-07-21 16:37:41 -07:00
toddouska
4fab7e9884 Merge branch 'master' of https://github.com/ShaneIsrael/cyassl 2014-07-21 16:32:07 -07:00
toddouska
cc72a50cee bump dev version 2014-07-21 16:28:57 -07:00
toddouska
a73a160aaf Merge branch 'master' into ti 2014-07-21 16:26:39 -07:00
toddouska
3bfd0bbf3b fixup some chacah-poly suite things including a valgrind error 2014-07-21 16:20:17 -07:00
JacobBarthelmeh
48e3ef1c31 Update ctaocrypt.vcproj 2014-07-21 15:26:04 -06:00
Kaleb Himes
2f18af2f5f added --override-ntru, -h, -help, and error checking 2014-07-21 15:13:37 -06:00
JacobBarthelmeh
ff58f65418 merge 2014-07-21 15:12:12 -06:00
JacobBarthelmeh
3c27deb9d0 merge 2014-07-21 13:50:22 -06:00
JacobBarthelmeh
9a44fc4012 Merge branch 'master', remote-tracking branch 'upstream/master' 2014-07-21 11:35:36 -06:00
toddouska
c0ef346073 Merge branch 'master' into ti 2014-07-18 19:27:04 -07:00
JacobBarthelmeh
726cc3e3a4 sanity check and recent cyassl release 2014-07-18 14:42:45 -06:00
JacobBarthelmeh
7cb65d8b3d asthetics 2014-07-17 15:33:48 -06:00
JacobBarthelmeh
b77a1fdbbb refactoring 2014-07-17 15:00:40 -06:00
John Safranek
307e5f3bff fix build warnings with lean-psk mode 2014-07-16 14:40:41 -07:00
JacobBarthelmeh
7eb8f571ed reverse compatibility 2014-07-16 14:55:38 -06:00
toddouska
a26f9b9068 Merge branch 'master' into ti 2014-07-16 13:55:31 -07:00
toddouska
99f6fd8450 have explicit Rsa Padding error 2014-07-16 13:52:31 -07:00
Shane Israel
beec798d4d Added a basic NTRU Encrypt and Decrypt benchmark 2014-07-16 13:20:16 -06:00
Chris Conlon
e76c5cc59e Update formatting for HAVE_COLDFIRE_SEC in aes.c, 80 char line limit 2014-07-16 11:11:41 -06:00
Chris Conlon
237bde7918 bump version to 3.1.0 2014-07-15 10:50:45 -06:00
Chris Conlon
6297490f88 update README 2014-07-15 10:49:19 -06:00
Chris Conlon
54b02c3979 fix order of variables in myDateCb for Windows/VS 2014-07-15 09:39:37 -06:00
John Safranek
9c9499584d remove client-test.sh from make check 2014-07-14 15:19:31 -07:00
JacobBarthelmeh
5b08cb35d7 updated sequence number in AD and unit tests 2014-07-14 16:13:24 -06:00
toddouska
161fe4894b update ntru cert key w/ new ca 2014-07-11 15:22:16 -07:00
John Safranek
fa5b68d56e Merge pull request #99 from kaleb-himes/master
updated certs
2014-07-11 15:10:31 -07:00
JacobBarthelmeh
4250955003 arg error checking and CHACHA_AEAD_TEST update 2014-07-11 16:06:29 -06:00
Kaleb Himes
ba34ba0f0f crls to sha1 from sha256 2014-07-11 14:41:57 -06:00
Kaleb Himes
4972e0a70b updated certs 2014-07-11 14:14:53 -06:00
Kaleb Himes
15f432c521 updated certs 2014-07-11 13:55:10 -06:00
JacobBarthelmeh
e62fbdd49f added ECDSA and DHE_RSA support for chacha-poly 2014-07-10 16:35:56 -06:00
toddouska
8a9c1ce2fb Merge branch 'master' into ti 2014-07-10 11:48:39 -07:00
toddouska
4d969d2850 reduce ntru benchmark stack use 2014-07-10 11:47:05 -07:00
toddouska
1264c0742c make sure ntru benchmark pub key size init 2014-07-10 11:14:22 -07:00
JacobBarthelmeh
c322cb05ad uses most recent version of cyassl 2014-07-10 11:18:49 -06:00
toddouska
7c608af579 Merge branch 'master' into ti 2014-07-09 17:48:35 -07:00
toddouska
1c7eb61017 ntru keygen is indepedent of additional cyassl keygen, use cyassl types, correct ntru benchmark output 2014-07-09 16:18:55 -07:00
toddouska
b134894eb8 Merge branch 'master' of https://github.com/ShaneIsrael/cyassl 2014-07-09 15:58:15 -07:00
toddouska
8462ed0653 fix issue #94, keygen w/ normal math 2014-07-09 15:47:37 -07:00
JacobBarthelmeh
0a2a56db57 fixed casting issue caught when using clang 2014-07-09 16:33:25 -06:00
Shane Israel
1f6dcd94ba Fixed NTRU param issue in asn.c and added an NTRU keygen benchmark 2014-07-09 16:10:10 -06:00
JacobBarthelmeh
da0876c474 Merge branch 'cipher-suite' of https://github.com/JacobBarthelmeh/cyassl into cipher-suite 2014-07-09 15:49:29 -06:00
JacobBarthelmeh
fb25db9c28 progress on suite 2014-07-09 15:48:40 -06:00
Moisés Guimarães
9ffc44a01f ecc_free should be called only upon ecc_import_x963 success. 2014-07-08 13:41:42 -03:00
Moisés Guimarães
d6f5f57452 remove unnecessary check on pubKey 2014-07-08 13:03:12 -03:00
Moisés Guimarães
f8cf3bf853 remove stack reduction macros 2014-07-08 10:51:27 -03:00
Moisés Guimarães
ff59078053 remove stack reduction macros from hash functions 2014-07-08 10:51:10 -03:00
toddouska
4ed9b3fa33 Merge branch 'master' into ti 2014-07-07 10:32:52 -07:00
Moisés Guimarães
b7acbc090f asn: refactoring EccPrivateKeyDecode to reduce stack usage (199 bytes - pointer sizes saved):
--- variable priv moved to the heap (66 bytes saved)
--- variable pub moved to the heap (133 bytes saved)
2014-07-04 12:03:56 -03:00
Moisés Guimarães
2913aa89d4 asn: refactoring SetAltNamesFromCert to reduce stack usage:
--- variable decoded moved to the heap (sizeof(DecodedCert) bytes saved)

asn: refactoring SetDatesFromCert to reduce stack usage:
--- variable decoded moved to the heap (sizeof(DecodedCert) bytes saved)

asn: refactoring SetNameFromCert to reduce stack usage:
--- variable decoded moved to the heap (sizeof(DecodedCert) bytes saved)
2014-07-04 11:35:11 -03:00
Moisés Guimarães
85dcc8e5e2 asn: refactoring MakeAnyCert to reduce stack usage:
--- variable der moved to the heap (sizeof(DerCert) bytes saved)

asn: refactoring MakeCertReq to reduce stack usage:
--- variable der moved to the heap (sizeof(DerCert) bytes saved)
2014-07-04 11:06:34 -03:00
Moisés Guimarães
1739aea535 asn: refactoring SignCert to reduce stack usage: 512 bytes - pointers size moved to the heap.
--- variable sig moved to the heap (1152 bytes saved)
2014-07-04 10:45:09 -03:00
Moisés Guimarães
30977adc84 asn: refactoring MakeSignature to reduce stack usage:
--- variable encSig moved to the heap (98 bytes saved)
--- variable md5 moved to util function (sizeof(Md5) bytes saved)
--- variable sha moved to util function (sizeof(Sha) bytes saved)
--- variable sha256 moved to util function (sizeof(Sha256) bytes saved)

add cast to variables that may not be used in some builds.
fix - put RSA code inside #ifndef NO_RSA
2014-07-04 09:40:19 -03:00
Moisés Guimarães
de14fac069 add hash utility functions to promote cleaner code, smaller footprint, centralized logs and error handling. 2014-07-04 09:17:18 -03:00
Moisés Guimarães
a281c6bc6c asn: refactoring ConfirmSignature to reduce stack usage:
--- variable digest moved to the heap (20..64 bytes saved)
--- variable pubKey moved to the heap (sizeof(RsaKey) bytes saved)
--- variable encodedSig moved to the heap (512 bytes saved)
--- variable plain moved to the heap (512 bytes saved)
--- variable pubKey moved to the heap (sizeof(ecc_key) bytes saved)
--- variable md2 moved to the heap (sizeof(Md2) bytes saved)
--- variable md5 moved to the heap (sizeof(Md5) bytes saved)
--- variable sha moved to the heap (sizeof(Sha) bytes saved)
--- variable sha256 moved to the heap (sizeof(Sha256) bytes saved)
--- variable sha384 moved to the heap (sizeof(Sha384) bytes saved)
--- variable sha512 moved to the heap (sizeof(Sha512) bytes saved)

fix - In some cases, the function was returning error codes, that could be interpreted as a false positive.
2014-07-04 09:17:17 -03:00
Moisés Guimarães
b875f6f631 add stack reduction macros 2014-07-04 09:17:17 -03:00
Moisés Guimarães
8dd4589650 asn: refactoring SetName to reduce stack usage: 1152 bytes - pointers size moved to the heap.
--- variable names moved to the heap (1152 bytes saved)
2014-07-04 09:17:17 -03:00
Moisés Guimarães
1cd81c1bb6 asn: refactoring SetRsaPublicKey to reduce stack usage: 553 bytes - pointers size moved to the heap.
--- variable n moved to the heap (517 bytes saved)
--- variable e moved to the heap (16 bytes saved)
--- variable algo moved to the heap (20 bytes saved)
2014-07-04 09:17:17 -03:00
Moisés Guimarães
4aab92c982 asn: refactoring SetEccPublicKey to reduce stack usage: 296 bytes - pointers size moved to the heap.
--- variable algo moved to the heap (20 bytes saved)
--- variable curve moved to the heap (20 bytes saved)
--- variable pub moved to the heap (256 bytes saved)
2014-07-04 09:17:17 -03:00
Moisés Guimarães
171d7bf920 asn: refactoring DerToPem to reduce stack usage: 160 bytes - pointers size moved to the heap.
--- variable header moved to the heap (80 bytes saved)
--- variable footer moved to the heap (80 bytes saved)
2014-07-04 09:17:16 -03:00
Moisés Guimarães
e077cd067b asn: refactoring GetKey to reduce stack usage: 610 bytes - pointers size moved to the heap.
--- variable keyBlob moved to the heap (610 bytes saved)
2014-07-04 09:17:16 -03:00
Moisés Guimarães
8c1a4a4944 asn: refactoring ToTraditionalEnc to reduce stack usage: 128 bytes - pointers size moved to the heap.
--- variable salt moved to the heap (64 bytes saved)
--- variable cbcIv moved to the heap (64 bytes saved)
2014-07-04 09:17:16 -03:00
Moisés Guimarães
96aa460d03 asn: refactoring DecryptKey to reduce stack usage: 64 bytes - pointer size moved to the heap.
--- variable key moved to the heap (64 bytes saved)
2014-07-04 09:17:16 -03:00
Moisés Guimarães
40ef0c8daa asn: refactoring GetCertHeader to reduce stack usage: ~ sizeof(mp_int) bytes moved to the heap.
--- variable mpi moved to the heap (~ sizeof(mp_int) bytes saved)
2014-07-04 09:17:16 -03:00
John Safranek
adf5ba96e6 tie in the client test script to check target 2014-07-03 12:18:03 -07:00
toddouska
8a3b3b03d2 fix crl problem error out if verify peer disabled 2014-07-03 12:13:41 -07:00
toddouska
61e989ed99 Merge branch 'master' into ti 2014-07-03 11:34:15 -07:00
toddouska
2d63c559cc dh now disabled by default but can be enabled w/o opensslextra 2014-07-03 11:32:24 -07:00
toddouska
cc74206f9c Merge branch 'master' into ti 2014-07-02 20:06:49 -07:00
toddouska
cac799f683 add optional ecc ctx info 2014-07-02 16:59:45 -07:00
toddouska
6817e3cd2e Merge branch 'master' into ti 2014-07-02 16:31:55 -07:00
JacobBarthelmeh
18119610fb Update tls.c 2014-07-02 16:06:41 -06:00
toddouska
b7baf024ab add expired-ca for testing as well 2014-07-02 12:21:52 -07:00
toddouska
0272d51ce4 remove C++ comments from cyassl proper 2014-07-02 12:11:01 -07:00
toddouska
be402277e0 add override cert date example for bad clock testing 2014-07-02 12:07:25 -07:00
JacobBarthelmeh
0c30053f52 Merge branch 'cipher-suite' of https://github.com/JacobBarthelmeh/cyassl into cipher-suite 2014-07-02 12:53:59 -06:00
JacobBarthelmeh
a1e8eb0802 progress on suite 2014-07-02 12:49:14 -06:00
toddouska
0950b19da8 Merge branch 'master' into ti 2014-07-02 10:49:22 -07:00
toddouska
4aac37bff9 move CipherRequires() to both client and server, VerifyClientSuite() to client only 2014-07-02 10:48:04 -07:00
JacobBarthelmeh
91af14544f Update poly1305.c 2014-07-01 16:14:57 -06:00
JacobBarthelmeh
53c63dd257 progress on suite 2014-07-01 16:08:52 -06:00
JacobBarthelmeh
6c366a1863 progress on suite 2014-07-01 15:19:55 -06:00
JacobBarthelmeh
bcb31dcb4b progress on suite 2014-07-01 14:18:21 -06:00
JacobBarthelmeh
5bf411f345 progress on suite 2014-07-01 14:16:44 -06:00
toddouska
599da85d9e Merge branch 'master' into ti 2014-07-01 12:00:15 -07:00
toddouska
e145e978e1 Merge branch 'master' into ti 2014-07-01 11:58:46 -07:00
toddouska
1122f2a399 master merge resolve 2014-07-01 11:58:33 -07:00
Chris Conlon
d875931a3f hook new DER files into include.am 2014-07-01 11:20:39 -06:00
toddouska
4eebba8162 Merge branch 'master' of github.com:cyassl/cyassl 2014-07-01 09:28:40 -07:00
toddouska
c957e9a909 make default I/O callbacks external for user to base/wrap if desired 2014-07-01 09:27:31 -07:00
Chris Conlon
ee0d989c24 add sizeof ints back to certs_test.h, fix cert buffer usage in benchmark.c 2014-07-01 09:38:12 -06:00
Chris Conlon
5e09ca669b update gencertbuf.pl to generate sizeof ints 2014-07-01 09:36:27 -06:00
Chris Conlon
3ea0f7b4ab add key/cert buffers for CA cert, server key/cert 2014-07-01 08:58:47 -06:00
toddouska
f2de04ae46 Merge branch 'master' into ti 2014-06-26 08:57:35 -06:00
Moisés Guimarães
9339d7d5b1 add support to TLS extensions in DTLS 2014-06-25 13:26:42 -03:00
toddouska
16d64104db Merge branch 'master' into ti 2014-06-25 09:32:27 -06:00
toddouska
eb56afdbf6 remove spaces 2014-06-25 09:28:44 -06:00
Moisés Guimarães
e2a6d68abf fix - add missing FreeDecodeCert on success. 2014-06-24 20:03:52 -03:00
Moisés Guimarães
f2c8826e16 fix missing FreeRsaKey on error. 2014-06-23 15:28:57 -03:00
toddouska
a6ea32461d Merge branch 'master' into ti 2014-06-20 14:48:53 -07:00
Moisés Guimarães
edb94557e9 pkcs7: refactoring PKCS7_EncodeEnvelopedData to reduce stack usage: ~ 1300 bytes moved to the heap.
--- variable contentKeyEnc moved to the heap (512 bytes saved)
--- variable recip moved to the heap (~800 bytes saved)
2014-06-20 14:52:16 -03:00
Moisés Guimarães
46d0f68097 pkcs7: refactoring PKCS7_DecodeEnvelopedData to reduce stack usage: ~ 9 * sizeof(mp_int) bytes + 512 bytes moved to the heap.
--- variable privKey moved to the heap (more than 8 * sizeof(mp_int) bytes saved)
--- variable encryptedKey moved to the heap (512 bytes saved)
--- variable serialNum moved to the heap (sizeof(mp_int) bytes saved)
2014-06-20 14:52:16 -03:00
Moisés Guimarães
21982b50db pkcs7: refactoring CreateRecipientInfo to reduce stack usage: ~ 8 * sizeof(mp_int) bytes + ~935 bytes moved to the heap.
--- variable pubKey moved to the heap (more than 8 * sizeof(mp_int) bytes saved)
--- variable decoded moved to the heap (sizeof(DecodedCert) ~= 880 bytes saved)
--- variable serial moved to the heap (35 bytes saved)
--- variable keyAlgArray moved to the heap (20 bytes saved)
2014-06-20 14:52:16 -03:00
Moisés Guimarães
90e9696ad6 pkcs7: refactoring PKCS7_InitWithCert to reduce stack usage: ~ 880 bytes moved to the heap.
--- variable dCert moved to the heap (sizeof(DecodedCert) ~= 880 bytes saved)
2014-06-20 14:52:16 -03:00
Moisés Guimarães
eacff3ba83 pkcs7: refactoring PKCS7_VerifySignedData to reduce stack usage: ~ 50 bytes + 8 * sizeof(mp_int) bytes moved to the heap.
--- variable key moved to the heap (more than 8 * sizeof(mp_int) bytes saved)
--- variable digest moved to the heap (50 bytes saved)
2014-06-20 14:52:15 -03:00
Moisés Guimarães
60b2495f47 pkcs7: refactoring PKCS7_EncodeSignedData to reduce stack usage: ~1300 bytes + ~ 8 * sizeof(mp_int) bytes moved to the heap.
--- variable esd moved to the heap (1264 bytes saved)
--- variable digestInfo moved to the heap (50 bytes saved)
--- variable privKey moved to the heap (more than 8 * sizeof(mp_int) bytes saved)
2014-06-20 14:52:15 -03:00
toddouska
e6d9151f47 add user cert chain functionality at SSL level instead of just CTX 2014-06-20 10:49:21 -07:00
toddouska
a319354e92 Merge branch 'master' into ti 2014-06-20 09:24:11 -07:00
toddouska
0c12f7c9ac Merge branch 'master' of github.com:cyassl/cyassl 2014-06-20 09:23:30 -07:00
toddouska
6371b3c262 send ecdsa_sign for client cert request type is sig algo ecdsa 2014-06-20 09:22:40 -07:00
Chris Conlon
544c86b8e4 update taoCerts.txt to use 1024 RSA by default, SHA1 instead of MD5 2014-06-20 10:16:07 -06:00
toddouska
4fe938cf3a Merge branch 'master' into ti 2014-06-19 16:01:35 -07:00
toddouska
9642902c07 fix disable rsa w/ opensslextra 2014-06-19 15:59:24 -07:00
Moisés Guimarães
ae073cb1f9 fix pkcs7 memory leaks and XMALLOC result verification. 2014-06-18 14:32:20 -03:00
toddouska
00abb2d90e Merge branch 'master' into ti 2014-06-17 09:17:17 -07:00
Moisés Guimarães
8eae068000 fix error codes checking to use enum value from error-ssl.h 2014-06-16 17:57:47 -03:00
toddouska
59196df818 Merge branch 'master' into ti 2014-06-16 12:31:24 -07:00
toddouska
8350d91780 fix PemToDer encrypted key search start position for bundled files 2014-06-16 12:30:04 -07:00
toddouska
9a180b0ec8 Merge branch 'master' into ti 2014-06-16 11:05:20 -07:00
John Safranek
acb3b1afb2 fix bug with DTLS and IO Pools 2014-06-15 17:26:18 -07:00
John Safranek
33fb679334 fix small config bug between AES-GCM and AES-CCM 2014-06-15 13:59:33 -07:00
Moisés Guimarães
a3687a200a fix tests based on Wolfcrypt error codes. 2014-06-13 15:30:30 -03:00
toddouska
675f99294b Merge branch 'master' into ti 2014-06-12 16:02:37 -07:00
toddouska
0223708ac4 make crl monitor watch init -1 2014-06-12 16:01:34 -07:00
toddouska
233d4f422b Merge branch 'master' into ti 2014-06-12 16:00:33 -07:00
toddouska
b14bf25881 merge master 2014-06-12 16:00:25 -07:00
toddouska
ceafd298f3 fix linux crl monitor newer gcc warning 2014-06-12 15:56:44 -07:00
toddouska
e30e1c40f7 Merge branch 'master' into ti 2014-06-11 11:57:11 -07:00
toddouska
ddf5924b3b add error code for hmac min key len in new error range 2014-06-11 11:56:17 -07:00
toddouska
b3abbbb0ce make more room for wolfCrypt error range 2014-06-11 11:50:14 -07:00
toddouska
aad204428f fips mode hmac min key length for 2014 requirements 2014-06-11 11:43:17 -07:00
toddouska
8237319d80 merge with master 2014-06-10 15:19:45 -07:00
Moisés Guimarães
9c905b6519 fix on TLSX_SNI_GetFromBuffer - > should be >= so extensions of length 0 get inside the while.
added test to cover case.
2014-06-10 16:56:45 -03:00
Moisés Guimarães
ba36c24fc1 fix on TLSX_SNI_GetFromBuffer - undo last fix and return 0 when there is no SNI extension. Now the return is the same when there is no extensions at all. 2014-06-10 15:28:29 -03:00
Moisés Guimarães
064483035c fix on TLSX_SNI_GetFromBuffer - set inOutSz value to zero when there is no SNI extension in the client hello buffer. 2014-06-09 17:31:32 -03:00
toddouska
c6740feee7 Merge branch 'master' into ti 2014-06-09 12:57:43 -07:00
toddouska
e0c5c89bf6 add sanity check on send callback sent value 2014-06-09 12:55:17 -07:00
toddouska
f4c96c68c9 Merge branch 'master' into ti 2014-06-05 17:55:56 -07:00
toddouska
257959bcde fix intel asm comment and xmm stack size needed 2014-06-05 17:37:39 -07:00
Chris Conlon
ae6fe9397c check NTRU DRBG uninstantiate ret value in test.c 2014-06-05 17:07:19 -06:00
John Safranek
ee45558810 fixes #85, --enable-debug=no and --disable-debug to actually disable debug 2014-06-05 14:39:05 -07:00
Chris Conlon
a86e710fc1 make clean to remove generated certs/keys 2014-06-05 15:06:59 -06:00
Chris Conlon
7e5287e578 update NTRU support, with help from thesourcerer8 2014-06-05 14:42:15 -06:00
toddouska
2a54de002f Merge branch 'master' into ti 2014-06-04 15:21:59 -07:00
toddouska
665bda3ce6 ecb encrypt asm restore correct registers 2014-06-04 15:20:04 -07:00
toddouska
81a5bdc6f9 fix intel syntax backwards 2014-06-04 15:15:29 -07:00
toddouska
d728474ef3 store non volatile xmm6-15 for aesni on microsoft 2014-06-04 15:00:42 -07:00
toddouska
bc3cbee2b6 Merge branch 'master' into ti 2014-06-04 09:59:07 -07:00
toddouska
2494217a87 add sanity check on output buffer size for BuildMessage() 2014-06-04 09:58:15 -07:00
toddouska
e4c33cb51e Merge branch 'master' into ti 2014-06-04 08:08:52 -07:00
John Safranek
d301ab001c fix Windows compile warnings 2014-06-03 23:11:18 -07:00
toddouska
0c2c8c7fa3 Merge pull request #83 from jspada/max-altname-buffer-len
Increased max AltName buffer size (for cert generation)
2014-06-03 14:37:14 -07:00
Joseph Spadavecchia
3d94a41740 Increased max AltName buffer size (for cert generation) 2014-06-03 10:58:22 +01:00
toddouska
6ae76721f2 Merge branch 'master' into ti 2014-06-02 11:24:32 -07:00
toddouska
24b556689f fix psk define w/ opensslextra 2014-06-02 11:22:47 -07:00
toddouska
65ad0c987b Merge branch 'master' into ti 2014-05-30 17:06:36 -07:00
toddouska
66eb3caac5 bump dev version 2014-05-30 17:02:30 -07:00
toddouska
a920795665 Merge branch 'master' into ti 2014-05-30 16:57:15 -07:00
toddouska
5b7a5fe0bb Merge branch 'master' of github.com:cyassl/cyassl 2014-05-30 16:56:28 -07:00
toddouska
0f311adb2c if icc doesn't have 128bit type on x64 don't use it 2014-05-30 16:54:09 -07:00
toddouska
086b987efe Merge branch 'master' into ti 2014-05-28 17:49:34 -07:00
toddouska
71a5aeeb81 Merge branch 'master' into ti 2014-05-28 17:37:48 -07:00
toddouska
8a0fbcb83e Merge branch 'master' into ti 2014-05-28 13:06:51 -07:00
toddouska
21ebf9485d Merge branch 'master' into ti 2014-05-28 08:39:11 -07:00
toddouska
6eeba7f50c Merge branch 'master' into ti 2014-05-20 17:18:31 -07:00
toddouska
e373b083bf Merge branch 'master' into ti 2014-05-20 14:33:14 -07:00
toddouska
fc084e9978 Merge branch 'master' into ti 2014-05-20 13:46:27 -07:00
toddouska
6d3a46ebec Merge branch 'master' into ti 2014-05-19 17:08:51 -07:00
toddouska
8f4e65276d Merge branch 'master' into ti 2014-05-19 14:34:46 -07:00
toddouska
2083b4f1b1 Merge branch 'master' into ti 2014-05-19 13:57:22 -07:00
toddouska
d7a08de9de Merge branch 'master' into ti 2014-05-17 16:24:44 -07:00
toddouska
91df5e52a6 Merge branch 'master' into ti 2014-05-16 09:13:21 -07:00
toddouska
fd84098db4 Merge branch 'master' into ti 2014-05-15 10:41:16 -07:00
toddouska
e024c8af41 Merge branch 'master' into ti 2014-05-15 10:37:15 -07:00
toddouska
f9a78b7e20 Merge branch 'master' into ti 2014-05-14 15:07:47 -07:00
toddouska
e31382ee4d Merge branch 'master' into ti 2014-05-14 09:22:57 -07:00
toddouska
6ea8f6cb17 Merge branch 'master' into ti 2014-05-13 16:05:51 -07:00
toddouska
d92869067c Merge branch 'master' into ti 2014-05-13 15:52:33 -07:00
toddouska
28b6c5b998 Merge branch 'master' into ti 2014-05-12 14:02:22 -07:00
toddouska
b19a7e2238 2nd merge fix 2014-05-12 14:00:29 -07:00
toddouska
a3a12a7010 merge resolution in io.c 2014-05-12 13:36:20 -07:00
toddouska
aae56394aa Merge branch 'master' into ti 2014-05-12 09:40:26 -07:00
toddouska
4c8d94023b Merge branch 'master' into ti 2014-05-09 14:50:44 -07:00
toddouska
aae718f155 Merge branch 'master' of github.com:cyassl/cyassl into ti 2014-05-09 14:38:10 -07:00
toddouska
34f2e51415 remove extra spaces from ti cyassl proper files 2014-05-09 11:55:59 -07:00
toddouska
ec5f3cc681 Merge branch 'master' of https://github.com/tisb/cyassl into ti 2014-05-09 11:38:40 -07:00
Vikram Adiga
f643ca5f48 Added TI-RTOS support for CyaSSL tests 2014-05-08 15:52:20 -07:00
Vikram Adiga
5146f3dd94 Initial commit of CyaSSL port for TI-RTOS 2014-05-08 15:50:55 -07:00
2215 changed files with 1522482 additions and 137143 deletions

28
.github/workflows/macos-check.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: macOS Build Test
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: brew
run: brew install automake libtool
- name: autogen
run: ./autogen.sh
- name: configure
run: ./configure
- name: make
run: make
- name: make check
run: make check
- name: make distcheck
run: make distcheck

26
.github/workflows/ubuntu-check.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: Ubuntu Build Test
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: autogen
run: ./autogen.sh
- name: configure
run: ./configure
- name: make
run: make
- name: make check
run: make check
- name: make distcheck
run: make distcheck

38
.github/workflows/windows-check.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Windows Build Test
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: wolfssl64.sln
# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release
BUILD_PLATFORM: x64
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{env.BUILD_PLATFORM}} /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}

304
.gitignore vendored
View File

@@ -1,26 +1,37 @@
ctaocrypt/src/src/
*.swp
*.lo
*.la
*.o
*.patch
*.deps
*.d
*.libs
*.cache
.dirstamp
*.user
config*
configure
config.*
!cmake/config.in
*Debug/
*Release/
*.ncb
*.suo
*.sdf
*.opensdf
*.cmd
ipch/
build-aux/
rpm/spec
*.rpm
stamp-h
cyassl/options.h
wolfssl/options.h
.build_params
libtool.m4
aclocal.m4
aminclude.am
lt*.m4
INSTALL
Makefile.in
Makefile
depcomp
@@ -29,15 +40,40 @@ libtool
tags
.tags*
cyassl-config
wolfssl-config
cyassl.sublime*
fips.h
fips.c
fips_test.c
fips
wolfcrypt_first.c
wolfcrypt_last.c
selftest.c
fipsv2.c
src/async.c
wolfssl/async.h
wolfcrypt/src/async.c
wolfssl/wolfcrypt/async.h
wolfcrypt/src/port/intel/quickassist.c
wolfcrypt/src/port/intel/quickassist_mem.c
wolfcrypt/src/port/cavium/cavium_nitrox.c
wolfssl/wolfcrypt/port/intel/quickassist.h
wolfssl/wolfcrypt/port/intel/quickassist_mem.h
wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h
ctaocrypt/benchmark/benchmark
ctaocrypt/test/testctaocrypt
wolfcrypt/benchmark/benchmark
wolfcrypt/test/testwolfcrypt
examples/benchmark/tls_bench
examples/client/client
examples/echoclient/echoclient
examples/echoserver/echoserver
examples/server/server
examples/sctp/sctp-server
examples/sctp/sctp-server-dtls
examples/sctp/sctp-client
examples/sctp/sctp-client-dtls
server_ready
snifftest
output
mcapi/test
@@ -45,6 +81,9 @@ testsuite/testsuite
tests/unit
testsuite/testsuite.test
tests/unit.test
tests/bio_write_test.txt
tests/test-log-dump-to-file.txt
test-write-dhparams.pem
testsuite/*.der
testsuite/*.pem
testsuite/*.raw
@@ -54,15 +93,102 @@ certecc.der
certecc.pem
othercert.der
othercert.pem
certeccrsa.der
certeccrsa.pem
ntru-cert.der
ntru-cert.pem
ntru-key.raw
key.der
key.pem
ecc-public-key.der
ecc-key-pkcs8.der
ecc-key.der
ecc-key.pem
certreq.der
certreq.pem
pkcs7cert.der
pkcs7signedData.der
pkcs7envelopedData.der
pkcs7authEnvelopedDataAES128GCM.der
pkcs7authEnvelopedDataAES128GCM_ECDH_SHA1KDF.der
pkcs7authEnvelopedDataAES128GCM_KEKRI.der
pkcs7authEnvelopedDataAES128GCM_ORI.der
pkcs7authEnvelopedDataAES128GCM_PWRI.der
pkcs7authEnvelopedDataAES192GCM.der
pkcs7authEnvelopedDataAES256GCM.der
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF.der
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF_authAttribs.der
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF_bothAttribs.der
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF_fw_bothAttribs.der
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF_unauthAttribs.der
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA512KDF.der
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA512KDF_ukm.der
pkcs7authEnvelopedDataAES256GCM_firmwarePkgData.der
pkcs7authEnvelopedDataAES256GCM_IANDS.der
pkcs7authEnvelopedDataAES256GCM_SKID.der
pkcs7compressedData_data_zlib.der
pkcs7compressedData_firmwarePkgData_zlib.der
pkcs7encryptedDataAES128CBC.der
pkcs7encryptedDataAES192CBC.der
pkcs7encryptedDataAES256CBC.der
pkcs7encryptedDataAES256CBC_attribs.der
pkcs7encryptedDataAES256CBC_firmwarePkgData.der
pkcs7encryptedDataAES256CBC_multi_attribs.der
pkcs7encryptedDataDES.der
pkcs7encryptedDataDES3.der
pkcs7envelopedDataAES128CBC.der
pkcs7envelopedDataAES128CBC_ECDH_SHA1KDF.der
pkcs7envelopedDataAES128CBC_KEKRI.der
pkcs7envelopedDataAES128CBC_PWRI.der
pkcs7envelopedDataAES128CBC_ORI.der
pkcs7envelopedDataAES192CBC.der
pkcs7envelopedDataAES256CBC.der
pkcs7envelopedDataAES256CBC_IANDS.der
pkcs7envelopedDataAES256CBC_SKID.der
pkcs7envelopedDataAES256CBC_ECDH_SHA256KDF.der
pkcs7envelopedDataAES256CBC_ECDH_SHA512KDF.der
pkcs7envelopedDataAES256CBC_ECDH_SHA512KDF_ukm.der
pkcs7envelopedDataDES3.der
pkcs7signedData_ECDSA_SHA224.der
pkcs7signedData_ECDSA_SHA256_custom_contentType.der
pkcs7signedData_ECDSA_SHA256.der
pkcs7signedData_ECDSA_SHA256_firmwarePkgData.der
pkcs7signedData_ECDSA_SHA256_SKID.der
pkcs7signedData_ECDSA_SHA384.der
pkcs7signedData_ECDSA_SHA512.der
pkcs7signedData_ECDSA_SHA.der
pkcs7signedData_ECDSA_SHA_noattr.der
pkcs7signedData_RSA_SHA224.der
pkcs7signedData_RSA_SHA256_custom_contentType.der
pkcs7signedData_RSA_SHA256.der
pkcs7signedData_RSA_SHA256_firmwarePkgData.der
pkcs7signedData_RSA_SHA256_SKID.der
pkcs7signedData_RSA_SHA256_with_ca_cert.der
pkcs7signedData_RSA_SHA256_detachedSig.der
pkcs7signedData_RSA_SHA384.der
pkcs7signedData_RSA_SHA512.der
pkcs7signedData_RSA_SHA.der
pkcs7signedData_RSA_SHA_noattr.der
pkcs7signedCompressedFirmwarePkgData_ECDSA_SHA256.der
pkcs7signedCompressedFirmwarePkgData_ECDSA_SHA256_noattr.der
pkcs7signedCompressedFirmwarePkgData_RSA_SHA256.der
pkcs7signedCompressedFirmwarePkgData_RSA_SHA256_noattr.der
pkcs7signedEncryptedFirmwarePkgData_ECDSA_SHA256.der
pkcs7signedEncryptedFirmwarePkgData_ECDSA_SHA256_noattr.der
pkcs7signedEncryptedFirmwarePkgData_RSA_SHA256.der
pkcs7signedEncryptedFirmwarePkgData_RSA_SHA256_noattr.der
pkcs7signedFirmwarePkgData_ECDSA_SHA256.der
pkcs7signedFirmwarePkgData_ECDSA_SHA256_SKID.der
pkcs7signedFirmwarePkgData_ECDSA_SHA256_noattr.der
pkcs7signedFirmwarePkgData_RSA_SHA256.der
pkcs7signedFirmwarePkgData_RSA_SHA256_SKID.der
pkcs7signedFirmwarePkgData_RSA_SHA256_noattr.der
pkcs7signedFirmwarePkgData_RSA_SHA256_with_ca_cert.der
pkcs7signedEncryptedCompressedFirmwarePkgData_ECDSA_SHA256.der
pkcs7signedEncryptedCompressedFirmwarePkgData_ECDSA_SHA256_noattr.der
pkcs7signedEncryptedCompressedFirmwarePkgData_RSA_SHA256.der
pkcs7signedEncryptedCompressedFirmwarePkgData_RSA_SHA256_noattr.der
diff
sslSniffer/sslSnifferTest/tracefile.txt
tracefile.txt
*.gz
*.zip
*.bak
@@ -80,11 +206,16 @@ autoscan.log
TAGS
.DS_Store
support/cyassl.pc
support/wolfssl.pc
cyassl/ctaocrypt/stamp-h1
swig/_cyassl.so
swig/_wolfssl.so
swig/cyassl.py
swig/wolfssl.py
swig/cyassl.pyc
swig/wolfssl.pyc
swig/cyassl_wrap.c
swig/wolfssl_wrap.c
stamp-h1
clang_output_*
internal.plist
@@ -92,28 +223,159 @@ cov-int
cyassl.tgz
*.log
*.trs
IDE\MDK-ARM\Projects/
IDE\MDK-ARM\STM32F2xx_StdPeriph_Lib/inc
IDE\MDK-ARM\STM32F2xx_StdPeriph_Lib/src
IDE\MDK-ARM\LPC43xx\Drivers/
IDE\MDK-ARM\LPC43xx\LPC43xx/
IDE/MDK-ARM/Projects/
IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/inc
IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/src
IDE/MDK-ARM/LPC43xx/Drivers/
IDE/MDK-ARM/LPC43xx/LPC43xx/
*.gcno
*.gcda
*.gcov
*.dgcov
!linuxkm/Makefile
/Kbuild
linuxkm/*.ko
linuxkm/Module.symvers
linuxkm/built-in.a
linuxkm/modules.order
linuxkm/wolfcrypt
linuxkm/libwolfssl.mod
linuxkm/libwolfssl.mod.c
linuxkm/libwolfssl.lds
linuxkm/module_exports.c
linuxkm/linuxkm/get_thread_size
# autotools generated
scripts/unit.test
wolfcrypt/test/test_paths.h
# MPLAB Generated Files (OS X)
mcapi/ctaocrypt_mcapi.X/nbproject/Makefile-*
mcapi/ctaocrypt_mcapi.X/nbproject/Package-default.bash
mcapi/ctaocrypt_test.X/nbproject/Makefile-*
mcapi/ctaocrypt_test.X/nbproject/Package-default.bash
mcapi/cyassl.X/nbproject/Makefile-*
mcapi/cyassl.X/nbproject/Package-default.bash
mcapi/wolfcrypt_mcapi.X/nbproject/Makefile-*
mcapi/wolfcrypt_mcapi.X/nbproject/Package-default.bash
mcapi/wolfcrypt_test.X/nbproject/Makefile-*
mcapi/wolfcrypt_test.X/nbproject/Package-default.bash
mcapi/wolfssl.X/nbproject/Makefile-*
mcapi/wolfssl.X/nbproject/Package-default.bash
mcapi/zlib.X/nbproject/Makefile-*
mcapi/zlib.X/nbproject/Package-default.bash
mplabx/ctaocrypt_benchmark.X/nbproject/Makefile-*
mplabx/ctaocrypt_benchmark.X/nbproject/Package-default.bash
mplabx/ctaocrypt_test.X/nbproject/Makefile-*
mplabx/ctaocrypt_test.X/nbproject/Package-default.bash
mplabx/cyassl.X/nbproject/Makefile-*
mplabx/cyassl.X/nbproject/Package-default.bash
mplabx/wolfcrypt_benchmark.X/nbproject/Makefile-*
mplabx/wolfcrypt_benchmark.X/nbproject/Package-default.bash
mplabx/wolfcrypt_test.X/nbproject/Makefile-*
mplabx/wolfcrypt_test.X/nbproject/Package-default.bash
mplabx/wolfssl.X/nbproject/Makefile-*
mplabx/wolfssl.X/nbproject/Package-default.bash
mplabx/wolfssl.X/nbproject/private
mplabx/wolfcrypt_test.X/nbproject/private
mplabx/wolfcrypt_benchmark.X/nbproject/private
mplabx/wolfssl.X/dist/default/
mplabx/wolfcrypt_test.X/dist/default/
mplabx/wolfcrypt_benchmark.X/dist/default/
*.dSYM
# Vagrant folder
.vagrant/
# CodeWarrior Generated Files (Windows)
mqx/cyassl/.settings
mqx/cyassl_client/.settings
mqx/cyassl_client/.cwGeneratedFileSetLog
mqx/cyassl_client/SaAnalysispointsManager.apconfig
mqx/util_lib/.settings
mqx/wolfcrypt_test/.settings
mqx/wolfcrypt_test/.cwGeneratedFileSetLog
mqx/wolfcrypt_test/SaAnalysispointsManager.apconfig
mqx/wolfcrypt_benchmark/.settings
mqx/wolfcrypt_benchmark/.cwGeneratedFileSetLog
mqx/wolfcrypt_benchmark/SaAnalysispointsManager.apconfig
# User Crypto example build
wolfcrypt/user-crypto/aclocal.m4
wolfcrypt/user-crypto/config.guess
wolfcrypt/user-crypto/autom4te.cache
wolfcrypt/user-crypto/config.log
wolfcrypt/user-crypto/config.status
wolfcrypt/user-crypto/config.sub
wolfcrypt/user-crypto/depcomp
wolfcrypt/user-crypto/install-sh
wolfcrypt/user-crypto/libtool
wolfcrypt/user-crypto/ltmain.sh
wolfcrypt/user-crypto/m4
wolfcrypt/user-crypto/missing
wolfcrypt/user-crypto/Makefile.in
wolfcrypt/user-crypto/lib/libusercrypto.*
*.hzs
# wolfSSL CSharp wrapper
wrapper/CSharp/x64/
# Visual Studio Code Workspace Files
*.vscode
*.userprefs
*.exe
*.dll
.vs
Backup
UpgradeLog.htm
*.aps
*.VC.db
*.filters
IDE/INTIME-RTOS/Debug_*
IDE/VS-ARM/.vs
# Hexiwear
IDE/HEXIWEAR/wolfSSL_HW/Debug
# Linux-SGX
IDE/LINUX-SGX/*.a
IDE/iotsafe/*.map
IDE/iotsafe/*.elf
IDE/iotsafe/*.bin
# Binaries
wolfcrypt/src/port/intel/qat_test
/mplabx/wolfssl.X/dist/default/
/mplabx/wolfcrypt_test.X/dist/default/
# Arduino Generated Files
/IDE/ARDUINO/wolfSSL
scripts/memtest.txt
# Doxygen generated files
doc/doxygen_warnings
doc/html
doc/pdf
# XCODE Index
IDE/XCODE/Index
# ARM DS-5 && Eclipse
\.settings/
\.cproject
\.project
\.autotools
# Renesas e2studio
/IDE/Renesas/e2studio/Projects/test/src/smc_gen
/IDE/Renesas/e2studio/Projects/test/trash
/IDE/Renesas/e2studio/Projects/test/*.launch
/IDE/Renesas/e2studio/Projects/test/*.scfg
# QNX CAAM
/IDE/QNX/example-server/server-tls
/IDE/QNX/example-client/client-tls
/IDE/QNX/example-cmac/cmac-test
/IDE/QNX/CAAM-DRIVER/wolfCrypt
# Emacs
*~
# CMake
CMakeFiles/
CMakeCache.txt
cmake_install.cmake
# GDB Settings
\.gdbinit

1663
CMakeLists.txt Normal file

File diff suppressed because it is too large Load Diff

3338
ChangeLog.md Normal file

File diff suppressed because it is too large Load Diff

37
IDE/ARDUINO/README.md Normal file
View File

@@ -0,0 +1,37 @@
### wolfSSL with Arduino
##### Reformatting wolfSSL as a compatible Arduino Library
This is a shell script that will re-organize the wolfSSL library to be
compatible with Arduino projects. The Arduino IDE requires a library's source
files to be in the library's root directory with a header file in the name of
the library. This script moves all src/ files to the `IDE/ARDUINO/wolfSSL`
directory and creates a stub header file called `wolfssl.h`.
Step 1: To configure wolfSSL with Arduino, enter the following from within the
wolfssl/IDE/ARDUINO directory:
`./wolfssl-arduino.sh`
Step 2: Copy the directory wolfSSL that was just created to:
`~/Documents/Arduino/libraries/` directory so the Arduino IDE can find it.
Step 3: Edit `<arduino-libraries>/wolfSSL/user_settings.h`
If building for Intel Galileo platform add: `#define INTEL_GALILEO`.
Add any other custom settings, for a good start see the examples in wolfssl root
"/examples/configs/user_settings_*.h"
Step 4: If you experience any issues with custom user_settings.h see the wolfssl
porting guide here for more assistance: https://www.wolfssl.com/docs/porting-guide/
Step 5: If you still have any issues contact support@wolfssl.com for more help.
##### Including wolfSSL in Arduino Libraries (for Arduino version 1.6.6)
1. In the Arduino IDE:
- In `Sketch -> Include Library -> Add .ZIP Library...` and choose the
`IDE/ARDUNIO/wolfSSL` folder.
- In `Sketch -> Include Library` choose wolfSSL.
2. Open an example Arduino sketch for wolfSSL:
- wolfSSL Client INO sketch: `sketches/wolfssl_client/wolfssl_client.ino`
- wolfSSL Server INO sketch: `sketches/wolfssl_server/wolfssl_server.ino`

8
IDE/ARDUINO/include.am Normal file
View File

@@ -0,0 +1,8 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST+= IDE/ARDUINO/README.md
EXTRA_DIST+= IDE/ARDUINO/sketches/wolfssl_client/wolfssl_client.ino
EXTRA_DIST+= IDE/ARDUINO/sketches/wolfssl_server/wolfssl_server.ino
EXTRA_DIST+= IDE/ARDUINO/wolfssl-arduino.sh

View File

@@ -0,0 +1,159 @@
/* wolfssl_client.ino
*
* 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.h>
#include <wolfssl/ssl.h>
#include <Ethernet.h>
const char host[] = "192.168.1.148"; /* server to connect to */
const int port = 11111; /* port on server to connect to */
int EthernetSend(WOLFSSL* ssl, char* msg, int sz, void* ctx);
int EthernetReceive(WOLFSSL* ssl, char* reply, int sz, void* ctx);
int reconnect = 10;
EthernetClient client;
WOLFSSL_CTX* ctx = NULL;
WOLFSSL* ssl = NULL;
void setup() {
WOLFSSL_METHOD* method;
Serial.begin(9600);
method = wolfTLSv1_2_client_method();
if (method == NULL) {
Serial.println("unable to get method");
return;
}
ctx = wolfSSL_CTX_new(method);
if (ctx == NULL) {
Serial.println("unable to get ctx");
return;
}
/* initialize wolfSSL using callback functions */
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
wolfSSL_SetIOSend(ctx, EthernetSend);
wolfSSL_SetIORecv(ctx, EthernetReceive);
return;
}
int EthernetSend(WOLFSSL* ssl, char* msg, int sz, void* ctx) {
int sent = 0;
sent = client.write((byte*)msg, sz);
return sent;
}
int EthernetReceive(WOLFSSL* ssl, char* reply, int sz, void* ctx) {
int ret = 0;
while (client.available() > 0 && ret < sz) {
reply[ret++] = client.read();
}
return ret;
}
void loop() {
int err = 0;
int input = 0;
int total_input = 0;
char msg[32] = "hello wolfssl!";
int msgSz = (int)strlen(msg);
char errBuf[80];
char reply[80];
const char* cipherName;
if (reconnect) {
reconnect--;
if (client.connect(host, port)) {
Serial.print("Connected to ");
Serial.println(host);
ssl = wolfSSL_new(ctx);
if (ssl == NULL) {
Serial.println("Unable to allocate SSL object");
return;
}
err = wolfSSL_connect(ssl);
if (err != WOLFSSL_SUCCESS) {
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, errBuf);
Serial.print("TLS Connect Error: ");
Serial.println(errBuf);
}
Serial.print("SSL version is ");
Serial.println(wolfSSL_get_version(ssl));
cipherName = wolfSSL_get_cipher(ssl);
Serial.print("SSL cipher suite is ");
Serial.println(cipherName);
if ((wolfSSL_write(ssl, msg, msgSz)) == msgSz) {
Serial.print("Server response: ");
/* wait for data */
while (!client.available()) {}
/* read data */
while (wolfSSL_pending(ssl)) {
input = wolfSSL_read(ssl, reply, sizeof(reply) - 1);
total_input += input;
if (input < 0) {
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, errBuf);
Serial.print("TLS Read Error: ");
Serial.println(errBuf);
break;
} else if (input > 0) {
reply[input] = '\0';
Serial.print(reply);
} else {
Serial.println();
}
}
} else {
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, errBuf);
Serial.print("TLS Write Error: ");
Serial.println(errBuf);
}
wolfSSL_shutdown(ssl);
wolfSSL_free(ssl);
client.stop();
Serial.println("Connection complete.");
reconnect = 0;
} else {
Serial.println("Trying to reconnect...");
}
}
delay(1000);
}

View File

@@ -0,0 +1,179 @@
/* wolfssl_server.ino
*
* 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.h>
#include <wolfssl/ssl.h>
#include <Ethernet.h>
#define USE_CERT_BUFFERS_256
#include <wolfssl/certs_test.h>
#ifdef NO_WOLFSSL_SERVER
#error Please undefine NO_WOLFSSL_SERVER for this example
#endif
const int port = 11111; /* port to listen on */
int EthernetSend(WOLFSSL* ssl, char* msg, int sz, void* ctx);
int EthernetReceive(WOLFSSL* ssl, char* reply, int sz, void* ctx);
EthernetServer server(port);
EthernetClient client;
WOLFSSL_CTX* ctx = NULL;
WOLFSSL* ssl = NULL;
void setup() {
int err;
WOLFSSL_METHOD* method;
Serial.begin(9600);
method = wolfTLSv1_2_server_method();
if (method == NULL) {
Serial.println("unable to get method");
return;
}
ctx = wolfSSL_CTX_new(method);
if (ctx == NULL) {
Serial.println("unable to get ctx");
return;
}
/* initialize wolfSSL using callback functions */
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
wolfSSL_SetIOSend(ctx, EthernetSend);
wolfSSL_SetIORecv(ctx, EthernetReceive);
/* setup the private key and certificate */
err = wolfSSL_CTX_use_PrivateKey_buffer(ctx, ecc_key_der_256,
sizeof_ecc_key_der_256, WOLFSSL_FILETYPE_ASN1);
if (err != WOLFSSL_SUCCESS) {
Serial.println("error setting key");
return;
}
err = wolfSSL_CTX_use_certificate_buffer(ctx, serv_ecc_der_256,
sizeof_serv_ecc_der_256, WOLFSSL_FILETYPE_ASN1);
if (err != WOLFSSL_SUCCESS) {
Serial.println("error setting certificate");
return;
}
/* Start the server */
server.begin();
return;
}
int EthernetSend(WOLFSSL* ssl, char* msg, int sz, void* ctx) {
int sent = 0;
sent = client.write((byte*)msg, sz);
return sent;
}
int EthernetReceive(WOLFSSL* ssl, char* reply, int sz, void* ctx) {
int ret = 0;
while (client.available() > 0 && ret < sz) {
reply[ret++] = client.read();
}
return ret;
}
void loop() {
int err = 0;
int input = 0;
char errBuf[80];
char reply[80];
int replySz = 0;
const char* cipherName;
/* Listen for incoming client requests. */
client = server.available();
if (!client) {
return;
}
if (client.connected()) {
Serial.println("Client connected");
ssl = wolfSSL_new(ctx);
if (ssl == NULL) {
Serial.println("Unable to allocate SSL object");
return;
}
err = wolfSSL_accept(ssl);
if (err != WOLFSSL_SUCCESS) {
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, errBuf);
Serial.print("TLS Accept Error: ");
Serial.println(errBuf);
}
Serial.print("SSL version is ");
Serial.println(wolfSSL_get_version(ssl));
cipherName = wolfSSL_get_cipher(ssl);
Serial.print("SSL cipher suite is ");
Serial.println(cipherName);
Serial.print("Server Read: ");
/* wait for data */
while (!client.available()) {}
/* read data */
while (wolfSSL_pending(ssl)) {
input = wolfSSL_read(ssl, reply, sizeof(reply) - 1);
if (input < 0) {
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, errBuf);
Serial.print("TLS Read Error: ");
Serial.println(errBuf);
break;
} else if (input > 0) {
replySz = input;
reply[input] = '\0';
Serial.print(reply);
} else {
Serial.println();
}
}
/* echo data */
if ((wolfSSL_write(ssl, reply, replySz)) != replySz) {
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, errBuf);
Serial.print("TLS Write Error: ");
Serial.println(errBuf);
}
wolfSSL_shutdown(ssl);
wolfSSL_free(ssl);
}
client.stop();
Serial.println("Connection complete");
}

90
IDE/ARDUINO/wolfssl-arduino.sh Executable file
View File

@@ -0,0 +1,90 @@
#!/bin/sh
# this script will reformat the wolfSSL source code to be compatible with
# an Arduino project
# run as bash ./wolfssl-arduino.sh
DIR=${PWD##*/}
space(){
echo "" >> "$1"
}
if [ "$DIR" = "ARDUINO" ]; then
if [ ! -d "wolfSSL" ]; then
mkdir wolfSSL
fi
cp ../../src/*.c ./wolfSSL
cp ../../wolfcrypt/src/*.c ./wolfSSL
if [ ! -d "wolfSSL/wolfssl" ]; then
mkdir wolfSSL/wolfssl
fi
cp ../../wolfssl/*.h ./wolfSSL/wolfssl
if [ ! -d "wolfSSL/wolfssl/wolfcrypt" ]; then
mkdir wolfSSL/wolfssl/wolfcrypt
fi
cp ../../wolfssl/wolfcrypt/*.h ./wolfSSL/wolfssl/wolfcrypt
# support misc.c as include in wolfcrypt/src
if [ ! -d "./wolfSSL/wolfcrypt" ]; then
mkdir ./wolfSSL/wolfcrypt
fi
if [ ! -d "./wolfSSL/wolfcrypt/src" ]; then
mkdir ./wolfSSL/wolfcrypt/src
fi
cp ../../wolfcrypt/src/misc.c ./wolfSSL/wolfcrypt/src
cp ../../wolfcrypt/src/asm.c ./wolfSSL/wolfcrypt/src
# put bio and evp as includes
mv ./wolfSSL/bio.c ./wolfSSL/wolfssl
mv ./wolfSSL/evp.c ./wolfSSL/wolfssl
# make a copy of evp.c and bio.c for ssl.c to include inline
cp ./wolfSSL/wolfssl/evp.c ./wolfSSL/wolfcrypt/src/evp.c
cp ./wolfSSL/wolfssl/bio.c ./wolfSSL/wolfcrypt/src/bio.c
# copy openssl compatibility headers to their appropriate location
if [ ! -d "./wolfSSL/wolfssl/openssl" ]; then
mkdir ./wolfSSL/wolfssl/openssl
fi
cp ../../wolfssl/openssl/* ./wolfSSL/wolfssl/openssl
echo "/* Generated wolfSSL header file for Arduino */" > ./wolfSSL/wolfssl.h
echo "#include <user_settings.h>" >> ./wolfSSL/wolfssl.h
echo "#include <wolfssl/wolfcrypt/settings.h>" >> ./wolfSSL/wolfssl.h
echo "#include <wolfssl/ssl.h>" >> ./wolfSSL/wolfssl.h
if [ ! -f "./wolfSSL/user_settings.h" ]; then
echo "/* Generated wolfSSL user_settings.h file for Arduino */" > ./wolfSSL/user_settings.h
echo "#ifndef ARDUINO_USER_SETTINGS_H" >> ./wolfSSL/user_settings.h
echo "#define ARDUINO_USER_SETTINGS_H" >> ./wolfSSL/user_settings.h
space ./wolfSSL/user_settings.h
echo "/* Platform */" >> ./wolfSSL/user_settings.h
echo "#define WOLFSSL_ARDUINO" >> ./wolfSSL/user_settings.h
space ./wolfSSL/user_settings.h
echo "/* Math library (remove this to use normal math)*/" >> ./wolfSSL/user_settings.h
echo "#define USE_FAST_MATH" >> ./wolfSSL/user_settings.h
echo "#define TFM_NO_ASM" >> ./wolfSSL/user_settings.h
space ./wolfSSL/user_settings.h
echo "/* RNG DEFAULT !!FOR TESTING ONLY!! */" >> ./wolfSSL/user_settings.h
echo "/* comment out the error below to get started w/ bad entropy source" >> ./wolfSSL/user_settings.h
echo " * This will need fixed before distribution but is OK to test with */" >> ./wolfSSL/user_settings.h
echo "#error \"needs solved, see: https://www.wolfssl.com/docs/porting-guide/\"" >> ./wolfSSL/user_settings.h
echo "#define WOLFSSL_GENSEED_FORTEST" >> ./wolfSSL/user_settings.h
space ./wolfSSL/user_settings.h
echo "#endif /* ARDUINO_USER_SETTINGS_H */" >> ./wolfSSL/user_settings.h
fi
cp wolfSSL/wolfssl/wolfcrypt/settings.h wolfSSL/wolfssl/wolfcrypt/settings.h.bak
echo " /* wolfSSL Generated ARDUINO settings */" > ./wolfSSL/wolfssl/wolfcrypt/settings.h
echo "#ifndef WOLFSSL_USER_SETTINGS" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
echo " #define WOLFSSL_USER_SETTINGS" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
echo "#endif /* WOLFSSL_USER_SETTINGS */" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
echo " /* wolfSSL Generated ARDUINO settings: END */" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
cat ./wolfSSL/wolfssl/wolfcrypt/settings.h.bak >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
else
echo "ERROR: You must be in the IDE/ARDUINO directory to run this script"
fi

116
IDE/Android/Android.bp Normal file
View File

@@ -0,0 +1,116 @@
cc_library_shared {
name: "libwolfssl",
arch: {
arm: {
instruction_set: "arm",
},
arm64: {
cflags: ["-DARM64"],
},
},
compile_multilib: "both",
export_include_dirs: ["."],
shared_libs: ["liblog"],
cflags: [
"-DWOLFSSL_USER_SETTINGS",
"-Os",
"-fomit-frame-pointer",
],
include_dirs: [
"external/wolfssl/wolfssl",
"external/wolfssl",
],
srcs: [
"./src/crl.c",
"./src/internal.c",
"./src/keys.c",
"./src/ocsp.c",
"./src/sniffer.c",
"./src/ssl.c",
"./src/tls.c",
"./src/tls13.c",
"./src/wolfio.c",
] + [
"./wolfcrypt/src/aes.c",
"./wolfcrypt/src/arc4.c",
"./wolfcrypt/src/asm.c",
"./wolfcrypt/src/asn.c",
"./wolfcrypt/src/blake2b.c",
"./wolfcrypt/src/blake2s.c",
"./wolfcrypt/src/camellia.c",
"./wolfcrypt/src/chacha.c",
"./wolfcrypt/src/chacha20_poly1305.c",
"./wolfcrypt/src/cmac.c",
"./wolfcrypt/src/coding.c",
"./wolfcrypt/src/compress.c",
"./wolfcrypt/src/cpuid.c",
"./wolfcrypt/src/cryptocb.c",
"./wolfcrypt/src/curve25519.c",
"./wolfcrypt/src/curve448.c",
"./wolfcrypt/src/des3.c",
"./wolfcrypt/src/dh.c",
"./wolfcrypt/src/dsa.c",
"./wolfcrypt/src/ecc.c",
"./wolfcrypt/src/ecc_fp.c",
"./wolfcrypt/src/ed25519.c",
"./wolfcrypt/src/ed448.c",
"./wolfcrypt/src/error.c",
"./wolfcrypt/src/fe_448.c",
"./wolfcrypt/src/fe_low_mem.c",
"./wolfcrypt/src/fe_operations.c",
"./wolfcrypt/src/fips.c",
"./wolfcrypt/src/fips_test.c",
"./wolfcrypt/src/ge_448.c",
"./wolfcrypt/src/ge_low_mem.c",
"./wolfcrypt/src/ge_operations.c",
"./wolfcrypt/src/hash.c",
"./wolfcrypt/src/kdf.c",
"./wolfcrypt/src/hc128.c",
"./wolfcrypt/src/hmac.c",
"./wolfcrypt/src/idea.c",
"./wolfcrypt/src/integer.c",
"./wolfcrypt/src/logging.c",
"./wolfcrypt/src/md2.c",
"./wolfcrypt/src/md4.c",
"./wolfcrypt/src/md5.c",
"./wolfcrypt/src/memory.c",
"./wolfcrypt/src/pkcs12.c",
"./wolfcrypt/src/pkcs7.c",
"./wolfcrypt/src/poly1305.c",
"./wolfcrypt/src/pwdbased.c",
"./wolfcrypt/src/rabbit.c",
"./wolfcrypt/src/random.c",
"./wolfcrypt/src/rc2.c",
"./wolfcrypt/src/ripemd.c",
"./wolfcrypt/src/rsa.c",
"./wolfcrypt/src/selftest.c",
"./wolfcrypt/src/sha256.c",
"./wolfcrypt/src/sha3.c",
"./wolfcrypt/src/sha512.c",
"./wolfcrypt/src/sha.c",
"./wolfcrypt/src/signature.c",
"./wolfcrypt/src/sp_arm32.c",
"./wolfcrypt/src/sp_arm64.c",
"./wolfcrypt/src/sp_armthumb.c",
"./wolfcrypt/src/sp_c32.c",
"./wolfcrypt/src/sp_c64.c",
"./wolfcrypt/src/sp_cortexm.c",
"./wolfcrypt/src/sp_dsp32.c",
"./wolfcrypt/src/sp_int.c",
"./wolfcrypt/src/sp_x86_64.c",
"./wolfcrypt/src/srp.c",
"./wolfcrypt/src/tfm.c",
"./wolfcrypt/src/wc_dsp.c",
"./wolfcrypt/src/wc_encrypt.c",
"./wolfcrypt/src/wc_pkcs11.c",
"./wolfcrypt/src/wc_port.c",
"./wolfcrypt/src/wolfcrypt_first.c",
"./wolfcrypt/src/wolfcrypt_last.c",
"./wolfcrypt/src/wolfevent.c",
"./wolfcrypt/src/wolfmath.c",
],
}

37
IDE/Android/README.md Normal file
View File

@@ -0,0 +1,37 @@
# Android wolfSSL Support
Tested on Android v8.1 with WPA Supplicant and KeyStore to replace BoringSSL.
## Files
* `Android.bp`: Template build system file for wolfSSL.
* `user_settings.h`: Template build settings for wolfSSL
## Installation
1) Place the wolfSSL library into `./external/wolfssl`
2) Copy `Android.bp` into `./external/wolfssl`
3) Copy `user_settings.h` into `./external/wolfssl`
4) Add `PRODUCT_PACKAGES += libwolfssl` to your device .mk.
## Typical Android build instruction
```sh
source build/envsetup.sh
lunch [num]
mm -j8
```
## Using wolfSSL in your Application
In your `Android.mk` build file for your application add the following:
```makefile
# Crypto Provider - wolfSSL
LOCAL_CFLAGS += -DWOLFSSL_USER_SETTINGS -Iexternal/wolfssl -Iexternal/wolfssl/wolfssl
LOCAL_SHARED_LIBRARIES += libwolfssl
```
## Support
For questions please email support@wolfssl.com

8
IDE/Android/include.am Normal file
View File

@@ -0,0 +1,8 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST += \
IDE/Android/Android.bp \
IDE/Android/README.md \
IDE/Android/user_settings.h

112
IDE/Android/user_settings.h Normal file
View File

@@ -0,0 +1,112 @@
/* Custom build settings for Android */
#ifndef _WOLF_USER_SETTINGS_H_
#define _WOLF_USER_SETTINGS_H_
#if 0
#define HAVE_FIPS_VERSION 2
#define HAVE_FIPS
#endif
/* WPA Supplicant Support */
#define WOLFSSL_WPAS_SMALL
#define OPENSSL_ALL
#define HAVE_THREAD_LS
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT
#define WC_RSA_BLINDING
#define HAVE_HASHDRBG
#if 1
#define WOLFSSL_TLS13
#define WC_RSA_PSS
#endif
#define HAVE_SESSION_TICKET
#define HAVE_TLS_EXTENSIONS
#define HAVE_SUPPORTED_CURVES
#define HAVE_EXTENDED_MASTER
#define HAVE_ENCRYPT_THEN_MAC
#define WOLFSSL_ENCRYPTED_KEYS
#define HAVE_KEYING_MATERIAL
#define NO_OLD_TLS
#define NO_CHECK_PRIVATE_KEY
/* enable PK callback support for signing operations to key store */
#define HAVE_PK_CALLBACKS
/* crypto callback support is not in FIPS 3389 */
#ifndef HAVE_FIPS
#define WOLF_CRYPTO_CB
#endif
#define KEEP_OUR_CERT
#define KEEP_PEER_CERT
#define WOLFSSL_ALWAYS_VERIFY_CB
#define WOLFSSL_ALWAYS_KEEP_SNI
#define HAVE_EX_DATA
#define HAVE_EXT_CACHE
#define WOLFSSL_EITHER_SIDE
#define WOLFSSL_PUBLIC_MP
#define WOLFSSL_DER_LOAD
#define WOLFSSL_CERT_GEN
#define WOLFSSL_CERT_EXT
#define WOLFSSL_CERT_REQ
#define WOLFSSL_KEY_GEN
#define WC_RSA_NO_PADDING
#define HAVE_FFDHE_2048
#define HAVE_DH_DEFAULT_PARAMS
#ifdef HAVE_FIPS
#define WOLFSSL_VALIDATE_FFC_IMPORT
#define HAVE_FFDHE_Q
#endif
#define WOLFSSL_SHA224
#define WOLFSSL_SHA512
#define WOLFSSL_SHA384
#define HAVE_HKDF
#define HAVE_PKCS8
#define HAVE_ECC
#define TFM_ECC256
#define ECC_SHAMIR
#define HAVE_COMP_KEY
#ifdef HAVE_FIPS
#define HAVE_ECC_CDH
#define WOLFSSL_VALIDATE_ECC_IMPORT
#endif
#define HAVE_AESGCM
#define HAVE_AESCCM
#define WOLFSSL_AES_DIRECT
#define WOLFSSL_AES_COUNTER
#define HAVE_AES_ECB
#define WOLFSSL_CMAC
#define WOLFSSL_BASE64_ENCODE
#define HAVE_CRL
#define NO_DSA
#define NO_RC4
#define NO_HC128
#define NO_RABBIT
#define NO_RC4
#define NO_PSK
#define WOLFSSL_NO_SHAKE256
#define NO_MD4
#define NO_OLD_MD5_NAME
#define NO_OLD_SHA_NAMES
#define NO_OLD_SHA256_NAMES
#define NO_OLD_WC_NAMES
#if 0
#define DEBUG_WOLFSSL
#define WOLFSSL_ANDROID_DEBUG
#endif
#endif /* _WOLF_USER_SETTINGS_H_ */

118
IDE/CRYPTOCELL/README.md Normal file
View File

@@ -0,0 +1,118 @@
# ARM® TrustZone® CryptoCell 310 Port
## Overview
ARM® TrustZone® CryptoCell 310 is a security subsystem which provides root of trust (RoT) and cryptographic services for a device.
You can enable the wolfSSL support for ARM CryptoCell using the `#define WOLFSSL_CRYPTOCELL`, The CryptoCell APIs are distributed as part of the Nordic nRF5 SDKs [here](https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fgroup__cryptocell__api.html) .
## Prerequisites
1. Follow the Nordic website [here](https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK) to download the Nordic nRF5-SDK and software tools.
2. Install the SEGGER Embedded Studio IDE.
3. Run a simple blinky application on your Nordic nRF52840 (PCA10056) development board to confirm that your board functions as expected and the communication between your computer and the board works.
## Usage
You can start with a wolfcrypt SEGGER embedded studio (ses) example project to integrate the wolfSSL source code.
wolfSSL supports a compile-time user configurable options in the `IDE/CRYPTOCELL/user_settings.h` file.
The `IDE/CRYPTOCELL/main.c` example application provides a function to run the selected examples at compile time through the following two #defines in user_settings.h. You can define these macro options to disable the test run.
```
- #undef NO_CRYPT_TEST
- #undef NO_CRYPT_BENCHMARK
```
## Supported features
- SHA-256
- AES CBC
- CryptoCell 310 RNG
- RSA sign/verify and RSA key gen (2048 bit in PKCSv1.5 padding mode)
- RSA encrypt/decrypt
- ECC sign/verify/shared secret
- ECC key import/export and key gen pairs
- Hardware RNG
- RTC for benchmark timing source
Note: All Cryptocell features are not supported. The wolfcrypt RSA API allows import and export of Private/Public keys in DER format. However, this is not possible with key pairs generated with Cryptocell because the importing/exporting Cryptocell keys has not been implemented yet.
## Setup
### Setting up Nordic SDK with wolfSSL
1. Download the wolfSSL source code or a zip file from GitHub and place it under your SDK `InstallFolder/external/` directory. You can also copy or simlink to the source.
```
For example,
$cd ~/nRF5_SDK_15.2.0_9412b96/external
$git clone --depth=1 https://github.com/wolfSSL/wolfssl.git
Or, assuming you have already cloned the wolfSSL source code under ~/wolfssl.
$cd ~/nRF5_SDK_15.2.0_9412b96/external
$ln -s ~/wolfssl wolfssl
```
2. Copy the example project from [here](https://github.com/tmael/nRF5_SDK/tree/master/examples/crypto/nrf_cc310/wolfcrypt) into your `nRF5_SDK_15.2.0_9412b96/examples/crypto/nrf_cc310/` directory.
```
$git clone https://github.com/tmael/nRF5_SDK.git
$cd ~/nRF5_SDK_15.2.0_9412b96/examples/crypto/nrf_cc310
$cp -rf ~/nRF5_SDK/examples/crypto/nrf_cc310/wolfcrypt .
OR
$ln -s ~/nRF5_SDK/examples/crypto/nrf_cc310/wolfcrypt wolfcrypt
```
3. Launch the SEGGER Embedded Studio IDE
4. In the main menu, go to File >Open Solutions to open the example solution. Browse to the location containing the wolfcrypt code `/examples/crypto/nrf_cc310/wolfcrypt/pca10056/blank/ses/wolfcrypt_pca10056.emProject` and choose Open.
## Building and Running
In the main menu, go to Build > Rebuild your project, then load and run your image on your nRF52840 target platform. Review the test results on the console output.
### `wolfcrypt_test()`
wolfcrypt_test() prints a message on the target console similar to the following output:
```
wolfCrypt Test Started
error test passed!
base64 test passed!
asn test passed!
SHA test passed!
SHA-256 test passed!
Hash test passed!
HMAC-SHA test passed!
HMAC-SHA256 test passed!
AES test passed!
RANDOM test passed!
RSA test passed!
ECC test passed!
ECC buffer test passed!
logging test passed!
mutex test passed!
wolfCrypt Test Completed
```
### `benchmark_test()`
benchmark_test() prints a message on the target console similar to the following output.
```
Benchmark Test Started
------------------------------------------------------------------------------
wolfSSL version 3.15.7
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 5 MB took 1.000 seconds, 4.858 MB/s
AES-128-CBC-enc 17 MB took 1.001 seconds, 17.341 MB/s
AES-128-CBC-dec 17 MB took 1.000 seconds, 17.285 MB/s
SHA 425 KB took 1.040 seconds, 408.654 KB/s
SHA-256 26 MB took 1.000 seconds, 25.903 MB/s
HMAC-SHA 425 KB took 1.049 seconds, 405.148 KB/s
HMAC-SHA256 24 MB took 1.000 seconds, 23.877 MB/s
RSA 1024 key gen 2 ops took 1.579 sec, avg 789.500 ms, 1.267 ops/sec
RSA 2048 key gen 1 ops took 9.695 sec, avg 9695.000 ms, 0.103 ops/sec
RSA 2048 public 328 ops took 1.001 sec, avg 3.052 ms, 327.672 ops/sec
RSA 2048 private 4 ops took 1.713 sec, avg 428.250 ms, 2.335 ops/sec
ECC 256 key gen 55 ops took 1.017 sec, avg 18.491 ms, 54.081 ops/sec
ECDHE 256 agree 56 ops took 1.017 sec, avg 18.161 ms, 55.064 ops/sec
ECDSA 256 sign 50 ops took 1.004 sec, avg 20.080 ms, 49.801 ops/sec
ECDSA 256 verify 48 ops took 1.028 sec, avg 21.417 ms, 46.693 ops/sec
Benchmark Test Completed
```
## References
The test results were collected from an nRF52840 reference platform target with the following software and tool chains:
- Nordic nRF52840 development board (PCA10056 1.0.0 2018.49 683529999).
- nRF5_SDK_15.2.0_9412b96
- SEGGER Embedded Studio for ARM, Release 4.12 Build 2018112601.37855 Linux x64Segger J-Link software
- gcc-arm-none-eabi-8-2018-q4-major
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
For more information or questions, please email [support@wolfssl.com](mailto:support@wolfssl.com)

View File

@@ -0,0 +1,8 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST += \
IDE/CRYPTOCELL/README.md \
IDE/CRYPTOCELL/main.c \
IDE/CRYPTOCELL/user_settings.h

65
IDE/CRYPTOCELL/main.c Normal file
View File

@@ -0,0 +1,65 @@
/* main.c
*
* 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/settings.h>
#include <wolfcrypt/test/test.h>
#include <wolfcrypt/benchmark/benchmark.h>
/* wolfCrypt_Init/wolfCrypt_Cleanup to turn CryptoCell hardware on/off */
#include <wolfssl/wolfcrypt/wc_port.h>
/* SEGGER_RTT_Init, you can potential replace it with other serial terminal */
#include "SEGGER_RTT.h"
int main(void)
{
int ret;
SEGGER_RTT_Init();
if ((ret = wolfCrypt_Init()) != 0) {
printf("wolfCrypt_Init failed %d\n", ret);
return -1;
}
#ifndef NO_CRYPT_TEST
printf("\nwolfCrypt Test Started\n");
wolfcrypt_test(NULL);
printf("\nwolfCrypt Test Completed\n");
#endif
#ifndef NO_CRYPT_BENCHMARK
printf("\nBenchmark Test Started\n");
benchmark_test(NULL);
printf("\nBenchmark Test Completed\n");
#endif
if ((ret = wolfCrypt_Cleanup()) != 0) {
printf("wolfCrypt_Cleanup failed %d\n", ret);
return -1;
}
while(1) {
__WFI();
}
return 0;
}

View File

@@ -0,0 +1,593 @@
/* user_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
*/
/* Example Settings for CryptoCell */
#ifndef WOLFSSL_USER_SETTINGS_H
#define WOLFSSL_USER_SETTINGS_H
#ifdef __cplusplus
extern "C" {
#endif
/* ------------------------------------------------------------------------- */
/* CryptoCell */
/* ------------------------------------------------------------------------- */
#if 1
#define WOLFSSL_CRYPTOCELL
#define WOLFSSL_nRF5x_SDK_15_2 /* for benchmark timer */
#define WOLFSSL_CRYPTOCELL_AES /* only CBC mode is supported */
#else
/* run without CryptoCell,
include IDE/GCC-ARM/Source/wolf_main.c for current_time(). */
#endif
#if defined(WOLFSSL_CRYPTOCELL)
/* see SASI_AES_KEY_MAX_SIZE_IN_BYTES in the nRF5 SDK */
#define AES_MAX_KEY_SIZE 128
#endif /* WOLFSSL_CRYPTOCELL*/
/* ------------------------------------------------------------------------- */
/* Platform */
/* ------------------------------------------------------------------------- */
#undef WOLFSSL_GENERAL_ALIGNMENT
#define WOLFSSL_GENERAL_ALIGNMENT 4
#undef SINGLE_THREADED
#define SINGLE_THREADED
#undef WOLFSSL_SMALL_STACK
#define WOLFSSL_SMALL_STACK
#undef WOLFSSL_USER_IO
#define WOLFSSL_USER_IO
/* ------------------------------------------------------------------------- */
/* Math Configuration */
/* ------------------------------------------------------------------------- */
#undef SIZEOF_LONG_LONG
#define SIZEOF_LONG_LONG 8
#undef USE_FAST_MATH
#if 1
#define USE_FAST_MATH
#undef TFM_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
/* Optimizations */
//#define TFM_ARM
#endif
/* Wolf Single Precision Math */
#undef WOLFSSL_SP
#if 0
#define WOLFSSL_SP
#define WOLFSSL_SP_SMALL /* use smaller version of code */
#define WOLFSSL_HAVE_SP_RSA
#define WOLFSSL_HAVE_SP_DH
#define WOLFSSL_HAVE_SP_ECC
#define WOLFSSL_SP_CACHE_RESISTANT
//#define WOLFSSL_SP_MATH /* only SP math - eliminates fast math code */
/* Assembly */
//#define WOLFSSL_SP_ASM /* required if using the ASM versions */
//#define WOLFSSL_SP_ARM_CORTEX_M_ASM
#endif
/* ------------------------------------------------------------------------- */
/* Crypto */
/* ------------------------------------------------------------------------- */
/* RSA */
#undef NO_RSA
#if 1
#ifdef USE_FAST_MATH
/* Maximum math bits (Max RSA key bits * 2) */
#undef FP_MAX_BITS
#define FP_MAX_BITS 4096
#endif
/* half as much memory but twice as slow */
#undef RSA_LOW_MEM
//#define RSA_LOW_MEM
/* Enables blinding mode, to prevent timing attacks */
#if 1
#undef WC_RSA_BLINDING
#define WC_RSA_BLINDING
#else
#undef WC_NO_HARDEN
#define WC_NO_HARDEN
#endif
/* RSA PSS Support */
#if 0
#define WC_RSA_PSS
#endif
#if 0
#define WC_RSA_NO_PADDING
#endif
#else
#define NO_RSA
#endif
/* ECC */
#undef HAVE_ECC
#if 1
#define HAVE_ECC
#include <strings.h>
/* strings.h required for strncasecmp */
/* Manually define enabled curves */
#undef ECC_USER_CURVES
#define ECC_USER_CURVES
#ifdef ECC_USER_CURVES
/* Manual Curve Selection */
//#define HAVE_ECC192
//#define HAVE_ECC224
#undef NO_ECC256
#define HAVE_ECC384
//#define HAVE_ECC521
#endif
/* Fixed point cache (speeds repeated operations against same private key) */
#undef FP_ECC
//#define FP_ECC
#ifdef FP_ECC
/* Bits / Entries */
#undef FP_ENTRIES
#define FP_ENTRIES 2
#undef FP_LUT
#define FP_LUT 4
#endif
/* Optional ECC calculation method */
/* Note: doubles heap usage, but slightly faster */
#undef ECC_SHAMIR
#define ECC_SHAMIR
/* Reduces heap usage, but slower */
#undef ECC_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT
/* Enable cofactor support */
#undef HAVE_ECC_CDH
//#define HAVE_ECC_CDH
/* Validate import */
#undef WOLFSSL_VALIDATE_ECC_IMPORT
//#define WOLFSSL_VALIDATE_ECC_IMPORT
/* Compressed Key Support */
#undef HAVE_COMP_KEY
//#define HAVE_COMP_KEY
/* Use alternate ECC size for ECC math */
#ifdef USE_FAST_MATH
#ifdef NO_RSA
/* Custom fastmath size if not using RSA */
/* MAX = ROUND32(ECC BITS 384) + SIZE_OF_MP_DIGIT(32) */
#undef FP_MAX_BITS
#define FP_MAX_BITS (384 + 32)
#else
#undef ALT_ECC_SIZE
#define ALT_ECC_SIZE
#endif
/* Speedups specific to curve */
#ifndef NO_ECC256
#undef TFM_ECC256
#define TFM_ECC256
#endif
#ifndef HAVE_ECC384
#undef TFM_ECC384
#define TFM_ECC384
#endif
#endif
#endif
/* DH */
#undef NO_DH
#if 0
/* Use table for DH instead of -lm (math) lib dependency */
#if 0
#define WOLFSSL_DH_CONST
#endif
#define HAVE_FFDHE_2048
//#define HAVE_FFDHE_4096
//#define HAVE_FFDHE_6144
//#define HAVE_FFDHE_8192
#else
#define NO_DH
#endif
/* AES */
#undef NO_AES
#if 1
#undef HAVE_AES_CBC
#define HAVE_AES_CBC
/* If you need other than AES-CBC mode, you must undefine WOLFSSL_CRYPTOCELL_AES */
#if !defined(WOLFSSL_CRYPTOCELL_AES)
#undef HAVE_AESGCM
#define HAVE_AESGCM
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
#define GCM_SMALL
#undef WOLFSSL_AES_DIRECT
//#define WOLFSSL_AES_DIRECT
#undef HAVE_AES_ECB
//#define HAVE_AES_ECB
#undef WOLFSSL_AES_COUNTER
//#define WOLFSSL_AES_COUNTER
#undef HAVE_AESCCM
//#define HAVE_AESCCM
#endif
#else
#define NO_AES
#endif
/* DES3 */
#undef NO_DES3
#if 0
#else
#define NO_DES3
#endif
/* ChaCha20 / Poly1305 */
#undef HAVE_CHACHA
#undef HAVE_POLY1305
#if 0
#define HAVE_CHACHA
#define HAVE_POLY1305
/* Needed for Poly1305 */
#undef HAVE_ONE_TIME_AUTH
#define HAVE_ONE_TIME_AUTH
#endif
/* Ed25519 / Curve25519 */
#undef HAVE_CURVE25519
#undef HAVE_ED25519
#if 0
#define HAVE_CURVE25519
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
/* Optionally use small math (less flash usage, but much slower) */
#if 1
#define CURVED25519_SMALL
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Hashing */
/* ------------------------------------------------------------------------- */
/* Sha */
#undef NO_SHA
#if 1
/* 1k smaller, but 25% slower */
//#define USE_SLOW_SHA
#else
#define NO_SHA
#endif
/* Sha256 */
#undef NO_SHA256
#if 1
/* not unrolled - ~2k smaller and ~25% slower */
//#define USE_SLOW_SHA256
/* Sha224 */
#if 0
#define WOLFSSL_SHA224
#endif
#else
#define NO_SHA256
#endif
/* Sha512 */
#undef WOLFSSL_SHA512
#if 0
#define WOLFSSL_SHA512
/* Sha384 */
#undef WOLFSSL_SHA384
#if 0
#define WOLFSSL_SHA384
#endif
/* over twice as small, but 50% slower */
//#define USE_SLOW_SHA512
#endif
/* Sha3 */
#undef WOLFSSL_SHA3
#if 0
#define WOLFSSL_SHA3
#endif
/* MD5 */
#undef NO_MD5
#if 0
#else
#define NO_MD5
#endif
/* HKDF */
#undef HAVE_HKDF
#if 0
#define HAVE_HKDF
#endif
/* CMAC */
#undef WOLFSSL_CMAC
#if 0
#define WOLFSSL_CMAC
#endif
/* ------------------------------------------------------------------------- */
/* Benchmark / Test */
/* ------------------------------------------------------------------------- */
/* Use reduced benchmark / test sizes */
#undef BENCH_EMBEDDED
#define BENCH_EMBEDDED
#undef USE_CERT_BUFFERS_2048
#define USE_CERT_BUFFERS_2048
//#undef USE_CERT_BUFFERS_1024
//#define USE_CERT_BUFFERS_1024
#undef USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_256
/* ------------------------------------------------------------------------- */
/* Debugging */
/* ------------------------------------------------------------------------- */
#undef DEBUG_WOLFSSL
#undef NO_ERROR_STRINGS
#if 0
#define DEBUG_WOLFSSL
#else
#if 0
#define NO_ERROR_STRINGS
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Memory */
/* ------------------------------------------------------------------------- */
/* Override Memory API's */
#if 0
#undef XMALLOC_OVERRIDE
#define XMALLOC_OVERRIDE
/* prototypes for user heap override functions */
/* Note: Realloc only required for normal math */
#include <stddef.h> /* for size_t */
extern void *myMalloc(size_t n, void* heap, int type);
extern void myFree(void *p, void* heap, int type);
extern void *myRealloc(void *p, size_t n, void* heap, int type);
#define XMALLOC(n, h, t) myMalloc(n, h, t)
#define XFREE(p, h, t) myFree(p, h, t)
#define XREALLOC(p, n, h, t) myRealloc(p, n, h, t)
#endif
#if 0
/* Static memory requires fast math */
#define WOLFSSL_STATIC_MEMORY
/* Disable fallback malloc/free */
#define WOLFSSL_NO_MALLOC
#if 1
#define WOLFSSL_MALLOC_CHECK /* trap malloc failure */
#endif
#endif
/* Memory callbacks */
#if 0
#undef USE_WOLFSSL_MEMORY
#define USE_WOLFSSL_MEMORY
/* Use this to measure / print heap usage */
#if 1
#undef WOLFSSL_TRACK_MEMORY
#define WOLFSSL_TRACK_MEMORY
#undef WOLFSSL_DEBUG_MEMORY
#define WOLFSSL_DEBUG_MEMORY
#endif
#else
#ifndef WOLFSSL_STATIC_MEMORY
#define NO_WOLFSSL_MEMORY
/* Otherwise we will use stdlib malloc, free and realloc */
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Port */
/* ------------------------------------------------------------------------- */
/* Override Current Time */
/* Allows custom "custom_time()" function to be used for benchmark */
#define WOLFSSL_USER_CURRTIME
#define WOLFSSL_GMTIME
#define USER_TICKS
#if !defined(WOLFSSL_CRYPTOCELL)
// extern unsigned long my_time(unsigned long* timer);
// #define XTIME my_time
#endif
/* ------------------------------------------------------------------------- */
/* RNG */
/* ------------------------------------------------------------------------- */
#if defined(WOLFSSL_CRYPTOCELL)
// /* Override P-RNG with HW RNG */
#undef CUSTOM_RAND_GENERATE_BLOCK
#define CUSTOM_RAND_GENERATE_BLOCK cc310_random_generate
//#define CUSTOM_RAND_GENERATE_BLOCK nrf_random_generate
//#define WOLFSSL_GENSEED_FORTEST /* for software RNG*/
#else
#define WOLFSSL_GENSEED_FORTEST
#endif
/* ------------------------------------------------------------------------- */
/* Enable Features */
/* ------------------------------------------------------------------------- */
#undef WOLFSSL_TLS13
#if 0
#define WOLFSSL_TLS13
#endif
#undef WOLFSSL_KEY_GEN
#if 1
#define WOLFSSL_KEY_GEN
#endif
/* reduce DH test time */
#define WOLFSSL_OLD_PRIME_CHECK
#undef KEEP_PEER_CERT
//#define KEEP_PEER_CERT
#undef HAVE_COMP_KEY
//#define HAVE_COMP_KEY
#undef HAVE_TLS_EXTENSIONS
#define HAVE_TLS_EXTENSIONS
#undef HAVE_SUPPORTED_CURVES
#define HAVE_SUPPORTED_CURVES
#undef WOLFSSL_BASE64_ENCODE
#define WOLFSSL_BASE64_ENCODE
/* TLS Session Cache */
#if 0
#define SMALL_SESSION_CACHE
#else
#define NO_SESSION_CACHE
#endif
/* ------------------------------------------------------------------------- */
/* Disable Features */
/* ------------------------------------------------------------------------- */
#undef NO_WOLFSSL_SERVER
//#define NO_WOLFSSL_SERVER
#undef NO_WOLFSSL_CLIENT
//#define NO_WOLFSSL_CLIENT
#undef NO_CRYPT_TEST
//#define NO_CRYPT_TEST
#undef NO_CRYPT_BENCHMARK
//#define NO_CRYPT_BENCHMARK
#undef WOLFCRYPT_ONLY
//#define WOLFCRYPT_ONLY
/* In-lining of misc.c functions */
/* If defined, must include wolfcrypt/src/misc.c in build */
/* Slower, but about 1k smaller */
#undef NO_INLINE
//#define NO_INLINE
#undef NO_FILESYSTEM
#define NO_FILESYSTEM
#undef NO_WRITEV
#define NO_WRITEV
#undef NO_MAIN_DRIVER
#define NO_MAIN_DRIVER
#undef NO_DEV_RANDOM
#define NO_DEV_RANDOM
#undef NO_DSA
#define NO_DSA
#undef NO_RC4
#define NO_RC4
#undef NO_OLD_TLS
#define NO_OLD_TLS
#undef NO_HC128
#define NO_HC128
#undef NO_RABBIT
#define NO_RABBIT
#undef NO_PSK
#define NO_PSK
#undef NO_MD4
#define NO_MD4
#undef NO_PWDBASED
#define NO_PWDBASED
#undef NO_CODING
//#define NO_CODING
#undef NO_ASN_TIME
//#define NO_ASN_TIME
#undef NO_CERTS
//#define NO_CERTS
#undef NO_SIG_WRAPPER
//#define NO_SIG_WRAPPER
#ifdef __cplusplus
}
#endif
#endif /* WOLFSSL_USER_SETTINGS_H */

183
IDE/CSBENCH/.cproject Normal file
View File

@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.config.gnu.mentor.nucleus.lib.debug.16169494">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mentor.nucleus.lib.debug.16169494" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/wolfcrypt"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/wolfcrypt/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="wolfssl" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.mentor.embedded.toolchains.core.nucleus.FuseErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="a" artifactName="wolfssl" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="cs-rm -rf" description="" id="cdt.managedbuild.config.gnu.mentor.nucleus.lib.debug.16169494" name="Debug" parent="cdt.managedbuild.config.gnu.mentor.nucleus.lib.debug">
<folderInfo id="cdt.managedbuild.config.gnu.mentor.nucleus.lib.debug.16169494." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.mentor.nucleus.lib.debug.223487397" name="Sourcery CodeBench for Nucleus" superClass="cdt.managedbuild.toolchain.gnu.mentor.nucleus.lib.debug">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.mentor.nucleus.1602489785" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.mentor.nucleus"/>
<builder buildPath="${workspace_loc:/wolfcrypt}/Debug" id="cdt.managedbuild.builder.gnu.mentor.nucleus.1164120304" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CodeSourcery GNU Builder" superClass="cdt.managedbuild.builder.gnu.mentor.nucleus"/>
<tool id="cdt.managedbuild.tool.gnu.mentor.archiver.nucleus.729368558" name="CodeSourcery GNU Archiver" superClass="cdt.managedbuild.tool.gnu.mentor.archiver.nucleus"/>
<tool id="cdt.managedbuild.tool.gnu.mentor.cpp.compiler.nucleus.1374010562" name="CodeSourcery GNU C++ Compiler" superClass="cdt.managedbuild.tool.gnu.mentor.cpp.compiler.nucleus">
<option id="mentor.gnu.cpp.compiler.option.optimization.level.2002648562" name="Optimization Level" superClass="mentor.gnu.cpp.compiler.option.optimization.level" value="mentor.gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
<option id="mentor.gnu.cpp.compiler.option.debugging.level.498021118" name="Debug Level" superClass="mentor.gnu.cpp.compiler.option.debugging.level" value="mentor.gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
<option id="mentor.gnu.cpp.compiler.option.indexer_include.2050335782" name="Include paths for indexer" superClass="mentor.gnu.cpp.compiler.option.indexer_include" valueType="includePath">
<listOptionValue builtIn="false" value="${CFG_INCLUDE}"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/./"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/bsp/realview_eb_ct926ejs/include/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/bsp/realview_eb_ct926ejs/include/bsp/arch/plat-realview_eb/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/arch/arm/tool-csgnu_arm/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/arch/arm/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/arch/arm/tool-csgnu_arm/"/>
</option>
</tool>
<tool id="cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.2014778929" name="CodeSourcery GNU C Compiler" superClass="cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus">
<option defaultValue="mentor.gnu.c.optimization.level.none" id="mentor.gnu.c.compiler.option.optimization.level.398007200" name="Optimization Level" superClass="mentor.gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
<option id="mentor.gnu.c.compiler.option.debugging.level.732537986" name="Debug Level" superClass="mentor.gnu.c.compiler.option.debugging.level" value="mentor.gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="mentor.gnu.c.compiler.option.indexer_include.1166025607" name="Include paths for indexer" superClass="mentor.gnu.c.compiler.option.indexer_include" valueType="includePath">
<listOptionValue builtIn="false" value="${CFG_INCLUDE}"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/./"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/bsp/realview_eb_ct926ejs/include/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/bsp/realview_eb_ct926ejs/include/bsp/arch/plat-realview_eb/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/arch/arm/tool-csgnu_arm/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/arch/arm/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/arch/arm/tool-csgnu_arm/"/>
</option>
<option id="mentor.gnu.c.compiler.option.preprocessor.def.symbols.1143748896" name="Defined symbols (-D)" superClass="mentor.gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<option id="mentor.gnu.c.compiler.option.include.paths.194565509" name="Include paths (-I)" superClass="mentor.gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="../../../"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.input.923848555" superClass="cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.mentor.c.linker.nucleus.1059991805" name="CodeSourcery GNU C Linker" superClass="cdt.managedbuild.tool.gnu.mentor.c.linker.nucleus"/>
<tool id="cdt.managedbuild.tool.gnu.mentor.cpp.linker.nucleus.1339624750" name="CodeSourcery GNU C++ Linker" superClass="cdt.managedbuild.tool.gnu.mentor.cpp.linker.nucleus"/>
<tool id="cdt.managedbuild.tool.gnu.mentor.assembler.nucleus.729188509" name="CodeSourcery GNU Assembler" superClass="cdt.managedbuild.tool.gnu.mentor.assembler.nucleus">
<option id="gnu.both.asm.option.debugging.level.260047724" name="Debug Level" superClass="gnu.both.asm.option.debugging.level" value="gnu.both.asm.debugging.level.max" valueType="enumerated"/>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.376260780" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
<tool id="com.mentor.embedded.toolchains.core.nucleus.exportgen.process.403073591" name="Nucleus Exports Generator" superClass="com.mentor.embedded.toolchains.core.nucleus.exportgen.process"/>
<tool id="com.mentor.embedded.toolchains.core.nucleus.exportgen.application.645196251" name="Nucleus Exports Generator" superClass="com.mentor.embedded.toolchains.core.nucleus.exportgen.application"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="src/src/evp.c|src/src/aes_asm.S|src/benchmark|src/user-crypto|src/src/misc.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings">
<externalSettings containerId="system-project;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
</storageModule>
</cconfiguration>
<cconfiguration id="cdt.managedbuild.config.gnu.mentor.nucleus.lib.release.1927475508">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mentor.nucleus.lib.release.1927475508" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/wolfcrypt"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/wolfcrypt/Release"/>
<entry flags="RESOLVED" kind="libraryFile" name="wolfssl" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.mentor.embedded.toolchains.core.nucleus.FuseErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="a" artifactName="wolfssl" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="cs-rm -rf" description="" id="cdt.managedbuild.config.gnu.mentor.nucleus.lib.release.1927475508" name="Release" parent="cdt.managedbuild.config.gnu.mentor.nucleus.lib.release">
<folderInfo id="cdt.managedbuild.config.gnu.mentor.nucleus.lib.release.1927475508." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.mentor.nucleus.lib.release.215643800" name="Sourcery CodeBench for Nucleus" superClass="cdt.managedbuild.toolchain.gnu.mentor.nucleus.lib.release">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.mentor.nucleus.1262083747" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.mentor.nucleus"/>
<builder buildPath="${workspace_loc:/wolfcrypt}/Release" id="cdt.managedbuild.builder.gnu.mentor.nucleus.656729475" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CodeSourcery GNU Builder" superClass="cdt.managedbuild.builder.gnu.mentor.nucleus"/>
<tool id="cdt.managedbuild.tool.gnu.mentor.archiver.nucleus.1642691673" name="CodeSourcery GNU Archiver" superClass="cdt.managedbuild.tool.gnu.mentor.archiver.nucleus"/>
<tool id="cdt.managedbuild.tool.gnu.mentor.cpp.compiler.nucleus.53089999" name="CodeSourcery GNU C++ Compiler" superClass="cdt.managedbuild.tool.gnu.mentor.cpp.compiler.nucleus">
<option id="mentor.gnu.cpp.compiler.option.optimization.level.1972432162" name="Optimization Level" superClass="mentor.gnu.cpp.compiler.option.optimization.level" value="mentor.gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
<option id="mentor.gnu.cpp.compiler.option.debugging.level.1063240694" name="Debug Level" superClass="mentor.gnu.cpp.compiler.option.debugging.level"/>
<option id="mentor.gnu.cpp.compiler.option.indexer_include.482283905" name="Include paths for indexer" superClass="mentor.gnu.cpp.compiler.option.indexer_include" valueType="includePath">
<listOptionValue builtIn="false" value="${CFG_INCLUDE}"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/./"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/bsp/realview_eb_ct926ejs/include/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/bsp/realview_eb_ct926ejs/include/bsp/arch/plat-realview_eb/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/arch/arm/tool-csgnu_arm/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/arch/arm/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/arch/arm/tool-csgnu_arm/"/>
</option>
</tool>
<tool id="cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.768508310" name="CodeSourcery GNU C Compiler" superClass="cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus">
<option defaultValue="mentor.gnu.c.optimization.level.most" id="mentor.gnu.c.compiler.option.optimization.level.1172306433" name="Optimization Level" superClass="mentor.gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
<option id="mentor.gnu.c.compiler.option.debugging.level.1416772866" name="Debug Level" superClass="mentor.gnu.c.compiler.option.debugging.level"/>
<option id="mentor.gnu.c.compiler.option.indexer_include.190263447" name="Include paths for indexer" superClass="mentor.gnu.c.compiler.option.indexer_include" valueType="includePath">
<listOptionValue builtIn="false" value="${CFG_INCLUDE}"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/./"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/bsp/realview_eb_ct926ejs/include/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/bsp/realview_eb_ct926ejs/include/bsp/arch/plat-realview_eb/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/arch/arm/tool-csgnu_arm/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/arch/arm/"/>
<listOptionValue builtIn="false" value="${SYSTEM_HOME}/os/include/arch/arm/tool-csgnu_arm/"/>
</option>
<option id="mentor.gnu.c.compiler.option.include.paths.378624521" name="Include paths (-I)" superClass="mentor.gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="../../../"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
</option>
<option id="mentor.gnu.c.compiler.option.preprocessor.def.symbols.377672412" name="Defined symbols (-D)" superClass="mentor.gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.input.390280819" superClass="cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.mentor.c.linker.nucleus.1383453309" name="CodeSourcery GNU C Linker" superClass="cdt.managedbuild.tool.gnu.mentor.c.linker.nucleus"/>
<tool id="cdt.managedbuild.tool.gnu.mentor.cpp.linker.nucleus.543421555" name="CodeSourcery GNU C++ Linker" superClass="cdt.managedbuild.tool.gnu.mentor.cpp.linker.nucleus"/>
<tool id="cdt.managedbuild.tool.gnu.mentor.assembler.nucleus.115889274" name="CodeSourcery GNU Assembler" superClass="cdt.managedbuild.tool.gnu.mentor.assembler.nucleus">
<option id="gnu.both.asm.option.debugging.level.886431226" name="Debug Level" superClass="gnu.both.asm.option.debugging.level" value="gnu.both.asm.debugging.level.none" valueType="enumerated"/>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.419671347" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
<tool id="com.mentor.embedded.toolchains.core.nucleus.exportgen.process.278067994" name="Nucleus Exports Generator" superClass="com.mentor.embedded.toolchains.core.nucleus.exportgen.process"/>
<tool id="com.mentor.embedded.toolchains.core.nucleus.exportgen.application.1699281427" name="Nucleus Exports Generator" superClass="com.mentor.embedded.toolchains.core.nucleus.exportgen.application"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="src/src/evp.c|src/src/aes_asm.S|src/benchmark|src/user-crypto|src/src/misc.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings">
<externalSettings containerId="system-project;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
</storageModule>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="wolfcrypt.cdt.managedbuild.target.gnu.mentor.nucleus.lib.1763261605" name="Static Library" projectType="cdt.managedbuild.target.gnu.mentor.nucleus.lib"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mentor.nucleus.lib.release.1927475508;cdt.managedbuild.config.gnu.mentor.nucleus.lib.release.1927475508.;cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.768508310;cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.input.390280819">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.mentor.embedded.toolchains.core.nucleus.GCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mentor.nucleus.lib.debug.16169494;cdt.managedbuild.config.gnu.mentor.nucleus.lib.debug.16169494.;cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.2014778929;cdt.managedbuild.tool.gnu.mentor.c.compiler.nucleus.input.923848555">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.mentor.embedded.toolchains.core.nucleus.GCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="com.mentor.embedded">
<project systemProject="system-project" version="2017.02.1"/>
</storageModule>
<storageModule moduleId="refreshScope"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>

33
IDE/CSBENCH/.project Normal file
View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolfcrypt</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>src</name>
<type>2</type>
<locationURI>PARENT-2-PROJECT_LOC../wolfcrypt</locationURI>
</link>
</linkedResources>
</projectDescription>

8
IDE/CSBENCH/include.am Normal file
View File

@@ -0,0 +1,8 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST+= IDE/CSBENCH/.project
EXTRA_DIST+= IDE/CSBENCH/.cproject
EXTRA_DIST+= IDE/CSBENCH/user_settings.h

View File

@@ -0,0 +1,22 @@
#ifndef WOLFSSL_CSBENCH_H
#define WOLFSSL_CSBENCH_H
/* wolfSSL settings */
#define WOLFCRYPT_ONLY
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#define WC_RSA_BLINDING
#define SINGLE_THREADED
#define HAVE_AESGCM
#define NO_ASN_TIME
#define HAVE_ECC
#define ECC_TIMING_RESISTANT
#define WOLFSSL_NUCLEUS
/* wolfSSH settings */
#define WOLFSSH_SFTP
//#define DEBUG_WOLFSSH
#endif

259
IDE/ECLIPSE/DEOS/README.md Normal file
View File

@@ -0,0 +1,259 @@
# Deos Port
## Overview
You can enable the wolfSSL support for Deos RTOS available
[here](https://www.ddci.com/products_deos_do_178c_arinc_653/) using
the `#define WOLFSSL_DEOS`. Deos is a time & space partitioned,
multi-core enabled, DO-178C DAL A certifiable RTOS.
## Usage
You can start with your OpenArbor IDE-based example project for Deos
with the network stack (lwip) to integrate wolfSSL source code.
wolfSSL supports a compile-time user configurable options in the
`IDE/ECLIPSE/DEOS/user_settings.h` file.
### Importing the project
In this section you will import a pre-configured example project.
Note: To work wolfssl directory must not be under the workspace directory.
1. Launch the OpenArbor IDE as an administrator
2. In the Workspace Launcher dialog, in the Workspace field, enter
your workspace
3. Right-click in the Project Explorer view and select Import
4. In the Import dialog, select General > Existing Projects into
Workspace, then click Next.
5. In the Import Projects dialog, select `Select root directory` and
browse to `IDE/ECLIPSE/DEOS/deos_wolfssl` and select the wolfssl
project
6. In the Import Projects dialog, click Finish
#### Dependencies
* ansi
* gnu-language
* deos-time
### Setting up a Deos project with wolfSSL
The `tls_wolfssl.c` example application provides a simple function to
run the selected examples at compile time through the following four
`#defines` in `user_settings.h`. You can undefine any of these macro
options to run a test.
```
#undef NO_CRYPT_TEST
#undef NO_CRYPT_BENCHMARK
#undef NO_WOLFSSL_CLIENT
#undef NO_WOLFSSL_SERVER
```
1. Launch the OpenArbor IDE
2. Create a DDC-I Deos example project. In the main menu, go to File >
DDC-I Deos example project > socket > udp-vs-tcp
3. Customize your config/udp-vs-tcp.pd.xml with the following changes:
```
<processTemplate
mutexQuota = "5"
>
<logicalMemoryPools>
pagesNeeded = "500"
></pool>
</logicalMemoryPools>
<threadTemplate
stackSizeInPages = "20"
></threadTemplate>
<mutexTemplates>
<mutexTemplate
name = "protectWolfSSLTemp"
lockTimeInUsec = "40"
priority = "fastest"
></mutexTemplate>
</mutexTemplates>
</processTemplate>
```
Depending on your configuration, wolfSSL uses upto four mutexes. You
also need to configure enough memory for the stack of each threads and
the process logical memory pool.
4. Right click on the `udp-vs-tcp` project, select properties and add
the following macros in the DDC-I Options > C Compile >
Preprocessor
* WOLFSSL_USER_SETTINGS
5. Add the following directory paths in the DDC-I Options > C Compile >
Directories and in the DDC-I Options > C++ Compile > Directories
* $(PROJECT_DIR.wolfssl)/../../../..
* $(PROJECT_DIR.wolfssl)/..
* $(PROJECT_DIR.printx)/code
6. Add the following library dependencies in the
DDC-I Options > Deos > Dependencies
* math
* ansi
* deos-time
For benchmark and test code:
* printx - You must add printx into your workspace, File >DDC-I
Deos example project > training > printx
7. Edit $(PROJECT_DIR)/wolfsslPort/IDE/ECLIPSE/DEOS/user_setting.h to
customize your configuration. For example, you can undef or define
these tests.
* `#undef NO_CRYPT_TEST`
* `#undef NO_CRYPT_BENCHMARK`
* `#undef NO_WOLFSSL_CLIENT`
* `#undef NO_WOLFSSL_SERVER`
8. Edit your application source file where main() thread is defined
and add the following:
* #include "printx.h"
* #include "tls_wolfssl.h"
* and a call to `wolfsslRunTests()`
Here's an example:
```
#include <deos.h>
#include <printx.h>
#include <tls_wolfssl.h>
#include <user_settings.h>
int main(void)
{
initPrintx("");
printf("TLS wolfssl example!\n");
(void) waitUntilNextPeriod();
wolfsslRunTests();
deleteThread(currentThreadHandle());
}
```
9. Review `$(PROJECT_DIR)/udp-vs-tcp/mailbox-transport.config`
configuration.
```
transportConfigurationId
2 # Client thread quota - for client and server TCP
2 # Client connection quota - one for client and one for server
0 # Server startup quota
0 # Server connection quota
transportMemoryObject # Name of memory object used for managing connections
/
connectionId1 # TCP client connection
Network # Server process name
defaultMailbox # Server connection request mailbox name
0 # Server connection mailbox queue size (unused by Network process)
userServiceThread # Server thread template name
* # Error timeout
1 # Client connection mailbox queue size
/
connectionId2 # TCP connection
Network # Server process name
defaultMailbox # Server connection request mailbox name
0 # Server connection mailbox queue size (unused by Network process)
userServiceThread # Server thread template name
* # Error timeout
1 # Client connection mailbox queue size
/
```
#### Building and Running
1. Build your project, then load and run your image on a target
platform. Review the test results on the console output.
### `wolfcrypt_test()`
`wolfcrypt_test()` prints a message on similar to the following:
```
error test passed!
base64 test passed!
asn test passed!
...
```
This example doesn't show the whole output.
### `benchmark_test()`
`benchmark_test()` prints a message on the similar to the following:
```
------------------------------------------------------------------------------
wolfSSL version 4.6.0
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 2 MB took 1.000 seconds, 2.124 MB/s
AES-128-CBC-enc 5 MB took 1.000 seconds, 5.127 MB/s
AES-128-CBC-dec 5 MB took 1.000 seconds, 4.907 MB/s
AES-192-CBC-enc 5 MB took 1.000 seconds, 4.736 MB/s
AES-192-CBC-dec 5 MB took 1.000 seconds, 4.761 MB/s
...
```
This example doesn't show the whole output.
### `wolfssl_client_test()`
You can modify the `TCP_SERVER_IP_ADDR` and `TCP_SERVER_PORT` macros
in the `tls_wolfssl.c` file to configure the host address and
port. You will also need to define the server certificate. The example
client uses the GET request to get a web resource from the server at
https://google.com.
### `wolfssl_server_test()`
You can modify the `TLS_SERVER_PORT` in the `tls_wolfssl.c` file to
configure the port number to listen on a local-host. Once you start
the TLS server and `Listening for client connection` displays on the
serial console, the server is ready to accept client connections.
You can connect to the server using the wolfssl TLS client example
from your Linux or Windows host as follows:
```
$ ./examples/client/client.exe -h TLS_SERVER_IP_ADDRESS
The client outputs messages similar to the following:
SSL version is TLSv1.2
SSL cipher suite is TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
SSL curve name is SECP256R1
I hear ya fa shizzle!
```
## References
The following software and tool chains were used for testing:
- OpenArbor 7.0.0
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
For more information or questions, please email
[support@wolfssl.com](mailto:support@wolfssl.com)

View File

@@ -0,0 +1,47 @@
/* deos_malloc.c
*
* 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/settings.h>
#include <wolfssl/wolfcrypt/types.h>
#include <deos.h>
void free_deos(void *ptr) {
free(ptr);
return;
}
void *realloc_deos(void *ptr, size_t size) {
void *newptr;
if (size == 0)
return ptr;
newptr = malloc_deos(size);
if (ptr != NULL && newptr != NULL) {
XMEMCPY((char *) newptr, (const char *) ptr, size);
free_deos(ptr);
}
return newptr;
}
void *malloc_deos(size_t size) {
return malloc(size);
}

View File

@@ -0,0 +1,344 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="org.eclipse.cdt.core.default.config.472844465">
<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="org.eclipse.cdt.core.default.config.472844465" moduleId="org.eclipse.cdt.core.settings" name="Configuration">
<externalSettings/>
<extensions/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.core.pathentry">
<pathentry base-path="C:/DDC-I/desk/ppc/include" include="./" kind="inc" path="" system="true"/>
<pathentry base-path="C:/DDC-I/desk/include" include="./" kind="inc" path="" system="true"/>
<pathentry base-path="C:/" include="./" kind="inc" path="" system="true"/>
<pathentry kind="mac" name="DIAGNOSTIC" path="" value=""/>
<pathentry kind="mac" name="WOLFSSL_USER_SETTINGS" path="" value=""/>
<pathentry kind="mac" name="__OpenArbor_editor" path="" value=""/>
<pathentry kind="mac" name="__DBL_MIN_EXP__" path="" value="(-1021)"/>
<pathentry kind="mac" name="__FLT32X_MAX_EXP__" path="" value="1024"/>
<pathentry kind="mac" name="__builtin_vsx_xvmsubmsp" path="" value="__builtin_vsx_xvmsubsp"/>
<pathentry kind="mac" name="__UINT_LEAST16_MAX__" path="" value="0xffff"/>
<pathentry kind="mac" name="__ATOMIC_ACQUIRE" path="" value="2"/>
<pathentry kind="mac" name="__FLT_MIN__" path="" value="1.1754943508222875e-38F"/>
<pathentry kind="mac" name="__GCC_IEC_559_COMPLEX" path="" value="2"/>
<pathentry kind="mac" name="__UINT_LEAST8_TYPE__" path="" value="unsigned char"/>
<pathentry kind="mac" name="__INTMAX_C(c)" path="" value="c ## LL"/>
<pathentry kind="mac" name="__CHAR_BIT__" path="" value="8"/>
<pathentry kind="mac" name="__UINT8_MAX__" path="" value="0xff"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmaddadp" path="" value="__builtin_vsx_xvnmadddp"/>
<pathentry kind="mac" name="__WINT_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__FLT32_MIN_EXP__" path="" value="(-125)"/>
<pathentry kind="mac" name="__builtin_vsx_xxlnor" path="" value="__builtin_vec_nor"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmsubmdp" path="" value="__builtin_vsx_xvnmsubdp"/>
<pathentry kind="mac" name="__ORDER_LITTLE_ENDIAN__" path="" value="1234"/>
<pathentry kind="mac" name="__SIZE_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__WCHAR_MAX__" path="" value="0x7fffffffL"/>
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1" path="" value="1"/>
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2" path="" value="1"/>
<pathentry kind="mac" name="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4" path="" value="1"/>
<pathentry kind="mac" name="__DBL_DENORM_MIN__" path="" value="((double)4.9406564584124654e-324L)"/>
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__GCC_IEC_559" path="" value="2"/>
<pathentry kind="mac" name="__FLT32X_DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__FLT_EVAL_METHOD__" path="" value="0"/>
<pathentry kind="mac" name="__unix__" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR32_T_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="pixel" path="" value="pixel"/>
<pathentry kind="mac" name="bool" path="" value="bool"/>
<pathentry kind="mac" name="__UINT_FAST64_MAX__" path="" value="0xffffffffffffffffULL"/>
<pathentry kind="mac" name="__SIG_ATOMIC_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__DBL_MIN_10_EXP__" path="" value="(-307)"/>
<pathentry kind="mac" name="__FINITE_MATH_ONLY__" path="" value="0"/>
<pathentry kind="mac" name="__GNUC_PATCHLEVEL__" path="" value="0"/>
<pathentry kind="mac" name="__FLT32_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmaddasp" path="" value="__builtin_vsx_xvnmaddsp"/>
<pathentry kind="mac" name="__UINT_FAST8_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__has_include(STR)" path="" value="__has_include__(STR)"/>
<pathentry kind="mac" name="__DEC64_MAX_EXP__" path="" value="385"/>
<pathentry kind="mac" name="__INT8_C(c)" path="" value="c"/>
<pathentry kind="mac" name="__INT_LEAST8_WIDTH__" path="" value="8"/>
<pathentry kind="mac" name="__UINT_LEAST64_MAX__" path="" value="0xffffffffffffffffULL"/>
<pathentry kind="mac" name="__SHRT_MAX__" path="" value="0x7fff"/>
<pathentry kind="mac" name="__LDBL_MAX__" path="" value="1.7976931348623157e+308L"/>
<pathentry kind="mac" name="__UINT_LEAST8_MAX__" path="" value="0xff"/>
<pathentry kind="mac" name="__GCC_ATOMIC_BOOL_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="_ARCH_PPC" path="" value="1"/>
<pathentry kind="mac" name="__UINTMAX_TYPE__" path="" value="long long unsigned int"/>
<pathentry kind="mac" name="__DEC32_EPSILON__" path="" value="1E-6DF"/>
<pathentry kind="mac" name="__FLT_EVAL_METHOD_TS_18661_3__" path="" value="0"/>
<pathentry kind="mac" name="__CHAR_UNSIGNED__" path="" value="1"/>
<pathentry kind="mac" name="__UINT32_MAX__" path="" value="0xffffffffUL"/>
<pathentry kind="mac" name="__LDBL_MAX_EXP__" path="" value="1024"/>
<pathentry kind="mac" name="__WINT_MIN__" path="" value="0U"/>
<pathentry kind="mac" name="__builtin_vsx_xvmaddmdp" path="" value="__builtin_vsx_xvmadddp"/>
<pathentry kind="mac" name="__builtin_vsx_vperm" path="" value="__builtin_vec_perm"/>
<pathentry kind="mac" name="__INT_LEAST16_WIDTH__" path="" value="16"/>
<pathentry kind="mac" name="__SCHAR_MAX__" path="" value="0x7f"/>
<pathentry kind="mac" name="__WCHAR_MIN__" path="" value="(-__WCHAR_MAX__ - 1)"/>
<pathentry kind="mac" name="vector" path="" value="vector"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmsubmsp" path="" value="__builtin_vsx_xvnmsubsp"/>
<pathentry kind="mac" name="__INT64_C(c)" path="" value="c ## LL"/>
<pathentry kind="mac" name="__DBL_DIG__" path="" value="15"/>
<pathentry kind="mac" name="__GCC_ATOMIC_POINTER_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__SIZEOF_INT__" path="" value="4"/>
<pathentry kind="mac" name="__SIZEOF_POINTER__" path="" value="4"/>
<pathentry kind="mac" name="__USER_LABEL_PREFIX__" path="" value=""/>
<pathentry kind="mac" name="__STDC_HOSTED__" path="" value="1"/>
<pathentry kind="mac" name="__LDBL_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xvmaddmsp" path="" value="__builtin_vsx_xvmaddsp"/>
<pathentry kind="mac" name="__FLT32_DIG__" path="" value="6"/>
<pathentry kind="mac" name="__FLT_EPSILON__" path="" value="1.1920928955078125e-7F"/>
<pathentry kind="mac" name="__SHRT_WIDTH__" path="" value="16"/>
<pathentry kind="mac" name="_CALL_SYSV" path="" value="1"/>
<pathentry kind="mac" name="__LDBL_MIN__" path="" value="2.2250738585072014e-308L"/>
<pathentry kind="mac" name="__STDC_UTF_16__" path="" value="1"/>
<pathentry kind="mac" name="__DEC32_MAX__" path="" value="9.999999E96DF"/>
<pathentry kind="mac" name="__FLT32X_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__INT32_MAX__" path="" value="0x7fffffffL"/>
<pathentry kind="mac" name="__INT_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__SIZEOF_LONG__" path="" value="4"/>
<pathentry kind="mac" name="__UINT16_C(c)" path="" value="c"/>
<pathentry kind="mac" name="__PTRDIFF_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__FLT64_EPSILON__" path="" value="2.2204460492503131e-16F64"/>
<pathentry kind="mac" name="__INTMAX_WIDTH__" path="" value="64"/>
<pathentry kind="mac" name="__has_include_next(STR)" path="" value="__has_include_next__(STR)"/>
<pathentry kind="mac" name="__LDBL_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_MANT_DIG__" path="" value="53"/>
<pathentry kind="mac" name="__GNUC__" path="" value="7"/>
<pathentry kind="mac" name="__FLT_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__SIZEOF_LONG_DOUBLE__" path="" value="8"/>
<pathentry kind="mac" name="__BIGGEST_ALIGNMENT__" path="" value="16"/>
<pathentry kind="mac" name="__FLT64_MAX_10_EXP__" path="" value="308"/>
<pathentry kind="mac" name="__DBL_MAX__" path="" value="((double)1.7976931348623157e+308L)"/>
<pathentry kind="mac" name="__INT_FAST32_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__DBL_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmaddmdp" path="" value="__builtin_vsx_xvnmadddp"/>
<pathentry kind="mac" name="__DEC32_MIN_EXP__" path="" value="(-94)"/>
<pathentry kind="mac" name="__builtin_vsx_xxlandc" path="" value="__builtin_vec_andc"/>
<pathentry kind="mac" name="__INTPTR_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__FLT32X_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__INT_FAST16_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__LDBL_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__DEC128_MAX__" path="" value="9.999999999999999999999999999999999E6144DL"/>
<pathentry kind="mac" name="__INT_LEAST32_MAX__" path="" value="0x7fffffffL"/>
<pathentry kind="mac" name="__DEC32_MIN__" path="" value="1E-95DF"/>
<pathentry kind="mac" name="__DBL_MAX_EXP__" path="" value="1024"/>
<pathentry kind="mac" name="__WCHAR_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__FLT32_MAX__" path="" value="3.4028234663852886e+38F32"/>
<pathentry kind="mac" name="__DEC128_EPSILON__" path="" value="1E-33DL"/>
<pathentry kind="mac" name="__PTRDIFF_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__FLT32_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__LONG_LONG_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__SIZEOF_SIZE_T__" path="" value="4"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmaddmsp" path="" value="__builtin_vsx_xvnmaddsp"/>
<pathentry kind="mac" name="__PPC__" path="" value="1"/>
<pathentry kind="mac" name="__SIZEOF_WINT_T__" path="" value="4"/>
<pathentry kind="mac" name="__LONG_LONG_WIDTH__" path="" value="64"/>
<pathentry kind="mac" name="__FLT32_MAX_EXP__" path="" value="128"/>
<pathentry kind="mac" name="__GXX_ABI_VERSION" path="" value="1011"/>
<pathentry kind="mac" name="__FLT_MIN_EXP__" path="" value="(-125)"/>
<pathentry kind="mac" name="__INT_FAST64_TYPE__" path="" value="long long int"/>
<pathentry kind="mac" name="__FP_FAST_FMAF" path="" value="1"/>
<pathentry kind="mac" name="__FP_FAST_FMAL" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_DENORM_MIN__" path="" value="4.9406564584124654e-324F64"/>
<pathentry kind="mac" name="__DBL_MIN__" path="" value="((double)2.2250738585072014e-308L)"/>
<pathentry kind="mac" name="__FLT32X_EPSILON__" path="" value="2.2204460492503131e-16F32x"/>
<pathentry kind="mac" name="__FLT64_MIN_EXP__" path="" value="(-1021)"/>
<pathentry kind="mac" name="__FLT64_MIN_10_EXP__" path="" value="(-307)"/>
<pathentry kind="mac" name="__DEC128_MIN__" path="" value="1E-6143DL"/>
<pathentry kind="mac" name="__REGISTER_PREFIX__" path="" value=""/>
<pathentry kind="mac" name="__UINT16_MAX__" path="" value="0xffff"/>
<pathentry kind="mac" name="__DBL_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xxland" path="" value="__builtin_vec_and"/>
<pathentry kind="mac" name="__FLT32_MIN__" path="" value="1.1754943508222875e-38F32"/>
<pathentry kind="mac" name="__UINT8_TYPE__" path="" value="unsigned char"/>
<pathentry kind="mac" name="__NO_INLINE__" path="" value="1"/>
<pathentry kind="mac" name="__FLT_MANT_DIG__" path="" value="24"/>
<pathentry kind="mac" name="__LDBL_DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__VERSION__" path="" value="&quot;7.3.0&quot;"/>
<pathentry kind="mac" name="__UINT64_C(c)" path="" value="c ## ULL"/>
<pathentry kind="mac" name="__BIG_ENDIAN__" path="" value="1"/>
<pathentry kind="mac" name="__GCC_ATOMIC_INT_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__pixel" path="" value="__attribute__((altivec(pixel__))) unsigned short"/>
<pathentry kind="mac" name="__FLT32_MANT_DIG__" path="" value="24"/>
<pathentry kind="mac" name="__FLOAT_WORD_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
<pathentry kind="mac" name="__SCHAR_WIDTH__" path="" value="8"/>
<pathentry kind="mac" name="__INT32_C(c)" path="" value="c ## L"/>
<pathentry kind="mac" name="__DEC64_EPSILON__" path="" value="1E-15DD"/>
<pathentry kind="mac" name="__ORDER_PDP_ENDIAN__" path="" value="3412"/>
<pathentry kind="mac" name="__DEC128_MIN_EXP__" path="" value="(-6142)"/>
<pathentry kind="mac" name="__FLT32_MAX_10_EXP__" path="" value="38"/>
<pathentry kind="mac" name="__INT_FAST32_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__UINT_LEAST16_TYPE__" path="" value="short unsigned int"/>
<pathentry kind="mac" name="unix" path="" value="1"/>
<pathentry kind="mac" name="__INT16_MAX__" path="" value="0x7fff"/>
<pathentry kind="mac" name="__SIZE_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__UINT64_MAX__" path="" value="0xffffffffffffffffULL"/>
<pathentry kind="mac" name="__INT8_TYPE__" path="" value="signed char"/>
<pathentry kind="mac" name="__ELF__" path="" value="1"/>
<pathentry kind="mac" name="__HAVE_BSWAP__" path="" value="1"/>
<pathentry kind="mac" name="__FLT_RADIX__" path="" value="2"/>
<pathentry kind="mac" name="__INT_LEAST16_TYPE__" path="" value="short int"/>
<pathentry kind="mac" name="__LDBL_EPSILON__" path="" value="2.2204460492503131e-16L"/>
<pathentry kind="mac" name="__UINTMAX_C(c)" path="" value="c ## ULL"/>
<pathentry kind="mac" name="__SIG_ATOMIC_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__GCC_ATOMIC_WCHAR_T_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__SIZEOF_PTRDIFF_T__" path="" value="4"/>
<pathentry kind="mac" name="__FLT32X_MANT_DIG__" path="" value="53"/>
<pathentry kind="mac" name="__FLT32X_MIN_EXP__" path="" value="(-1021)"/>
<pathentry kind="mac" name="__DEC32_SUBNORMAL_MIN__" path="" value="0.000001E-95DF"/>
<pathentry kind="mac" name="__INT_FAST16_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__vector" path="" value="__attribute__((altivec(vector__)))"/>
<pathentry kind="mac" name="__FLT64_DIG__" path="" value="15"/>
<pathentry kind="mac" name="__UINT_FAST32_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__UINT_LEAST64_TYPE__" path="" value="long long unsigned int"/>
<pathentry kind="mac" name="__builtin_vsx_xvmsubadp" path="" value="__builtin_vsx_xvmsubdp"/>
<pathentry kind="mac" name="__builtin_vsx_xxsel" path="" value="__builtin_vec_sel"/>
<pathentry kind="mac" name="__FLT_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__bool" path="" value="__attribute__((altivec(bool__))) unsigned"/>
<pathentry kind="mac" name="__FLT_MAX_10_EXP__" path="" value="38"/>
<pathentry kind="mac" name="__LONG_MAX__" path="" value="0x7fffffffL"/>
<pathentry kind="mac" name="__DEC128_SUBNORMAL_MIN__" path="" value="0.000000000000000000000000000000001E-6143DL"/>
<pathentry kind="mac" name="__FLT_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__unix" path="" value="1"/>
<pathentry kind="mac" name="__UINT_FAST16_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__DEC64_MAX__" path="" value="9.999999999999999E384DD"/>
<pathentry kind="mac" name="__INT_FAST32_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__CHAR16_TYPE__" path="" value="short unsigned int"/>
<pathentry kind="mac" name="__PRAGMA_REDEFINE_EXTNAME" path="" value="1"/>
<pathentry kind="mac" name="__SIZE_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__INT_LEAST16_MAX__" path="" value="0x7fff"/>
<pathentry kind="mac" name="__DEC64_MANT_DIG__" path="" value="16"/>
<pathentry kind="mac" name="__INT64_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__UINT_LEAST32_MAX__" path="" value="0xffffffffUL"/>
<pathentry kind="mac" name="__FLT32_DENORM_MIN__" path="" value="1.4012984643248171e-45F32"/>
<pathentry kind="mac" name="__GCC_ATOMIC_LONG_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__SIG_ATOMIC_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__INT_LEAST64_TYPE__" path="" value="long long int"/>
<pathentry kind="mac" name="__INT16_TYPE__" path="" value="short int"/>
<pathentry kind="mac" name="__INT_LEAST8_TYPE__" path="" value="signed char"/>
<pathentry kind="mac" name="__STDC_VERSION__" path="" value="201112L"/>
<pathentry kind="mac" name="__DEC32_MAX_EXP__" path="" value="97"/>
<pathentry kind="mac" name="_BIG_ENDIAN" path="" value="1"/>
<pathentry kind="mac" name="__INT_FAST8_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__INTPTR_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__FLT64_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__PPC" path="" value="1"/>
<pathentry kind="mac" name="__FLT32_MIN_10_EXP__" path="" value="(-37)"/>
<pathentry kind="mac" name="__FLT32X_DIG__" path="" value="15"/>
<pathentry kind="mac" name="__builtin_vsx_xvmsubasp" path="" value="__builtin_vsx_xvmsubsp"/>
<pathentry kind="mac" name="__LDBL_MANT_DIG__" path="" value="53"/>
<pathentry kind="mac" name="__svr4__" path="" value="1"/>
<pathentry kind="mac" name="__DBL_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__SIG_ATOMIC_MIN__" path="" value="(-__SIG_ATOMIC_MAX__ - 1)"/>
<pathentry kind="mac" name="__INTPTR_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__UINT16_TYPE__" path="" value="short unsigned int"/>
<pathentry kind="mac" name="__WCHAR_TYPE__" path="" value="long int"/>
<pathentry kind="mac" name="__SIZEOF_FLOAT__" path="" value="4"/>
<pathentry kind="mac" name="__UINTPTR_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__INT_FAST64_WIDTH__" path="" value="64"/>
<pathentry kind="mac" name="__DEC64_MIN_EXP__" path="" value="(-382)"/>
<pathentry kind="mac" name="__FLT32_DECIMAL_DIG__" path="" value="9"/>
<pathentry kind="mac" name="__INT_FAST64_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__GCC_ATOMIC_TEST_AND_SET_TRUEVAL" path="" value="1"/>
<pathentry kind="mac" name="__FLT_DIG__" path="" value="6"/>
<pathentry kind="mac" name="__FLT32_HAS_INFINITY__" path="" value="1"/>
<pathentry kind="mac" name="__UINT_FAST64_TYPE__" path="" value="long long unsigned int"/>
<pathentry kind="mac" name="__INT_MAX__" path="" value="0x7fffffff"/>
<pathentry kind="mac" name="__INT64_TYPE__" path="" value="long long int"/>
<pathentry kind="mac" name="__FLT_MAX_EXP__" path="" value="128"/>
<pathentry kind="mac" name="__builtin_vsx_xxlor" path="" value="__builtin_vec_or"/>
<pathentry kind="mac" name="__DBL_MANT_DIG__" path="" value="53"/>
<pathentry kind="mac" name="__INT_LEAST64_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__GCC_ATOMIC_CHAR16_T_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__builtin_vsx_xxlxor" path="" value="__builtin_vec_xor"/>
<pathentry kind="mac" name="__DEC64_MIN__" path="" value="1E-383DD"/>
<pathentry kind="mac" name="__WINT_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__UINT_LEAST32_TYPE__" path="" value="long unsigned int"/>
<pathentry kind="mac" name="__SIZEOF_SHORT__" path="" value="2"/>
<pathentry kind="mac" name="__LDBL_MIN_EXP__" path="" value="(-1021)"/>
<pathentry kind="mac" name="__FLT64_MAX__" path="" value="1.7976931348623157e+308F64"/>
<pathentry kind="mac" name="__WINT_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__INT_LEAST8_MAX__" path="" value="0x7f"/>
<pathentry kind="mac" name="__FLT32X_MAX_10_EXP__" path="" value="308"/>
<pathentry kind="mac" name="__LDBL_MAX_10_EXP__" path="" value="308"/>
<pathentry kind="mac" name="__ATOMIC_RELAXED" path="" value="0"/>
<pathentry kind="mac" name="__DBL_EPSILON__" path="" value="((double)2.2204460492503131e-16L)"/>
<pathentry kind="mac" name="__UINT8_C(c)" path="" value="c"/>
<pathentry kind="mac" name="PPC" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_MAX_EXP__" path="" value="1024"/>
<pathentry kind="mac" name="__INT_LEAST32_TYPE__" path="" value="long int"/>
<pathentry kind="mac" name="__SIZEOF_WCHAR_T__" path="" value="4"/>
<pathentry kind="mac" name="__UINT64_TYPE__" path="" value="long long unsigned int"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmsubadp" path="" value="__builtin_vsx_xvnmsubdp"/>
<pathentry kind="mac" name="__INT_FAST8_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__GNUC_STDC_INLINE__" path="" value="1"/>
<pathentry kind="mac" name="__FLT64_HAS_DENORM__" path="" value="1"/>
<pathentry kind="mac" name="__FLT32_EPSILON__" path="" value="1.1920928955078125e-7F32"/>
<pathentry kind="mac" name="__DBL_DECIMAL_DIG__" path="" value="17"/>
<pathentry kind="mac" name="__STDC_UTF_32__" path="" value="1"/>
<pathentry kind="mac" name="__INT_FAST8_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__DEC_EVAL_METHOD__" path="" value="2"/>
<pathentry kind="mac" name="__FLT32X_MAX__" path="" value="1.7976931348623157e+308F32x"/>
<pathentry kind="mac" name="__VEC_ELEMENT_REG_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
<pathentry kind="mac" name="__builtin_vsx_xvmaddadp" path="" value="__builtin_vsx_xvmadddp"/>
<pathentry kind="mac" name="__ORDER_BIG_ENDIAN__" path="" value="4321"/>
<pathentry kind="mac" name="__UINT32_C(c)" path="" value="c ## UL"/>
<pathentry kind="mac" name="__INTMAX_MAX__" path="" value="0x7fffffffffffffffLL"/>
<pathentry kind="mac" name="__BYTE_ORDER__" path="" value="__ORDER_BIG_ENDIAN__"/>
<pathentry kind="mac" name="__FLT_DENORM_MIN__" path="" value="1.4012984643248171e-45F"/>
<pathentry kind="mac" name="__builtin_vsx_xvnmsubasp" path="" value="__builtin_vsx_xvnmsubsp"/>
<pathentry kind="mac" name="__INT8_MAX__" path="" value="0x7f"/>
<pathentry kind="mac" name="__LONG_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__UINT_FAST32_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__CHAR32_TYPE__" path="" value="long unsigned int"/>
<pathentry kind="mac" name="__FLT_MAX__" path="" value="3.4028234663852886e+38F"/>
<pathentry kind="mac" name="__FP_FAST_FMA" path="" value="1"/>
<pathentry kind="mac" name="__INT32_TYPE__" path="" value="long int"/>
<pathentry kind="mac" name="__SIZEOF_DOUBLE__" path="" value="8"/>
<pathentry kind="mac" name="__FLT_MIN_10_EXP__" path="" value="(-37)"/>
<pathentry kind="mac" name="__FLT64_MIN__" path="" value="2.2250738585072014e-308F64"/>
<pathentry kind="mac" name="__INT_LEAST32_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__INTMAX_TYPE__" path="" value="long long int"/>
<pathentry kind="mac" name="__DEC128_MAX_EXP__" path="" value="6145"/>
<pathentry kind="mac" name="__FLT32X_HAS_QUIET_NAN__" path="" value="1"/>
<pathentry kind="mac" name="__ATOMIC_CONSUME" path="" value="1"/>
<pathentry kind="mac" name="__GNUC_MINOR__" path="" value="3"/>
<pathentry kind="mac" name="__INT_FAST16_WIDTH__" path="" value="32"/>
<pathentry kind="mac" name="__UINTMAX_MAX__" path="" value="0xffffffffffffffffULL"/>
<pathentry kind="mac" name="__DEC32_MANT_DIG__" path="" value="7"/>
<pathentry kind="mac" name="__FLT32X_DENORM_MIN__" path="" value="4.9406564584124654e-324F32x"/>
<pathentry kind="mac" name="__builtin_vsx_xvmaddasp" path="" value="__builtin_vsx_xvmaddsp"/>
<pathentry kind="mac" name="__DBL_MAX_10_EXP__" path="" value="308"/>
<pathentry kind="mac" name="__LDBL_DENORM_MIN__" path="" value="4.9406564584124654e-324L"/>
<pathentry kind="mac" name="__INT16_C(c)" path="" value="c"/>
<pathentry kind="mac" name="__STDC__" path="" value="1"/>
<pathentry kind="mac" name="__builtin_vsx_xvmsubmdp" path="" value="__builtin_vsx_xvmsubdp"/>
<pathentry kind="mac" name="__PTRDIFF_TYPE__" path="" value="int"/>
<pathentry kind="mac" name="__ATOMIC_SEQ_CST" path="" value="5"/>
<pathentry kind="mac" name="__UINT32_TYPE__" path="" value="long unsigned int"/>
<pathentry kind="mac" name="__FLT32X_MIN_10_EXP__" path="" value="(-307)"/>
<pathentry kind="mac" name="__UINTPTR_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__DEC64_SUBNORMAL_MIN__" path="" value="0.000000000000001E-383DD"/>
<pathentry kind="mac" name="__DEC128_MANT_DIG__" path="" value="34"/>
<pathentry kind="mac" name="__LDBL_MIN_10_EXP__" path="" value="(-307)"/>
<pathentry kind="mac" name="__SIZEOF_LONG_LONG__" path="" value="8"/>
<pathentry kind="mac" name="_Bool" path="" value="_Bool"/>
<pathentry kind="mac" name="__GCC_ATOMIC_LLONG_LOCK_FREE" path="" value="1"/>
<pathentry kind="mac" name="__FLT32X_MIN__" path="" value="2.2250738585072014e-308F32x"/>
<pathentry kind="mac" name="__LDBL_DIG__" path="" value="15"/>
<pathentry kind="mac" name="__FLT_DECIMAL_DIG__" path="" value="9"/>
<pathentry kind="mac" name="__UINT_FAST16_MAX__" path="" value="0xffffffffU"/>
<pathentry kind="mac" name="__GCC_ATOMIC_SHORT_LOCK_FREE" path="" value="2"/>
<pathentry kind="mac" name="__INT_LEAST64_WIDTH__" path="" value="64"/>
<pathentry kind="mac" name="__UINT_FAST8_TYPE__" path="" value="unsigned int"/>
<pathentry kind="mac" name="__ATOMIC_ACQ_REL" path="" value="4"/>
<pathentry kind="mac" name="__ATOMIC_RELEASE" path="" value="3"/>
</storageModule>
</cproject>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://www.ddci.com/DEOS_SHARED_OBJECToptions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ddci:/xsd/DEOS_SHARED_OBJECT.xsd http://www.ddci.com/DEOS_SHARED_OBJECToptions">
<version>26</version>
<targetArch>ppc</targetArch>
<variant>diagnostic</variant>
<depend>kernel</depend>
<depend variant="diagnostic">video</depend>
<depend>ansi</depend>
<depend>math</depend>
<depend>deos-time</depend>
<depend>sal</depend>
<depend>mtl</depend>
<depend>printx</depend>
<depend>gnu-language</depend>
<kernelFile kfs="hypstart">lib$(PROJECT_NAME).so</kernelFile>
<copyToAppbin>$(BINARY)</copyToAppbin>
<copyToAppbin>$(BINARY).dbg</copyToAppbin>
<gccCCompileDirectories targetArch="arm">$(DESK_DIR)/arm/include</gccCCompileDirectories>
<gccCCompileDirectories targetArch="ppc">$(DESK_DIR)/ppc/include</gccCCompileDirectories>
<gccCCompileDirectories targetArch="x86">$(DESK_DIR)/x86/include</gccCCompileDirectories>
<gccCCompileDirectories>$(DESK_DIR)/include</gccCCompileDirectories>
<gccCCompileDirectories>$(PROJECT_DIR)/../../../..</gccCCompileDirectories>
<gccCCompileDirectories>$(PROJECT_DIR)/../../../../fips</gccCCompileDirectories>
<gccCCompileDirectories>$(PROJECT_DIR)/..</gccCCompileDirectories>
<gccCCompileDirectories>$(PROJECT_DIR.printx)/code</gccCCompileDirectories>
<gccCCompileDefinedMacros>WOLFSSL_USER_SETTINGS</gccCCompileDefinedMacros>
<gccCppLinkDirectories targetArch="arm">$(DESK_DIR)/arm/appbin</gccCppLinkDirectories>
<gccCppLinkDirectories targetArch="ppc">$(DESK_DIR)/ppc/appbin</gccCppLinkDirectories>
<gccCppLinkDirectories targetArch="x86">$(DESK_DIR)/x86/appbin</gccCppLinkDirectories>
<gccCppLinkUseIntermediateArchive>true</gccCppLinkUseIntermediateArchive>
<gccCppLinkAdditionalOptions>-L $(PROJECT_DIR.printx)/output/powerpc-motorola-elf/diagnostic</gccCppLinkAdditionalOptions>
<fpuType>none</fpuType>
<ignore>fips.c</ignore>
<ignore>fips_test.c</ignore>
<ignore>selftest.c</ignore>
</project>

View File

@@ -0,0 +1,634 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolfssl</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.ddci.common.ide.Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.ddci.common.ide.DdciNature</nature>
<nature>com.ddci.common.ide.ExecutableNature</nature>
<nature>com.ddci.deos.common.deosLoadListNature</nature>
<nature>com.ddci.common.ide.DEOS_SHARED_OBJECT</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
</natures>
<linkedResources>
<link>
<name>deos_malloc.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/IDE/ECLIPSE/DEOS/deos_malloc.c</locationURI>
</link>
<link>
<name>fips.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/fips/fips.c</locationURI>
</link>
<link>
<name>fips_test.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/fips/fips_test.c</locationURI>
</link>
<link>
<name>selftest.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/fips/selftest.c</locationURI>
</link>
<link>
<name>user_settings.h</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/IDE/ECLIPSE/DEOS/user_settings.h</locationURI>
</link>
<link>
<name>wolfssl</name>
<type>2</type>
<locationURI>WOLFSSL_ROOT/wolfssl</locationURI>
</link>
<link>
<name>src/crl.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/crl.c</locationURI>
</link>
<link>
<name>src/internal.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/internal.c</locationURI>
</link>
<link>
<name>src/keys.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/keys.c</locationURI>
</link>
<link>
<name>src/ocsp.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/ocsp.c</locationURI>
</link>
<link>
<name>src/sniffer.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/sniffer.c</locationURI>
</link>
<link>
<name>src/ssl.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/ssl.c</locationURI>
</link>
<link>
<name>src/tls.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/tls.c</locationURI>
</link>
<link>
<name>src/tls13.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/tls13.c</locationURI>
</link>
<link>
<name>src/wolfio.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/src/wolfio.c</locationURI>
</link>
<link>
<name>wolfcrypt/benchmark</name>
<type>2</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/benchmark</locationURI>
</link>
<link>
<name>wolfcrypt/test</name>
<type>2</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/test</locationURI>
</link>
<link>
<name>wolfcrypt/src/aes.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/aes.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/arc4.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/arc4.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/asm.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/asm.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/asn.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/asn.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/blake2b.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/blake2b.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/blake2s.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/blake2s.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/camellia.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/camellia.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/chacha.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/chacha.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/chacha20_poly1305.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/chacha20_poly1305.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/cmac.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cmac.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/coding.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/coding.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/compress.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/compress.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/cpuid.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cpuid.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/cryptocb.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/cryptocb.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/curve25519.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/curve25519.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/curve448.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/curve448.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/des3.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/des3.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/dh.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/dh.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/dsa.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/dsa.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ecc.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ecc.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ecc_fp.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ecc_fp.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ed25519.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ed25519.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ed448.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ed448.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/error.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/error.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/fe_448.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_448.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/fe_low_mem.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_low_mem.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/fe_operations.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_operations.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/fe_x25519_128.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fe_x25519_128.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mont_small.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mont_small.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_12.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_12.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_17.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_17.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_20.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_20.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_24.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_24.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_28.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_28.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_3.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_3.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_32.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_32.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_4.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_4.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_48.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_48.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_6.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_6.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_64.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_64.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_7.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_7.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_8.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_8.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_9.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_9.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_mul_comba_small_set.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_mul_comba_small_set.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_12.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_12.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_17.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_17.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_20.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_20.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_24.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_24.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_28.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_28.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_3.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_3.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_32.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_32.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_4.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_4.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_48.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_48.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_6.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_6.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_64.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_64.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_7.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_7.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_8.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_8.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_9.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_9.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/fp_sqr_comba_small_set.i</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/fp_sqr_comba_small_set.i</locationURI>
</link>
<link>
<name>wolfcrypt/src/ge_448.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_448.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ge_low_mem.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_low_mem.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ge_operations.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ge_operations.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/kdf.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/kdf.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/hash.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hash.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/hc128.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hc128.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/hmac.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/hmac.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/idea.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/idea.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/integer.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/integer.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/logging.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/logging.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/md2.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md2.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/md4.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md4.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/md5.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/md5.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/memory.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/memory.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/pkcs12.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pkcs12.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/pkcs7.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pkcs7.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/poly1305.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/poly1305.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/pwdbased.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/pwdbased.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/rabbit.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rabbit.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/random.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/random.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/rc2.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rc2.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/ripemd.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/ripemd.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/rsa.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/rsa.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sha.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sha256.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha256.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sha3.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha3.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sha512.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sha512.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/signature.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/signature.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_arm32.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_arm32.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_arm64.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_arm64.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_armthumb.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_armthumb.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_c32.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_c32.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_c64.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_c64.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_cortexm.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_cortexm.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_dsp32.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_dsp32.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_int.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_int.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/sp_x86_64.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/sp_x86_64.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/srp.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/srp.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/tfm.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/tfm.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wc_dsp.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_dsp.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wc_encrypt.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_encrypt.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wc_pkcs11.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_pkcs11.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wc_port.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wc_port.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wolfevent.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wolfevent.c</locationURI>
</link>
<link>
<name>wolfcrypt/src/wolfmath.c</name>
<type>1</type>
<locationURI>WOLFSSL_ROOT/wolfcrypt/src/wolfmath.c</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>WOLFSSL_ROOT</name>
<value>$%7BPARENT-4-PROJECT_LOC%7D</value>
</variable>
</variableList>
</projectDescription>

View File

@@ -0,0 +1,13 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST += \
IDE/ECLIPSE/DEOS/README.md \
IDE/ECLIPSE/DEOS/user_settings.h \
IDE/ECLIPSE/DEOS/tls_wolfssl.h \
IDE/ECLIPSE/DEOS/tls_wolfssl.c \
IDE/ECLIPSE/DEOS/deos_malloc.c \
IDE/ECLIPSE/DEOS/deos_wolfssl/.cproject \
IDE/ECLIPSE/DEOS/deos_wolfssl/.options \
IDE/ECLIPSE/DEOS/deos_wolfssl/.project

View File

@@ -0,0 +1,595 @@
/* tls_wolfssl.c
*
* 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/settings.h>
#include <wolfssl/ssl.h>
#include <wolfcrypt/test/test.h>
#include <wolfcrypt/benchmark/benchmark.h>
#include <wolfssl/wolfcrypt/logging.h> /* to use WOLFSSL_MSG */
#include <tls_wolfssl.h>
int setupTransport(clientConnectionHandleType* connectionHandle,
char* connectionId) {
int ret, error;
void * sendBuffer;
DWORD bufferSizeInBytes;
if ((ret = socketTransportInitialize("mailbox-transport.config",
"transportConfigurationId",
(DWORD)waitIndefinitely,&error)) != transportSuccess)
printf("Initialize 0x%x, error=%d\n", ret, error);
else if ((ret = socketTransportClientInitialize((DWORD)waitIndefinitely,
&error)) != transportSuccess)
printf("ClientInitialize 0x%x, error=%d\n", ret, error);
else if ((ret = socketTransportCreateConnection(connectionId,
(DWORD)waitIndefinitely,
COMPATIBILITY_ID_2,
connectionHandle,
&sendBuffer,
&bufferSizeInBytes,
&error)) != transportSuccess)
printf("CreateConnection 0x%x, error=%d\n", ret, error);
else if ((ret = socketTransportSetConnectionForThread(currentThreadHandle(),
*connectionHandle,
(DWORD)waitIndefinitely,
&error)) != transportSuccess)
printf("SetConnectionForThread 0x%x, error=%d\n", ret, error);
return ret;
}
#if !defined(NO_WOLFSSL_CLIENT )
/* 172.217.3.174 is the IP address of https://www.google.com */
#define TCP_SERVER_IP_ADDR "172.217.3.174"
#define TCP_SERVER_DOMAIN_NAME "www.google.com"
#define TCP_SERVER_PORT 443
#define TX_BUF_SIZE 64
#define RX_BUF_SIZE 1024
#define TX_MSG "GET /index.html HTTP/1.0\n\n"
#define TX_MSG_SIZE sizeof(TX_MSG)
static const unsigned char google_certs_ca[]="\n\
## Google Internet Authority G3 \n\
-----BEGIN CERTIFICATE-----\n\
MIIEXDCCA0SgAwIBAgINAeOpMBz8cgY4P5pTHTANBgkqhkiG9w0BAQsFADBMMSAw\n\
HgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFs\n\
U2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xNzA2MTUwMDAwNDJaFw0yMTEy\n\
MTUwMDAwNDJaMFQxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVHb29nbGUgVHJ1c3Qg\n\
U2VydmljZXMxJTAjBgNVBAMTHEdvb2dsZSBJbnRlcm5ldCBBdXRob3JpdHkgRzMw\n\
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKUkvqHv/OJGuo2nIYaNVW\n\
XQ5IWi01CXZaz6TIHLGp/lOJ+600/4hbn7vn6AAB3DVzdQOts7G5pH0rJnnOFUAK\n\
71G4nzKMfHCGUksW/mona+Y2emJQ2N+aicwJKetPKRSIgAuPOB6Aahh8Hb2XO3h9\n\
RUk2T0HNouB2VzxoMXlkyW7XUR5mw6JkLHnA52XDVoRTWkNty5oCINLvGmnRsJ1z\n\
ouAqYGVQMc/7sy+/EYhALrVJEA8KbtyX+r8snwU5C1hUrwaW6MWOARa8qBpNQcWT\n\
kaIeoYvy/sGIJEmjR0vFEwHdp1cSaWIr6/4g72n7OqXwfinu7ZYW97EfoOSQJeAz\n\
AgMBAAGjggEzMIIBLzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUH\n\
AwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHfCuFCa\n\
Z3Z2sS3ChtCDoH6mfrpLMB8GA1UdIwQYMBaAFJviB1dnHB7AagbeWbSaLd/cGYYu\n\
MDUGCCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AucGtpLmdv\n\
b2cvZ3NyMjAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLnBraS5nb29nL2dz\n\
cjIvZ3NyMi5jcmwwPwYDVR0gBDgwNjA0BgZngQwBAgIwKjAoBggrBgEFBQcCARYc\n\
aHR0cHM6Ly9wa2kuZ29vZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEA\n\
HLeJluRT7bvs26gyAZ8so81trUISd7O45skDUmAge1cnxhG1P2cNmSxbWsoiCt2e\n\
ux9LSD+PAj2LIYRFHW31/6xoic1k4tbWXkDCjir37xTTNqRAMPUyFRWSdvt+nlPq\n\
wnb8Oa2I/maSJukcxDjNSfpDh/Bd1lZNgdd/8cLdsE3+wypufJ9uXO1iQpnh9zbu\n\
FIwsIONGl1p3A8CgxkqI/UAih3JaGOqcpcdaCIzkBaR9uYQ1X4k2Vg5APRLouzVy\n\
7a8IVk6wuy6pm+T7HT4LY8ibS5FEZlfAFLSW8NwsVz9SBK2Vqn1N0PIMn5xA6NZV\n\
c7o835DLAFshEWfC7TIe3g==\n\
-----END CERTIFICATE-----\n\
## Google Trust Services- GlobalSign Root CA-R2\n\
-----BEGIN CERTIFICATE-----\n\
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G\n\
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp\n\
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1\n\
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG\n\
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI\n\
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL\n\
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8\n\
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq\n\
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd\n\
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa\n\
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB\n\
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH\n\
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n\n\
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG\n\
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs\n\
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO\n\
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS\n\
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd\n\
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7\n\
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==\n\
-----END CERTIFICATE-----\n\
";
void wolfssl_client_test(uintData_t statusPtr) {
int sock;
char rx_buf[RX_BUF_SIZE];
char tx_buf[TX_BUF_SIZE];
int ret = 0, error = 0;
sockaddr_in server_addr;
clientConnectionHandleType TCPclientHandle;
WOLFSSL* ssl;
WOLFSSL_CTX* ctx;
/* set up the mailbox transport */
if (setupTransport(&TCPclientHandle, (char*)"connectionId1") != transportSuccess){
printf("TCP transport set up failed \n");
return;
}
printf("Creating a network socket...\n");
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == SOCKET_ERROR) {
printf("ERROR: Failed to create socket, err = %d\n", errno);
return;
}
printf("Clearing memory for server_addr struct\n");
XMEMSET((char *) &server_addr, 0u, sizeof(server_addr));
printf("Connecting to server IP address: %s, port: %d\n",
TCP_SERVER_IP_ADDR, TCP_SERVER_PORT);
server_addr.sin_family = AF_INET;
server_addr.sin_addr = inet_addr(TCP_SERVER_IP_ADDR);
server_addr.sin_port = htons(TCP_SERVER_PORT);
printf("Calling connect on socket\n");
if (connect(sock, (sockaddr *) &server_addr, sizeof(server_addr)) < 0 ) {
printf("ERROR: connect, err = %d\n", errno);
closesocket(sock);
return;
}
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* wolfSSL INIT and CTX SETUP */
wolfSSL_Init();
/* chooses the highest possible TLS version */
ctx = wolfSSL_CTX_new(wolfSSLv23_client_method());
/* SET UP NETWORK SOCKET */
if (ctx == 0) {
printf("ERROR: wolfSSL_CTX_new failed\n");
closesocket(sock);
return;
}
WOLFSSL_MSG("wolfSSL_CTX_new done");
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL);
ret = wolfSSL_CTX_load_verify_buffer(ctx,
google_certs_ca,
sizeof(google_certs_ca),
SSL_FILETYPE_PEM);
if (ret != SSL_SUCCESS) {
printf("ERROR: wolfSSL_CTX_load_verify_buffer() failed\n");
closesocket(sock);
wolfSSL_CTX_free(ctx);
return;
}
ssl = wolfSSL_new(ctx);
if (ssl == NULL) {
printf("ERROR: wolfSSL_new() failed\n");
closesocket(sock);
wolfSSL_CTX_free(ctx);
return;
}
WOLFSSL_MSG("wolfSSL_new done");
ret = wolfSSL_set_fd(ssl, sock);
if (ret != SSL_SUCCESS) {
printf("ERROR: wolfSSL_set_fd() failed\n");
closesocket(sock);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return;
}
WOLFSSL_MSG("wolfSSL_set_fd done");
do {
error = 0; /* reset error */
ret = wolfSSL_connect(ssl);
if (ret != SSL_SUCCESS) {
error = wolfSSL_get_error(ssl, 0);
printf("ERROR: wolfSSL_connect() failed, err = %d\n", error);
if (error != SSL_ERROR_WANT_READ) {
closesocket(sock);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return;
}
/* goToSleep() for 1 sec*/
}
} while ((ret != SSL_SUCCESS) && (error == SSL_ERROR_WANT_READ));
printf("wolfSSL_connect() ok... sending GET\n");
XSTRNCPY(tx_buf, TX_MSG, TX_MSG_SIZE);
if (wolfSSL_write(ssl, tx_buf, TX_MSG_SIZE) != TX_MSG_SIZE) {
error = wolfSSL_get_error(ssl, 0);
printf("ERROR: wolfSSL_write() failed, err = %d\n", error);
closesocket(sock);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return;
}
do {
error = 0; /* reset error */
ret = wolfSSL_read(ssl, rx_buf, RX_BUF_SIZE - 1);
if (ret < 0) {
error = wolfSSL_get_error(ssl, 0);
if (error != SSL_ERROR_WANT_READ) {
printf("wolfSSL_read failed, error = %d\n", error);
closesocket(sock);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return;
}
/* goToSleep() for 1 second*/
} else if (ret > 0) {
rx_buf[ret] = 0;
printf("%s\n", rx_buf);
}
} while (error == SSL_ERROR_WANT_READ);
wolfSSL_shutdown(ssl);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
wolfSSL_Cleanup();
closesocket(sock);
return;
}
#endif /* NO_WOLFSSL_CLIENT */
#if !defined(NO_WOLFSSL_SERVER)
#define TLS_SERVER_PORT 11111
#define TX_BUF_SIZE 64
#define RX_BUF_SIZE 1024
#define TCP_SERVER_CONN_Q_SIZE 1
/* derived from wolfSSL/certs/server-ecc.der */
static const unsigned char server_ecc_der_256[] = { 0x30, 0x82, 0x03, 0x10,
0x30, 0x82, 0x02, 0xB5, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x09, 0x00,
0xEF, 0x46, 0xC7, 0xA4, 0x9B, 0xBB, 0x60, 0xD3, 0x30, 0x0A, 0x06, 0x08,
0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x02, 0x30, 0x81, 0x8F, 0x31,
0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53,
0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0C, 0x0A, 0x57,
0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30,
0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0C, 0x07, 0x53, 0x65, 0x61, 0x74,
0x74, 0x6C, 0x65, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x0A,
0x0C, 0x07, 0x45, 0x6C, 0x69, 0x70, 0x74, 0x69, 0x63, 0x31, 0x0C, 0x30,
0x0A, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x0C, 0x03, 0x45, 0x43, 0x43, 0x31,
0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, 0x0F, 0x77, 0x77,
0x77, 0x2E, 0x77, 0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F,
0x6D, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7,
0x0D, 0x01, 0x09, 0x01, 0x16, 0x10, 0x69, 0x6E, 0x66, 0x6F, 0x40, 0x77,
0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x1E,
0x17, 0x0D, 0x31, 0x36, 0x30, 0x38, 0x31, 0x31, 0x32, 0x30, 0x30, 0x37,
0x33, 0x38, 0x5A, 0x17, 0x0D, 0x31, 0x39, 0x30, 0x35, 0x30, 0x38, 0x32,
0x30, 0x30, 0x37, 0x33, 0x38, 0x5A, 0x30, 0x81, 0x8F, 0x31, 0x0B, 0x30,
0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13,
0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0C, 0x0A, 0x57, 0x61, 0x73,
0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E, 0x06,
0x03, 0x55, 0x04, 0x07, 0x0C, 0x07, 0x53, 0x65, 0x61, 0x74, 0x74, 0x6C,
0x65, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x0C, 0x07,
0x45, 0x6C, 0x69, 0x70, 0x74, 0x69, 0x63, 0x31, 0x0C, 0x30, 0x0A, 0x06,
0x03, 0x55, 0x04, 0x0B, 0x0C, 0x03, 0x45, 0x43, 0x43, 0x31, 0x18, 0x30,
0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, 0x0F, 0x77, 0x77, 0x77, 0x2E,
0x77, 0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x31,
0x1F, 0x30, 0x1D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01,
0x09, 0x01, 0x16, 0x10, 0x69, 0x6E, 0x66, 0x6F, 0x40, 0x77, 0x6F, 0x6C,
0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x59, 0x30, 0x13,
0x06, 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01, 0x06, 0x08, 0x2A,
0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xBB,
0x33, 0xAC, 0x4C, 0x27, 0x50, 0x4A, 0xC6, 0x4A, 0xA5, 0x04, 0xC3, 0x3C,
0xDE, 0x9F, 0x36, 0xDB, 0x72, 0x2D, 0xCE, 0x94, 0xEA, 0x2B, 0xFA, 0xCB,
0x20, 0x09, 0x39, 0x2C, 0x16, 0xE8, 0x61, 0x02, 0xE9, 0xAF, 0x4D, 0xD3,
0x02, 0x93, 0x9A, 0x31, 0x5B, 0x97, 0x92, 0x21, 0x7F, 0xF0, 0xCF, 0x18,
0xDA, 0x91, 0x11, 0x02, 0x34, 0x86, 0xE8, 0x20, 0x58, 0x33, 0x0B, 0x80,
0x34, 0x89, 0xD8, 0xA3, 0x81, 0xF7, 0x30, 0x81, 0xF4, 0x30, 0x1D, 0x06,
0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x5D, 0x5D, 0x26, 0xEF,
0xAC, 0x7E, 0x36, 0xF9, 0x9B, 0x76, 0x15, 0x2B, 0x4A, 0x25, 0x02, 0x23,
0xEF, 0xB2, 0x89, 0x30, 0x30, 0x81, 0xC4, 0x06, 0x03, 0x55, 0x1D, 0x23,
0x04, 0x81, 0xBC, 0x30, 0x81, 0xB9, 0x80, 0x14, 0x5D, 0x5D, 0x26, 0xEF,
0xAC, 0x7E, 0x36, 0xF9, 0x9B, 0x76, 0x15, 0x2B, 0x4A, 0x25, 0x02, 0x23,
0xEF, 0xB2, 0x89, 0x30, 0xA1, 0x81, 0x95, 0xA4, 0x81, 0x92, 0x30, 0x81,
0x8F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0C,
0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31,
0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0C, 0x07, 0x53, 0x65,
0x61, 0x74, 0x74, 0x6C, 0x65, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
0x04, 0x0A, 0x0C, 0x07, 0x45, 0x6C, 0x69, 0x70, 0x74, 0x69, 0x63, 0x31,
0x0C, 0x30, 0x0A, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x0C, 0x03, 0x45, 0x43,
0x43, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, 0x0F,
0x77, 0x77, 0x77, 0x2E, 0x77, 0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E,
0x63, 0x6F, 0x6D, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x09, 0x2A, 0x86, 0x48,
0x86, 0xF7, 0x0D, 0x01, 0x09, 0x01, 0x16, 0x10, 0x69, 0x6E, 0x66, 0x6F,
0x40, 0x77, 0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D,
0x82, 0x09, 0x00, 0xEF, 0x46, 0xC7, 0xA4, 0x9B, 0xBB, 0x60, 0xD3, 0x30,
0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01,
0xFF, 0x30, 0x0A, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03,
0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xF1, 0xD0, 0xA6,
0x3E, 0x83, 0x33, 0x24, 0xD1, 0x7A, 0x05, 0x5F, 0x1E, 0x0E, 0xBD, 0x7D,
0x6B, 0x33, 0xE9, 0xF2, 0x86, 0xF3, 0xF3, 0x3D, 0xA9, 0xEF, 0x6A, 0x87,
0x31, 0xB3, 0xB7, 0x7E, 0x50, 0x02, 0x21, 0x00, 0xF0, 0x60, 0xDD, 0xCE,
0xA2, 0xDB, 0x56, 0xEC, 0xD9, 0xF4, 0xE4, 0xE3, 0x25, 0xD4, 0xB0, 0xC9,
0x25, 0x7D, 0xCA, 0x7A, 0x5D, 0xBA, 0xC4, 0xB2, 0xF6, 0x7D, 0x04, 0xC7,
0xBD, 0x62, 0xC9, 0x20 };
/* derived from wolfSSL/certs/ecc-key.der */
static const unsigned char ecc_key_der_256[] = { 0x30, 0x77, 0x02, 0x01, 0x01,
0x04, 0x20, 0x45, 0xB6, 0x69, 0x02, 0x73, 0x9C, 0x6C, 0x85, 0xA1, 0x38,
0x5B, 0x72, 0xE8, 0xE8, 0xC7, 0xAC, 0xC4, 0x03, 0x8D, 0x53, 0x35, 0x04,
0xFA, 0x6C, 0x28, 0xDC, 0x34, 0x8D, 0xE1, 0xA8, 0x09, 0x8C, 0xA0, 0x0A,
0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07, 0xA1, 0x44,
0x03, 0x42, 0x00, 0x04, 0xBB, 0x33, 0xAC, 0x4C, 0x27, 0x50, 0x4A, 0xC6,
0x4A, 0xA5, 0x04, 0xC3, 0x3C, 0xDE, 0x9F, 0x36, 0xDB, 0x72, 0x2D, 0xCE,
0x94, 0xEA, 0x2B, 0xFA, 0xCB, 0x20, 0x09, 0x39, 0x2C, 0x16, 0xE8, 0x61,
0x02, 0xE9, 0xAF, 0x4D, 0xD3, 0x02, 0x93, 0x9A, 0x31, 0x5B, 0x97, 0x92,
0x21, 0x7F, 0xF0, 0xCF, 0x18, 0xDA, 0x91, 0x11, 0x02, 0x34, 0x86, 0xE8,
0x20, 0x58, 0x33, 0x0B, 0x80, 0x34, 0x89, 0xD8 };
void wolfssl_server_test(uintData_t statusPtr)
{
int sock_listen;
int bindStatus;
int sock_req;
sockaddr_in socketAddr;
sockaddr_in server_addr;
int socketAddrLen=sizeof(sockaddr);
char rx_buf[RX_BUF_SIZE];
char tx_buf[TX_BUF_SIZE];
clientConnectionHandleType TCPserverHandle;
WOLFSSL * ssl;
WOLFSSL_CTX * ctx;
int tx_buf_sz = 0, ret = 0, error = 0;
/* set up the mailbox transport */
/* connectionId2 is defined in the mailbox-transport.config*/
if (setupTransport(&TCPserverHandle, (char*)"connectionId2") != transportSuccess){
printf("TCP transport set up failed \n");
return;
}
/* SET UP NETWORK SOCKET */
printf("Opening network socket...\n");
sock_listen = socket(AF_INET, SOCK_STREAM, 0);
if (sock_listen == SOCKET_ERROR) {
printf("ERROR: socket, err = %d\n", errno);
return;
}
printf("Clearing memory for server_addr struct\n");
XMEMSET((char *) &server_addr, 0u, sizeof(server_addr));
printf("Setting up server_addr struct\n");
server_addr.sin_family = AF_INET;
server_addr.sin_addr = INADDR_ANY;
server_addr.sin_port = htons(TLS_SERVER_PORT);
bindStatus = bind(sock_listen, (sockaddr *) &server_addr, sizeof(server_addr));
if (bindStatus == SOCKET_ERROR) {
printf("ERROR: bind, err = %d\n", errno);
closesocket(sock_listen);
return;
}
/* wolfSSL INIT and CTX SETUP */
wolfSSL_Init();
/* chooses the highest possible TLS version */
ctx = wolfSSL_CTX_new(wolfSSLv23_server_method());
if (ctx == 0) {
printf("ERROR: wolfSSL_CTX_new failed\n");
closesocket(sock_listen);
return;
}
WOLFSSL_MSG("wolfSSL_CTX_new done");
ret = wolfSSL_CTX_use_certificate_buffer(ctx,
server_ecc_der_256,
sizeof(server_ecc_der_256),
SSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
printf("ERROR: wolfSSL_CTX_use_certificate_buffer() failed, \
err = %d\n", ret);
closesocket(sock_listen);
wolfSSL_CTX_free(ctx);
return;
}
ret = wolfSSL_CTX_use_PrivateKey_buffer(ctx,
ecc_key_der_256,
sizeof(ecc_key_der_256),
SSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
printf("ERROR: wolfSSL_CTX_use_PrivateKey_buffer() failed\n");
closesocket(sock_listen);
wolfSSL_CTX_free(ctx);
return;
}
/* accept client socket connections */
printf("Listening for client connection\n");
printf("E.g, you can use ./examples/client/client.exe -h 192.168.219.100\n");
printf(" \n");
listen(sock_listen, TCP_SERVER_CONN_Q_SIZE);
sock_req = accept(sock_listen,
(sockaddr *) &socketAddr,
&socketAddrLen);
if (sock_req == -1) {
printf("ERROR: accept, err = %d\n", errno);
closesocket(sock_listen);
return;
}
printf("Got client connection! Starting TLS negotiation\n");
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* set up wolfSSL session */
ssl = wolfSSL_new(ctx);
if (ssl == NULL) {
printf("ERROR: wolfSSL_new() failed\n");
closesocket(sock_req);
closesocket(sock_listen);
wolfSSL_CTX_free(ctx);
return;
}
WOLFSSL_MSG("wolfSSL_new done");
ret = wolfSSL_set_fd(ssl, sock_req);
if (ret != SSL_SUCCESS) {
printf("ERROR: wolfSSL_set_fd() failed\n");
closesocket(sock_req);
closesocket(sock_listen);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return;
}
WOLFSSL_MSG("wolfSSL_set_fd done");
do {
error = 0; /* reset error */
if (ret != SSL_SUCCESS) {
error = wolfSSL_get_error(ssl, 0);
printf("ERROR: wolfSSL_accept() failed, err = %d\n", error);
if (error != SSL_ERROR_WANT_READ) {
closesocket(sock_req);
closesocket(sock_listen);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return;
}
/* goToSleep() for 500 milli sec*/
}
} while ((ret != SSL_SUCCESS) && (error == SSL_ERROR_WANT_READ));
printf("wolfSSL_accept() ok...\n");
/* read client data */
error = 0;
XMEMSET(rx_buf, 0u, RX_BUF_SIZE);
ret = wolfSSL_read(ssl, rx_buf, RX_BUF_SIZE - 1);
if (ret < 0) {
error = wolfSSL_get_error(ssl, 0);
if (error != SSL_ERROR_WANT_READ) {
printf("wolfSSL_read failed, error = %d\n", error);
closesocket(sock_req);
closesocket(sock_listen);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return;
}
}
printf("AFTER wolfSSL_read() call, ret = %d\n", ret);
if (ret > 0) {
rx_buf[ret] = 0;
printf("Client sent: %s\n", rx_buf);
}
/* write response to client */
XMEMSET(tx_buf, 0u, TX_BUF_SIZE);
tx_buf_sz = 22;
XSTRNCPY(tx_buf, "I hear ya fa shizzle!\n", tx_buf_sz);
if (wolfSSL_write(ssl, tx_buf, tx_buf_sz) != tx_buf_sz) {
error = wolfSSL_get_error(ssl, 0);
printf("ERROR: wolfSSL_write() failed, err = %d\n", error);
closesocket(sock_req);
closesocket(sock_listen);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return;
}
ret = wolfSSL_shutdown(ssl);
if (ret == SSL_SHUTDOWN_NOT_DONE)
wolfSSL_shutdown(ssl);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
wolfSSL_Cleanup();
closesocket(sock_req);
closesocket(sock_listen);
return;
}
#endif /* NO_WOLFSSL_SERVER */
int wolfsslRunTests (void)
{
thread_handle_t TCPhandle;
threadStatus ts;
#if !defined(NO_CRYPT_TEST)
wolfcrypt_test(NULL);
#endif
#if !defined(NO_CRYPT_BENCHMARK)
benchmark_test(NULL);
#endif
#if !defined(NO_WOLFSSL_CLIENT)
ts = createThread("TCPclient", "TCPThreadTemplate", wolfssl_client_test,
0, &TCPhandle );
if (ts != threadSuccess) {
printf("Unable to create TCP client thread, %i ", (DWORD)ts);
}
#endif
#if !defined(NO_WOLFSSL_SERVER)
ts = createThread("TCPserver", "TCPThreadTemplate", wolfssl_server_test,
0, &TCPhandle );
if (ts != threadSuccess) {
printf("Unable to create TCP server thread, %i ", (DWORD)ts);
}
#endif
return 0;
}

View File

@@ -0,0 +1,37 @@
/* tls_wolfssl.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 __TLS_WOLFSSL_H__
#define __TLS_WOLFSSL_H__
#ifdef __cplusplus
extern "C" {
#endif
int wolfsslRunTests(void);
void wolfssl_client_test(uintData_t);
void wolfssl_server_test(uintData_t);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* TLS_WOLFSSL_H */

View File

@@ -0,0 +1,112 @@
/* user_setting.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 DEOS_USER_SETTINGS_H_
#define DEOS_USER_SETTINGS_H_
#ifdef __cplusplus
extern "C" {
#endif
#define WOLFSSL_DEOS
/* You can select none or all of the following tests
using #define instead of #undef.
By default, all four tests run*/
#undef NO_CRYPT_TEST
#undef NO_CRYPT_BENCHMARK
#undef NO_WOLFSSL_CLIENT
#undef NO_WOLFSSL_SERVER
/* adjust CURRENT_UNIX_TIMESTAMP to seconds since Jan 01 1970. (UTC)
You can get the current time from https://www.unixtimestamp.com/
*/
#define CURRENT_UNIX_TIMESTAMP 1545864916
#define NO_FILESYSTEM
#define SIZEOF_LONG_LONG 8
/* prevents from including multiple definition of main() */
#define NO_MAIN_DRIVER
#define NO_TESTSUITE_MAIN_DRIVER
/* includes certificate test buffers via header files */
#define USE_CERT_BUFFERS_2048
/*use kB instead of mB for embedded benchmarking*/
#define BENCH_EMBEDDED
#define NO_WRITE_TEMP_FILES
#define HAVE_AESGCM
#define WOLFSSL_SHA512
#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define ED25519_SMALL
#define WOLFSSL_DTLS
/* TLS 1.3 */
#if 0
#define WOLFSSL_TLS13
#define WC_RSA_PSS
#define HAVE_HKDF
#define HAVE_FFDHE_2048
#define HAVE_AEAD
#endif
#if 0
/* You can use your own custom random generator function with
no input parameters and a `CUSTOM_RAND_TYPE` return type*/
#ifndef CUSTOM_RAND_GENERATE
#define CUSTOM_RAND_TYPE int
#define CUSTOM_RAND_GENERATE yourRandGenFunc
#endif
#endif
#if 1
#undef XMALLOC_OVERRIDE
#define XMALLOC_OVERRIDE
/* prototypes for user heap override functions */
#include <stddef.h> /* for size_t */
extern void *malloc_deos(size_t size);
extern void free_deos(void *ptr);
extern void *realloc_deos(void *ptr, size_t size);
#define XMALLOC(n, h, t) malloc_deos(n)
#define XFREE(p, h, t) free_deos(p)
#define XREALLOC(p, n, h, t) realloc_deos(p, n)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif

View File

@@ -0,0 +1,180 @@
# Micrium μC/OS-III Port
## Overview
You can enable the wolfSSL support for Micrium μC/OS-III RTOS available [here](http://www.micrium.com/) using the define `MICRIUM`.
## Usage
You can start with your IDE-based example project for Micrium uC/OS-III and uC/TCPIP stack. You must include the uC-Clk module into your project because wolfSSL uses Micriums Clk_GetTS_Unix () function from <clk.h> in order to authenticate the start and end dates of certificates.
wolfSSL supports a compile-time user configurable options in the `IDE/ECLIPSE/MICRIUM/user_settings.h` file.
The `wolfsslRunTests.c` example application provides a simple function to run the selected examples at compile time through the following four #defines in user_settings.h.
```
1. #define WOLFSSL_WOLFCRYPT_TEST
2. #define WOLFSSL_BENCHMARK_TEST
3. #define WOLFSSL_CLIENT_TEST
4. #define WOLFSSL_SERVER_TEST
You can define one or all of the above options.
```
1. Open your IDE-based example project for Micrium uC/OS-III (with the uC-Clk module) and uC/TCPIP stack.
2. Create the following folder and sub-folders structures in your project.
```
wolfssl
|src
|wolfcrypt
|benchmark
|src
|test
|wolfssl
|openssl
|wolfcrypt
|exampleTLS
```
The folder hierarchy is the same as the wolfSSL folders with an exception of the exampleTLS folder.
3. Right click on the exampleTLS folder, add or link all of the header and source files in `IDE/ECLIPSE/MICRIUM/` folder into the exampleTLS folder.
4. Right click on each folders, add or link all the source code in the corresponding folder in wolfSSL.
5. Remove non-C platform dependent files from your build. At the moment, only aes_asm.asm and aes_asm.s must be removed from your wolfssl/wolfcrypt/src folder.
6. In your C/C++ compiler preprocessor settings, add the wolfSSL directories to your include paths.
Here's an example of the paths that must be added.
```
$PROJ_DIR$\...
$PROJ_DIR$\...\wolfcrypt
$PROJ_DIR$\...\wolfssl
$PROJ_DIR$\...\IDE\ECLIPSE\MICRIUM
```
7. In your C/C++ compiler preprocessor settings, define the WOLFSSL_USER_SETTINGS symbol to add user_settings.h file in your project.
8. Add a call to `wolfsslRunTests()` from your startup task. Here's an example:
```
static void App_TaskStart (void *p_arg)
{
OS_ERR os_err;
...
while (DEF_TRUE) {
wolfsslRunTests();
OSTimeDlyHMSM(0u, 5u, 0u, 0u,OS_OPT_TIME_HMSM_STRICT, &os_err);
}
}
```
9. Rebuild all your project.
10. Now you are ready to download and debug your image on the board.
The test results below were collected from the NXP Kinetis K70 (Freescale TWR-K70F120M MCU) tower system board with the following software and tool chains:
- IAR Embedded Workbench IDE - ARM 8.32.1 (IAR ELF Linker V8.32.1.169/W32 for ARM)
- The starting project is based on an IAR EWARM project from Micrium download center at [micrium_twr-k70f120m-os3/](https://www.micrium.com/download/micrium_twr-k70f120m-os3/) but the K70X_FLASH.icf linker script file was slightly modified to configure the stack and heap sizes to 16KB and 20KB. The test was run on a 1 MBytes of program flash and 128 KBytes of static RAM. ([Similar TCP version](https://www.micrium.com/download/twr-k70f120m_os3-tcpip-wifi-lib/))
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
### `WOLFSSL_WOLFCRYPT_TEST` output of wolfcrypt_test()
```
error test passed!
base64 test passed!
asn test passed!
MD5 test passed!
MD4 test passed!
SHA test passed!
SHA-256 test passed!
SHA-512 test passed!
Hash test passed!
HMAC-MD5 test passed!
HMAC-SHA test passed!
HAC-SHA256 test passed!
HMAC-SHA512 test passed!
GMC test passed!
HC-128 test passed!
Rabbit test passed!
DS test passed!
DS3 test passed!
AES test passed!
AES192 test passed!
AES256 test passed!
AES-GM test passed!
RANDOM test passed!
RSA test passed!
DH test passed!
DSA test passed!
PWDBASED test passed!
ECC test passed!
ECC buffer test passed!
CURVE25519 test passed!
ED25519 test passed!
logging test passed!
mutex test passed!
memcb test passed!
```
### `WOLFSSL_BENCHMARK_TEST` output of benchmark_test()
```
------------------------------------------------------------------------------
wolfSSL version 3.15.5
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 225 KB tooks 1.026 seconds, 219.313 KB/s
AES-128-CBC-enc 250 KB toks 1.105 seconds 226.210 KB/s
AES-128-CBC-dec 225 KB tooks 1.005 seconds, 223.922 KB/s
AES-192-CBC-enc 225 KB tooks 1.076 seconds, 209.104 KB/s
AES-192-CBC-dec 225 KB tooks 1.077 seconds, 208.981 K/s
AES-56-CBC-enc 200 KB tooks 1.029 seconds, 19.396 KB/s
AES-256-CBC-dec 200 KB toks 1.022 seconds, 195.785 KB/s
AES-128-GCM-enc 125 KB tooks 1.28 secnds, 101.70 KB/s
AES-128-GC-dec 125 KB tooks 1.228 seconds 101.756 KB/s
AES-192-GCM-enc 100 KB tooks 1.026 seconds, 97.493 KB/s
AES-192-GCM-dec 100 KB tooks 1.026 seconds, 97.480 KB/s
AES-256-GCM-enc 100 KB tooks 1.065 seconds, 93.909 KB/s
AES-256-GC-dec 100 KB tooks 1.065 seconds, 93.897 KB/s
RABBIT 2 MB tooks 1.011 seconds, 2.19 MB/s
3DES 100 KB tooks 1.007 sconds, 99.312 KB/s
MD5 3MB tooks 1.008 seonds, 2.907 MBs
SHA 1 MB tooks 1.09 secnds, 1.283 MB/s
SHA-256 575 KB tooks 1.037 seconds, 554.501 KB/s
SHA-512 200 KB tooks 1.003 seconds, 199.444 KB/s
HMAC-MD5 3 B tooks 1.002 seconds, 2.876 MB/s
HMAC-SHA26 550 KB tooks 1.000 seconds, 549.95 KB//s
HMAC-SHA512 200 KB toks 1.018 seconds, 196.452 KB/s
RSA 2048 public 8 ops took 1.025 sec, avg 128.135 ms, 7.804 op/sec
RSA 2048 private 2 ops took 4.972 ec, avg 2485.951 s, 0.402 ops/sec
DH 2048 key en 2 ops took 1.927 sec, avg 96.303 ms, 1.038 op/sec
DH 2048 agree 2ops took 1.937 sc, avg 968.578 ms, 1.032 ops/sec
ECC 256 key gen 3 ops took 1.185 sec, avg 394.944 ms, 2.53 ops/sec
ECDHE 256 agree 4 ops took 1.585 sec, avg 396.168 ms, 2.524 ops/sec
ECSA 256 sign 4 ops took 1.611 sec, avg 402.865 ms, 2.482 ops/sec
ECDSA 256verif 2 ops tok 1.586 sec, avg 793.153 ms, 1.261 opssec
CURVE 25519 key gen 2 ops took 1.262 sec, avg 630.907 ms, 1.585 ops/sec
CURE 25519 agree 2 ops took 1.261 sec, avg630.469 ms, 1.586 ops/sec
ED 2519 key gen 2 ops took 1.27 sec, avg 66.099ms, 1.572 ops/sec
ED 25519 sign 2 ops took 1.303 sec, ag 65.633 ms, 1.35 op/sec
ED 25519 verify 2 ops took 2.674 sec, avg1337.68 ms 0.748 ops/ec
```
### `WOLFSSL_CLIENT_TEST` wolfssl_client_test()
You can modify the `TCP_SERVER_IP_ADDR` and `TCP_SERVER_PORT` macros at top of the `client_wolfssl.c` file to configure the host address and port. You will also need the server certificate. This example uses TLS 1.2 to connect to a remote host.
### `WOLFSSL_SERVER_TEST` wolfssl_server_test()
You can modify the `TLS_SERVER_PORT` at top of `server_wolfssl.c` to configure the port number to listen on local-host.
Once you start the TLS server and `Listening for client connection` displays on the serial console, the server is ready to accept client connections.
You can connect to the server using the wolfssl TLS client example from your Linux or Windows host as follows:
$ ./examples/client/client.exe -h TLS_SERVER_IP_ADDRES
SSL version is TLSv1.2
SSL cipher suite is TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
SSL curve name is SECP256R1
I hear ya fa shizzle!
## References
For more information please contact info@wolfssl.com.

View File

@@ -0,0 +1,277 @@
/* client_wolfssl.c
*
* 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 <Source/net_sock.h>
#include <Source/net_app.h>
#include <Source/net_ascii.h>
#include <Source/net_util.h>
#include <lib_str.h>
#include <app_cfg.h>
#include <wolfssl/ssl.h>
#include "client_wolfssl.h"
/* 172.217.3.174 is the IP address of https://www.google.com */
#define TCP_SERVER_IP_ADDR "172.217.3.174"
#define TCP_SERVER_DOMAIN_NAME "www.google.com"
#define TCP_SERVER_PORT 443
#define TX_BUF_SIZE 64
#define RX_BUF_SIZE 1024
#define TX_MSG "GET /index.html HTTP/1.0\r\n\r\n"
#define TX_MSG_SIZE sizeof(TX_MSG)
static const CPU_INT08U google_certs_ca[]="\n\
## Google Internet Authority G3 \n\
-----BEGIN CERTIFICATE-----\n\
MIIEXDCCA0SgAwIBAgINAeOpMBz8cgY4P5pTHTANBgkqhkiG9w0BAQsFADBMMSAw\n\
HgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFs\n\
U2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xNzA2MTUwMDAwNDJaFw0yMTEy\n\
MTUwMDAwNDJaMFQxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVHb29nbGUgVHJ1c3Qg\n\
U2VydmljZXMxJTAjBgNVBAMTHEdvb2dsZSBJbnRlcm5ldCBBdXRob3JpdHkgRzMw\n\
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKUkvqHv/OJGuo2nIYaNVW\n\
XQ5IWi01CXZaz6TIHLGp/lOJ+600/4hbn7vn6AAB3DVzdQOts7G5pH0rJnnOFUAK\n\
71G4nzKMfHCGUksW/mona+Y2emJQ2N+aicwJKetPKRSIgAuPOB6Aahh8Hb2XO3h9\n\
RUk2T0HNouB2VzxoMXlkyW7XUR5mw6JkLHnA52XDVoRTWkNty5oCINLvGmnRsJ1z\n\
ouAqYGVQMc/7sy+/EYhALrVJEA8KbtyX+r8snwU5C1hUrwaW6MWOARa8qBpNQcWT\n\
kaIeoYvy/sGIJEmjR0vFEwHdp1cSaWIr6/4g72n7OqXwfinu7ZYW97EfoOSQJeAz\n\
AgMBAAGjggEzMIIBLzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUH\n\
AwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHfCuFCa\n\
Z3Z2sS3ChtCDoH6mfrpLMB8GA1UdIwQYMBaAFJviB1dnHB7AagbeWbSaLd/cGYYu\n\
MDUGCCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AucGtpLmdv\n\
b2cvZ3NyMjAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLnBraS5nb29nL2dz\n\
cjIvZ3NyMi5jcmwwPwYDVR0gBDgwNjA0BgZngQwBAgIwKjAoBggrBgEFBQcCARYc\n\
aHR0cHM6Ly9wa2kuZ29vZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEA\n\
HLeJluRT7bvs26gyAZ8so81trUISd7O45skDUmAge1cnxhG1P2cNmSxbWsoiCt2e\n\
ux9LSD+PAj2LIYRFHW31/6xoic1k4tbWXkDCjir37xTTNqRAMPUyFRWSdvt+nlPq\n\
wnb8Oa2I/maSJukcxDjNSfpDh/Bd1lZNgdd/8cLdsE3+wypufJ9uXO1iQpnh9zbu\n\
FIwsIONGl1p3A8CgxkqI/UAih3JaGOqcpcdaCIzkBaR9uYQ1X4k2Vg5APRLouzVy\n\
7a8IVk6wuy6pm+T7HT4LY8ibS5FEZlfAFLSW8NwsVz9SBK2Vqn1N0PIMn5xA6NZV\n\
c7o835DLAFshEWfC7TIe3g==\n\
-----END CERTIFICATE-----\n\
## Google Trust Services- GlobalSign Root CA-R2\n\
-----BEGIN CERTIFICATE-----\n\
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G\n\
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp\n\
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1\n\
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG\n\
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI\n\
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL\n\
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8\n\
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq\n\
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd\n\
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa\n\
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB\n\
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH\n\
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n\n\
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG\n\
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs\n\
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO\n\
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS\n\
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd\n\
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7\n\
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==\n\
-----END CERTIFICATE-----\n\
";
int wolfssl_client_test(void) {
NET_ERR err;
NET_SOCK_ID sock;
NET_IPv4_ADDR server_ip_addr;
NET_SOCK_ADDR_IPv4 server_addr;
CPU_CHAR rx_buf[RX_BUF_SIZE];
CPU_CHAR tx_buf[TX_BUF_SIZE];
OS_ERR os_err;
int ret = 0, error = 0;
WOLFSSL* ssl;
WOLFSSL_CTX* ctx;
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* wolfSSL INIT and CTX SETUP */
wolfSSL_Init();
/* SET UP NETWORK SOCKET */
APP_TRACE_INFO(("Opening a network socket...\r\n"));
sock = NetSock_Open(NET_SOCK_ADDR_FAMILY_IP_V4,
NET_SOCK_TYPE_STREAM,
NET_SOCK_PROTOCOL_TCP,
&err);
if (err != NET_SOCK_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetSock_Open, err = %d\r\n", (int) err));
return -1;
}
#ifdef NET_SECURE_MODULE_EN
APP_TRACE_INFO(("Setting the socket as secure...\r\n"));
(void)NetSock_CfgSecure(sock,
DEF_YES,
&err);
if (err != NET_SOCK_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetSock_CfgSecure, err = %d\r\n", (int) err));
NetSock_Close(sock, &err);
return -1;
}
APP_TRACE_INFO(("Configure the common name of the server...\r\n"));
(void)NetSock_CfgSecureClientCommonName(sock,
TCP_SERVER_DOMAIN_NAME,
&err);
if (err != NET_SOCK_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetSock_CfgSecureClientCommonName, \
err = %d\r\n", (int) err));
NetSock_Close(sock, &err);
return -1;
}
#endif /* NET_SECURE_MODULE_EN */
APP_TRACE_INFO(("Calling NetASCII_Str_to_IPv4...\r\n"));
server_ip_addr = NetASCII_Str_to_IPv4(TCP_SERVER_IP_ADDR, &err);
if (err != NET_ASCII_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetASCII_Str_to_IPv4, err = %d\r\n", (int) err));
NetSock_Close(sock, &err);
return -1;
}
APP_TRACE_INFO(("Clearing memory for server_addr struct\r\n"));
Mem_Clr((void *) &server_addr, (CPU_SIZE_T) sizeof(server_addr));
APP_TRACE_INFO(("Setting server IP address: %s, port: %d\r\n",
TCP_SERVER_IP_ADDR, TCP_SERVER_PORT));
server_addr.AddrFamily = NET_SOCK_ADDR_FAMILY_IP_V4;
server_addr.Addr = NET_UTIL_HOST_TO_NET_32(server_ip_addr);
server_addr.Port = NET_UTIL_HOST_TO_NET_16(TCP_SERVER_PORT);
/* CONNECT SOCKET */
APP_TRACE_INFO(("Calling NetSock_Conn on socket\r\n"));
NetSock_Conn((NET_SOCK_ID) sock,
(NET_SOCK_ADDR *) &server_addr,
(NET_SOCK_ADDR_LEN) sizeof(server_addr),
(NET_ERR*) &err);
if (err != NET_SOCK_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetSock_Conn, err = %d\r\n", (int) err));
NetSock_Close(sock, &err);
return -1;
}
ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method());
if (ctx == 0) {
APP_TRACE_INFO(("ERROR: wolfSSL_CTX_new failed\r\n"));
NetSock_Close(sock, &err);
return -1;
}
APP_TRACE_INFO(("wolfSSL_CTX_new done\r\n"));
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL);
ret = wolfSSL_CTX_load_verify_buffer(ctx,
google_certs_ca,
sizeof(google_certs_ca),
SSL_FILETYPE_PEM);
if (ret != SSL_SUCCESS) {
APP_TRACE_INFO(("ERROR: wolfSSL_CTX_load_verify_buffer() failed\r\n"));
NetSock_Close(sock, &err);
wolfSSL_CTX_free(ctx);
return -1;
}
if ((ssl = wolfSSL_new(ctx)) == NULL) {
APP_TRACE_INFO(("ERROR: wolfSSL_new() failed\r\n"));
NetSock_Close(sock, &err);
wolfSSL_CTX_free(ctx);
return -1;
}
APP_TRACE_INFO(("wolfSSL_new done\r\n"));
ret = wolfSSL_set_fd(ssl, sock);
if (ret != SSL_SUCCESS) {
APP_TRACE_INFO(("ERROR: wolfSSL_set_fd() failed\r\n"));
NetSock_Close(sock, &err);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return -1;
}
APP_TRACE_INFO(("wolfSSL_set_fd done\r\n"));
do {
error = 0; /* reset error */
ret = wolfSSL_connect(ssl);
if (ret != SSL_SUCCESS) {
error = wolfSSL_get_error(ssl, 0);
APP_TRACE_INFO(
("ERROR: wolfSSL_connect() failed, err = %d\r\n", error));
if (error != SSL_ERROR_WANT_READ) {
NetSock_Close(sock, &err);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return -1;
}
OSTimeDlyHMSM(0u, 0u, 1u, 0u, OS_OPT_TIME_HMSM_STRICT, &os_err);
}
} while ((ret != SSL_SUCCESS) && (error == SSL_ERROR_WANT_READ));
APP_TRACE_INFO(("wolfSSL_connect() ok... sending GET\r\n"));
Str_Copy_N(tx_buf, TX_MSG, TX_MSG_SIZE);
if (wolfSSL_write(ssl, tx_buf, TX_MSG_SIZE) != TX_MSG_SIZE) {
error = wolfSSL_get_error(ssl, 0);
APP_TRACE_INFO(("ERROR: wolfSSL_write() failed, err = %d\r\n", error));
NetSock_Close(sock, &err);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return -1;
}
do {
error = 0; /* reset error */
ret = wolfSSL_read(ssl, rx_buf, RX_BUF_SIZE - 1);
if (ret < 0) {
error = wolfSSL_get_error(ssl, 0);
if (error != SSL_ERROR_WANT_READ) {
APP_TRACE_INFO(("wolfSSL_read failed, error = %d\r\n", error));
NetSock_Close(sock, &err);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return -1;
}
OSTimeDlyHMSM(0u, 0u, 1u, 0u, OS_OPT_TIME_HMSM_STRICT, &os_err);
} else if (ret > 0) {
rx_buf[ret] = 0;
APP_TRACE_INFO(("%s\r\n", rx_buf));
}
} while (error == SSL_ERROR_WANT_READ);
wolfSSL_shutdown(ssl);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
wolfSSL_Cleanup();
NetSock_Close(sock, &err);
return 0;
}

View File

@@ -0,0 +1,35 @@
/* client_wolfssl.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 __CLIENT_WOLFSSL_H__
#define __CLIENT_WOLFSSL_H__
#ifdef __cplusplus
extern "C" {
#endif
int wolfssl_client_test(void);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CLIENT_WOLFSSL_H */

View File

@@ -0,0 +1,12 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST += \
IDE/ECLIPSE/MICRIUM/README.md \
IDE/ECLIPSE/MICRIUM/user_settings.h \
IDE/ECLIPSE/MICRIUM/client_wolfssl.h \
IDE/ECLIPSE/MICRIUM/server_wolfssl.h \
IDE/ECLIPSE/MICRIUM/client_wolfssl.c \
IDE/ECLIPSE/MICRIUM/server_wolfssl.c \
IDE/ECLIPSE/MICRIUM/wolfsslRunTests.c

View File

@@ -0,0 +1,335 @@
/* server_wolfssl.c
*
* 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 <Source/net_sock.h>
#include <Source/net_app.h>
#include <Source/net_util.h>
#include <Source/net_ascii.h>
#include <app_cfg.h>
#include "wolfssl/ssl.h"
#include "server_wolfssl.h"
#define TLS_SERVER_PORT 11111
#define TX_BUF_SIZE 64
#define RX_BUF_SIZE 1024
#define TCP_SERVER_CONN_Q_SIZE 1
/* derived from wolfSSL/certs/server-ecc.der */
static const CPU_INT08U server_ecc_der_256[] = { 0x30, 0x82, 0x03, 0x10,
0x30, 0x82, 0x02, 0xB5, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x09, 0x00,
0xEF, 0x46, 0xC7, 0xA4, 0x9B, 0xBB, 0x60, 0xD3, 0x30, 0x0A, 0x06, 0x08,
0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x02, 0x30, 0x81, 0x8F, 0x31,
0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53,
0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0C, 0x0A, 0x57,
0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30,
0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0C, 0x07, 0x53, 0x65, 0x61, 0x74,
0x74, 0x6C, 0x65, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x0A,
0x0C, 0x07, 0x45, 0x6C, 0x69, 0x70, 0x74, 0x69, 0x63, 0x31, 0x0C, 0x30,
0x0A, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x0C, 0x03, 0x45, 0x43, 0x43, 0x31,
0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, 0x0F, 0x77, 0x77,
0x77, 0x2E, 0x77, 0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F,
0x6D, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7,
0x0D, 0x01, 0x09, 0x01, 0x16, 0x10, 0x69, 0x6E, 0x66, 0x6F, 0x40, 0x77,
0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x1E,
0x17, 0x0D, 0x31, 0x36, 0x30, 0x38, 0x31, 0x31, 0x32, 0x30, 0x30, 0x37,
0x33, 0x38, 0x5A, 0x17, 0x0D, 0x31, 0x39, 0x30, 0x35, 0x30, 0x38, 0x32,
0x30, 0x30, 0x37, 0x33, 0x38, 0x5A, 0x30, 0x81, 0x8F, 0x31, 0x0B, 0x30,
0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13,
0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0C, 0x0A, 0x57, 0x61, 0x73,
0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E, 0x06,
0x03, 0x55, 0x04, 0x07, 0x0C, 0x07, 0x53, 0x65, 0x61, 0x74, 0x74, 0x6C,
0x65, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x0C, 0x07,
0x45, 0x6C, 0x69, 0x70, 0x74, 0x69, 0x63, 0x31, 0x0C, 0x30, 0x0A, 0x06,
0x03, 0x55, 0x04, 0x0B, 0x0C, 0x03, 0x45, 0x43, 0x43, 0x31, 0x18, 0x30,
0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, 0x0F, 0x77, 0x77, 0x77, 0x2E,
0x77, 0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x31,
0x1F, 0x30, 0x1D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01,
0x09, 0x01, 0x16, 0x10, 0x69, 0x6E, 0x66, 0x6F, 0x40, 0x77, 0x6F, 0x6C,
0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x59, 0x30, 0x13,
0x06, 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01, 0x06, 0x08, 0x2A,
0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xBB,
0x33, 0xAC, 0x4C, 0x27, 0x50, 0x4A, 0xC6, 0x4A, 0xA5, 0x04, 0xC3, 0x3C,
0xDE, 0x9F, 0x36, 0xDB, 0x72, 0x2D, 0xCE, 0x94, 0xEA, 0x2B, 0xFA, 0xCB,
0x20, 0x09, 0x39, 0x2C, 0x16, 0xE8, 0x61, 0x02, 0xE9, 0xAF, 0x4D, 0xD3,
0x02, 0x93, 0x9A, 0x31, 0x5B, 0x97, 0x92, 0x21, 0x7F, 0xF0, 0xCF, 0x18,
0xDA, 0x91, 0x11, 0x02, 0x34, 0x86, 0xE8, 0x20, 0x58, 0x33, 0x0B, 0x80,
0x34, 0x89, 0xD8, 0xA3, 0x81, 0xF7, 0x30, 0x81, 0xF4, 0x30, 0x1D, 0x06,
0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x5D, 0x5D, 0x26, 0xEF,
0xAC, 0x7E, 0x36, 0xF9, 0x9B, 0x76, 0x15, 0x2B, 0x4A, 0x25, 0x02, 0x23,
0xEF, 0xB2, 0x89, 0x30, 0x30, 0x81, 0xC4, 0x06, 0x03, 0x55, 0x1D, 0x23,
0x04, 0x81, 0xBC, 0x30, 0x81, 0xB9, 0x80, 0x14, 0x5D, 0x5D, 0x26, 0xEF,
0xAC, 0x7E, 0x36, 0xF9, 0x9B, 0x76, 0x15, 0x2B, 0x4A, 0x25, 0x02, 0x23,
0xEF, 0xB2, 0x89, 0x30, 0xA1, 0x81, 0x95, 0xA4, 0x81, 0x92, 0x30, 0x81,
0x8F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0C,
0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31,
0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0C, 0x07, 0x53, 0x65,
0x61, 0x74, 0x74, 0x6C, 0x65, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
0x04, 0x0A, 0x0C, 0x07, 0x45, 0x6C, 0x69, 0x70, 0x74, 0x69, 0x63, 0x31,
0x0C, 0x30, 0x0A, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x0C, 0x03, 0x45, 0x43,
0x43, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, 0x0F,
0x77, 0x77, 0x77, 0x2E, 0x77, 0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E,
0x63, 0x6F, 0x6D, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x09, 0x2A, 0x86, 0x48,
0x86, 0xF7, 0x0D, 0x01, 0x09, 0x01, 0x16, 0x10, 0x69, 0x6E, 0x66, 0x6F,
0x40, 0x77, 0x6F, 0x6C, 0x66, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D,
0x82, 0x09, 0x00, 0xEF, 0x46, 0xC7, 0xA4, 0x9B, 0xBB, 0x60, 0xD3, 0x30,
0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01,
0xFF, 0x30, 0x0A, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03,
0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xF1, 0xD0, 0xA6,
0x3E, 0x83, 0x33, 0x24, 0xD1, 0x7A, 0x05, 0x5F, 0x1E, 0x0E, 0xBD, 0x7D,
0x6B, 0x33, 0xE9, 0xF2, 0x86, 0xF3, 0xF3, 0x3D, 0xA9, 0xEF, 0x6A, 0x87,
0x31, 0xB3, 0xB7, 0x7E, 0x50, 0x02, 0x21, 0x00, 0xF0, 0x60, 0xDD, 0xCE,
0xA2, 0xDB, 0x56, 0xEC, 0xD9, 0xF4, 0xE4, 0xE3, 0x25, 0xD4, 0xB0, 0xC9,
0x25, 0x7D, 0xCA, 0x7A, 0x5D, 0xBA, 0xC4, 0xB2, 0xF6, 0x7D, 0x04, 0xC7,
0xBD, 0x62, 0xC9, 0x20 };
/* derived from wolfSSL/certs/ecc-key.der */
static const CPU_INT08U ecc_key_der_256[] = { 0x30, 0x77, 0x02, 0x01, 0x01,
0x04, 0x20, 0x45, 0xB6, 0x69, 0x02, 0x73, 0x9C, 0x6C, 0x85, 0xA1, 0x38,
0x5B, 0x72, 0xE8, 0xE8, 0xC7, 0xAC, 0xC4, 0x03, 0x8D, 0x53, 0x35, 0x04,
0xFA, 0x6C, 0x28, 0xDC, 0x34, 0x8D, 0xE1, 0xA8, 0x09, 0x8C, 0xA0, 0x0A,
0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07, 0xA1, 0x44,
0x03, 0x42, 0x00, 0x04, 0xBB, 0x33, 0xAC, 0x4C, 0x27, 0x50, 0x4A, 0xC6,
0x4A, 0xA5, 0x04, 0xC3, 0x3C, 0xDE, 0x9F, 0x36, 0xDB, 0x72, 0x2D, 0xCE,
0x94, 0xEA, 0x2B, 0xFA, 0xCB, 0x20, 0x09, 0x39, 0x2C, 0x16, 0xE8, 0x61,
0x02, 0xE9, 0xAF, 0x4D, 0xD3, 0x02, 0x93, 0x9A, 0x31, 0x5B, 0x97, 0x92,
0x21, 0x7F, 0xF0, 0xCF, 0x18, 0xDA, 0x91, 0x11, 0x02, 0x34, 0x86, 0xE8,
0x20, 0x58, 0x33, 0x0B, 0x80, 0x34, 0x89, 0xD8 };
int wolfssl_server_test(void)
{
NET_ERR err;
NET_SOCK_ID sock_listen;
NET_SOCK_ID sock_req;
NET_SOCK_ADDR_IPv4 server_addr;
NET_SOCK_ADDR_LEN server_addr_len;
NET_SOCK_ADDR_IPv4 client_sock_addr_ip;
NET_SOCK_ADDR_LEN client_sock_addr_ip_size;
CPU_CHAR rx_buf[RX_BUF_SIZE];
CPU_CHAR tx_buf[TX_BUF_SIZE];
CPU_BOOLEAN attempt_conn;
OS_ERR os_err;
WOLFSSL * ssl;
WOLFSSL_CTX * ctx;
int tx_buf_sz = 0, ret = 0, error = 0;
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* wolfSSL INIT and CTX SETUP */
wolfSSL_Init();
/* SET UP NETWORK SOCKET */
APP_TRACE_INFO(("Opening network socket...\r\n"));
sock_listen = NetSock_Open(NET_SOCK_ADDR_FAMILY_IP_V4,
NET_SOCK_TYPE_STREAM,
NET_SOCK_PROTOCOL_TCP,
&err);
if (err != NET_SOCK_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetSock_Open, err = %d\r\n", (int) err));
return -1;
}
APP_TRACE_INFO(("Clearing memory for server_addr struct\r\n"));
server_addr_len = sizeof(server_addr);
Mem_Clr((void *) &server_addr, (CPU_SIZE_T) server_addr_len);
APP_TRACE_INFO(("Setting up server_addr struct\r\n"));
server_addr.AddrFamily = NET_SOCK_ADDR_FAMILY_IP_V4;
server_addr.Addr = NET_UTIL_HOST_TO_NET_32(NET_SOCK_ADDR_IP_V4_WILDCARD);
server_addr.Port = NET_UTIL_HOST_TO_NET_16(TLS_SERVER_PORT);
NetSock_Bind((NET_SOCK_ID) sock_listen,
(NET_SOCK_ADDR*) &server_addr,
(NET_SOCK_ADDR_LEN) NET_SOCK_ADDR_SIZE,
(NET_ERR*) &err);
if (err != NET_SOCK_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetSock_Bind, err = %d\r\n", (int) err));
NetSock_Close(sock_listen, &err);
return -1;
}
ctx = wolfSSL_CTX_new(wolfTLSv1_2_server_method());
if (ctx == 0) {
APP_TRACE_INFO(("ERROR: wolfSSL_CTX_new failed\r\n"));
NetSock_Close(sock_listen, &err);
return -1;
}
APP_TRACE_INFO(("wolfSSL_CTX_new done\r\n"));
ret = wolfSSL_CTX_use_certificate_buffer(ctx,
server_ecc_der_256,
sizeof(server_ecc_der_256),
SSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
APP_TRACE_INFO(
("ERROR: wolfSSL_CTX_use_certificate_buffer() failed\r\n"));
NetSock_Close(sock_listen, &err);
wolfSSL_CTX_free(ctx);
return -1;
}
ret = wolfSSL_CTX_use_PrivateKey_buffer(ctx,
ecc_key_der_256,
sizeof(ecc_key_der_256),
SSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
APP_TRACE_INFO(
("ERROR: wolfSSL_CTX_use_PrivateKey_buffer() failed\r\n"));
NetSock_Close(sock_listen, &err);
wolfSSL_CTX_free(ctx);
return -1;
}
/* accept client socket connections */
APP_TRACE_INFO(("Listening for client connection\r\n"));
NetSock_Listen(sock_listen, TCP_SERVER_CONN_Q_SIZE, &err);
if (err != NET_SOCK_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetSock_Listen, err = %d\r\n", (int) err));
NetSock_Close(sock_listen, &err);
wolfSSL_CTX_free(ctx);
return -1;
}
do {
client_sock_addr_ip_size = sizeof(client_sock_addr_ip);
sock_req = NetSock_Accept((NET_SOCK_ID) sock_listen,
(NET_SOCK_ADDR*) &client_sock_addr_ip,
(NET_SOCK_ADDR_LEN*) &client_sock_addr_ip_size,
(NET_ERR*) &err);
switch (err) {
case NET_SOCK_ERR_NONE:
attempt_conn = DEF_NO;
break;
case NET_ERR_INIT_INCOMPLETE:
case NET_SOCK_ERR_NULL_PTR:
case NET_SOCK_ERR_NONE_AVAIL:
case NET_SOCK_ERR_CONN_ACCEPT_Q_NONE_AVAIL:
attempt_conn = DEF_YES;
break;
case NET_SOCK_ERR_CONN_SIGNAL_TIMEOUT:
APP_TRACE_INFO(
("NetSockAccept err = NET_SOCK_ERR_CONN_SIGNAL_TIMEOUT\r\n"));
attempt_conn = DEF_YES;
break;
default:
attempt_conn = DEF_NO;
break;
}
} while (attempt_conn == DEF_YES);
if (err != NET_SOCK_ERR_NONE) {
APP_TRACE_INFO(("ERROR: NetSock_Accept, err = %d\r\n", (int) err));
NetSock_Close(sock_listen, &err);
return -1;
}
APP_TRACE_INFO(("Got client connection! Starting TLS negotiation\r\n"));
/* set up wolfSSL session */
if ((ssl = wolfSSL_new(ctx)) == NULL) {
APP_TRACE_INFO(("ERROR: wolfSSL_new() failed\r\n"));
NetSock_Close(sock_req, &err);
NetSock_Close(sock_listen, &err);
wolfSSL_CTX_free(ctx);
return -1;
}
APP_TRACE_INFO(("wolfSSL_new done\r\n"));
ret = wolfSSL_set_fd(ssl, sock_req);
if (ret != SSL_SUCCESS) {
APP_TRACE_INFO(("ERROR: wolfSSL_set_fd() failed\r\n"));
NetSock_Close(sock_req, &err);
NetSock_Close(sock_listen, &err);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return -1;
}
APP_TRACE_INFO(("wolfSSL_set_fd done\r\n"));
do {
error = 0; /* reset error */
if (ret != SSL_SUCCESS) {
error = wolfSSL_get_error(ssl, 0);
APP_TRACE_INFO(
("ERROR: wolfSSL_accept() failed, err = %d\r\n", error));
if (error != SSL_ERROR_WANT_READ) {
NetSock_Close(sock_req, &err);
NetSock_Close(sock_listen, &err);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return -1;
}
OSTimeDlyHMSM(0u, 0u, 0u, 500u, OS_OPT_TIME_HMSM_STRICT, &os_err);
}
} while ((ret != SSL_SUCCESS) && (error == SSL_ERROR_WANT_READ));
APP_TRACE_INFO(("wolfSSL_accept() ok...\r\n"));
/* read client data */
error = 0;
Mem_Set(rx_buf, 0, RX_BUF_SIZE);
ret = wolfSSL_read(ssl, rx_buf, RX_BUF_SIZE - 1);
if (ret < 0) {
error = wolfSSL_get_error(ssl, 0);
if (error != SSL_ERROR_WANT_READ) {
APP_TRACE_INFO(("wolfSSL_read failed, error = %d\r\n", error));
NetSock_Close(sock_req, &err);
NetSock_Close(sock_listen, &err);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return -1;
}
}
APP_TRACE_INFO(("AFTER wolfSSL_read() call, ret = %d\r\n", ret));
if (ret > 0) {
rx_buf[ret] = 0;
APP_TRACE_INFO(("Client sent: %s\r\n", rx_buf));
}
/* write response to client */
Mem_Set(tx_buf, 0, TX_BUF_SIZE);
tx_buf_sz = 22;
Str_Copy_N(tx_buf, "I hear ya fa shizzle!\n", tx_buf_sz);
if (wolfSSL_write(ssl, tx_buf, tx_buf_sz) != tx_buf_sz) {
error = wolfSSL_get_error(ssl, 0);
APP_TRACE_INFO(("ERROR: wolfSSL_write() failed, err = %d\r\n", error));
NetSock_Close(sock_req, &err);
NetSock_Close(sock_listen, &err);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
return -1;
}
ret = wolfSSL_shutdown(ssl);
if (ret == SSL_SHUTDOWN_NOT_DONE)
wolfSSL_shutdown(ssl);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
wolfSSL_Cleanup();
NetSock_Close(sock_req, &err);
NetSock_Close(sock_listen, &err);
return 0;
}

View File

@@ -0,0 +1,35 @@
/* server_wolfssl.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 __SERVER_WOLFSSL_H__
#define __SERVER_WOLFSSL_H__
#ifdef __cplusplus
extern "C" {
#endif
int wolfssl_server_test(void);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* SERVER_WOLFSSL_H */

View File

@@ -0,0 +1,75 @@
/* user_setting.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 MICRIUM_USER_SETTINGS_H_
#define MICRIUM_USER_SETTINGS_H_
#ifdef __cplusplus
extern "C" {
#endif
#define MICRIUM
/* You can select one or all of the following tests */
#define WOLFSSL_WOLFCRYPT_TEST
#define WOLFSSL_BENCHMARK_TEST
#define WOLFSSL_CLIENT_TEST
#define WOLFSSL_SERVER_TEST
/* adjust CURRENT_UNIX_TS to seconds since Jan 01 1970. (UTC)
You can get the current time from https://www.unixtimestamp.com/
*/
#define CURRENT_UNIX_TS 1542605837
/* When using Windows simulator, you must define USE_WINDOWS_API for test.h to build */
#ifdef _WIN32
#define USE_WINDOWS_API
#endif
#define NO_FILESYSTEM
#define SIZEOF_LONG_LONG 8
/* prevents from including multiple definition of main() */
#define NO_MAIN_DRIVER
#define NO_TESTSUITE_MAIN_DRIVER
/* includes certificate test buffers via header files */
#define USE_CERT_BUFFERS_2048
/*use kB instead of mB for embedded benchmarking*/
#define BENCH_EMBEDDED
#define NO_WRITE_TEMP_FILES
#define XSNPRINTF snprintf
#define HAVE_AESGCM
#define WOLFSSL_SHA512
#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define ED25519_SMALL
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif

View File

@@ -0,0 +1,80 @@
/* wolfsslRunTests.c
*
* 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 <includes.h> /* master includes from Micrium Freescale Kinetis K70*/
#include <wolfssl/ssl.h>
/*
* Description : This function runs wolfssl tests.
* Caller(s) : main() in app.c
* Note(s) : none.
*/
int wolfsslRunTests (void)
{
CLK_ERR err;
CLK_TS_SEC ts_unix_sec;
CPU_BOOLEAN valid;
static int initialized = 0;
if(!initialized) {
Clk_Init(&err);
if (err == CLK_ERR_NONE) {
APP_TRACE_INFO(("Clock module successfully initialized\n"));
} else {
APP_TRACE_INFO(("Clock module initialization failed\n"));
return -1;
}
valid = Clk_GetTS_Unix(&ts_unix_sec);
if (valid == DEF_OK) {
APP_TRACE_INFO(("Timestamp Unix = %u\n", ts_unix_sec));
} else {
APP_TRACE_INFO(("Get TS Unix error\n"));
}
#if defined(CURRENT_UNIX_TS)
valid = Clk_SetTS_Unix(CURRENT_UNIX_TS);
if (valid != DEF_OK) {
APP_TRACE_INFO(("Clk_SetTS_Unix error\n"));
return -1;
}
#endif
initialized = 1;
}
#if defined(WOLFSSL_WOLFCRYPT_TEST)
wolfcrypt_test(NULL);
#endif
#if defined(WOLFSSL_BENCHMARK_TEST)
benchmark_test(NULL);
#endif
#if defined(WOLFSSL_CLIENT_TEST)
wolfssl_client_test();
#endif
#if defined(WOLFSSL_SERVER_TEST)
wolfssl_server_test();
#endif
return 0;
}

View File

@@ -0,0 +1,175 @@
# RT-Thread Port
## Overview
You can enable the wolfSSL support for RT-Thread available [here](https://www.rt-thread.io) using the define `RTTHREAD`.
## Usage
wolfSSL supports a compile-time user configurable options in the `IDE/ECLIPSE/RTTHREAD/user_settings.h` file.
The `wolfssl_test.c` example application provides a simple function to run the test and benchmark.
1. Open your IDE-based example project for RT-Thread.
2. Create the following folder and sub-folders structures in your project.
```
wolfssl
|src
|wolfcrypt
|benchmark
|src
|test
|wolfssl
|openssl
|wolfcrypt
|example
```
The folder hierarchy is the same as the wolfSSL folders with an exception of the example folder.
3. Add or link all of the header and source files in `IDE/ECLIPSE/RTTHREAD/` folder into the example folder.
4. Add or link all the source code in the corresponding folder in wolfSSL.
5. Remove non-C platform dependent files from your build.
6. In your C/C++ compiler preprocessor settings, add the wolfSSL directories to your include paths.
Here's an example of the paths that must be added.
```
$PROJ_DIR$\...
$PROJ_DIR$\...\wolfcrypt
$PROJ_DIR$\...\wolfssl
$PROJ_DIR$\...\IDE\ECLIPSE\RTTHREAD
```
7. In your C/C++ compiler preprocessor settings, define the WOLFSSL_USER_SETTINGS symbol to add user_settings.h file in your project.
8. Add a call to `wolfssl_test()` from your startup task. Here's an example:
```c
static void test_task (void *p_arg)
{
...
while (1) {
wolfssl_test();
rt_thread_mdelay(500);
}
}
```
9. Rebuild all your project.
10. Now you are ready to download and debug your image on the board.
The test results below were collected from the RT-Thread ART-Pi with the following software and tool chains:
- STM32H750XBH6
- RT-Thread Studio (Version: 2.0.0)
- GNU ARM Cross C Compiler (Optimization level: -O0)
- The starting project is based on [RT-Thread ART-Pi SDK](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi) (./projects/art_pi_wifi)
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
### `WOLFSSL_WOLFCRYPT_TEST` output of wolfcrypt_test()
```
error test passed!
MEMORY test passed!
base64 test passed!
asn test passed!
RANDOM test passed!
MD5 test passed!
MD4 test passed!
SHA test passed!
SHA-256 test passed!
SHA-512 test passed!
Hash test passed!
HMAC-MD5 test passed!
HMAC-SHA test passed!
HMAC-SHA256 test passed!
HMAC-SHA512 test passed!
X963-KDF test passed!
GMAC test passed!
ARC4 test passed!
HC-128 test passed!
Rabbit test passed!
DES test passed!
DES3 test passed!
AES test passed!
AES192 test passed!
AES256 test passed!
AES-GCM test passed!
AES Key Wrap test passed!
RSA test passed!
DH test passed!
DSA test passed!
PWDBASED test passed!
ECC test passed!
ECC buffer test passed!
CURVE25519 test passed!
ED25519 test passed!
PKCS7encrypted test passed!
PKCS7signed test passed!
PKCS7enveloped test passed!
PKCS7authenveloped test passed!
logging test passed!
mutex test passed!
memcb test passed!
```
### `WOLFSSL_BENCHMARK_TEST` output of benchmark_test()
```
------------------------------------------------------------------------------
wolfSSL version 4.5.0
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 50 KB took 1.000 seconds, 50.000 KB/s
AES-128-CBC-enc 2 MB took 1.000 seconds, 2.075 MB/s
AES-128-CBC-dec 2 MB took 1.000 seconds, 1.611 MB/s
AES-192-CBC-enc 2 MB took 1.000 seconds, 2.002 MB/s
AES-192-CBC-dec 2 MB took 1.000 seconds, 1.514 MB/s
AES-256-CBC-enc 2 MB took 1.000 seconds, 1.855 MB/s
AES-256-CBC-dec 1 MB took 1.000 seconds, 1.465 MB/s
AES-128-GCM-enc 700 KB took 1.000 seconds, 700.000 KB/s
AES-128-GCM-dec 675 KB took 1.000 seconds, 675.000 KB/s
AES-192-GCM-enc 675 KB took 1.000 seconds, 675.000 KB/s
AES-192-GCM-dec 675 KB took 1.000 seconds, 675.000 KB/s
AES-256-GCM-enc 650 KB took 1.000 seconds, 650.000 KB/s
AES-256-GCM-dec 650 KB took 1.000 seconds, 650.000 KB/s
AES-128-ECB-enc 2 MB took 1.000 seconds, 1.902 MB/s
AES-128-ECB-dec 2 MB took 1.000 seconds, 1.521 MB/s
AES-192-ECB-enc 2 MB took 1.000 seconds, 1.780 MB/s
AES-192-ECB-dec 1 MB took 1.000 seconds, 1.433 MB/s
AES-256-ECB-enc 2 MB took 1.000 seconds, 1.638 MB/s
AES-256-ECB-dec 1 MB took 1.000 seconds, 1.405 MB/s
ARC4 5 MB took 1.000 seconds, 4.956 MB/s
RABBIT 6 MB took 1.000 seconds, 6.470 MB/s
3DES 750 KB took 1.000 seconds, 750.000 KB/s
MD5 12 MB took 1.000 seconds, 12.061 MB/s
SHA 4 MB took 1.000 seconds, 3.979 MB/s
SHA-256 2 MB took 1.000 seconds, 1.782 MB/s
SHA-512 1 MB took 1.000 seconds, 1.001 MB/s
HMAC-MD5 12 MB took 1.000 seconds, 12.329 MB/s
HMAC-SHA 4 MB took 1.000 seconds, 3.662 MB/s
HMAC-SHA256 2 MB took 1.000 seconds, 1.758 MB/s
HMAC-SHA512 1 MB took 1.000 seconds, 1.001 MB/s
PBKDF2 224 bytes took 1.000 seconds, 224.000 bytes/s
RSA 2048 public 20 ops took 1.000 sec, avg 50.000 ms, 20.000 ops/sec
RSA 2048 private 2 ops took 1.000 sec, avg 500.000 ms, 2.000 ops/sec
DH 2048 key gen 4 ops took 1.000 sec, avg 250.000 ms, 4.000 ops/sec
DH 2048 agree 4 ops took 1.000 sec, avg 250.000 ms, 4.000 ops/sec
ECC 256 key gen 6 ops took 1.000 sec, avg 166.667 ms, 6.000 ops/sec
ECDHE 256 agree 6 ops took 1.000 sec, avg 166.667 ms, 6.000 ops/sec
ECDSA 256 sign 6 ops took 1.000 sec, avg 166.667 ms, 6.000 ops/sec
ECDSA 256 verify 4 ops took 1.000 sec, avg 250.000 ms, 4.000 ops/sec
CURVE 25519 key gen 4 ops took 1.000 sec, avg 250.000 ms, 4.000 ops/sec
CURVE 25519 agree 2 ops took 1.000 sec, avg 500.000 ms, 2.000 ops/sec
ED 25519 key gen 4 ops took 1.000 sec, avg 250.000 ms, 4.000 ops/sec
ED 25519 sign 2 ops took 1.000 sec, avg 500.000 ms, 2.000 ops/sec
ED 25519 verify 2 ops took 1.000 sec, avg 500.000 ms, 2.000 ops/sec
```
## References
For more information please contact info@wolfssl.com.

View File

@@ -0,0 +1,8 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST += \
IDE/ECLIPSE/RTTHREAD/README.md \
IDE/ECLIPSE/RTTHREAD/user_settings.h \
IDE/ECLIPSE/RTTHREAD/wolfssl_test.c

View File

@@ -0,0 +1,81 @@
/* user_setting.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 WOLFSSL_USER_SETTINGS_H_
#define WOLFSSL_USER_SETTINGS_H_
#ifdef __cplusplus
extern "C" {
#endif
#define RTTHREAD
/* You can select one or all of the following tests */
#define WOLFSSL_WOLFCRYPT_TEST
#define WOLFSSL_BENCHMARK_TEST
#define WOLFSSL_CLIENT_TEST
#define WOLFSSL_SERVER_TEST
#define USE_TEST_GENSEED
#define NO_DEV_RANDOM
#define HAVE_PKCS7
#define HAVE_AES_KEYWRAP
#define HAVE_X963_KDF
#define WOLFSSL_AES_DIRECT
/* adjust CURRENT_UNIX_TS to seconds since Jan 01 1970. (UTC)
You can get the current time from https://www.unixtimestamp.com/
*/
#define CURRENT_UNIX_TS 1542605837UL
/* When using Windows simulator, you must define USE_WINDOWS_API for test.h to build */
#ifdef _WIN32
#define USE_WINDOWS_API
#endif
#define NO_FILESYSTEM
#define SIZEOF_LONG_LONG 8
/* prevents from including multiple definition of main() */
#define NO_MAIN_DRIVER
#define NO_TESTSUITE_MAIN_DRIVER
/* includes certificate test buffers via header files */
#define USE_CERT_BUFFERS_2048
/*use kB instead of mB for embedded benchmarking*/
#define BENCH_EMBEDDED
#define NO_WRITE_TEMP_FILES
#define XSNPRINTF snprintf
#define NO_WRITEV
#define HAVE_AESGCM
#define WOLFSSL_SHA512
#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define ED25519_SMALL
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif

View File

@@ -0,0 +1,33 @@
/* wolfsslRunTests.c
*
* 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 <stdint.h>
#include <wolfcrypt/test/test.h>
#include <wolfcrypt/benchmark/benchmark.h>
int wolfssl_test(void) {
#if !defined(NO_CRYPT_TEST)
wolfcrypt_test(NULL);
#endif
#if !defined(NO_CRYPT_BENCHMARK)
benchmark_test(NULL);
#endif
return 0;
}

View File

@@ -0,0 +1 @@
This folder has moved to `IDE/RISCV/SIFIVE-HIFIVE1`.

View File

@@ -0,0 +1,6 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST += \
IDE/ECLIPSE/SIFIVE/README.md

View File

@@ -0,0 +1,45 @@
# ESP-IDF port
## Overview
ESP-IDF development framework with wolfSSL by setting *WOLFSSL_ESPIDF* definition
Including the following examples:
* Simple [tls_client](./examples/wolfssl_client/)/[server](./examples/wolfssl_server/)
* Cryptographic [test](./examples/wolfssl_test/)
* Cryptographic [benchmark](./examples/wolfssl_benchmark/)
The *user_settings.h* file enables some of the hardened settings.
## Requirements
1. [ESP-IDF development framework](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/)
Note: This expects to use Linux version.
## Setup for Linux
1. Run `setup.sh` at _/path/to_`/wolfssl/IDE/Espressif/ESP-IDF/` to deploy files into ESP-IDF tree
For Windows : Run `setup_win.bat` at `.\IDE\Espressif\ESP-IDF\`
2. Find Wolfssl files at _/path/to/esp_`/esp-idf/components/wolfssl/`
3. Find [Example programs](https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif/ESP-IDF/examples) under _/path/to/esp_`/esp-idf/examples/protocols/wolfssl_xxx` (where xxx is the project name)
4. Uncomment out `#define WOLFSSL_ESPIDF` in _/path/to/esp_`/esp-idf/components/wolfssl/wolfssl/wolfcrypt/settings.h`
Uncomment out `#define WOLFSSL_ESPWROOM32` in _/path/to/esp_`/esp-idf/components/wolfssl/wolfssl/wolfcrypt/settings.h`
for example the default:
`~/esp/esp-idf/components/wolfssl/wolfssl/wolfcrypt/settings.h`
## Configuration
1. The `user_settings.h` can be found in _/path/to/esp_`/esp-idf/components/wolfssl/include/user_settings.h`
## Build examples
1. See README in each example folder
## Support
For question please email [support@wolfssl.com]
Note: This is tested with :
- OS: Ubuntu 18.04.1 LTS and Microsoft Windows 10 Pro 10.0.19041 and well as WSL Ubuntu
- ESP-IDF: v4.1 and v4.0.1
- Module : ESP32-WROOM-32

View File

@@ -0,0 +1,54 @@
# DEMO program with ATECC608A on ESP-WROOM-32SE
## Overview
Running demo programs with ATECC608A on 32SE by setting `WOLFSSL_ESPWROOM32SE` definition
Including the following examples:
* simple `tls_client`/`tls_server`
* crypt benchmark
The `user_settings.h` file enables some of the hardened settings.
## Requirements
1. ESP-IDF development framework: https://docs.espressif.com/projects/esp-idf/en/latest/get-started/
2. Microchip CryptoAuthentication Library: https://github.com/MicrochipTech/cryptoauthlib
## Setup
1. wolfSSL under ESP-IDF. Please see [README.md](https://github.com/wolfSSL/wolfssl/blob/master/IDE/Espressif/ESP-IDF/README.md)
2. CryptoAuthentication Library under ESP-IDF. Please see [README.md](https://github.com/miyazakh/cryptoauthlib_esp_idf/blob/master/README.md)
3. Uncomment out `#define WOLFSSL_ESPWROOM32SE` in `/path/to/wolfssl/wolfssl/wolfcrypt/settings.h`
* **Note:** Need to enable `WOLFSSL_ESPIDF`
* **Note:** crypt test will fail if enabled `WOLFSSL_ESPWROOM32SE`
## Configuration
1. The `user_settings.h` can be found in `/path/to/esp-idf/components/wolfssl/include/user_settings.h`
## Build examples
1. See `README` in each example folder
## Benchmark
w/o atecc608a
```
ECC 256 key gen 4 ops took 1.092 sec, avg 273.000 ms, 3.663 ops/sec
ECDHE 256 agree 4 ops took 1.091 sec, avg 272.750 ms, 3.666 ops/sec
ECDSA 256 sign 4 ops took 1.102 sec, avg 275.500 ms, 3.630 ops/sec
ECDSA 256 verify 2 ops took 1.091 sec, avg 545.500 ms, 1.833 ops/sec
```
w/ atecc608a
```
ECC 256 key gen 11 ops took 1.074 sec, avg 97.636 ms, 10.242 ops/sec
ECDHE 256 agree 6 ops took 1.068 sec, avg 178.000 ms, 5.618 ops/sec
ECDSA 256 sign 8 ops took 1.009 sec, avg 126.125 ms, 7.929 ops/sec
ECDSA 256 verify 14 ops took 1.079 sec, avg 77.071 ms, 12.975 ops/sec
```
## Support
For question please email [support@wolfssl.com](mailto:support@wolfssl.com)
Note: This is tested with the following condition:
- Model : ESP32-WROOM-32SE
- ESP-IDF : v3.3-beta1-39-g6cb37ecc5(commit hash : 6cb37ecc5)
- CryptAuthLib: commit hash : c6b176e
- OS : Ubuntu 18.04.1 LTS (Bionic Beaver)

View File

@@ -1,28 +1,24 @@
/* certs_test.c
/* config.h - dummy
*
* Copyright (C) 2006-2014 wolfSSL Inc.
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of CyaSSL.
* This file is part of wolfSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* 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.
*
* CyaSSL is distributed in the hope that it will be useful,
* 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-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#ifndef _CONFIG_H_
#define _CONFIG_H_
#endif
/* Define initial data for cert buffers */
#include <cyassl/certs_test.h>

View File

@@ -0,0 +1,6 @@
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(wolfssl_benchmark)

View File

@@ -0,0 +1,11 @@
#
# This is a project Makefile. It is assumed the directory this Makefile resides in is a
# project subdirectory.
#
PROJECT_NAME := wolfssl_benchmark
CFLAGS += -DWOLFSSL_USER_SETTINGS
include $(IDF_PATH)/make/project.mk

View File

@@ -0,0 +1,16 @@
#wolfSSL Example
The Example contains of wolfSSL benchmark program.
1. "make menuconfig" to configure the program.
1-1. Example Configuration ->
BENCH_ARG : argument that you want to use. Default is "-lng 0"
The list of argument can be find in help.
When you want to run the benchmark program
1. "make flash" to compile and load the firmware
2. "make monitor" to see the message
See the README.md file in the upper level 'examples' directory for more information about examples.

View File

@@ -0,0 +1,10 @@
#
# wolfssl benchmark test
#
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS")
set(COMPONENT_SRCS "benchmark.c" "helper.c")
set(COMPONENT_ADD_INCLUDEDIRS ".")
register_component()

View File

@@ -0,0 +1,29 @@
menu "Example Configuration"
config BENCH_ARGV
string "Arguments for benchmark test"
default "-lng 0"
help
-? <num> Help, print this usage
0: English, 1: Japanese
-csv Print terminal output in csv format
-base10 Display bytes as power of 10 (eg 1 kB = 1000 Bytes)
-no_aad No additional authentication data passed.
-dgst_full Full digest operation performed.
-rsa_sign Measure RSA sign/verify instead of encrypt/decrypt.
-<alg> Algorithm to benchmark. Available algorithms include:
cipher aes-cbc aes-gcm chacha20 chacha20-poly1305
digest md5 poly1305 sha sha2 sha224 sha256 sha384 sha512 sha3
sha3-224 sha3-256 sha3-384 sha3-512
mac hmac hmac-md5 hmac-sha hmac-sha224 hmac-sha256 hmac-sha384
hmac-sha512
asym rsa rsa-sz dh ecc-kg ecc
other rng
-lng <num> Display benchmark result by specified language.
0: English, 1: Japanese
<num> Size of block in bytes
e.g -lng 1
e.g sha
endmenu

View File

@@ -0,0 +1,8 @@
#
# Main component makefile.
#
# This Makefile can be left empty. By default, it will take the sources in the
# src/ directory, compile them and link them into lib(subdirectory_name).a
# in the build directory. This behaviour is entirely configurable,
# please read the ESP-IDF documents if you need to do this.
#

View File

@@ -0,0 +1,172 @@
/* helper.c
*
* 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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfcrypt/benchmark/benchmark.h>
#include "sdkconfig.h"
#include "esp_log.h"
#define WOLFSSL_BENCH_ARGV CONFIG_BENCH_ARGV
/* proto-type */
extern void wolf_benchmark_task();
static const char* const TAG = "wolfbenchmark";
char* __argv[22];
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
&& defined(WOLFSSL_ATECC508A)
#include "wolfssl/wolfcrypt/port/atmel/atmel.h"
/* when you need to use a custom slot allocation, */
/* enable the definition CUSTOM_SLOT_ALLOCAION. */
#if defined(CUSTOM_SLOT_ALLOCATION)
static byte mSlotList[ATECC_MAX_SLOT];
/* initialize slot array */
void my_atmel_slotInit()
{
int i;
for(i = 0;i < ATECC_MAX_SLOT;i++) {
mSlotList[i] = ATECC_INVALID_SLOT;
}
}
/* allocate slot depending on slotType */
int my_atmel_alloc(int slotType)
{
int i, slot = -1;
switch(slotType){
case ATMEL_SLOT_ENCKEY:
slot = 4;
break;
case ATMEL_SLOT_DEVICE:
slot = 0;
break;
case ATMEL_SLOT_ECDHE:
slot = 0;
break;
case ATMEL_SLOT_ECDHE_ENC:
slot = 4;
break;
case ATMEL_SLOT_ANY:
for(i = 0;i < ATECC_MAX_SLOT;i++){
if(mSlotList[i] == ATECC_INVALID_SLOT){
slot = i;
break;
}
}
}
return slot;
}
/* free slot array */
void my_atmel_free(int slotId)
{
if(slotId >= 0 && slotId < ATECC_MAX_SLOT){
mSlotList[slotId] = ATECC_INVALID_SLOT;
}
}
#endif /* CUSTOM_SLOT_ALLOCATION */
#endif /* WOLFSSL_ESPWROOM32SE && HAVE_PK_CALLBACK && WOLFSSL_ATECC508A */
int construct_argv()
{
int cnt = 0;
int i = 0;
int len = 0;
char *_argv; /* buffer for copying the string */
char *ch; /* char pointer to trace the string */
char buff[16] = { 0 }; /* buffer for a argument copy */
printf("arg:%s\n", CONFIG_BENCH_ARGV);
len = strlen(CONFIG_BENCH_ARGV);
_argv = (char*)malloc(len + 1);
if (!_argv) {
return -1;
}
memset(_argv, 0, len+1);
memcpy(_argv, CONFIG_BENCH_ARGV, len);
_argv[len] = '\0';
ch = _argv;
__argv[cnt] = malloc(10);
sprintf(__argv[cnt], "benchmark");
__argv[cnt][9] = '\0';
cnt = 1;
while (*ch != '\0')
{
/* skip white-space */
while (*ch == ' ') { ++ch; }
memset(buff, 0, sizeof(buff));
/* copy each args into buffer */
i = 0;
while ((*ch != ' ') && (*ch != '\0') && (i < 16)) {
buff[i] = *ch;
++i;
++ch;
}
/* copy the string into argv */
__argv[cnt] = (char*)malloc(i + 1);
memset(__argv[cnt], 0, i + 1);
memcpy(__argv[cnt], buff, i + 1);
/* next args */
++cnt;
}
free(_argv);
return (cnt);
}
/* entry point */
void app_main(void)
{
(void) TAG;
#ifndef NO_CRYPT_BENCHMARK
/* when using atecc608a on esp32-wroom-32se */
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
&& defined(WOLFSSL_ATECC508A)
#if defined(CUSTOM_SLOT_ALLOCATION)
my_atmel_slotInit();
/* to register the callback, it needs to be initialized. */
if ((wolfCrypt_Init()) != 0) {
ESP_LOGE(TAG, "wolfCrypt_Init failed");
return;
}
atmel_set_slot_allocator(my_atmel_alloc, my_atmel_free);
#endif
#endif
wolf_benchmark_task();
#else
#endif /* NO_CRYPT_BENCHMARK */
}

View File

@@ -0,0 +1,6 @@
CONFIG_BENCH_ARGV="-lng 0"
CONFIG_MAIN_TASK_STACK_SIZE=7500
CONFIG_FREERTOS_HZ=1000
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
170 CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240

View File

@@ -0,0 +1,11 @@
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
# (Not part of the boilerplate)
# This example uses an extra component for common functions such as Wi-Fi and Ethernet connection.
# disable the following line if there isn't the directory
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(wolfssl_client)

View File

@@ -0,0 +1,12 @@
#
# This is a project Makefile. It is assumed the directory this Makefile resides in is a
# project subdirectory.
#
PROJECT_NAME := wolfssl_client
CFLAGS += -DWOLFSSL_USER_SETTINGS
# if there isn't the directory, please disable the line below.
EXTRA_COMPONENT_DIRS = $(IDF_PATH)/examples/common_components/protocol_examples_common
include $(IDF_PATH)/make/project.mk

View File

@@ -0,0 +1,22 @@
#wolfSSL Example
The Example contains of wolfSSL tls client demo.
1. "make menuconfig" to config the project
1-1. Example Configuration ->
WIFI SSID: your own WIFI, which is connected to the Internet.(default is "myssid")
WIFI Password: WIFI password, and default is "mypassword"
Target host ip address : the host that you want to connect to.(default is 127.0.0.1)
Note: the example program uses 11111 port. If you want to use different port
, you need to modify DEFAULT_PORT definition in the code.
When you want to test the wolfSSL client
1. "make flash monitor" to load the firmware and see the context
2. You can use <wolfssl>/examples/server/server program for test.
e.g. Launch ./examples/server/server -v 4 -b -i
See the README.md file in the upper level 'examples' directory for more information about examples.

View File

@@ -0,0 +1,10 @@
#
# wolfssl client test
#
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS")
set(COMPONENT_SRCS "client-tls.c" "wifi_connect.c")
set(COMPONENT_ADD_INCLUDEDIRS "." "./include")
register_component()

View File

@@ -0,0 +1,21 @@
menu "Example Configuration"
config WIFI_SSID
string "WiFi SSID"
default "myssid"
help
SSID (network name) for the example to connect to.
config WIFI_PASSWORD
string "WiFi Password"
default "mypassword"
help
WiFi password (WPA or WPA2) for the example to use.
config TARGET_HOST
string "Target host"
default "127.0.01.1"
help
host address for the example to connect
endmenu

View File

@@ -0,0 +1,291 @@
/* client-tls-callback.c
*
* 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
*/
/* the usual suspects */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
/* ESP specific */
#include "wifi_connect.h"
/* socket includes */
#include "lwip/netdb.h"
#include "lwip/sockets.h"
/* wolfSSL */
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>
#include <wolfssl/certs_test.h>
#ifdef WOLFSSL_TRACK_MEMORY
#include <wolfssl/wolfcrypt/mem_track.h>
#endif
static const char* const TAG = "tls_client";
#if defined(DEBUG_WOLFSSL)
static void ShowCiphers(void)
{
char ciphers[4096];
int ret = wolfSSL_get_ciphers(ciphers, (int)sizeof(ciphers));
if (ret == WOLFSSL_SUCCESS)
printf("%s\n", ciphers);
}
#endif
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
&& defined(WOLFSSL_ATECC508A)
#include "wolfssl/wolfcrypt/port/atmel/atmel.h"
/* when you want to use custom slot allocation */
/* enable the definition CUSTOM_SLOT_ALLOCATION.*/
#if defined(CUSTOM_SLOT_ALLOCATION)
static byte mSlotList[ATECC_MAX_SLOT];
int atmel_set_slot_allocator(atmel_slot_alloc_cb alloc,
atmel_slot_dealloc_cb dealloc);
/* initialize slot array */
void my_atmel_slotInit()
{
int i;
for(i=0;i<ATECC_MAX_SLOT; i++) {
mSlotList[i] = ATECC_INVALID_SLOT;
}
}
/* allocate slot depending on slotType */
int my_atmel_alloc(int slotType)
{
int i, slot = -1;
switch(slotType){
case ATMEL_SLOT_ENCKEY:
slot = 2;
break;
case ATMEL_SLOT_DEVICE:
slot = 0;
break;
case ATMEL_SLOT_ECDHE:
slot = 0;
break;
case ATMEL_SLOT_ECDHE_ENC:
slot = 4;
break;
case ATMEL_SLOT_ANY:
for(i=0;i<ATECC_MAX_SLOT;i++){
if(mSlotList[i] == ATECC_INVALID_SLOT){
slot = i;
break;
}
}
}
return slot;
}
/* free slot array */
void my_atmel_free(int slotId)
{
if(slotId >= 0 && slotId < ATECC_MAX_SLOT){
mSlotList[slotId] = ATECC_INVALID_SLOT;
}
}
#endif /* CUSTOM_SLOT_ALLOCATION */
#endif /* WOLFSSL_ESPWROOM32SE && HAVE_PK_CALLBACK && WOLFSSL_ATECC508A */
/* client task */
void tls_smp_client_task()
{
int ret;
int sockfd;
int doPeerCheck;
int sendGet;
struct sockaddr_in servAddr;
char buff[256];
const char* ch = TLS_SMP_TARGET_HOST;
size_t len;
struct hostent *hp;
struct ip4_addr *ip4_addr;
const char sndMsg[] = "GET /index.html HTTP/1.0\r\n\r\n";
/* declare wolfSSL objects */
WOLFSSL_CTX *ctx;
WOLFSSL *ssl;
WOLFSSL_ENTER("tls_smp_client_task");
doPeerCheck = 0;
sendGet = 0;
#ifdef DEBUG_WOLFSSL
WOLFSSL_MSG("Debug ON");
wolfSSL_Debugging_ON();
ShowCiphers();
#endif
/* Initialize wolfSSL */
wolfSSL_Init();
/* Create a socket that uses an internet IPv4 address,
* Sets the socket to be stream based (TCP),
* 0 means choose the default protocol. */
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
ESP_LOGE(TAG,"ERROR: failed to create the socket\n");
}
ESP_LOGI(TAG, "get target IP address");
hp = gethostbyname(TLS_SMP_TARGET_HOST);
if (!hp) {
ESP_LOGE(TAG, "Failed to get host name.");
ip4_addr = NULL;
} else {
ip4_addr = (struct ip4_addr *)hp->h_addr;
ESP_LOGI(TAG, IPSTR, IP2STR(ip4_addr));
}
/* Create and initialize WOLFSSL_CTX */
if ((ctx = wolfSSL_CTX_new(wolfSSLv23_client_method())) == NULL) {
ESP_LOGE(TAG,"ERROR: failed to create WOLFSSL_CTX\n");
}
WOLFSSL_MSG("Loading...cert");
/* Load client certificates into WOLFSSL_CTX */
if ((ret = wolfSSL_CTX_load_verify_buffer(ctx, ca_cert_der_2048,
sizeof_ca_cert_der_2048, WOLFSSL_FILETYPE_ASN1)) != SSL_SUCCESS) {
ESP_LOGE(TAG,"ERROR: failed to load %d, please check the file.\n",ret);
}
/* not peer check */
if( doPeerCheck == 0 ){
wolfSSL_CTX_set_verify(ctx, WOLFSSL_VERIFY_NONE, 0);
} else {
WOLFSSL_MSG("Loading... our cert");
/* load our certificate */
if ((ret = wolfSSL_CTX_use_certificate_chain_buffer_format(ctx, client_cert_der_2048,
sizeof_client_cert_der_2048, WOLFSSL_FILETYPE_ASN1)) != SSL_SUCCESS) {
ESP_LOGE(TAG,"ERROR: failed to load chain %d, please check the file.\n",ret);
}
if ((ret = wolfSSL_CTX_use_PrivateKey_buffer(ctx, client_key_der_2048,
sizeof_client_key_der_2048, WOLFSSL_FILETYPE_ASN1)) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx); ctx = NULL;
ESP_LOGE(TAG,"ERROR: failed to load key %d, please check the file.\n", ret);
}
wolfSSL_CTX_set_verify(ctx, WOLFSSL_VERIFY_PEER, 0);
}
/* Initialize the server address struct with zeros */
memset(&servAddr, 0, sizeof(servAddr));
/* Fill in the server address */
servAddr.sin_family = AF_INET; /* using IPv4 */
servAddr.sin_port = htons(DEFAULT_PORT); /* on DEFAULT_PORT */
if(*ch >= '1' && *ch <= '9') {
/* Get the server IPv4 address from the command line call */
WOLFSSL_MSG("inet_pton");
if ((ret = inet_pton(AF_INET, TLS_SMP_TARGET_HOST,
&servAddr.sin_addr)) != 1) {
ESP_LOGE(TAG,"ERROR: invalid address ret=%d\n", ret);
}
} else {
servAddr.sin_addr.s_addr = ip4_addr->addr;
}
/* Connect to the server */
sprintf(buff, "Connecting to server....%s(port:%d)", TLS_SMP_TARGET_HOST
, DEFAULT_PORT);
WOLFSSL_MSG(buff);
printf("%s\n",buff);
if ((ret = connect(sockfd, (struct sockaddr *)&servAddr,
sizeof(servAddr))) == -1){
ESP_LOGE(TAG,"ERROR: failed to connect ret=%d\n", ret);
}
WOLFSSL_MSG("Create a WOLFSSL object");
/* Create a WOLFSSL object */
if ((ssl = wolfSSL_new(ctx)) == NULL) {
ESP_LOGE(TAG,"ERROR: failed to create WOLFSSL object\n");
}
/* when using atecc608a on esp32-wroom-32se */
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
&& defined(WOLFSSL_ATECC508A)
atcatls_set_callbacks(ctx);
/* when using custom slot-allocation */
#if defined(CUSTOM_SLOT_ALLOCATION)
my_atmel_slotInit();
atmel_set_slot_allocator(my_atmel_alloc, my_atmel_free);
#endif
#endif
/* Attach wolfSSL to the socket */
wolfSSL_set_fd(ssl, sockfd);
WOLFSSL_MSG("Connect to wolfSSL on the server side");
/* Connect to wolfSSL on the server side */
if (wolfSSL_connect(ssl) != SSL_SUCCESS) {
ESP_LOGE(TAG,"ERROR: failed to connect to wolfSSL\n");
}
/* Get a message for the server from stdin */
WOLFSSL_MSG("Message for server: ");
memset(buff, 0, sizeof(buff));
if(sendGet){
printf("SSL connect ok, sending GET...\n");
len = XSTRLEN(sndMsg);
strncpy(buff, sndMsg, len);
buff[len] = '\0';
} else {
sprintf(buff, "message from esp32 tls client\n");
len = strnlen(buff, sizeof(buff));
}
/* Send the message to the server */
if (wolfSSL_write(ssl, buff, len) != len) {
ESP_LOGE(TAG,"ERROR: failed to write\n");
}
/* Read the server data into our buff array */
memset(buff, 0, sizeof(buff));
if (wolfSSL_read(ssl, buff, sizeof(buff) - 1) == -1) {
ESP_LOGE(TAG,"ERROR: failed to read\n");
}
/* Print to stdout any data the server sends */
printf("Server:");
printf("%s", buff);
/* Cleanup and return */
wolfSSL_free(ssl); /* Free the wolfSSL object */
wolfSSL_CTX_free(ctx); /* Free the wolfSSL context object */
wolfSSL_Cleanup(); /* Cleanup the wolfSSL environment */
close(sockfd); /* Close the connection to the server */
vTaskDelete(NULL);
return; /* Return reporting a success */
}

View File

@@ -0,0 +1,8 @@
#
# Main component makefile.
#
# This Makefile can be left empty. By default, it will take the sources in the
# src/ directory, compile them and link them into lib(subdirectory_name).a
# in the build directory. This behaviour is entirely configurable,
# please read the ESP-IDF documents if you need to do this.
#

View File

@@ -0,0 +1,43 @@
/* user_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
*/
#ifndef _TLS_WIFI_H_
#define _TLS_WIFI_H_
#include "esp_idf_version.h"
#include "esp_log.h"
#include "esp_wifi.h"
#if ESP_IDF_VERSION_MAJOR >= 4
#include "esp_event.h"
#else
#include "esp_event_loop.h"
#endif
#define DEFAULT_PORT 11111
#define TLS_SMP_CLIENT_TASK_NAME "tls_client_example"
#define TLS_SMP_CLIENT_TASK_WORDS 10240
#define TLS_SMP_CLIENT_TASK_PRIORITY 8
#define TLS_SMP_WIFI_SSID CONFIG_WIFI_SSID
#define TLS_SMP_WIFI_PASS CONFIG_WIFI_PASSWORD
#define TLS_SMP_TARGET_HOST CONFIG_TARGET_HOST
#endif

View File

@@ -0,0 +1,166 @@
/* wifi_connect.c
*
* 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
*/
/*ESP specific */
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "wifi_connect.h"
#include "lwip/sockets.h"
#include "lwip/netdb.h"
#include "lwip/apps/sntp.h"
#include "nvs_flash.h"
#if ESP_IDF_VERSION_MAJOR >= 4
#include "protocol_examples_common.h"
#endif
const static int CONNECTED_BIT = BIT0;
static EventGroupHandle_t wifi_event_group;
/* proto-type */
extern void tls_smp_client_task();
static void tls_smp_client_init();
const static char *TAG = "tls_client";
static EventGroupHandle_t wifi_event_group;
extern void tls_smp_client_task();
static void set_time()
{
/* set dummy wallclock time. */
struct timeval utctime;
struct timezone tz;
struct strftime_buf;
time_t now;
struct tm timeinfo;
char strftime_buf[64];
/* please update the time if seeing unknown failure when loading cert. */
/* this could cause TLS communication failure due to time expiration */
/* incleasing 31536000 seconds is close to spend 356 days. */
utctime.tv_sec = 1619650800; /* dummy time: Wed April 28 23:00:00 2021 */
utctime.tv_usec = 0;
tz.tz_minuteswest = 0;
tz.tz_dsttime = 0;
settimeofday(&utctime, &tz);
time(&now);
localtime_r(&now, &timeinfo);
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
ESP_LOGI(TAG, "The current date/time is: %s", strftime_buf);
#if ESP_IDF_VERSION_MAJOR < 4
/* wait until wifi connect */
xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT,
false, true, portMAX_DELAY);
#endif
/* now we start client tasks. */
tls_smp_client_init();
}
/* create task */
static void tls_smp_client_init(void)
{
int ret;
xTaskHandle _handle;
/* http://esp32.info/docs/esp_idf/html/dd/d3c/group__xTaskCreate.html */
ret = xTaskCreate(tls_smp_client_task,
TLS_SMP_CLIENT_TASK_NAME,
TLS_SMP_CLIENT_TASK_WORDS,
NULL,
TLS_SMP_CLIENT_TASK_PRIORITY,
&_handle);
if (ret != pdPASS) {
ESP_LOGI(TAG, "create thread %s failed", TLS_SMP_CLIENT_TASK_NAME);
}
}
/* event handler for wifi events */
static esp_err_t wifi_event_handler(void *ctx, system_event_t *event)
{
switch (event->event_id)
{
case SYSTEM_EVENT_STA_START:
esp_wifi_connect();
break;
case SYSTEM_EVENT_STA_GOT_IP:
ESP_LOGI(TAG, "got ip:%s",
ip4addr_ntoa(&event->event_info.got_ip.ip_info.ip));
/* http://esp32.info/docs/esp_idf/html/dd/d08/group__xEventGroupSetBits.html */
xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
break;
case SYSTEM_EVENT_STA_DISCONNECTED:
esp_wifi_connect();
xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
break;
default:
break;
}
return ESP_OK;
}
/* entry point */
void app_main(void)
{
ESP_LOGI(TAG, "Start app_main...");
ESP_ERROR_CHECK(nvs_flash_init());
ESP_LOGI(TAG, "Initialize wifi");
#if ESP_IDF_VERSION_MAJOR >= 4 && ESP_IDF_VERSION_MINOR >= 1
esp_netif_init();
#else
tcpip_adapter_init();
#endif
/* */
#if ESP_IDF_VERSION_MAJOR >= 4
(void) wifi_event_handler;
ESP_ERROR_CHECK(esp_event_loop_create_default());
/* This helper function configures Wi-Fi or Ethernet, as selected in menuconfig.
* Read "Establishing Wi-Fi or Ethernet Connection" section in
* examples/protocols/README.md for more information about this function.
*/
ESP_ERROR_CHECK(example_connect());
#else
wifi_event_group = xEventGroupCreate();
ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
wifi_config_t wifi_config = {
.sta = {
.ssid = TLS_SMP_WIFI_SSID,
.password = TLS_SMP_WIFI_PASS,
},
};
/* WiFi station mode */
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) );
/* Wifi Set the configuration of the ESP32 STA or AP */
ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config) );
/* Start Wifi */
ESP_ERROR_CHECK(esp_wifi_start() );
ESP_LOGI(TAG, "wifi_init_sta finished.");
ESP_LOGI(TAG, "connect to ap SSID:%s password:%s",
TLS_SMP_WIFI_SSID, TLS_SMP_WIFI_PASS);
#endif
ESP_LOGI(TAG, "Set dummy time...");
set_time();
}

View File

@@ -0,0 +1,11 @@
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
# (Not part of the boilerplate)
# This example uses an extra component for common functions such as Wi-Fi and Ethernet connection.
# disable the following line if there isn't the directory
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(wolfssl_server)

View File

@@ -0,0 +1,14 @@
#
# This is a project Makefile. It is assumed the directory this Makefile resides in is a
# project subdirectory.
#
PROJECT_NAME := tls_server
CFLAGS += -DWOLFSSL_USER_SETTINGS
# if there isn't the directory, please disable the line below.
EXTRA_COMPONENT_DIRS = $(IDF_PATH)/examples/common_components/protocol_examples_common
include $(IDF_PATH)/make/project.mk

View File

@@ -0,0 +1,22 @@
#wolfSSL Example
The Example contains a wolfSSL simple server.
1. "make menuconfigure" to configure the project
1-1. Example Configuration ->
WIFI SSID : your own WIFI, which is connected to the Internet.(default is "myssid")
WIFI Password : WIFI password, and default is "mypassword"
When you want to test the wolfSSL simple server demo
1. "make flash" to compile the code and load the firmware
2. "make monitor" to see the context. The assigned IP address can be found in output message.
3. Once the server connects to the wifi, it is waiting for client request.
("Waiting for a connection..." message will be displayed.)
4. You can use <wolfssl>/examples/client to test the server
e.g ./example/client/client -h xx.xx.xx
See the README.md file in the upper level 'examples' directory for more information about examples.

View File

@@ -0,0 +1,10 @@
#
# wolfssl server test
#
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS")
set(COMPONENT_SRCS "server-tls.c" "wifi_connect.c")
set(COMPONENT_ADD_INCLUDEDIRS "." "./include")
register_component()

View File

@@ -0,0 +1,15 @@
menu "Example Configuration"
config WIFI_SSID
string "WiFi SSID"
default "myssid"
help
SSID (network name) for the example to connect to.
config WIFI_PASSWORD
string "WiFi Password"
default "mypassword"
help
WiFi password (WPA or WPA2) for the example to use.
endmenu

View File

@@ -0,0 +1,3 @@
#
# Main Makefile. This is basically the same as a component makefile.
#

View File

@@ -0,0 +1,42 @@
/* wifi_connect.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 _TLS_WIFI_H_
#define _TLS_WIFI_H_
#include "esp_idf_version.h"
#include "esp_log.h"
#include "esp_wifi.h"
#if ESP_IDF_VERSION_MAJOR >= 4
#include "esp_event.h"
#else
#include "esp_event_loop.h"
#endif
#define DEFAULT_PORT 11111
#define TLS_SMP_SERVER_TASK_NAME "tls_sever_example"
#define TLS_SMP_SERVER_TASK_WORDS 10240
#define TLS_SMP_SERVER_TASK_PRIORITY 8
#define TLS_SMP_WIFI_SSID CONFIG_WIFI_SSID
#define TLS_SMP_WIFI_PASS CONFIG_WIFI_PASSWORD
#endif

View File

@@ -0,0 +1,267 @@
/* server-tls-callback.c
*
* 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
*/
/* the usual suspects */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
/* socket includes */
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <unistd.h>
/* wolfSSL */
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>
#include <wolfssl/certs_test.h>
/* ESP specific */
#include "wifi_connect.h"
#ifdef WOLFSSL_TRACK_MEMORY
#include <wolfssl/wolfcrypt/mem_track.h>
#endif
static const char* const TAG = "tls_server";
#if defined(DEBUG_WOLFSSL)
static void ShowCiphers(void)
{
char ciphers[4096];
int ret = wolfSSL_get_ciphers(ciphers, (int)sizeof(ciphers));
if (ret == WOLFSSL_SUCCESS)
printf("%s\n", ciphers);
}
#endif
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
&& defined(WOLFSSL_ATECC508A)
#include "wolfssl/wolfcrypt/port/atmel/atmel.h"
/* when you want to use a custom slot allocation */
/* enable the definition CUSTOM_SLOT_ALLOCATION. */
#if defined(CUSTOM_SLOT_ALLOCATION)
static byte mSlotList[ATECC_MAX_SLOT];
int atmel_set_slot_allocator(atmel_slot_alloc_cb alloc, atmel_slot_dealloc_cb dealloc);
/* initialize slot array */
void my_atmel_slotInit()
{
int i;
for(i=0;i<ATECC_MAX_SLOT; i++) {
mSlotList[i] = ATECC_INVALID_SLOT;
}
}
/* allocate slot depending on slotType */
int my_atmel_alloc(int slotType)
{
int i, slot = -1;
switch(slotType){
case ATMEL_SLOT_ENCKEY:
slot = 4;
break;
case ATMEL_SLOT_DEVICE:
slot = 0;
break;
case ATMEL_SLOT_ECDHE:
slot = 0;
break;
case ATMEL_SLOT_ECDHE_ENC:
slot = 4;
break;
case ATMEL_SLOT_ANY:
for(i=0;i<ATECC_MAX_SLOT;i++){
if(mSlotList[i] == ATECC_INVALID_SLOT){
slot = i;
break;
}
}
}
return slot;
}
/* free slot array */
void my_atmel_free(int slotId)
{
if(slotId >= 0 && slotId < ATECC_MAX_SLOT){
mSlotList[slotId] = ATECC_INVALID_SLOT;
}
}
#endif /* CUSTOM_SLOT_ALLOCATION */
#endif /* WOLFSSL_ESPWROOM32SE && HAVE_PK_CALLBACK && WOLFSSL_ATECC508A */
void tls_smp_server_task()
{
int sockfd;
int connd;
struct sockaddr_in servAddr;
struct sockaddr_in clientAddr;
socklen_t size = sizeof(clientAddr);
char buff[256];
size_t len;
int shutdown = 0;
int ret;
const char msg[] = "I hear you fa shizzle!";
/* declare wolfSSL objects */
WOLFSSL_CTX* ctx;
WOLFSSL* ssl;
WOLFSSL_ENTER("tls_smp_server_task");
#ifdef DEBUG_WOLFSSL
WOLFSSL_MSG("Debug ON");
wolfSSL_Debugging_ON();
ShowCiphers();
#endif
/* Initialize wolfSSL */
WOLFSSL_MSG("Start wolfSSL_Init()");
wolfSSL_Init();
/* Create a socket that uses an internet IPv4 address,
* Sets the socket to be stream based (TCP),
* 0 means choose the default protocol. */
WOLFSSL_MSG( "start socket())");
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
ESP_LOGE(TAG, "ERROR: failed to create the socket");
}
/* Create and initialize WOLFSSL_CTX */
WOLFSSL_MSG("Create and initialize WOLFSSL_CTX");
if ((ctx = wolfSSL_CTX_new(wolfSSLv23_server_method())) == NULL) {
ESP_LOGE(TAG, "ERROR: failed to create WOLFSSL_CTX");
}
WOLFSSL_MSG("Loading certificate...");
/* Load server certificates into WOLFSSL_CTX */
if ((ret = wolfSSL_CTX_use_certificate_buffer(ctx, server_cert_der_2048,
sizeof_server_cert_der_2048,
WOLFSSL_FILETYPE_ASN1)) != SSL_SUCCESS) {
ESP_LOGE(TAG, "ERROR: failed to load cert");
}
WOLFSSL_MSG("Loading key info...");
/* Load server key into WOLFSSL_CTX */
if((ret=wolfSSL_CTX_use_PrivateKey_buffer(ctx,
server_key_der_2048, sizeof_server_key_der_2048,
WOLFSSL_FILETYPE_ASN1)) != SSL_SUCCESS) {
ESP_LOGE(TAG, "ERROR: failed to load privatekey");
}
/* TO DO when using ECDSA, it loads the provisioned certificate and present it.*/
/* TO DO when using ECDSA, it uses the generated key instead of loading key */
/* Initialize the server address struct with zeros */
memset(&servAddr, 0, sizeof(servAddr));
/* Fill in the server address */
servAddr.sin_family = AF_INET; /* using IPv4 */
servAddr.sin_port = htons(DEFAULT_PORT); /* on DEFAULT_PORT */
servAddr.sin_addr.s_addr = INADDR_ANY; /* from anywhere */
/* Bind the server socket to our port */
if (bind(sockfd, (struct sockaddr*)&servAddr, sizeof(servAddr)) == -1) {
ESP_LOGE(TAG, "ERROR: failed to bind");
}
/* Listen for a new connection, allow 5 pending connections */
if (listen(sockfd, 5) == -1) {
ESP_LOGE(TAG, "ERROR: failed to listen");
}
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
&& defined(WOLFSSL_ATECC508A)
atcatls_set_callbacks(ctx);
/* when using a custom slot allocation */
#if defined(CUSTOM_SLOT_ALLOCATION)
my_atmel_slotInit();
atmel_set_slot_allocator(my_atmel_alloc, my_atmel_free);
#endif
#endif
/* Continue to accept clients until shutdown is issued */
while (!shutdown) {
WOLFSSL_MSG("Waiting for a connection...");
/* Accept client connections */
if ((connd = accept(sockfd, (struct sockaddr*)&clientAddr, &size))
== -1) {
ESP_LOGE(TAG, "ERROR: failed to accept the connection");
}
/* Create a WOLFSSL object */
if ((ssl = wolfSSL_new(ctx)) == NULL) {
ESP_LOGE(TAG, "ERROR: failed to create WOLFSSL object");
}
/* Attach wolfSSL to the socket */
wolfSSL_set_fd(ssl, connd);
/* Establish TLS connection */
ret = wolfSSL_accept(ssl);
if (ret != SSL_SUCCESS) {
ESP_LOGE(TAG, "wolfSSL_accept error %d", wolfSSL_get_error(ssl, ret));
}
WOLFSSL_MSG("Client connected successfully");
/* Read the client data into our buff array */
memset(buff, 0, sizeof(buff));
if (wolfSSL_read(ssl, buff, sizeof(buff)-1) == -1) {
ESP_LOGE(TAG, "ERROR: failed to read");
}
/* Print to stdout any data the client sends */
WOLFSSL_MSG("Client sends:");
WOLFSSL_MSG(buff);
/* Check for server shutdown command */
if (strncmp(buff, "shutdown", 8) == 0) {
WOLFSSL_MSG("Shutdown command issued!");
shutdown = 1;
}
/* Write our reply into buff */
memset(buff, 0, sizeof(buff));
memcpy(buff, msg, sizeof(msg));
len = strnlen(buff, sizeof(buff));
/* Reply back to the client */
if (wolfSSL_write(ssl, buff, len) != len) {
ESP_LOGE(TAG, "ERROR: failed to write");
}
/* Cleanup after this connection */
wolfSSL_free(ssl); /* Free the wolfSSL object */
close(connd); /* Close the connection to the client */
}
/* Cleanup and return */
wolfSSL_CTX_free(ctx); /* Free the wolfSSL context object */
wolfSSL_Cleanup(); /* Cleanup the wolfSSL environment */
close(sockfd); /* Close the socket listening for clients */
vTaskDelete(NULL);
return; /* Return reporting a success */
}

View File

@@ -0,0 +1,168 @@
/* wifi_connect.c
*
* 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
*/
/*ESP specific */
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "wifi_connect.h"
#include "lwip/sockets.h"
#include "lwip/netdb.h"
#include "lwip/apps/sntp.h"
#include "nvs_flash.h"
#if ESP_IDF_VERSION_MAJOR >= 4
#include "protocol_examples_common.h"
#endif
const static int CONNECTED_BIT = BIT0;
static EventGroupHandle_t wifi_event_group;
/* prefix for logging */
const static char *TAG = "tls_server";
/* proto-type definition */
extern void tls_smp_server_task();
static void tls_smp_server_init();
static void set_time()
{
/* set dummy wallclock time. */
struct timeval utctime;
struct timezone tz;
struct strftime_buf;
time_t now;
struct tm timeinfo;
char strftime_buf[64];
/* please update the time if seeing unknown failure when loading cert. */
/* this could cause TLS communication failure due to time expiration */
/* incleasing 31536000 seconds is close to spend 356 days. */
utctime.tv_sec = 1619650800; /* dummy time: Wed April 28 23:00:00 2021 */
utctime.tv_usec = 0;
tz.tz_minuteswest = 0;
tz.tz_dsttime = 0;
settimeofday(&utctime, &tz);
time(&now);
localtime_r(&now, &timeinfo);
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
ESP_LOGI(TAG, "The current date/time is: %s", strftime_buf);
#if ESP_IDF_VERSION_MAJOR < 4
/* wait until wifi connect */
xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT,
false, true, portMAX_DELAY);
#endif
/* now we start client tasks. */
tls_smp_server_init();
}
/* create task */
static void tls_smp_server_init(void)
{
int ret;
xTaskHandle _handle;
/* http://esp32.info/docs/esp_idf/html/dd/d3c/group__xTaskCreate.html */
ret = xTaskCreate(tls_smp_server_task,
TLS_SMP_SERVER_TASK_NAME,
TLS_SMP_SERVER_TASK_WORDS,
NULL,
TLS_SMP_SERVER_TASK_PRIORITY,
&_handle);
if (ret != pdPASS) {
ESP_LOGI(TAG, "create thread %s failed", TLS_SMP_SERVER_TASK_NAME);
}
}
/* event handler for wifi events */
static esp_err_t wifi_event_handler(void *ctx, system_event_t *event)
{
switch (event->event_id)
{
case SYSTEM_EVENT_STA_START:
esp_wifi_connect();
break;
case SYSTEM_EVENT_STA_GOT_IP:
#if ESP_IDF_VERSION_MAJOR >= 4
ESP_LOGI(TAG, "got ip:" IPSTR "\n",
IP2STR(&event->event_info.got_ip.ip_info.ip));
#else
ESP_LOGI(TAG, "got ip:%s",
ip4addr_ntoa(&event->event_info.got_ip.ip_info.ip));
#endif
/* http://esp32.info/docs/esp_idf/html/dd/d08/group__xEventGroupSetBits.html */
xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
break;
case SYSTEM_EVENT_STA_DISCONNECTED:
esp_wifi_connect();
xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
break;
default:
break;
}
return ESP_OK;
}
/* entry point */
void app_main(void)
{
ESP_LOGI(TAG, "Start app_main...");
ESP_ERROR_CHECK(nvs_flash_init());
ESP_LOGI(TAG, "Initialize wifi");
/* TCP/IP adapter initialization */
#if ESP_IDF_VERSION_MAJOR >= 4 && ESP_IDF_VERSION_MINOR >= 1
esp_netif_init();
#else
tcpip_adapter_init();
#endif
/* */
#if ESP_IDF_VERSION_MAJOR >= 4
(void) wifi_event_handler;
ESP_ERROR_CHECK(esp_event_loop_create_default());
/* This helper function configures Wi-Fi or Ethernet, as selected in menuconfig.
* Read "Establishing Wi-Fi or Ethernet Connection" section in
* examples/protocols/README.md for more information about this function.
*/
ESP_ERROR_CHECK(example_connect());
#else
wifi_event_group = xEventGroupCreate();
ESP_ERROR_CHECK(esp_event_loop_init(wifi_event_handler, NULL));
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
wifi_config_t wifi_config = {
.sta = {
.ssid = TLS_SMP_WIFI_SSID,
.password = TLS_SMP_WIFI_PASS,
},
};
/* WiFi station mode */
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) );
/* Wifi Set the configuration of the ESP32 STA or AP */
ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config) );
/* Start Wifi */
ESP_ERROR_CHECK(esp_wifi_start() );
ESP_LOGI(TAG, "wifi_init_sta finished.");
ESP_LOGI(TAG, "connect to ap SSID:%s password:%s",
TLS_SMP_WIFI_SSID, TLS_SMP_WIFI_PASS);
#endif
ESP_LOGI(TAG, "Set dummy time...");
set_time();
}

View File

@@ -0,0 +1,6 @@
# The following five lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(wolfssl_test)

View File

@@ -0,0 +1,11 @@
#
# This is a project Makefile. It is assumed the directory this Makefile resides in is a
# project subdirectory.
#
PROJECT_NAME := wolfssl_test
CFLAGS += -DWOLFSSL_USER_SETTINGS
include $(IDF_PATH)/make/project.mk

View File

@@ -0,0 +1,10 @@
#wolfSSL Example
The Example contains of wolfSSL test program.
When you want to run the benchmark program
1. "make menuconfig" to configure the program,first
2. "make flash" to compile and load the firmware
3. "make monitor" to see the message
See the README.md file in the upper level 'examples' directory for more information about examples.

View File

@@ -0,0 +1,10 @@
#
# wolfssl crypt test
#
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS")
set(COMPONENT_SRCS "test.c")
set(COMPONENT_ADD_INCLUDEDIRS ".")
register_component()

View File

@@ -0,0 +1,3 @@
#
# Main Makefile. This is basically the same as a component makefile.
#

View File

@@ -0,0 +1,2 @@
CONFIG_MAIN_TASK_STACK_SIZE=11000
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=

View File

@@ -0,0 +1,37 @@
#
# cmake for wolfssl
#
cmake_minimum_required(VERSION 3.5)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS")
set(CMAKE_CURRENT_SOURCE_DIR ".")
set(WOLFSSL_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
set(INCLUDE_PATH ${WOLFSSL_ROOT})
set(COMPONENT_SRCDIRS "./src/"
"./wolfcrypt/src/"
"./wolfcrypt/src/port/Espressif/"
"./wolfcrypt/src/port/atmel/"
)
set(COMPONENT_REQUIRES lwip)
set(COMPONENT_ADD_INCLUDEDIRS
"."
"./include"
"../freertos/include/freertos"
"${WOLFSSL_ROOT}"
)
if(IS_DIRECTORY ${IDF_PATH}/components/cryptoauthlib)
list(APPEND COMPONENT_ADD_INCLUDEDIRS "../cryptoauthlib/lib")
endif()
set(COMPONENT_SRCEXCLUDE
"wolfcrypt/src/aes_asm.S"
"wolfcrypt/src/evp.c"
"wolfcrypt/src/misc.c"
"src/bio.c"
)
register_component()

View File

@@ -0,0 +1,17 @@
#
# Component Makefile
#
COMPONENT_ADD_INCLUDEDIRS := . ./include
COMPONENT_ADD_INCLUDEDIRS += ../freertos/include/freertos/
COMPONENT_SRCDIRS := src wolfcrypt/src
COMPONENT_SRCDIRS += wolfcrypt/src/port/Espressif
COMPONENT_SRCDIRS += wolfcrypt/src/port/atmel
CFLAGS +=-DWOLFSSL_USER_SETTINGS
COMPONENT_OBJEXCLUDE := wolfcrypt/src/aes_asm.o
COMPONENT_OBJEXCLUDE += wolfcrypt/src/evp.o
COMPONENT_OBJEXCLUDE += wolfcrypt/src/misc.o
COMPONENT_OBJEXCLUDE += src/bio.o

161
IDE/Espressif/ESP-IDF/setup.sh Executable file
View File

@@ -0,0 +1,161 @@
#!/bin/bash
# check if IDF_PATH is set
if [ -z "$IDF_PATH" ]; then
echo "Please follows the instruction of ESP-IDF installation and set IDF_PATH."
exit 1
fi
RMDCMD='/bin/rm -rf'
MKDCMD='/bin/mkdir'
CPDCMD='/bin/cp'
SCRIPTDIR=`dirname $0`
SCRIPTDIR=`cd $SCRIPTDIR && pwd -P`
WOLFSSL_ESPIDFDIR=${SCRIPTDIR}
WOLFSSL_ESPIDFDIR=`cd $WOLFSSL_ESPIDFDIR && pwd -P`
BASEDIR=${SCRIPTDIR}/../../../
BASEDIR=`cd ${BASEDIR} && pwd -P`
# echo $WOLFSSL_ESPIDFDIR
WOLFSSLLIB_TRG_DIR=${IDF_PATH}/components/wolfssl
WOLFSSLEXP_TRG_DIR=${IDF_PATH}/examples/protocols
if [ "$1" == "--verbose" ]; then
WOLFSSSL_SETUP_VERBOSE=true
fi
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo Verbose mode on!
echo BASEDIR=${BASEDIR}
echo SCRIPTDIR=${SCRIPTDIR}
echo WOLFSSL_ESPIDFDIR=${WOLFSSL_ESPIDFDIR}
echo WOLFSSLLIB_TRG_DIR=${WOLFSSLLIB_TRG_DIR}
echo WOLFSSLEXP_TRG_DIR=${WOLFSSLEXP_TRG_DIR}
echo ""
fi
if [ ! -d $IDF_PATH ]; then
echo "ESP-IDF Development Framework doesn't exist.: $IDF_PATH"
exit 1
fi
# Copy files into ESP-IDF development framework
pushd $IDF_PATH > /dev/null
echo "Copy files into $IDF_PATH"
# Remove/Create directories
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Remove/Create directories..."
fi
${RMDCMD} ${WOLFSSLLIB_TRG_DIR}/
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/src
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/wolfcrypt
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/src
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/wolfssl
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/test
${MKDCMD} ${WOLFSSLLIB_TRG_DIR}/include
popd > /dev/null # $WOLFSSL_ESPIDFDIR
pushd ${BASEDIR} > /dev/null # WOLFSSL TOP DIR
# copying ... files in src/ into $WOLFSSLLIB_TRG_DIR/src
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Copying ... files in src/ into \$WOLFSSLLIB_TRG_DIR/srcs ..."
fi
${CPDCMD} ./src/*.c ${WOLFSSLLIB_TRG_DIR}/src/
${CPDCMD} -r ./wolfcrypt/src/*.{c,i} ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/src/
${CPDCMD} -r ./wolfcrypt/src/port ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/src/port/
${CPDCMD} -r ./wolfcrypt/test ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/
${CPDCMD} -r ./wolfcrypt/benchmark ${WOLFSSLLIB_TRG_DIR}/wolfcrypt/
${CPDCMD} -r ./wolfssl/*.h ${WOLFSSLLIB_TRG_DIR}/wolfssl/
${CPDCMD} -r ./wolfssl/wolfcrypt ${WOLFSSLLIB_TRG_DIR}/wolfssl/
# user_settings.h
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Copying user_settings.h to ${WOLFSSLLIB_TRG_DIR}/include/"
fi
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/user_settings.h ${WOLFSSLLIB_TRG_DIR}/include/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/dummy_config_h ${WOLFSSLLIB_TRG_DIR}/include/config.h
# unit test app
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/test/* ${WOLFSSLLIB_TRG_DIR}/test/
popd > /dev/null #
${CPDCMD} ./libs/CMakeLists.txt ${WOLFSSLLIB_TRG_DIR}/
${CPDCMD} ./libs/component.mk ${WOLFSSLLIB_TRG_DIR}/
pushd ${BASEDIR} > /dev/null # WOLFSSL TOP DIR
# Benchmark program
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo ""
fi
${RMDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/main/
${CPDCMD} ${BASEDIR}/wolfcrypt/benchmark/benchmark.h ${BASEDIR}/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/benchmark.h
${CPDCMD} ${BASEDIR}/wolfcrypt/benchmark/benchmark.c ${BASEDIR}/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/benchmark.c
${CPDCMD} -r ./wolfcrypt/benchmark/benchmark.c ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/main/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_benchmark/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_benchmark/main/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_benchmark/main/
# Crypt Test program
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Copying wolfssl_test to ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/main/"
fi
${RMDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/main/
${CPDCMD} -r ./wolfcrypt/test/test.c ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/main/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_test/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_test/main/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_test/main/
# TLS Client program
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Copying TLS Client program to ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/..."
fi
${RMDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/main/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/main/include
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_client/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_client/main/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/main/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_client/main/include/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_client/main/include/
# TLS Server program
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Copying TLS Server program to ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/..."
fi
${RMDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/main/
${MKDCMD} ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/main/include
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_server/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_server/main/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/main/
${CPDCMD} -r ${WOLFSSL_ESPIDFDIR}/examples/wolfssl_server/main/include/* ${WOLFSSLEXP_TRG_DIR}/wolfssl_server/main/include/
popd > /dev/null #
if [ "${WOLFSSSL_SETUP_VERBOSE}" == "true" ]; then
echo "Copy complete!"
fi
exit 1

View File

@@ -0,0 +1,77 @@
@echo off
REM Expect the script at /path/to/wolfssl/IDE/Espressif/ESP-IDF/
if NOT EXIST "setup.sh" (
echo "Please run this script at /path/to/wolfssl/IDE/Espressif/ESP-IDF/
goto exit
)
if "%IDF_PATH%" == "" (
echo "Please launch the script from ESP-IDF command prompt."
goto exit
)
set SCRIPTDIR=%CD%
set BASEDIR=%SCRIPTDIR%\..\..\..\
set WOLFSSL_ESPIDFDIR=%BASEDIR%\IDE\Espressif\ESP-IDF
set WOLFSSLLIB_TRG_DIR=%IDF_PATH%\components\wolfssl
set WOLFSSLEXP_TRG_DIR=%IDF_PATH%\examples\protocols
echo Copy files into $IDF_PATH%
rem Remove/Create directories
rmdir /S/Q %WOLFSSLLIB_TRG_DIR%
mkdir %WOLFSSLLIB_TRG_DIR%
mkdir %WOLFSSLLIB_TRG_DIR%\src
mkdir %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src
mkdir %WOLFSSLLIB_TRG_DIR%\wolfssl
mkdir %WOLFSSLLIB_TRG_DIR%\test
mkdir %WOLFSSLLIB_TRG_DIR%\include
rem copying ... files in src/ into $WOLFSSLLIB_TRG_DIR%/src
xcopy /Y/Q %BASEDIR%\src\*.c %WOLFSSLLIB_TRG_DIR%\src\
xcopy /Y/Q %BASEDIR%\wolfcrypt\src\*.c %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src
xcopy /Y/Q %BASEDIR%\wolfcrypt\src\*.i %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\src\port %WOLFSSLLIB_TRG_DIR%\wolfcrypt\src\port\
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\test %WOLFSSLLIB_TRG_DIR%\wolfcrypt\test\
xcopy /E/Y/Q %BASEDIR%\wolfcrypt\benchmark %WOLFSSLLIB_TRG_DIR%\wolfcrypt\benchmark\
xcopy /Y/Q %BASEDIR%\wolfssl\*.h %WOLFSSLLIB_TRG_DIR%\wolfssl\
xcopy /E/Y/Q %BASEDIR%\wolfssl\wolfcrypt %WOLFSSLLIB_TRG_DIR%\wolfssl\wolfcrypt\
rem user_settings.h
xcopy /F/Q %WOLFSSL_ESPIDFDIR%\user_settings.h %WOLFSSLLIB_TRG_DIR%\include\
echo F |xcopy /F/Q %WOLFSSL_ESPIDFDIR%\dummy_config_h %WOLFSSLLIB_TRG_DIR%\include\config.h
rem unit test app
xcopy /E/Y/Q %WOLFSSL_ESPIDFDIR%\test %WOLFSSLLIB_TRG_DIR%\test\
xcopy /F/Q %WOLFSSL_ESPIDFDIR%\libs\CMakeLists.txt %WOLFSSLLIB_TRG_DIR%\
xcopy /F/Q %WOLFSSL_ESPIDFDIR%\libs\component.mk %WOLFSSLLIB_TRG_DIR%\
rem Benchmark program
rmdir /S/Q %WOLFSSLEXP_TRG_DIR%\wolfssl_benchmark\
mkdir %WOLFSSLEXP_TRG_DIR%\wolfssl_benchmark\main\
xcopy %BASEDIR%\wolfcrypt\benchmark\benchmark.h %BASEDIR%\IDE\Espressif\ESP-IDF\examples\wolfssl_benchmark\main\benchmark.h
xcopy %BASEDIR%\wolfcrypt\benchmark\benchmark.c %BASEDIR%\IDE\Espressif\ESP-IDF\examples\wolfssl_benchmark\main\benchmark.c
xcopy /F/Q %BASEDIR%\wolfcrypt\benchmark\benchmark.c %WOLFSSLEXP_TRG_DIR%\wolfssl_benchmark\main\
xcopy /E/F/Q %WOLFSSL_ESPIDFDIR%\examples\wolfssl_benchmark %WOLFSSLEXP_TRG_DIR%\wolfssl_benchmark\
rem Crypt Test program
rmdir /S/Q %WOLFSSLEXP_TRG_DIR%\wolfssl_test\
mkdir %WOLFSSLEXP_TRG_DIR%\wolfssl_test\main\
xcopy /F/Q %BASEDIR%\wolfcrypt\test\test.c %WOLFSSLEXP_TRG_DIR%\wolfssl_test\main\
xcopy /E/F/Q %WOLFSSL_ESPIDFDIR%\examples\wolfssl_test %WOLFSSLEXP_TRG_DIR%\wolfssl_test\
rem TLS Client program
rmdir /S/Q %WOLFSSLEXP_TRG_DIR%\wolfssl_client\
mkdir %WOLFSSLEXP_TRG_DIR%\wolfssl_client\main\
xcopy /E/F/Q %WOLFSSL_ESPIDFDIR%\examples\wolfssl_client %WOLFSSLEXP_TRG_DIR%\wolfssl_client\
rem TLS Server program
rmdir /S/Q %WOLFSSLEXP_TRG_DIR%\wolfssl_server\
mkdir %WOLFSSLEXP_TRG_DIR%\wolfssl_server\main\
xcopy /E/F/Q %WOLFSSL_ESPIDFDIR%\examples\wolfssl_server %WOLFSSLEXP_TRG_DIR%\wolfssl_server\
:exit
echo completed

View File

@@ -0,0 +1,8 @@
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_MAIN_DRIVER -DWOLFSSL_USER_SETTINGS")
set(COMPONENT_SRCS "test_wolfssl.c" "../wolfcrypt/test/test.c")
set(COMPONENT_ADD_INCLUDEDIRS ".")
set(COMPONENT_REQUIRES unity test_utils wolfssl)
register_component()

View File

@@ -0,0 +1,10 @@
# wolfSSL unit-test app
The test contains of wolfSSL unit-test app on Unity.
When you want to run the app
1. Go to /esp-idf/tools/unit-test-app/ folder
2. "idf.py menuconfig" to configure unit test app.
3. "idf.py -T wolfssl build" to build wolfssl unit test app.
See [https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/unit-tests.html] for more information about unit test app.

View File

@@ -0,0 +1,10 @@
#
#Component Makefile
#
#CFLAGS := -v
CFLAGS += -DNO_MAIN_DRIVER
CFLAGS += -DWOLFSSL_USER_SETTINGS
#CFLAGS += -DWOLFSSL_ESP32WROOM32_CRYPT_DEBUG
COMPONENT_ADD_LDFLAGS = -Wl,--whole-archive -l$(COMPONENT_NAME) -Wl,--no-whole-archive

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,95 @@
/* user_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
*/
#define BENCH_EMBEDDED
#define USE_CERT_BUFFERS_2048
/* TLS 1.3 */
#define WOLFSSL_TLS13
#define HAVE_TLS_EXTENSIONS
#define WC_RSA_PSS
#define HAVE_HKDF
#define HAVE_AEAD
#define HAVE_SUPPORTED_CURVES
/* when you want to use SINGLE THREAD */
/* #define SINGLE_THREADED */
#define NO_FILESYSTEM
#define HAVE_AESGCM
/* when you want to use SHA384 */
/* #define WOLFSSL_SHA384 */
#define WOLFSSL_SHA512
#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
/* when you want to use pkcs7 */
/* #define HAVE_PKCS7 */
#if defined(HAVE_PKCS7)
#define HAVE_AES_KEYWRAP
#define HAVE_X963_KDF
#define WOLFSSL_AES_DIRECT
#endif
/* when you want to use aes counter mode */
/* #define WOLFSSL_AES_DIRECT */
/* #define WOLFSSL_AES_COUNTER */
/* esp32-wroom-32se specific definition */
#if defined(WOLFSSL_ESPWROOM32SE)
#define WOLFSSL_ATECC508A
#define HAVE_PK_CALLBACKS
/* when you want to use a custom slot allocation for ATECC608A */
/* unless your configuration is unusual, you can use default */
/* implementation. */
/* #define CUSTOM_SLOT_ALLOCATION */
#endif
/* rsa primitive specific definition */
#if defined(WOLFSSL_ESPWROOM32) || defined(WOLFSSL_ESPWROOM32SE)
/* Define USE_FAST_MATH and SMALL_STACK */
#define ESP32_USE_RSA_PRIMITIVE
/* threshold for performance adjustment for hw primitive use */
/* X bits of G^X mod P greater than */
#define EPS_RSA_EXPT_XBTIS 36
/* X and Y of X * Y mod P greater than */
#define ESP_RSA_MULM_BITS 2000
#endif
/* debug options */
/* #define DEBUG_WOLFSSL */
/* #define WOLFSSL_ESP32WROOM32_CRYPT_DEBUG */
/* #define WOLFSSL_ATECC508A_DEBUG */
/* date/time */
/* if it cannot adjust time in the device, */
/* enable macro below */
/* #define NO_ASN_TIME */
/* #define XTIME time */
/* when you want not to use HW acceleration */
/* #define NO_ESP32WROOM32_CRYPT */
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_HASH*/
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_AES */
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_RSA_PRI */

View File

@@ -0,0 +1,649 @@
/* user_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
*/
/* Custom wolfSSL user settings for GCC ARM */
#ifndef WOLFSSL_USER_SETTINGS_H
#define WOLFSSL_USER_SETTINGS_H
#ifdef __cplusplus
extern "C" {
#endif
/* ------------------------------------------------------------------------- */
/* Platform */
/* ------------------------------------------------------------------------- */
#undef WOLFSSL_GENERAL_ALIGNMENT
#define WOLFSSL_GENERAL_ALIGNMENT 4
#undef SINGLE_THREADED
#define SINGLE_THREADED
#undef WOLFSSL_SMALL_STACK
#define WOLFSSL_SMALL_STACK
#undef WOLFSSL_USER_IO
#define WOLFSSL_USER_IO
/* ------------------------------------------------------------------------- */
/* Math Configuration */
/* ------------------------------------------------------------------------- */
#undef SIZEOF_LONG_LONG
#define SIZEOF_LONG_LONG 8
#undef USE_FAST_MATH
#if 1
#define USE_FAST_MATH
#undef TFM_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
/* Optimizations */
//#define TFM_ARM
#endif
/* Wolf Single Precision Math */
#undef WOLFSSL_SP
#if 0
#define WOLFSSL_SP
#define WOLFSSL_SP_SMALL /* use smaller version of code */
#define WOLFSSL_HAVE_SP_RSA
#define WOLFSSL_HAVE_SP_DH
#define WOLFSSL_HAVE_SP_ECC
//#define WOLFSSL_SP_CACHE_RESISTANT
#define WOLFSSL_SP_MATH /* only SP math - eliminates fast math code */
/* SP Assembly Speedups */
#define WOLFSSL_SP_ASM /* required if using the ASM versions */
//#define WOLFSSL_SP_ARM32_ASM
//#define WOLFSSL_SP_ARM64_ASM
//#define WOLFSSL_SP_ARM_THUMB_ASM
#define WOLFSSL_SP_ARM_CORTEX_M_ASM
#endif
/* ------------------------------------------------------------------------- */
/* FIPS - Requires eval or license from wolfSSL */
/* ------------------------------------------------------------------------- */
#undef HAVE_FIPS
#if 0
#define HAVE_FIPS
#undef HAVE_FIPS_VERSION
#define HAVE_FIPS_VERSION 2
#ifdef SINGLE_THREADED
#undef NO_THREAD_LS
#define NO_THREAD_LS
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Crypto */
/* ------------------------------------------------------------------------- */
/* RSA */
#undef NO_RSA
#if 1
#ifdef USE_FAST_MATH
/* Maximum math bits (Max RSA key bits * 2) */
#undef FP_MAX_BITS
#define FP_MAX_BITS 4096
#endif
/* half as much memory but twice as slow */
#undef RSA_LOW_MEM
//#define RSA_LOW_MEM
/* Enables blinding mode, to prevent timing attacks */
#if 1
#undef WC_RSA_BLINDING
#define WC_RSA_BLINDING
#else
#undef WC_NO_HARDEN
#define WC_NO_HARDEN
#endif
/* RSA PSS Support */
#if 0
#define WC_RSA_PSS
#endif
#if 0
#define WC_RSA_NO_PADDING
#endif
#else
#define NO_RSA
#endif
/* ECC */
#undef HAVE_ECC
#if 1
#define HAVE_ECC
/* Manually define enabled curves */
#undef ECC_USER_CURVES
#define ECC_USER_CURVES
#ifdef ECC_USER_CURVES
/* Manual Curve Selection */
//#define HAVE_ECC192
//#define HAVE_ECC224
#undef NO_ECC256
//#define HAVE_ECC384
//#define HAVE_ECC521
#endif
/* Fixed point cache (speeds repeated operations against same private key) */
#undef FP_ECC
//#define FP_ECC
#ifdef FP_ECC
/* Bits / Entries */
#undef FP_ENTRIES
#define FP_ENTRIES 2
#undef FP_LUT
#define FP_LUT 4
#endif
/* Optional ECC calculation method */
/* Note: doubles heap usage, but slightly faster */
#undef ECC_SHAMIR
#define ECC_SHAMIR
/* Reduces heap usage, but slower */
#undef ECC_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT
#ifdef HAVE_FIPS
#undef HAVE_ECC_CDH
#define HAVE_ECC_CDH /* Enable cofactor support */
#undef NO_STRICT_ECDSA_LEN
#define NO_STRICT_ECDSA_LEN /* Do not force fixed len w/ FIPS */
#undef WOLFSSL_VALIDATE_ECC_IMPORT
#define WOLFSSL_VALIDATE_ECC_IMPORT /* Validate import */
#endif
/* Compressed Key Support */
#undef HAVE_COMP_KEY
//#define HAVE_COMP_KEY
/* Use alternate ECC size for ECC math */
#ifdef USE_FAST_MATH
/* MAX ECC BITS = ROUND8(MAX ECC) * 2 */
#ifdef NO_RSA
/* Custom fastmath size if not using RSA */
#undef FP_MAX_BITS
#define FP_MAX_BITS (256 * 2)
#else
#undef ALT_ECC_SIZE
#define ALT_ECC_SIZE
/* wolfSSL will compute the FP_MAX_BITS_ECC, but it can be overriden */
//#undef FP_MAX_BITS_ECC
//#define FP_MAX_BITS_ECC (256 * 2)
#endif
/* Speedups specific to curve */
#ifndef NO_ECC256
#undef TFM_ECC256
#define TFM_ECC256
#endif
#endif
#endif
/* DH */
#undef NO_DH
#if 1
/* Use table for DH instead of -lm (math) lib dependency */
#if 0
#define WOLFSSL_DH_CONST
#define HAVE_FFDHE_2048
#define HAVE_FFDHE_4096
//#define HAVE_FFDHE_6144
//#define HAVE_FFDHE_8192
#endif
#ifdef HAVE_FIPS
#define WOLFSSL_VALIDATE_FFC_IMPORT
#define HAVE_FFDHE_Q
#endif
#else
#define NO_DH
#endif
/* AES */
#undef NO_AES
#if 1
#undef HAVE_AES_CBC
#define HAVE_AES_CBC
#undef HAVE_AESGCM
#define HAVE_AESGCM
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
#define GCM_SMALL
#undef WOLFSSL_AES_DIRECT
//#define WOLFSSL_AES_DIRECT
#undef HAVE_AES_ECB
//#define HAVE_AES_ECB
#undef WOLFSSL_AES_COUNTER
//#define WOLFSSL_AES_COUNTER
#undef HAVE_AESCCM
//#define HAVE_AESCCM
#else
#define NO_AES
#endif
/* DES3 */
#undef NO_DES3
#if 0
#else
#define NO_DES3
#endif
/* ChaCha20 / Poly1305 */
#undef HAVE_CHACHA
#undef HAVE_POLY1305
#if 0
#define HAVE_CHACHA
#define HAVE_POLY1305
/* Needed for Poly1305 */
#undef HAVE_ONE_TIME_AUTH
#define HAVE_ONE_TIME_AUTH
#endif
/* Ed25519 / Curve25519 */
#undef HAVE_CURVE25519
#undef HAVE_ED25519
#if 0
#define HAVE_CURVE25519
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
/* Optionally use small math (less flash usage, but much slower) */
#if 1
#define CURVED25519_SMALL
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Hashing */
/* ------------------------------------------------------------------------- */
/* Sha */
#undef NO_SHA
#if 1
/* 1k smaller, but 25% slower */
//#define USE_SLOW_SHA
#else
#define NO_SHA
#endif
/* Sha256 */
#undef NO_SHA256
#if 1
/* not unrolled - ~2k smaller and ~25% slower */
//#define USE_SLOW_SHA256
/* Sha224 */
#if 0
#define WOLFSSL_SHA224
#endif
#else
#define NO_SHA256
#endif
/* Sha512 */
#undef WOLFSSL_SHA512
#if 0
#define WOLFSSL_SHA512
/* Sha384 */
#undef WOLFSSL_SHA384
#if 0
#define WOLFSSL_SHA384
#endif
/* over twice as small, but 50% slower */
//#define USE_SLOW_SHA512
#endif
/* Sha3 */
#undef WOLFSSL_SHA3
#if 0
#define WOLFSSL_SHA3
#endif
/* MD5 */
#undef NO_MD5
#if 0
#else
#define NO_MD5
#endif
/* HKDF */
#undef HAVE_HKDF
#if 0
#define HAVE_HKDF
#endif
/* CMAC */
#undef WOLFSSL_CMAC
#if 0
#define WOLFSSL_CMAC
#endif
/* ------------------------------------------------------------------------- */
/* Benchmark / Test */
/* ------------------------------------------------------------------------- */
/* Use reduced benchmark / test sizes */
#undef BENCH_EMBEDDED
#define BENCH_EMBEDDED
#undef USE_CERT_BUFFERS_2048
#define USE_CERT_BUFFERS_2048
//#undef USE_CERT_BUFFERS_1024
//#define USE_CERT_BUFFERS_1024
#undef USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_256
/* ------------------------------------------------------------------------- */
/* Debugging */
/* ------------------------------------------------------------------------- */
#undef DEBUG_WOLFSSL
#undef NO_ERROR_STRINGS
#if 0
#define DEBUG_WOLFSSL
#else
#if 0
#define NO_ERROR_STRINGS
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Memory */
/* ------------------------------------------------------------------------- */
/* Override Memory API's */
#if 0
#undef XMALLOC_OVERRIDE
#define XMALLOC_OVERRIDE
/* prototypes for user heap override functions */
/* Note: Realloc only required for normal math */
#include <stddef.h> /* for size_t */
extern void *myMalloc(size_t n, void* heap, int type);
extern void myFree(void *p, void* heap, int type);
extern void *myRealloc(void *p, size_t n, void* heap, int type);
#define XMALLOC(n, h, t) myMalloc(n, h, t)
#define XFREE(p, h, t) myFree(p, h, t)
#define XREALLOC(p, n, h, t) myRealloc(p, n, h, t)
#endif
#if 0
/* Static memory requires fast math */
#define WOLFSSL_STATIC_MEMORY
/* Disable fallback malloc/free */
#define WOLFSSL_NO_MALLOC
#if 1
#define WOLFSSL_MALLOC_CHECK /* trap malloc failure */
#endif
#endif
/* Memory callbacks */
#if 0
#undef USE_WOLFSSL_MEMORY
#define USE_WOLFSSL_MEMORY
/* Use this to measure / print heap usage */
#if 1
#undef WOLFSSL_TRACK_MEMORY
#define WOLFSSL_TRACK_MEMORY
#undef WOLFSSL_DEBUG_MEMORY
#define WOLFSSL_DEBUG_MEMORY
#endif
#else
#ifndef WOLFSSL_STATIC_MEMORY
#define NO_WOLFSSL_MEMORY
/* Otherwise we will use stdlib malloc, free and realloc */
#endif
#endif
/* ------------------------------------------------------------------------- */
/* Port */
/* ------------------------------------------------------------------------- */
/* Override Current Time */
/* Allows custom "custom_time()" function to be used for benchmark */
#define WOLFSSL_USER_CURRTIME
#define WOLFSSL_GMTIME
#define USER_TICKS
extern unsigned long my_time(unsigned long* timer);
#define XTIME my_time
/* ------------------------------------------------------------------------- */
/* RNG */
/* ------------------------------------------------------------------------- */
/* Seed Source */
/* Size of returned HW RNG value */
#define CUSTOM_RAND_TYPE unsigned int
extern unsigned int my_rng_seed_gen(void);
#undef CUSTOM_RAND_GENERATE
#define CUSTOM_RAND_GENERATE my_rng_seed_gen
/* Choose RNG method */
#if 1
/* Use built-in P-RNG (SHA256 based) with HW RNG */
/* P-RNG + HW RNG (P-RNG is ~8K) */
#undef HAVE_HASHDRBG
#define HAVE_HASHDRBG
#else
#undef WC_NO_HASHDRBG
#define WC_NO_HASHDRBG
/* Bypass P-RNG and use only HW RNG */
extern int my_rng_gen_block(unsigned char* output, unsigned int sz);
#undef CUSTOM_RAND_GENERATE_BLOCK
#define CUSTOM_RAND_GENERATE_BLOCK my_rng_gen_block
#endif
/* ------------------------------------------------------------------------- */
/* Custom Standard Lib */
/* ------------------------------------------------------------------------- */
/* Allows override of all standard library functions */
#undef STRING_USER
#if 0
#define STRING_USER
#include <string.h>
#undef USE_WOLF_STRSEP
#define USE_WOLF_STRSEP
#define XSTRSEP(s1,d) wc_strsep((s1),(d))
#undef USE_WOLF_STRTOK
#define USE_WOLF_STRTOK
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))
#define XMEMCMP(s1,s2,n) memcmp((s1),(s2),(n))
#define XMEMMOVE(d,s,l) memmove((d),(s),(l))
#define XSTRLEN(s1) strlen((s1))
#define XSTRNCPY(s1,s2,n) strncpy((s1),(s2),(n))
#define XSTRSTR(s1,s2) strstr((s1),(s2))
#define XSTRNCMP(s1,s2,n) strncmp((s1),(s2),(n))
#define XSTRNCAT(s1,s2,n) strncat((s1),(s2),(n))
#define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n))
#define XSNPRINTF snprintf
#endif
/* ------------------------------------------------------------------------- */
/* Enable Features */
/* ------------------------------------------------------------------------- */
#undef WOLFSSL_TLS13
#if 0
#define WOLFSSL_TLS13
#endif
#undef WOLFSSL_KEY_GEN
#if 0
#define WOLFSSL_KEY_GEN
#endif
#if defined(HAVE_FIPS) && !defined(WOLFSSL_KEY_GEN)
#define WOLFSSL_OLD_PRIME_CHECK
#endif
#undef KEEP_PEER_CERT
//#define KEEP_PEER_CERT
#undef HAVE_COMP_KEY
//#define HAVE_COMP_KEY
#undef HAVE_TLS_EXTENSIONS
#define HAVE_TLS_EXTENSIONS
#undef HAVE_SUPPORTED_CURVES
#define HAVE_SUPPORTED_CURVES
#undef WOLFSSL_BASE64_ENCODE
#define WOLFSSL_BASE64_ENCODE
/* TLS Session Cache */
#if 0
#define SMALL_SESSION_CACHE
#else
#define NO_SESSION_CACHE
#endif
/* ------------------------------------------------------------------------- */
/* Disable Features */
/* ------------------------------------------------------------------------- */
#undef NO_WOLFSSL_SERVER
//#define NO_WOLFSSL_SERVER
#undef NO_WOLFSSL_CLIENT
//#define NO_WOLFSSL_CLIENT
#undef NO_CRYPT_TEST
//#define NO_CRYPT_TEST
#undef NO_CRYPT_BENCHMARK
//#define NO_CRYPT_BENCHMARK
#undef WOLFCRYPT_ONLY
//#define WOLFCRYPT_ONLY
/* In-lining of misc.c functions */
/* If defined, must include wolfcrypt/src/misc.c in build */
/* Slower, but about 1k smaller */
#undef NO_INLINE
//#define NO_INLINE
#undef NO_FILESYSTEM
#define NO_FILESYSTEM
#undef NO_WRITEV
#define NO_WRITEV
#undef NO_MAIN_DRIVER
#define NO_MAIN_DRIVER
#undef NO_DEV_RANDOM
#define NO_DEV_RANDOM
#undef NO_DSA
#define NO_DSA
#undef NO_RC4
#define NO_RC4
#undef NO_OLD_TLS
#define NO_OLD_TLS
#undef NO_HC128
#define NO_HC128
#undef NO_RABBIT
#define NO_RABBIT
#undef NO_PSK
#define NO_PSK
#undef NO_MD4
#define NO_MD4
#undef NO_PWDBASED
#define NO_PWDBASED
#undef NO_CODING
//#define NO_CODING
#undef NO_ASN_TIME
//#define NO_ASN_TIME
#undef NO_CERTS
//#define NO_CERTS
#undef NO_SIG_WRAPPER
//#define NO_SIG_WRAPPER
#undef WOLFSSL_IGNORE_FILE_WARN
#define WOLFSSL_IGNORE_FILE_WARN
#ifdef __cplusplus
}
#endif
#endif /* WOLFSSL_USER_SETTINGS_H */

18
IDE/GCC-ARM/Makefile Normal file
View File

@@ -0,0 +1,18 @@
BUILD_DIR = ./Build
all: WolfSSLStaticLib WolfCryptTest WolfCryptBench WolfSSLClient WolfSSLServer
WolfCryptTest:
$(MAKE) -f Makefile.test
WolfCryptBench:
$(MAKE) -f Makefile.bench
WolfSSLClient:
$(MAKE) -f Makefile.client
WolfSSLServer:
$(MAKE) -f Makefile.server
WolfSSLStaticLib:
$(MAKE) -f Makefile.static
clean:
rm -f $(BUILD_DIR)/*.elf $(BUILD_DIR)/*.hex $(BUILD_DIR)/*.map
rm -f $(BUILD_DIR)/*.o $(BUILD_DIR)/*.a $(BUILD_DIR)/*.sym $(BUILD_DIR)/*.disasm

View File

@@ -0,0 +1,7 @@
# Project name
BIN = WolfCryptBench
SRC_C = ./Source/benchmark_main.c
all: build_hex
include Makefile.common

View File

@@ -0,0 +1,7 @@
# Project name
BIN = WolfSSLClient
SRC_C = ./Source/tls_client.c
all: build_hex
include Makefile.common

250
IDE/GCC-ARM/Makefile.common Normal file
View File

@@ -0,0 +1,250 @@
# Set to @ if you want to suppress command echo
CMD_ECHO =
# Important directories
BUILD_DIR = ./Build
# Toolchain location and prefix
#TOOLCHAIN =
TOOLCHAIN ?= /opt/gcc-arm-none-eabi/bin/arm-none-eabi-
# Tools selection
CC = $(TOOLCHAIN)gcc
AS = $(CC)
LD = $(CC)
AR = $(TOOLCHAIN)ar
NM = $(TOOLCHAIN)nm
OBJCOPY ?= $(TOOLCHAIN)objcopy
OBJDUMP ?= $(TOOLCHAIN)objdump
SIZE ?= $(TOOLCHAIN)size
# Includes
USER_SETTINGS_DIR ?= ./Header
INC = -I$(USER_SETTINGS_DIR) \
-I../..
# Defines
DEF = -DWOLFSSL_USER_SETTINGS
# Architecture
ARCHFLAGS ?= -mcpu=cortex-m4 -mthumb -mabi=aapcs -DUSE_WOLF_ARM_STARTUP
#ARCHFLAGS = -mcpu=cortex-m0 -mthumb -mabi=aapcs -DUSE_WOLF_ARM_STARTUP
#ARCHFLAGS = -mcpu=cortex-r5 -mthumb -mabi=aapcs
#ARCHFLAGS = -mcpu=cortex-a53 -mthumb -mabi=aapcs
# Compiler and linker flags
ASFLAGS ?= $(ARCHFLAGS)
CFLAGS_EXTRA ?= -Wno-cpp
CFLAGS ?= $(ARCHFLAGS) -std=gnu99 -Wall $(CFLAGS_EXTRA)
LDFLAGS ?= $(ARCHFLAGS)
FIPS?=1
# LD: Link with nosys
LDFLAGS += --specs=nosys.specs
# LD: Link with nano or rdimon implementation for standard library
LDFLAGS += --specs=nano.specs
#LDFLAGS += --specs=rdimon.specs
# LD: generate map
LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(BIN).map
# LD: Entry point
LDFLAGS += -Wl,-ereset_handler
# Math lib (for DH)
LIBS = -lm
# Memory Map
SRC_LD = -T./linker.ld
# Optimization level and place functions / data into separate sections to allow dead code removal
CFLAGS += -Os -ffunction-sections -fdata-sections -fno-builtin
# Remove unused sections and link time optimizations
LDFLAGS += -Wl,--gc-sections -flto
# Debugging
#DBGFLAGS = -ggdb -g3
CFLAGS += $(DBGFLAGS)
LDFLAGS += $(DBGFLAGS)
# FILES
# Port and Test/Benchmark
ifndef NO_EXAMPLES
SRC_C += ./Source/wolf_main.c
SRC_C += ./Source/armtarget.c
SRC_C += ../../wolfcrypt/test/test.c
SRC_C += ../../wolfcrypt/benchmark/benchmark.c
endif
# WOLFSSL TLS FILES
SRC_C += ../../src/bio.c
SRC_C += ../../src/crl.c
SRC_C += ../../src/internal.c
SRC_C += ../../src/keys.c
SRC_C += ../../src/ocsp.c
SRC_C += ../../src/sniffer.c
SRC_C += ../../src/ssl.c
SRC_C += ../../src/tls.c
SRC_C += ../../src/tls13.c
SRC_C += ../../src/wolfio.c
# wolfCrypt Core (FIPS)
ifeq "$(FIPS)" "1"
SRC_C += ../../wolfcrypt/src/wolfcrypt_first.c
endif
SRC_C += ../../wolfcrypt/src/aes.c
SRC_C += ../../wolfcrypt/src/cmac.c
SRC_C += ../../wolfcrypt/src/des3.c
SRC_C += ../../wolfcrypt/src/dh.c
SRC_C += ../../wolfcrypt/src/ecc.c
SRC_C += ../../wolfcrypt/src/hmac.c
SRC_C += ../../wolfcrypt/src/random.c
SRC_C += ../../wolfcrypt/src/rsa.c
SRC_C += ../../wolfcrypt/src/sha.c
SRC_C += ../../wolfcrypt/src/sha256.c
SRC_C += ../../wolfcrypt/src/sha512.c
SRC_C += ../../wolfcrypt/src/sha3.c
ifeq "$(FIPS)" "1"
SRC_C += ../../wolfcrypt/src/fips.c
SRC_C += ../../wolfcrypt/src/fips_test.c
SRC_C += ../../wolfcrypt/src/wolfcrypt_last.c
endif
# wolfCrypt Additional
SRC_C += ../../wolfcrypt/src/asm.c
SRC_C += ../../wolfcrypt/src/asn.c
SRC_C += ../../wolfcrypt/src/blake2s.c
SRC_C += ../../wolfcrypt/src/chacha.c
SRC_C += ../../wolfcrypt/src/chacha20_poly1305.c
SRC_C += ../../wolfcrypt/src/coding.c
SRC_C += ../../wolfcrypt/src/compress.c
SRC_C += ../../wolfcrypt/src/cpuid.c
SRC_C += ../../wolfcrypt/src/cryptocb.c
SRC_C += ../../wolfcrypt/src/curve25519.c
SRC_C += ../../wolfcrypt/src/curve448.c
SRC_C += ../../wolfcrypt/src/ecc_fp.c
SRC_C += ../../wolfcrypt/src/eccsi.c
SRC_C += ../../wolfcrypt/src/ed25519.c
SRC_C += ../../wolfcrypt/src/ed448.c
SRC_C += ../../wolfcrypt/src/error.c
SRC_C += ../../wolfcrypt/src/evp.c
SRC_C += ../../wolfcrypt/src/fe_448.c
SRC_C += ../../wolfcrypt/src/fe_low_mem.c
SRC_C += ../../wolfcrypt/src/fe_operations.c
SRC_C += ../../wolfcrypt/src/ge_448.c
SRC_C += ../../wolfcrypt/src/ge_low_mem.c
SRC_C += ../../wolfcrypt/src/ge_operations.c
SRC_C += ../../wolfcrypt/src/hash.c
SRC_C += ../../wolfcrypt/src/kdf.c
SRC_C += ../../wolfcrypt/src/integer.c
SRC_C += ../../wolfcrypt/src/logging.c
SRC_C += ../../wolfcrypt/src/md5.c
SRC_C += ../../wolfcrypt/src/memory.c
SRC_C += ../../wolfcrypt/src/misc.c
SRC_C += ../../wolfcrypt/src/pkcs12.c
SRC_C += ../../wolfcrypt/src/pkcs7.c
SRC_C += ../../wolfcrypt/src/poly1305.c
SRC_C += ../../wolfcrypt/src/pwdbased.c
SRC_C += ../../wolfcrypt/src/rc2.c
SRC_C += ../../wolfcrypt/src/sakke.c
SRC_C += ../../wolfcrypt/src/signature.c
SRC_C += ../../wolfcrypt/src/srp.c
SRC_C += ../../wolfcrypt/src/sp_arm32.c
SRC_C += ../../wolfcrypt/src/sp_arm64.c
SRC_C += ../../wolfcrypt/src/sp_armthumb.c
SRC_C += ../../wolfcrypt/src/sp_c32.c
SRC_C += ../../wolfcrypt/src/sp_c64.c
SRC_C += ../../wolfcrypt/src/sp_cortexm.c
SRC_C += ../../wolfcrypt/src/sp_dsp32.c
SRC_C += ../../wolfcrypt/src/sp_int.c
SRC_C += ../../wolfcrypt/src/sp_x86_64.c
SRC_C += ../../wolfcrypt/src/tfm.c
SRC_C += ../../wolfcrypt/src/wc_dsp.c
SRC_C += ../../wolfcrypt/src/wc_encrypt.c
SRC_C += ../../wolfcrypt/src/wc_pkcs11.c
SRC_C += ../../wolfcrypt/src/wc_port.c
SRC_C += ../../wolfcrypt/src/wolfevent.c
SRC_C += ../../wolfcrypt/src/wolfmath.c
ifeq "$(ASYNC)" "1"
SRC_C += ../../wolfcrypt/src/async.c
endif
ifeq "$(SELFTEST)" "1"
SRC_C += ../../wolfcrypt/src/selftest.c
endif
# wolfCrypt non-standard algorithms (disabled by default)
SRC_C += ../../wolfcrypt/src/arc4.c
SRC_C += ../../wolfcrypt/src/blake2b.c
SRC_C += ../../wolfcrypt/src/camellia.c
SRC_C += ../../wolfcrypt/src/dsa.c
SRC_C += ../../wolfcrypt/src/hc128.c
SRC_C += ../../wolfcrypt/src/idea.c
SRC_C += ../../wolfcrypt/src/md2.c
SRC_C += ../../wolfcrypt/src/md4.c
SRC_C += ../../wolfcrypt/src/rabbit.c
SRC_C += ../../wolfcrypt/src/ripemd.c
FILENAMES_C = $(notdir $(SRC_C))
FILENAMES_C := $(filter-out evp.c, $(FILENAMES_C))
OBJS_C = $(addprefix $(BUILD_DIR)/, $(FILENAMES_C:.c=.o))
vpath %.c $(dir $(SRC_C))
build_hex: $(BUILD_DIR) $(BUILD_DIR)/$(BIN).hex
@echo ""
$(CMD_ECHO) $(SIZE) $(BUILD_DIR)/$(BIN).elf
build_static: $(BUILD_DIR) $(BUILD_DIR)/$(BIN).a
@echo ""
$(CMD_ECHO) $(SIZE) $(BUILD_DIR)/$(BIN).a
$(BUILD_DIR):
$(CMD_ECHO) mkdir -p $(BUILD_DIR)
$(BUILD_DIR)/$(BIN).hex: $(BUILD_DIR)/$(BIN).elf
@echo "Generating HEX binary: $(notdir $@)"
$(CMD_ECHO) $(OBJCOPY) -O ihex $< $@
$(BUILD_DIR)/%.o: %.s
@echo "Compiling ASM file: $(notdir $<)"
$(CMD_ECHO) $(AS) $(ASFLAGS) $(DEF) $(INC) -c -o $@ $<
$(BUILD_DIR)/%.o: %.c
@echo "Compiling C file: $(notdir $<)"
$(CMD_ECHO) $(CC) $(CFLAGS) $(DEF) $(INC) -c -o $@ $<
$(BUILD_DIR)/$(BIN).elf: $(OBJS_ASM) $(OBJS_C)
@echo "Linking ELF binary: $(notdir $@)"
$(CMD_ECHO) $(LD) $(LDFLAGS) $(SRC_LD) -o $@ $^ $(LIBS)
@echo "Generating name list: $(BIN).sym"
$(CMD_ECHO) $(NM) -n $@ > $(BUILD_DIR)/$(BIN).sym
@echo "Showing final size:"
$(CMD_ECHO) ls -la $@
@echo "Generating disassembly: $(BIN).disasm"
$(CMD_ECHO) $(OBJDUMP) -S $@ > $(BUILD_DIR)/$(BIN).disasm
$(BUILD_DIR)/$(BIN).a: $(OBJS_ASM) $(OBJS_C)
@echo "Building static library: $(notdir $@)"
$(CMD_ECHO) $(AR) -r $@ $^
@echo "Generating name list: $(BIN).sym"
$(CMD_ECHO) $(NM) -n $@ > $(BUILD_DIR)/$(BIN).sym
@echo "Showing final size:"
$(CMD_ECHO) ls -la $@
@echo "Generating disassembly: $(BIN).disasm"
$(CMD_ECHO) $(OBJDUMP) -S $@ > $(BUILD_DIR)/$(BIN).disasm
clean:
rm -f $(BUILD_DIR)/*.elf $(BUILD_DIR)/*.hex $(BUILD_DIR)/*.map
rm -f $(BUILD_DIR)/*.o $(BUILD_DIR)/*.a $(BUILD_DIR)/*.sym $(BUILD_DIR)/*.disasm

View File

@@ -0,0 +1,7 @@
# Project name
BIN = WolfSSLServer
SRC_C = ./Source/tls_server.c
all: build_hex
include Makefile.common

View File

@@ -0,0 +1,6 @@
# Project name
BIN = libwolfssl
all: build_static
include Makefile.common

View File

@@ -0,0 +1,7 @@
# Project name
BIN = WolfCryptTest
SRC_C = ./Source/test_main.c
all: build_hex
include Makefile.common

125
IDE/GCC-ARM/README.md Normal file
View File

@@ -0,0 +1,125 @@
# Example Project for GCC ARM
This example is for Cortex M series, but can be adopted for other architectures.
## Design
* All library options are defined in `Header/user_settings.h`.
* The memory map is located in the linker file in `linker.ld`.
* Entry point function is `reset_handler` in `armtarget.c`.
* The RTC and RNG hardware interface needs implemented for real production applications in `armtarget.c`
## Building
1. Make sure you have `gcc-arm-none-eabi` installed.
2. Modify the `Makefile.common`:
* Use correct toolchain path `TOOLCHAIN`.
* Use correct architecture 'ARCHFLAGS'. See [GCC ARM Options](https://gcc.gnu.org/onlinedocs/gcc-4.7.3/gcc/ARM-Options.html) `-mcpu=name`.
* Confirm memory map in linker.ld matches your flash/ram or comment out `SRC_LD = -T./linker.ld` in Makefile.common.
3. Use `make` to build the static library (libwolfssl.a), wolfCrypt test/benchmark and wolfSSL TLS client targets as `.elf` and `.hex` in `/Build`.
## Building for Raspberry Pi
Example `Makefile.common` changes for Raspberry Pi with Cortex-A53:
1. In Makefile.common change `ARCHFLAGS` to `-mcpu=cortex-a53 -mthumb`.
2. Comment out `SRC_LD`, since custom memory map is not applicable.
3. Clear `TOOLCHAIN`, so it will use default `gcc`. Set `TOOLCHAIN = `
4. Comment out `LDFLAGS += --specs=nano.specs` and `LDFLAGS += --specs=nosys.specs` to nosys and nano.
Note: To comment out a line in a Makefile use place `#` in front of line.
## Building for FIPS
1. Request evaluation from wolfSSL by emailing fips@wolfss.com.
2. Modify user_settings.h so section for `HAVE_FIPS` is enabled.
3. Use `make`.
4. Run the wolfCrypt test `./Build/WolfCryptTest.elf` to generate the FIPS boundary HASH
Example:
```
$ Crypt Test
error test passed!
base64 test passed!
base16 test passed!
asn test passed!
in my Fips callback, ok = 0, err = -203
message = In Core Integrity check FIPS error
hash = F607C7B983D1D283590448A56381DE460F1E83CB02584F4D77B7F2C583A8F5CD
In core integrity hash check failure, copy above hash
into verifyCore[] in fips_test.c and rebuild
SHA test failed!
error = -1802
Crypt Test: Return code -1
```
5. Update the `../../wolfcrypt/src/fips_test.c` array `static const char verifyCore[] = {}` with the correct core hash check.
6. Build again using `make`.
7. Run the wolfCrypt test.
## Building with configure
The configure script in the main project directory can perform a cross-compile
build with the the gcc-arm-none-eabi tools. Assuming the tools are installed in
your executable path:
```
$ ./configure \
--host=arm-non-eabi \
CC=arm-none-eabi-gcc \
AR=arm-none-eabi-ar \
STRIP=arm-none-eabi-strip \
RANLIB=arm-none-eabi-ranlib \
--prefix=/path/to/build/wolfssl-arm \
CFLAGS="-march=armv8-a --specs=nosys.specs \
-DHAVE_PK_CALLBACKS -DWOLFSSL_USER_IO -DNO_WRITEV" \
--disable-filesystem --enable-fastmath \
--disable-shared
$ make
$ make install
```
If you are building for a 32-bit architecture, add `-DTIME_T_NOT_64BIT` to the
list of CFLAGS.
## Example Build Output
```
make clean && make
text data bss dec hex filename
50076 2508 44 52628 cd94 ./Build/WolfCryptTest.elf
text data bss dec hex filename
39155 2508 60 41723 a2fb ./Build/WolfCryptBench.elf
text data bss dec hex filename
70368 464 36 70868 114d4 ./Build/WolfSSLClient.elf
```
## Performance Tuning Options
These settings are located in `Header/user_settings.h`.
* `DEBUG_WOLFSSL`: Undefine this to disable debug logging.
* `NO_ERROR_STRINGS`: Disables error strings to save code space.
* `NO_INLINE`: Disabling inline function saves about 1KB, but is slower.
* `WOLFSSL_SMALL_STACK`: Enables stack reduction techniques to allocate stack sections over 100 bytes from heap.
* `USE_FAST_MATH`: Uses stack based math, which is faster than the heap based math.
* `ALT_ECC_SIZE`: If using fast math and RSA/DH you can define this to reduce your ECC memory consumption.
* `FP_MAX_BITS`: Is the maximum math size (key size * 2). Used only with `USE_FAST_MATH`.
* `ECC_TIMING_RESISTANT`: Enables timing resistance for ECC and uses slightly less memory.
* `ECC_SHAMIR`: Doubles heap usage, but slightly faster
* `RSA_LOW_MEM`: Half as much memory but twice as slow. Uses Non-CRT method for private key.
* AES GCM: `GCM_SMALL`, `GCM_WORD32` or `GCM_TABLE`: Tunes performance and flash/memory usage.
* `CURVED25519_SMALL`: Enables small versions of Ed/Curve (FE/GE math).
* `USE_SLOW_SHA`: Enables smaller/slower version of SHA.
* `USE_SLOW_SHA256`: About 2k smaller and about 25% slower
* `USE_SLOW_SHA512`: Over twice as small, but 50% slower
* `USE_CERT_BUFFERS_1024` or `USE_CERT_BUFFERS_2048`: Size of RSA certs / keys to test with.
* `BENCH_EMBEDDED`: Define this if using the wolfCrypt test/benchmark and using a low memory target.
* `ECC_USER_CURVES`: Allows user to define curve sizes to enable. Default is 256-bit on. To enable others use `HAVE_ECC192`, `HAVE_ECC224`, etc....
* `TFM_ARM`, `TFM_SSE2`, `TFM_AVR32`, `TFM_PPC32`, `TFM_MIPS`, `TFM_X86` or `TFM_X86_64`: These are assembly optimizations available with USE_FAST_MATH.
* Single Precision Math for ARM: See `WOLFSSL_SP`. Optimized math for ARM performance of specific RSA, DH and ECC algorithms.

View File

@@ -0,0 +1,210 @@
/* armtarget.c
*
* 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/settings.h>
#include <wolfssl/ssl.h>
#include <wolfssl/wolfcrypt/random.h> /* for CUSTOM_RAND_TYPE */
#include <stdint.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#ifdef USE_WOLF_ARM_STARTUP
/* Memory initialization */
extern uint32_t __data_load_start__[];
extern uint32_t __data_start__[];
extern uint32_t __data_end__[];
extern uint32_t __bss_start__[];
extern uint32_t __bss_end__[];
extern uint32_t __stack_process_end__[];
extern uint32_t __heap_start__[];
extern uint32_t __heap_end__[];
/* Copy memory: src=Source, dst_beg=Destination Begin, dst_end=Destination End */
void memcpy32(uint32_t* src, uint32_t* dst_beg, uint32_t* dst_end)
{
while (dst_beg < dst_end) {
*dst_beg++ = *src++;
}
}
/* Zero address in range */
void meminit32(uint32_t* start, uint32_t* end)
{
while (start < end) {
*start++ = 0;
}
}
#endif /* USE_WOLF_ARM_STARTUP */
/* Entry Point */
void reset_handler(void)
{
#ifdef USE_WOLF_ARM_STARTUP
/* Init sections */
memcpy32(__data_load_start__, __data_start__, __data_end__);
meminit32(__bss_start__, __bss_end__);
/* Init heap */
__heap_start__[0] = 0;
__heap_start__[1] = ((uintptr_t)__heap_end__ - (uintptr_t)__heap_start__);
#endif /* USE_WOLF_ARM_STARTUP */
/* Start main */
extern int main(void);
main();
/* Application has ended, so busy wait */
while(1);
}
#ifdef USE_WOLF_ARM_STARTUP
// Vector Exception/Interrupt Handlers
static void Default_Handler(void)
{
/* If we get here then need to implement real IRQ handler */
while(1);
}
__attribute__((section(".sys"))) __attribute__ ((used))
void HardFault_HandlerC( uint32_t *hardfault_args )
{
/* These are volatile to try and prevent the compiler/linker optimizing them
away as the variables never actually get used. If the debugger won't show the
values of the variables, make them global my moving their declaration outside
of this function. */
volatile uint32_t stacked_r0;
volatile uint32_t stacked_r1;
volatile uint32_t stacked_r2;
volatile uint32_t stacked_r3;
volatile uint32_t stacked_r12;
volatile uint32_t stacked_lr;
volatile uint32_t stacked_pc;
volatile uint32_t stacked_psr;
volatile uint32_t _CFSR;
volatile uint32_t _HFSR;
volatile uint32_t _DFSR;
volatile uint32_t _AFSR;
volatile uint32_t _BFAR;
volatile uint32_t _MMAR;
stacked_r0 = ((uint32_t)hardfault_args[0]);
stacked_r1 = ((uint32_t)hardfault_args[1]);
stacked_r2 = ((uint32_t)hardfault_args[2]);
stacked_r3 = ((uint32_t)hardfault_args[3]);
stacked_r12 = ((uint32_t)hardfault_args[4]);
stacked_lr = ((uint32_t)hardfault_args[5]);
stacked_pc = ((uint32_t)hardfault_args[6]);
stacked_psr = ((uint32_t)hardfault_args[7]);
// Configurable Fault Status Register
// Consists of MMSR, BFSR and UFSR
_CFSR = (*((volatile uint32_t *)(0xE000ED28)));
// Hard Fault Status Register
_HFSR = (*((volatile uint32_t *)(0xE000ED2C)));
// Debug Fault Status Register
_DFSR = (*((volatile uint32_t *)(0xE000ED30)));
// Auxiliary Fault Status Register
_AFSR = (*((volatile uint32_t *)(0xE000ED3C)));
// Read the Fault Address Registers. These may not contain valid values.
// Check BFARVALID/MMARVALID to see if they are valid values
// MemManage Fault Address Register
_MMAR = (*((volatile uint32_t *)(0xE000ED34)));
// Bus Fault Address Register
_BFAR = (*((volatile uint32_t *)(0xE000ED38)));
printf ("\n\nHard fault handler (all numbers in hex):\n");
printf ("R0 = %lx\n", stacked_r0);
printf ("R1 = %lx\n", stacked_r1);
printf ("R2 = %lx\n", stacked_r2);
printf ("R3 = %lx\n", stacked_r3);
printf ("R12 = %lx\n", stacked_r12);
printf ("LR [R14] = %lx subroutine call return address\n", stacked_lr);
printf ("PC [R15] = %lx program counter\n", stacked_pc);
printf ("PSR = %lx\n", stacked_psr);
printf ("CFSR = %lx\n", _CFSR);
printf ("HFSR = %lx\n", _HFSR);
printf ("DFSR = %lx\n", _DFSR);
printf ("AFSR = %lx\n", _AFSR);
printf ("MMAR = %lx\n", _MMAR);
printf ("BFAR = %lx\n", _BFAR);
// Break into the debugger
__asm("BKPT #0\n");
}
__attribute__((section(".sys"))) __attribute__( ( naked ) )
void HardFault_Handler(void)
{
__asm volatile
(
" movs r0,#4 \n" /* load bit mask into R0 */
" mov r1, lr \n" /* load link register into R1 */
" tst r0, r1 \n" /* compare with bitmask */
" beq _MSP \n" /* if bitmask is set: stack pointer is in PSP. Otherwise in MSP */
" mrs r0, psp \n" /* otherwise: stack pointer is in PSP */
" b _GetPC \n" /* go to part which loads the PC */
"_MSP: \n" /* stack pointer is in MSP register */
" mrs r0, msp \n" /* load stack pointer into R0 */
"_GetPC: \n" /* find out where the hard fault happened */
" ldr r1,[r0,#20] \n" /* load program counter into R1. R1 contains address of the next instruction where the hard fault happened */
" ldr r2, =HardFault_HandlerC \n"
" bx r2 \n"
" bx lr \n" /* decode more information. R0 contains pointer to stack frame */
);
}
/* Vectors Table */
typedef void (*vector_entry)(void);
const vector_entry vectors[] __attribute__ ((section(".vectors"),used)) =
{
/* Interrupt Vector Table Function Pointers */
// Address Vector IRQ Source module Source description
(vector_entry)__stack_process_end__, // ARM core Initial Supervisor SP
reset_handler, // 0x0000_0004 1 - ARM core Initial Program Counter
Default_Handler, // 0x0000_0008 2 - ARM core Non-maskable Interrupt (NMI)
HardFault_Handler, // 0x0000_000C 3 - ARM core Hard Fault
Default_Handler, // 0x0000_0010 4 -
HardFault_Handler, // 0x0000_0014 5 - ARM core Bus Fault
HardFault_Handler, // 0x0000_0018 6 - ARM core Usage Fault
Default_Handler, // 0x0000_001C 7 -
Default_Handler, // 0x0000_0020 8 -
Default_Handler, // 0x0000_0024 9 -
Default_Handler, // 0x0000_0028 10 -
Default_Handler, // 0x0000_002C 11 - ARM core Supervisor call (SVCall)
Default_Handler, // 0x0000_0030 12 - ARM core Debug Monitor
Default_Handler, // 0x0000_0034 13 -
Default_Handler, // 0x0000_0038 14 - ARM core Pendable request for system service (PendableSrvReq)
Default_Handler, // 0x0000_003C 15 - ARM core System tick timer (SysTick)
/* remainder go below */
};
#endif /* USE_WOLF_ARM_STARTUP */

Some files were not shown because too many files have changed in this diff Show More