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
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
Chris Conlon
a149d83bff
include MAX_RSA_INT_SZ in wc_RsaKeyToPublicDer(), for 4096-bit keys
2016-09-09 16:11:56 -06: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
Jacob Barthelmeh
f4e604dec3
verify case with unexpected input
2016-09-08 15:32:09 -06:00
Jacob Barthelmeh
79af4d30e0
ARMv8 : increase performance with SHA256
2016-09-08 18:00:24 +00:00
toddouska
baebec4ca4
Merge pull request #538 from JacobBarthelmeh/ARMv8
...
initial ARMv8 instructions
2016-09-07 09:20:14 -07:00
Jacob Barthelmeh
09b29cb1d4
ARMv8 AES: remove extra memcpy during encrypt/decrypt
2016-09-02 22:55:17 +00: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
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
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
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
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
Daniele Lacamera
3d3f8c9dd3
Support for Frosted OS
2016-08-18 14:56:14 +02: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
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
Jacob Barthelmeh
b502d9dcf7
help static analysis tools
2016-08-10 14:23:27 -06: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
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
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
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
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
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
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
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
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
toddouska
a274386693
fix user rsa no error codes?
2016-07-25 19:19:46 -07:00
toddouska
cd5486a4e6
fix user_rsa with blinding API addition
2016-07-25 15:33:28 -07:00
Jacob Barthelmeh
e8f7d78fc4
add helper functions for choosing static buffer size
2016-07-21 12:11:15 -06:00
toddouska
1b980867d6
fix rsablind other builds
2016-07-20 11:35:57 -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
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
Moisés Guimarães
dd329ac97b
fixes ocsp signer lookup in the cert manager.
2016-07-15 17:12:04 -03: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
7a906e47ed
fix rsa flatten eSz check
2016-07-12 16:28:59 -06:00
Jacob Barthelmeh
92341292c7
remove hard tabs and replace with spaces
2016-07-12 14:12:44 -06: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
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
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
Jacob Barthelmeh
f18ff8bfa4
update mysql patch
2016-06-27 15:44:52 -06: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
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
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
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
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
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
Jacob Barthelmeh
03de8e3464
prepare for version 3.9.6
2016-06-14 14:35:12 -06: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
Jacob Barthelmeh
2bda6c6449
16 byte aligned static memory
2016-06-10 11:15:54 -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
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
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
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
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
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
John Safranek
61801e06df
add benchmark for AES-CMAC
2016-05-25 16:12:19 -07:00
John Safranek
ae093ded8f
add standalone AES-CMAC generate and verify functions
2016-05-25 09:22:39 -07: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
John Safranek
c0cbc97b06
add AES-CMAC
2016-05-23 17:50:36 -07: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
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
toddouska
504081e602
Merge pull request #421 from ejohnstown/limit-country-code
...
Limit Country Name size
2016-05-19 16:05:15 -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
1ea01a7ad8
Merge branch 'master' of https://github.com/NickolasLapp/wolfssl into dyntickets
2016-05-13 09:07:55 -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
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
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
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
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
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
toddouska
f9f9546d0e
Merge pull request #408 from cconlon/header-fix
...
fix aes_asm.asm header format
2016-05-04 14:38:23 -07: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
kaleb-himes
8176c74b3e
Merge branch 'embOS-port' of https://github.com/wolfssl/wolfssl into embOS-port
2016-05-04 08:57:06 -07: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
Jacob Barthelmeh
05e56b75f6
scan-build, valgrind issues and fix issue with ExtractDate, struct tm
2016-05-03 09:22:16 -06:00
Jacob Barthelmeh
f88d82375e
add function wolfSSL_ASN1_TIME_to_string
2016-05-03 09:22:15 -06:00
Chris Conlon
78e62eddd7
fix visual studio code analysis warnings
2016-04-28 13:08:50 -06:00
Kaleb Himes
b2af02a783
Merge pull request #383 from kojo1/MDK5
...
fixes for MDK5 compiler
2016-04-26 16:11:59 -06:00
Nickolas Lapp
5f9c1ffca6
Initial support for deep copying of session
2016-04-25 11:00:42 -06:00
Chris Conlon
27814ca1df
omit NULL AlgorithmIdentifier parameter for ECDSA algoOID types in SetAlgoID
2016-04-21 14:32:28 -06:00
toddouska
86cbabf035
Merge pull request #392 from wolfSSL/aesni-update
...
AES-NI Update
2016-04-20 14:27:52 -07:00
Jacob Barthelmeh
659d6c0689
update oid value for secp160r1
2016-04-19 17:01:39 -06:00
Jacob Barthelmeh
e0a9b365cc
fix NID name in openssl compatibility
2016-04-19 13:17:32 -06:00
toddouska
0dbdc8eab0
Merge pull request #372 from dgarske/mingwfixes
...
MinGW fixes
2016-04-18 12:50:13 -07: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
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
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
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
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
8d040ad41f
uTasker: add initial port, WOLFSSL_UTASKER
2016-04-08 11:12:17 -06: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
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
toddouska
63b1282e67
Merge pull request #335 from dgarske/asynccrypt
...
Asynchronous crypto and wolf event support
2016-03-30 20:12:41 -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
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
Jacob Barthelmeh
e60adfc9da
better naming of macro and alter misc.c check
2016-03-29 13:42:40 -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
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
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
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
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
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
Chris Conlon
20285bec01
fix wc_ecc_import_raw comment, public key instead of base point
2016-03-23 15:33:53 -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
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