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
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
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
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
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
Sean Parkinson
b18fdea2ce
Fixes from code review
2018-02-14 11:09:20 +10:00
John Safranek
e48eb1ded8
added hmac-sha-3
2018-02-12 13:24:06 -08: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
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
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
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
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
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
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
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
7769ba83ad
Merge pull request #1346 from dgarske/stm32_hash_ctx
...
STM32 Hashing Improvements
2018-02-07 10:03:50 -08: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
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
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
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
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
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
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
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