summaryrefslogtreecommitdiffstats
path: root/ssl/s3_lib.c
AgeCommit message (Collapse)Author
2013-11-06Enable PSK in FIPS mode.Dr. Stephen Henson
Enable PSK ciphersuites with AES or DES3 in FIPS mode. (cherry picked from commit e0ffd129c16af90eb5e2ce54e57832c0046d1aaf)
2013-10-01Merge remote-tracking branch 'agl/1.0.2alpn' into agl-alpnBen Laurie
Conflicts: ssl/ssl3.h ssl/t1_lib.c
2013-09-18Enable TLS 1.2 ciphers in DTLS 1.2.Dr. Stephen Henson
Port TLS 1.2 GCM code to DTLS. Enable use of TLS 1.2 only ciphers when in DTLS 1.2 mode too. (cherry picked from commit 4221c0dd3004117c63b182af5e8ab345b7265902)
2013-09-18Use enc_flags when deciding protocol variations.Dr. Stephen Henson
Use the enc_flags field to determine whether we should use explicit IV, signature algorithms or SHA256 default PRF instead of hard coding which versions support each requirement. (cherry picked from commit cbd64894ec687c6f37d8e43c16dff78e63f6be87) Conflicts: ssl/ssl_locl.h
2013-09-18DTLS revision.Dr. Stephen Henson
Revise DTLS code. There was a *lot* of code duplication in the DTLS code that generates records. This makes it harder to maintain and sometimes a TLS update is omitted by accident from the DTLS code. Specifically almost all of the record generation functions have code like this: some_pointer = buffer + HANDSHAKE_HEADER_LENGTH; ... Record creation stuff ... set_handshake_header(ssl, SSL_MT_SOMETHING, message_len); ... write_handshake_message(ssl); Where the "Record creation stuff" is identical between SSL/TLS and DTLS or in some cases has very minor differences. By adding a few fields to SSL3_ENC to include the header length, some flags and function pointers for handshake header setting and handshake writing the code can cope with both cases. (cherry picked from commit 173e72e64c6a07ae97660c322396b66215009f33)
2013-09-16Tidy up comments.Rob Stradling
2013-09-16Fix compilation with no-ec and/or no-tlsext.Rob Stradling
2013-09-16Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X.Rob Stradling
OS X 10.8..10.8.3 has broken support for ECDHE-ECDSA ciphers.
2013-09-13Support ALPN.Adam Langley
This change adds support for ALPN[1] in OpenSSL. ALPN is the IETF blessed version of NPN and we'll be supporting both ALPN and NPN for some time yet. Cherry-picked from 6f017a8f9db3a79f3a3406cf8d493ccd346db691. [1] https://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-00
2013-08-19Make no-ec compilation work.Dr. Stephen Henson
(cherry picked from commit 14536c8c9c0abb894afcadb9a58b4b29fc8f7a4d)
2013-08-18Return 1 when setting ECDH auto mode.Dr. Stephen Henson
(cherry picked from commit 42082eda6f3d64ce87184d65c4eae06d677e971c)
2013-07-03Trying cherrypick:Trevor
Add support for arbitrary TLS extensions. Contributed by Trevor Perrin. Conflicts: CHANGES ssl/ssl.h ssl/ssltest.c test/testssl Fix compilation due to #endif. Cherrypicking more stuff. Cleanup of custom extension stuff. serverinfo rejects non-empty extensions. Omit extension if no relevant serverinfo data. Improve error-handling in serverinfo callback. Cosmetic cleanups. s_client documentation. s_server documentation. SSL_CTX_serverinfo documentation. Cleaup -1 and NULL callback handling for custom extensions, add tests. Cleanup ssl_rsa.c serverinfo code. Whitespace cleanup. Improve comments in ssl.h for serverinfo. Whitespace. Cosmetic cleanup. Reject non-zero-len serverinfo extensions. Whitespace. Make it build. Conflicts: test/testssl
2013-01-15Add support for broken protocol tests (backport from master branch)Dr. Stephen Henson
2012-12-26handle point format list retrieval for clients too (from HEAD)Dr. Stephen Henson
2012-12-26Add support for printing out and retrieving EC point formats extension.Dr. Stephen Henson
(backport from HEAD)
2012-12-26Add ctrl and utility functions to retrieve raw cipher list sent by client inDr. Stephen Henson
client hello message. Previously this could only be retrieved on an initial connection and it was impossible to determine the cipher IDs of any uknown ciphersuites. (backport from HEAD)
2012-12-26new ctrl to retrive value of received temporary key in server key exchange ↵Dr. Stephen Henson
message, print out details in s_client (backport from HEAD)
2012-12-26store and print out message digest peer signed with in TLS 1.2Dr. Stephen Henson
(backport from HEAD)
2012-12-26Add three Suite B modes to TLS code, supporting RFC6460.Dr. Stephen Henson
(backport from HEAD)
2012-12-26Add support for certificate stores in CERT structure. This makes itDr. Stephen Henson
possible to have different stores per SSL structure or one store in the parent SSL_CTX. Include distint stores for certificate chain verification and chain building. New ctrl SSL_CTRL_BUILD_CERT_CHAIN to build and store a certificate chain in CERT structure: returing an error if the chain cannot be built: this will allow applications to test if a chain is correctly configured. Note: if the CERT based stores are not set then the parent SSL_CTX store is used to retain compatibility with existing behaviour. (backport from HEAD)
2012-12-26Add new ctrl to retrieve client certificate types, print outDr. Stephen Henson
details in s_client. Also add ctrl to set client certificate types. If not used sensible values will be included based on supported signature algorithms: for example if we don't include any DSA signing algorithms the DSA certificate type is omitted. Fix restriction in old code where certificate types would be truncated if it exceeded TLS_CT_NUMBER. (backport from HEAD)
2012-12-26Separate client and server permitted signature algorithm support: by defaultDr. Stephen Henson
the permitted signature algorithms for server and client authentication are the same but it is now possible to set different algorithms for client authentication only. (backport from HEAD)
2012-12-26Function tls1_check_ec_server_key is now redundant as we makeDr. Stephen Henson
appropriate checks in tls1_check_chain. (backport from HEAD)
2012-12-26Add new "valid_flags" field to CERT_PKEY structure which determines whatDr. Stephen Henson
the certificate can be used for (if anything). Set valid_flags field in new tls1_check_chain function. Simplify ssl_set_cert_masks which used to have similar checks in it. Add new "cert_flags" field to CERT structure and include a "strict mode". This enforces some TLS certificate requirements (such as only permitting certificate signature algorithms contained in the supported algorithms extension) which some implementations ignore: this option should be used with caution as it could cause interoperability issues. (backport from HEAD)
2012-12-26Add support for application defined signature algorithms for use withDr. Stephen Henson
TLS v1.2. These are sent as an extension for clients and during a certificate request for servers. TODO: add support for shared signature algorithms, respect shared algorithms when deciding which ciphersuites and certificates to permit. (backport from HEAD)
2012-06-11Fix memory leak.Ben Laurie
2012-06-06Fix memory leak.Ben Laurie
2012-05-29RFC 5878 support.Ben Laurie
2012-05-10PR: 2806Dr. Stephen Henson
Submitted by: PK <runningdoglackey@yahoo.com> Correct ciphersuite signature algorithm definitions.
2012-04-17Disable SHA-2 ciphersuites in < TLS 1.2 connections.Bodo Möller
(TLS 1.2 clients could end up negotiating these with an OpenSSL server with TLS 1.2 disabled, which is problematic.) Submitted by: Adam Langley
2012-04-06Add support for automatic ECDH temporary key parameter selection. WhenDr. Stephen Henson
enabled instead of requiring an application to hard code a (possibly inappropriate) parameter set and delve into EC internals we just automatically use the preferred curve. (backport from HEAD)
2012-04-06Tidy up EC parameter check code: instead of accessing internal structuresDr. Stephen Henson
add utility functions to t1_lib.c to check if EC certificates and parameters are consistent with peer. (backport from HEAD)
2012-04-06Initial revision of ECC extension handling.Dr. Stephen Henson
Tidy some code up. Don't allocate a structure to handle ECC extensions when it is used for default values. Make supported curves configurable. Add ctrls to retrieve shared curves: not fully integrated with rest of ECC code yet. (backport from HEAD)
2012-04-06New ctrls to retrieve supported signature algorithms and curves andDr. Stephen Henson
extensions to s_client and s_server to print out retrieved valued. Extend CERT structure to cache supported signature algorithm data. (backport from HEAD)
2012-04-06Add support for distinct certificate chains per key type and per SSLDr. Stephen Henson
structure. Before this the only way to add a custom chain was in the parent SSL_CTX (which is shared by all key types and SSL structures) or rely on auto chain building (which is performed on each handshake) from the trust store. (backport from HEAD)
2012-04-06Backport support for fixed DH ciphersuites (from HEAD)Dr. Stephen Henson
2012-02-10PR: 2704Dr. Stephen Henson
Submitted by: Peter Sylvester <peter.sylvester@edelweb.fr> Fix srp extension.
2011-12-31PR: 2658Dr. Stephen Henson
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Reviewed by: steve Support for TLS/DTLS heartbeats.
2011-12-22New ctrl values to clear or retrieve extra chain certs from an SSL_CTX.Dr. Stephen Henson
New function to retrieve compression method from SSL_SESSION structure. Delete SSL_SESSION_get_id_len and SSL_SESSION_get0_id functions as they duplicate functionality of SSL_SESSION_get_id. Note: these functions have never appeared in any release version of OpenSSL.
2011-12-14PR: 1794Dr. Stephen Henson
Submitted by: Peter Sylvester <peter.sylvester@edelweb.fr> Reviewed by: steve Remove unnecessary code for srp and to add some comments to s_client. - the callback to provide a user during client connect is no longer necessary since rfc 5054 a connection attempt with an srp cipher and no user is terminated when the cipher is acceptable - comments to indicate in s_client the (non-)usefulness of th primalaty tests for non known group parameters.
2011-12-13SSL export fixes (from Adam Langley).Ben Laurie
2011-11-15Add TLS exporter.Ben Laurie
2011-11-13Add Next Protocol Negotiation.Ben Laurie
2011-10-13In ssl3_clear, preserve s3->init_extra along with s3->rbuf.Bodo Möller
Submitted by: Bob Buckholz <bbuckholz@google.com>
2011-09-05(EC)DH memory handling fixes.Bodo Möller
Submitted by: Adam Langley
2011-08-04Backport GCM support from HEAD.Dr. Stephen Henson
2011-07-25Add HMAC ECC ciphersuites from RFC5289. Include SHA384 PRF support andDr. Stephen Henson
prohibit use of these ciphersuites for TLS < 1.2
2011-06-06Set SSL_FIPS flag in ECC ciphersuites.Dr. Stephen Henson
2011-05-25use TLS1_get_version macro to check version so TLS v1.2 changes don't ↵Dr. Stephen Henson
interfere with DTLS
2011-05-11Backport TLS v1.2 support from HEAD.Dr. Stephen Henson
This includes TLS v1.2 server and client support but at present client certificate support is not implemented.