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
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
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
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
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
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
Naruto TAKAHASHI
861fec1dc6
porting mynewt
2018-07-28 18:03:20 +09: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
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
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
toddouska
17c7ecb2bc
Merge pull request #1711 from dgarske/memtrack
...
Fix for memory tracking cleanup
2018-07-24 11:53:08 -07: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
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
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
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
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
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
David Garske
70dfb9af72
Merge pull request #1700 from embhorn/zd4110
...
Move #if blocking wc_PubKeyPemToDer
2018-07-18 12:33:01 -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
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
74c391d138
Added reference PK callbacks (HAVE_PK_CALLBACKS) for ATECC508A device for wolfSSL TLS.
2018-07-17 19:02:56 -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
toddouska
f693c9cc8b
Merge pull request #1692 from SparkiDev/stack_hashalgs
...
Stack hashalgs
2018-07-17 12:20:02 -07: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
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
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
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
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
Chris Conlon
cadd556b3a
cast result of bitwise not back to original type to prevent compiler warnings
2018-07-12 13:46:55 -06: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