Martin Kinčl
797dae9d74
Fixed use of uninitialized value in wc_ecc_sig_to_rs.
2019-05-17 18:04:39 +02: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
5e343b8e7e
Merge pull request #2201 from dgarske/siglen
...
Improvements to the maximum ECC signature calculations
2019-05-01 15:42:12 -07:00
David Garske
443fef6a6a
Further optimization of the ECC signature size calculation.
2019-04-30 08:50:19 -07: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
David Garske
4ee4cb2068
Improved readability for ECC signature max size calculations.
2019-04-15 11:08:08 -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
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
David Garske
9ce32e3808
Merge pull request #2184 from ejohnstown/ecc-fix
...
Fix Clang Static-Analysis Finding
2019-04-01 05:46:22 -07: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
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
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
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
David Garske
3d9c660688
Refactor of the ECC crypto callback return code handling.
2019-03-11 08:28:45 -07: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
toddouska
8f3f27065c
Merge pull request #2114 from dgarske/qat_bench
...
Fixes and improvements for async / QuickAssist
2019-02-27 14:49:32 -08: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
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
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
David Garske
acb983a154
Fix for ATECC make key case when curve_id == 0 (default). ZD 4383
2019-02-12 08:34:34 -08:00
Sean Parkinson
e86aae00ed
Change to allow setting of devId for private key
2019-02-11 12:37:44 +10: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
Daniele Lacamera
501a3a287b
Allow ECC Verify-only operations with NO_ASN and SP_MATH
2019-01-21 07:11:35 +01: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
David Garske
61757c83eb
Fix double free with ./configure --enable-asynccrypt --enable-smallstack.
2018-12-21 15:45:33 -08:00
David Garske
a936c609f3
Fixes for ATECC508A/608A CryptoAuthLib demo.
2018-12-10 11:40:37 -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
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
toddouska
144ff68cfb
Merge pull request #1882 from SparkiDev/pkcs11_lib
...
Improvements for PKCS#11 library
2018-11-06 08:53:57 -08:00
Jacob Barthelmeh
a953a3141e
infer and g++ build fixes
2018-11-01 09:59:35 -06:00
Sean Parkinson
7551e49fed
Improvements for PKCS#11 library
2018-10-18 17:31:17 +10:00
toddouska
7391f4db90
Merge pull request #1815 from dgarske/atecc508_fixes
...
Fixes for ATECC508A
2018-10-17 08:35:09 -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
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
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
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
Tesfa
f83ea9a9d5
Fixed MINGW32 build errors
2018-10-03 13:58:51 -07:00
Sean Parkinson
8a5a03ea35
Support for PKCS#11
...
Support for RSA, ECDSA and AES-GCM operations.
2018-09-24 08:41:25 +10: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
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
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
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
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
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