summaryrefslogtreecommitdiff
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-07-06Add regress coverage for bn_printftb2-1/+283
This must be one of the ugliest tests I've ever written, but I can't think of a better way of doing it.
2023-07-06Add bn_printf(), a replacement for ASN1_bn_print()tb3-2/+154
ASN1_bn_print() will be removed in an upcoming bump. This adds an internal API that covers the same functionality but doesn't require that the caller pass in a sufficiently large scratch space that ASN1_bn_print() may or may not use. In addition, this takes a format string, which allows us to ditch some extra dances. ok jsing
2023-07-06unifdef the LIBRESSL_HAS_TLS1_3_[CLIENT|SERVER] goobeck3-54/+3
And remove the tendrils. This was useful for transition but we are now well past this.
2023-07-06define OPENSSL_NO_DTLS1_1 since we no longer have that either.beck1-2/+5
ok tb@
2023-07-06Define the 'standard' OPENSSL_NO_BLAHBLAH's for no tls 1.0 or 1.1beck1-3/+4
We have no tls 1.0 or 1.1 or methods for them. These "in theory" will make things that check the openssl #ifdef soup for all the floating eyeballs make the correct decisions, or if they do not they at least can not blame us. ok tb@
2023-07-05Hide symbols in asn1 and biobeck80-80/+1511
ok jsing@
2023-07-05upstream hidden file #include_next workaround for MS C compilersbcook10-10/+50
ok beck@, tb@
2023-07-05don't return in a void functionbcook1-2/+2
ok tb@
2023-07-05Merge bio.h patch from libressl-portabletb1-1/+15
ok beck@
2023-07-05whitespacetb1-4/+4
2023-07-05Correct formattingbeck1-17/+9
ok jsing@
2023-07-05Avoid undefined behavior in tlsexttesttb1-11/+18
An empty array cannot be initialized and it is an incomplete type, so the sizeof() operator can't be applied to it. Therefore initialize it with a zero byte and replace sizeof() use with lengths. Slightly tweaked version of a patch by inoguchi in portable. Discussed with bcook, beck, kettenis
2023-07-05Mop up last uses of ECDHerror() and ECDSAerror()tb4-25/+33
ok jsing
2023-07-05Hide symbols in chachabeck3-1/+43
ok jsing@
2023-07-05One more ECDSAerror goes.tb1-2/+2
2023-07-05ECDHerror() and ECDSAerror will go awaytb2-45/+45
Move some trivial ones to ECerror(). discussed with jsing
2023-07-05Adjust the public declaration of OpenSSLDie to use a portablebcook1-2/+10
method of indicating that the function does not return. ok tb@
2023-07-05Drop an incorrect part from a commenttb1-2/+2
2023-07-05Missing . in commenttb1-2/+2
2023-07-05Fix #includestb1-2/+6
2023-07-05Remove local prototypes for public API (?!)tb1-6/+1
2023-07-05Improve BN_bn2bin() error check for readabilitytb1-2/+2
2023-07-05Merge ECDH code that will stay into ecdh.ctb3-125/+65
2023-07-05Move ECDSA_size() to a more sensible place in this filetb1-28/+28
2023-07-05Merge ECDSA code that will stay into ecdsa.ctb3-160/+97
discussed with jsing
2023-07-05Rename ecs_local.h into ecdsa_local.htb7-13/+13
2023-07-05Make variables in prototypes match function declarationstb1-6/+6
2023-07-05Drop useless ossl_ prefixestb8-40/+52
discussed with jsing
2023-07-04Avoid outputting invalid signaturestb1-1/+11
The caller can provide an r which will be added to the ECDSA_SIG unchecked. This can happen via ECDSA_{,do_}sign_ex() or ECDSA_sign_setup() or else via a custom sign_sig() handler. Therefore add a check that it is in the bounds required. Since k was long thrown away, there's no way to check kinv, so it needs to be trusted. Misdesigned APIs that will output garbage everywhere... ok jsing
2023-07-04Clean up ECDSA verificationtb1-14/+29
Use variable names that correspond more closely to the standard. Use an additional variable for s^-1 for readability. Annotate the code with the corresponding steps from FIPS 186-5. ok jsing
2023-07-04ECDSA signing: annotate code with steps corresponding to FIPS 185-6.tb1-3/+25
ok jsing
2023-07-04Extract private key and group order in s computationtb1-19/+18
This pushes a few variables no longer needed in ossl_ecdsa_sign_sig() into ecdsa_compute_s() separating API logic and pure computation a bit more. ok beck
2023-07-04Use key for the EC_KEY everywheretb1-39/+38
2023-07-04Some more consistency in variable namestb1-15/+15
2023-07-04Normalize ECDSA_SIG to be sig everywheretb1-11/+11
2023-07-04Normalize on digest and digest_len rather than dgst dlen dgstlen, etc.tb1-28/+34
2023-07-04Rework ecdsa_prepare_digest()tb1-35/+35
Make it take an EC_KEY instead of a group order in preparation for further cleanup. Rename m into e to match the standard better. Also buy some vowels for jsing. ok beck jsing
2023-07-04Plug leak in the ssltesttb1-1/+2
Removing -tls1 moved some tests from the legacy stack to the TLSv1.3 stack. On a HRR, the alpn callback would be called twice and allocate the global twice, thereby leaking. So free it up front. Joint suffering with bcook and beck
2023-07-04Factor the computation of ECDSA s into a functiontb1-69/+88
ossl_ecdsa_sign_sig() is already complicated enough. The math bit is entirely self contained and does not need to obfuscate control flow and logic. with feedback from and ok jsing
2023-07-03sign_sig: drop ckinvtb1-5/+7
The only reason ckinv exists is to be able to avoid a copy. This copy leaks some timing info, that will be mitigated in a subsequent step. It is an unused or at least uncommonly used codepath. ok jsing
2023-07-03Rework the logic in ECDSA sign_sig()tb1-24/+30
If the caller supplied both kinv and r, we don't loop but rather throw an undocumented error code that no one uses, which is intended to tell the caller to run ECDSA_sign_setup() and try again. Use a boolean that indicates this situation so that the logic becomes a bit more transparent. ok jsing
2023-07-03add regress tests for the remainder of the function provided by our uuid.hjasper1-5/+137
2023-07-03Delete some more references to dead policy code.tobhe1-12/+1
Fixes -DNAMESPACE ok tb@
2023-07-03sign_sig: test on assignmenttb1-5/+6
2023-07-03sign_setup: split another check into twotb1-2/+6
2023-07-03typotobhe1-1/+1
2023-07-03Split range checks for ECDSA r and ECDSA stb1-3/+8
requested by jsing
2023-07-03Switch a couple of test from ucmp to cmptb1-4/+4
This is confusing, as both sides involved should be unsigned. The ec code is undecided on whether the group order can be negative. It should never be, so lets see what happen with this slightly stricter check. discussed with jsing
2023-07-03ossl_ecdsa_verify_sig(): simplify range checkstb1-6/+4
The checks whether r and s lie in the interval [1, order) were a bit uglier than necessary. Clean this up. ok beck jsing
2023-07-03List variables in a somewhat more sensible ordertb1-4/+4