| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
the EC_POINT_point2oct() calls.
Feedback from and ok doug@
|
|
|
|
| |
ok doug@
|
|
|
|
| |
ok doug@
|
|
|
|
|
|
|
|
|
|
| |
up and restructure.
This also adds CBB based variants of the ssl3_handshake_msg_{start,finish}
functions - for the time being these use a CBB to build the messages, then
copy back into the init_buf.
ok doug@
|
|
|
|
|
|
|
| |
the number of bytes written via an explicit *outlen argument and retaining
the return value to indicate success or failure.
ok doug@
|
|
|
|
|
|
|
|
| |
premaster secret, so name it accordingly. Also, remove bogus assignment
of master_key_length - the correct value is assigned when the master_key
is set.
ok beck@ doug@
|
|
|
|
|
|
|
| |
ngroup and the following EC_KEY_set_group() fails, ngroup will not be
freed. Avoid this by freeing on return.
ok millert@
|
|
|
|
|
|
| |
slightly rewriting some code and changing the type of an array.
ok bcook@ doug@
|
| |
|
|
|
|
|
|
|
| |
in the process. This also fixes a long standing bug where
tls1_ec_curve_id2nid() is called with only one byte of the curve ID.
ok beck@ miod@
|
|
|
|
|
|
| |
that's what it really is.
ok miod@
|
|
|
|
| |
ok beck@
|
|
|
|
| |
ok beck@
|
|
|
|
| |
ok beck@ (who was struggling to keep lunch down while reviewing the diff)
|
|
|
|
|
|
|
|
|
| |
and more importantly they do not provide PFS (if you want to use ECDH, use
ECDHE instead).
With input from guenther@.
ok deraadt@ guenther@
|
|
|
|
|
|
| |
https://boringssl.googlesource.com/boringssl/+/6b6e0b20893e2be0e68af605a60ffa2cbb0ffa64%5E!/#F0
ok millert@, beck@
|
|
|
|
| |
ok doug@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The current client key exchange code generates DH and ECDH keys into the
same buffer that we use to send data to the network - stop doing this and
malloc() a new buffer, which we explicit_bzero() and free() on return.
This also benefits from ASLR and means that the keys are no longer
generated in a well known location.
ok beck@
|
|
|
|
| |
ok beck@
|
|
|
|
|
|
|
|
|
| |
functions. The original was written as a huge if/else if chain -
split out the handling for each key exchange type. This allows us to reduce
two levels of indentation, make the code far more readable and have single
return paths so that we can simplify clean up.
ok beck@
|
|
|
|
| |
ok miod@
|
|
|
|
|
|
|
| |
We can now assume >= TLS v1.0 since SSL2_VERSION, SSL3_VERSION and
DTLS1_BAD_VER support was removed.
"reads ok" miod@
|
|
|
|
| |
ok bcook@ beck@ miod@
|
|
|
|
| |
state after calling ssl3_handshake_msg_finish().
|
| |
|
|
|
|
|
|
| |
ssl3_ prefix.
ok beck@
|
|
|
|
| |
ok miod@
|
|
|
|
|
|
|
|
|
|
|
| |
the same code, with two slight differences for DTLS handling.
Also, make use of send_cookie to determine if the client random needs to
be preserved, rather than testing if it is zeroed (hopefully your random
number generator never returned all zeros, since the existing code would
break). Inspired by BoringSSL.
ok doug@
|
|
|
|
|
|
| |
now nothing more than noops.
ok bcook@ doug@
|
|
|
|
| |
ok jsing@
|
|
|
|
|
|
|
|
|
|
| |
This is the first wave of SSLv3 removal which removes the main SSLv3
functions. Future commits will remove the rest of the SSLv3 support.
Discussed the plan at c2k15. Input from jsing@, beck@, miod@, bcook@,
sthen@, naddy@, and deraadt@.
ok jsing@, beck@
|
|
|
|
|
|
|
| |
Use of this symbols proves the existence of a code path willingly using SSLv3,
even with OPENSSL_NO_SSL3 being defined, which hints that it needs fixing.
Discussed with the LibreSSL cabal during c2k15; ok deraadt@
|
|
|
|
| |
ok miod@
|
|
|
|
| |
ok bcook@ miod@
|
|
|
|
| |
reluctant ok miod@
|
|
|
|
|
| |
coverity ID's 21691 21698
ok miod@, "Fry it" jsing@
|
|
|
|
| |
ok miod@ jsing@
|
|
|
|
| |
ok miod@
|
|
|
|
|
|
| |
spelt malloc+memcpy, which is what is used in all except two places.
ok deraadt@ doug@
|
|
|
|
| |
tweak + ok miod@ jsing@
|
|
|
|
|
|
|
| |
This commit matches the OpenSSL removal in commit
3c33c6f6b10864355553961e638514a6d1bb00f6.
ok deraadt@
|
|
|
|
|
|
|
| |
compile time, which we do not do and are unlikely to ever do. Additionally,
there are two runtime configurable alternatives that exist.
ok bcook@ doug@
|
|
|
|
|
|
| |
in four different places.
ok doug@ guenther@
|
|
|
|
| |
spotted by miod. ok miod.
|
|
|
|
|
| |
by a similar BoringSSL change, but raising the limit to 1024 bits.
ok jsing@ markus@ guenther@ deraadt@
|
|
|
|
|
|
|
| |
ssl3_get_cipher_by_value() in other parts of the code where it simplifies
things.
ok doug@
|
|
|
|
|
|
|
|
| |
ephemeral keys exist for SSL_kDHE and SSL_kECDHE.
This would have prevented CVE-2014-3572.
ok doug@
|
|
|
|
|
|
|
|
| |
This API was intended to be an internal only, however like many things in
OpenSSL, it is exposed externally and parts of the software ecosystem are
now using it since there is no real alternative within the public API.
ok doug@, tedu@ and reluctantly miod@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
suite uses ephemeral keys. This avoids an issue where an ECHDE cipher suite can
effectively be downgraded to ECDH, if the server omits the ServerKeyExchange
message and has provided a certificate with an ECC public key.
Issue reported to OpenSSL by Karthikeyan Bhargavan.
Based on OpenSSL.
Fixes CVE-2014-3572.
ok beck@
|