Commit Graph

6243 Commits

Author SHA1 Message Date
David Garske
fbc2ccca1e Fix to properly trap errors in sniffer SetupKeys after async changes. Fix minor scan-build warnings. 2022-04-27 08:28:36 -07:00
David Garske
25e8bd6b45 Merge pull request #5044 from SparkiDev/sp_read_radix_10_oob
SP Math
2022-04-26 16:21:11 -07:00
Chris Conlon
a6d019ecf9 Merge pull request #5073 from JacobBarthelmeh/PKCS7 2022-04-26 14:41:13 -06:00
David Garske
cbc27f7de4 Merge pull request #5085 from douzzer/20220426-multi-test
20220426 multi-test fixups
2022-04-26 11:15:59 -07:00
John Safranek
7436a41bc7 Merge pull request #5046 from SparkiDev/cppcheck_fixes_8
cppcheck: fixes
2022-04-26 10:37:42 -07:00
David Garske
67a3326e6d Merge pull request #5082 from SparkiDev/sp_c++
CPP protection for extern references to asm code
2022-04-26 08:33:15 -07:00
Daniel Pouzzner
4e02d7e404 fix clang-tidy-Customer-CFG-7 readability-redundant-preprocessor. 2022-04-26 10:20:26 -05:00
David Garske
704a18d103 Merge pull request #5079 from tmael/rsa_vfg
Fix no malloc RSA  test
2022-04-26 08:11:44 -07:00
Daniel Pouzzner
5e1a358dff wolfcrypt/src/evp.c wolfSSL_EVP_PKEY_free(): fix clang-diagnostic-implicit-fallthrough. 2022-04-26 09:57:54 -05:00
Sean Parkinson
0be79a8629 CPP protection for extern references to asm code 2022-04-26 10:17:25 +10:00
Sean Parkinson
8737d46bb1 Merge pull request #5018 from haydenroche5/libspdm
Make changes to compatibility layer to support libspdm.
2022-04-26 09:55:22 +10:00
Sean Parkinson
20e5e654a3 cppcheck: fixes
CBIORecv/Send are only assigned once.
IOCB_ReadCtx/WriteCtx only assigned once.
BuildMessage checks output and input wiht sizeOnly every call - state
machine doesn't cache these.
Renamed alias_tbl variables to something unique.
Other cppcheck fixes.
Also reworked pem_read_bio_key().
2022-04-26 09:26:41 +10:00
JacobBarthelmeh
1181081c38 Merge pull request #5075 from dgarske/cryptocb
Fix for PKCS7 with Crypto Callbacks
2022-04-25 17:23:28 -06:00
Masashi Honma
3ab5ccd04f Add support for EVP_PKEY_sign/verify functionality (#5056)
* Fix wolfSSL_RSA_public_decrypt() return value to match Openssl
* Add support for EVP_PKEY_verify_init() and EVP_PKEY_verify()
* wpa_supplicant SAE public key functionality requires this function.
* Add DSA support for EVP_PKEY_sign/verify()
* Add ECDSA support for EVP_PKEY_sign/verify()
* Add tests for EVP_PKEY_sign_verify()
* Fix "siglen = keySz" at error cases
* Fix wolfSSL_DSA_do_sign() usage
1. Check wolfSSL_BN_num_bytes() return value
2. Check siglen size
3. Double the siglen
* Check return code of wolfSSL_i2d_ECDSA_SIG() in wolfSSL_EVP_DigestSignFinal()
* Add size calculations to `wolfSSL_EVP_PKEY_sign`
* Add size checks to wolfSSL_EVP_PKEY_sign before writing out signature
* Use wc_ecc_sig_size() to calculate ECC signature size
Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
Co-authored-by: Juliusz Sosinowicz <juliusz@wolfssl.com>
2022-04-25 14:19:56 -07:00
Tesfa Mael
85ef91ce6d Move up local variable at the beginning 2022-04-25 12:40:31 -07:00
David Garske
34d541109d Additional scan-build warning fixes. 2022-04-25 09:55:36 -07:00
Tesfa Mael
18a6a7c4a7 Fix RSA nomalloc test 2022-04-25 09:50:50 -07:00
David Garske
74cd2fd910 Fix for integer.c possible uses of mp_int input with DP NULL. 2022-04-22 16:02:54 -07:00
David Garske
84a33183a6 Various scan-build fixes. 2022-04-22 16:02:54 -07:00
David Garske
a6a89d3316 Fix for integer.c s_mp_add output to make sure it grows if not set. 2022-04-22 16:02:53 -07:00
David Garske
293d7e1241 Fix for report of Use of memory after it is freed. Force the dataIsAlloc set to 0. 2022-04-22 16:02:53 -07:00
David Garske
8fb1bb8781 Merge pull request #5074 from embhorn/zd14105
Fix for mingw builds
2022-04-22 15:27:58 -07:00
David Garske
9cbf92df01 Fix for PKCS7 sign to allow providing a public key only if using crypto callback w/devId. ZD13949. 2022-04-22 14:29:43 -07:00
Eric Blankenhorn
b543aa0148 Fix for mingw builds 2022-04-22 14:35:46 -05:00
John Safranek
bf16696d8c Merge pull request #5036 from dgarske/sniffer
Fixes for minor sniffer and async issues
2022-04-22 12:24:33 -07:00
David Garske
ed58cfdc0f Add DEBUG_CRYPTOCB and wc_CryptoCb_InfoString to help with debugging crypto callbacks. 2022-04-22 12:20:55 -07:00
Jacob Barthelmeh
d5927a58dd add store of PKCS7 cert used for verify 2022-04-22 11:26:34 -06:00
David Garske
2fa1e19fe7 Fix for ./configure --enable-sniffer --enable-session-ticket --disable-ecc && make. 2022-04-21 13:28:38 -07:00
elms
29392ac6b3 spell fix: OSCP -> OCSP 2022-04-19 15:11:08 -07:00
David Garske
659d33fdaf Fixes for minor sniffer and async issues:
* Sniffer: Remove old restrictions for max strength, encrypt-then-mac and forcing openssl-extra.
* Fix bound warning with strncpy in sniffer.c.
* Fix for async DH issue.
* Fix for SP math all not initializing raw big int.
* Fix for array bounds warning with "-O3" on SetEccPublicKey.
* Fix a sniffer async edge case with TLS v1.2 static RSA and extended master.
* Improved the sniffer test script detection of features.
* Disable ECC custom curve test with Intel QuickAssist.
2022-04-18 11:46:40 -07:00
John Safranek
e89b4cce4c Merge pull request #5045 from SparkiDev/wycheproof_armasm
Wycheproof testing of Aarch64 ASM
2022-04-15 11:23:45 -07:00
John Safranek
8eed940e3a Merge pull request #5040 from SparkiDev/wycheproof_intelasm
Wycheproof fixes
2022-04-15 11:19:57 -07:00
John Safranek
3ab87ba2ed Merge pull request #5039 from SparkiDev/ecc_pub_api
ECC: make public APIS for add and double points
2022-04-15 11:09:37 -07:00
Daniel Pouzzner
607a24b499 fixes for clang-tidy and sanitizer hygiene with --disable-fastmath. 2022-04-14 21:06:04 -05:00
Daniel Pouzzner
096889927d wolfcrypt/src/port/devcrypto/devcrypto_aes.c: remove redundant "int ret" in wc_AesCtrEncrypt() (supersedes #5052). 2022-04-14 20:23:31 -05:00
kaleb-himes
d706e2be32 Change void cast(s) to be non-conditional and consolidate condition logic 2022-04-13 10:25:43 -06:00
Chris Conlon
947c72937f Merge pull request #5049 from miyazakh/unused_param 2022-04-13 09:02:26 -06:00
Sean Parkinson
824b7a3f3f ECC: fix import failure return
Passing in x=0 and y=0 meant to return ECC_INF_E.
Passing in x=0, y=not 0 or x=not 0, y=0 now checks whether the point is
valid and forces a return of BAD_FUNC_ARG when IS_POINT_E is returned
from check.
2022-04-13 14:03:13 +10:00
Hideki Miyazaki
c5056f408f fix unused parameter when using CRYPTO_CB_ONLY_RSA 2022-04-13 07:48:18 +09:00
Sean Parkinson
55e13d40b3 SP Math
sp_read_radix_10: check _sp_add_d doesn't error due to overflow
_sp_add_d: Don't change value of used for result until it is known to be
valid.
2022-04-13 08:33:30 +10:00
Sean Parkinson
6cc91c8f9b Wycheproof testing of Aarch64 ASM
Fix which bytes are incremented for AES-GCM - only 4 bytes are counter.
Fix Curve25519 to reduce to below modulus at end.
2022-04-12 11:45:14 +10:00
Hayden Roche
0ef7435580 Make changes to compatibility layer to support libspdm.
- Add support for ASN1_TIME_compare, DH_new_by_nid, OBJ_length, OBJ_get0_data,
and ChaCha20-Poly1305 and HKDF in the EVP layer.
- Map EC_POINT_get_affine_coordinates to
wolfSSL_EC_POINT_get_affine_coordinates_GFp and EC_POINT_set_affine_coordinates
to wolfSSL_EC_POINT_set_affine_coordinates_GFp.
- Add kdf.h compatibility header.
2022-04-11 15:07:27 -07:00
Sean Parkinson
2995c96f11 Wycheproof fixes
Curve25519: reduce to less than mod at end of curve25519, optimize to
not use imulq when andq can be used instead.
x86_64 Karatsuba Mul: Don't put add carry into overflow and then
continue adding zero. Overflow is lost.
2022-04-11 15:09:40 +10:00
Sean Parkinson
b6db087a62 ECC: make public APIS for add and double points
Use internal API internally.
2022-04-11 09:19:23 +10:00
Jacob Barthelmeh
83ad0b7010 fix for function rename 2022-04-08 15:05:08 -06:00
David Garske
c84c465fc6 Merge pull request #5035 from douzzer/20220408-fuzz-6262033210802176
oss-fuzz 6262033210802176
2022-04-08 08:34:16 -07:00
David Garske
6a21a90f41 Merge pull request #5034 from SparkiDev/sp_wycheproof_fixes
SP fixes from Whycheproof tests
2022-04-08 08:20:56 -07:00
Daniel Pouzzner
1c570fae3b wolfcrypt/src/asn.c GetLength_ex(): test for overlong length spec before using length as shift operand. 2022-04-08 08:15:02 -05:00
Sean Parkinson
ed7e1f9770 SP fixes from Whycheproof tests
EC point add is a double if affine ordinates are the same.
Fix AVX2 implementation of mod inv to do conversion from 26 bits in
32-bit registers to 64 bits in 64-bit registers. Also handle negative
value.
RSA OAEP: loop down to last byte. Must have a separator.
Div for x86_64: fix to have all 1s when high word equals divisor.
2022-04-08 15:01:06 +10:00
Daniel Pouzzner
28cefb0d1a fix clang-analyzer-core.NonNullParamChecker. 2022-04-07 08:01:00 -05:00