summaryrefslogtreecommitdiffstats
path: root/ssl
AgeCommit message (Collapse)Author
2013-11-06Experimental workaround TLS filler (WTF) extension.Dr. Stephen Henson
Based on a suggested workaround for the "TLS hang bug" (see FAQ and PR#2771): if the TLS Client Hello record length value would otherwise be > 255 and less that 512 pad with a dummy extension containing zeroes so it is at least 512. To enable it use an unused extension number (for example 0x4242) using e.g. -DTLSEXT_TYPE_wtf=0x4242 WARNING: EXPERIMENTAL, SUBJECT TO CHANGE.
2013-11-06Enable PSK in FIPS mode.Dr. Stephen Henson
Enable PSK ciphersuites with AES or DES3 in FIPS mode.
2013-11-06Sync error codes with 1.0.2-stableDr. Stephen Henson
2013-11-02Add brainpool curves to trace output.Dr. Stephen Henson
(cherry picked from commit bd80d0229c9a154f569b046365bc85d76b59cfc5)
2013-11-01DTLS/SCTP Finished Auth BugRobin Seggelmann
PR: 2808 With DTLS/SCTP the SCTP extension SCTP-AUTH is used to protect DATA and FORWARD-TSN chunks. The key for this extension is derived from the master secret and changed with the next ChangeCipherSpec, whenever a new key has been negotiated. The following Finished then already uses the new key. Unfortunately, the ChangeCipherSpec and Finished are part of the same flight as the ClientKeyExchange, which is necessary for the computation of the new secret. Hence, these messages are sent immediately following each other, leaving the server very little time to compute the new secret and pass it to SCTP before the finished arrives. So the Finished is likely to be discarded by SCTP and a retransmission becomes necessary. To prevent this issue, the Finished of the client is still sent with the old key. (cherry picked from commit 9fb523adce6fd6015b68da2ca8e4ac4900ac2be2)
2013-11-01Fix SSL_OP_SINGLE_ECDH_USEPiotr Sikora
Don't require a public key in tls1_set_ec_id if compression status is not needed. This fixes a bug where SSL_OP_SINGLE_ECDH_USE wouldn't work. (cherry picked from commit 5ff68e8f6dac3b0d8997b8bc379f9111c2bab74f)
2013-11-01Add -ecdh_single option.Dr. Stephen Henson
Add -ecdh_single option to set SSL_OP_SINGLE_ECDH_USE on the command line. (cherry picked from commit f14a4a861d2d221ed565a75441a218f85b8db530)
2013-11-01Fix warning.Dr. Stephen Henson
2013-10-22Add SSL_CONF command to set DH Parameters.Dr. Stephen Henson
2013-10-22Fix argument processing.Dr. Stephen Henson
2013-10-21Constification.Dr. Stephen Henson
2013-10-21Remove unused variable.Ben Laurie
2013-10-21Fix another gmt_unix_time case in server_randomNick Mathewson
2013-10-21Do not include a timestamp in the Client/ServerHello Random field.Nick Mathewson
Instead, send random bytes, unless SSL_SEND_{CLIENT,SERVER}RANDOM_MODE is set. This is a forward-port of commits: 4af793036f6ef4f0a1078e5d7155426a98d50e37 f4c93b46edb51da71f09eda99e83eaf193a33c08 3da721dac9382c48812c8eba455528fd59af2eef 2583270191a8b27eed303c03ece1da97b9b69fd3 While the gmt_unix_time record was added in an ostensible attempt to mitigate the dangers of a bad RNG, its presence leaks the host's view of the current time in the clear. This minor leak can help fingerprint TLS instances across networks and protocols... and what's worse, it's doubtful thet the gmt_unix_time record does any good at all for its intended purpose, since: * It's quite possible to open two TLS connections in one second. * If the PRNG output is prone to repeat itself, ephemeral handshakes (and who knows what else besides) are broken.
2013-10-20Extend SSL_CONFDr. Stephen Henson
Extend SSL_CONF to return command value types. Add certificate and key options. Update documentation.
2013-10-20Typo.Dr. Stephen Henson
2013-10-20Prevent use of RSA+MD5 in TLS 1.2 by default.Dr. Stephen Henson
Removing RSA+MD5 from the default signature algorithm list prevents its use by default. If a broken implementation attempts to use RSA+MD5 anyway the sanity checking of signature algorithms will cause a fatal alert.
2013-10-15Add brainpool curves to NID table too.Dr. Stephen Henson
2013-10-15RFC7027 (Brainpool for TLS) support.Dr. Stephen Henson
2013-10-08ssl/s3_pkt.c: add initial multi-block encrypt.Andy Polyakov
2013-09-25Show useful errors.Ben Laurie
Conflicts: apps/s_server.c
2013-09-20Merge remote-tracking branch 'trevp/pemfix' into trev-pem-fixBen Laurie
2013-09-18Fix error code clashes.Dr. Stephen Henson
2013-09-17DTLS version usage fixes.Dr. Stephen Henson
Make DTLS behave like TLS when negotiating version: record layer has DTLS 1.0, message version is 1.2. Tolerate different version numbers if version hasn't been negotiated yet.
2013-09-16Redo deletion of some serverinfo code that supplemental data code mistakenly ↵Trevor Perrin
reinstated.
2013-09-13Require ServerInfo PEMs to be named "BEGIN SERVERINFO FOR"...Trevor Perrin
2013-09-13Redo deletion of some serverinfo code that supplemental data code mistakenly ↵Trevor Perrin
reinstated.
2013-09-13Tidy up comments.Rob Stradling
2013-09-13Use TLS version supplied by client when fingerprinting Safari.Rob Stradling
2013-09-13Fix compilation with no-ec and/or no-tlsext.Rob Stradling
2013-09-08Experimental encrypt-then-mac support.Dr. Stephen Henson
Experimental support for encrypt then mac from draft-gutmann-tls-encrypt-then-mac-02.txt To enable it set the appropriate extension number (0x10 for the test server) using e.g. -DTLSEXT_TYPE_encrypt_then_mac=0x10 For non-compliant peers (i.e. just about everything) this should have no effect.
2013-09-08Set TLS v1.2 disabled mask properly.Dr. Stephen Henson
2013-09-06More cleanup.Ben Laurie
2013-09-06Make it build.Ben Laurie
2013-09-06Add callbacks supporting generation and retrieval of supplemental data ↵Scott Deboy
entries, facilitating RFC 5878 (TLS auth extensions) Removed prior audit proof logic - audit proof support was implemented using the generic TLS extension API Tests exercising the new supplemental data registration and callback api can be found in ssltest.c. Implemented changes to s_server and s_client to exercise supplemental data callbacks via the -auth argument, as well as additional flags to exercise supplemental data being sent only during renegotiation.
2013-09-05misspellings fixes by https://github.com/vlajos/misspell_fixerVeres Lajos
2013-09-05Don'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-08-17Make no-ec compilation work.Dr. Stephen Henson
2013-08-17Return 1 when setting ECDH auto mode.Dr. Stephen Henson
2013-08-13DTLS message_sequence number wrong in rehandshake ServerHelloMichael Tuexen
This fix ensures that * A HelloRequest is retransmitted if not responded by a ClientHello * The HelloRequest "consumes" the sequence number 0. The subsequent ServerHello uses the sequence number 1. * The client also expects the sequence number of the ServerHello to be 1 if a HelloRequest was received earlier. This patch fixes the RFC violation.
2013-08-08DTLS handshake fix.Michael Tuexen
Reported by: Prashant Jaikumar <rmstar@gmail.com> Fix handling of application data received before a handshake.
2013-07-31Various custom extension fixes.Trevor Perrin
Force no SSL2 when custom extensions in use. Don't clear extension state when cert is set. Clear on renegotiate.
2013-07-22Add tests for ALPN functionality.Adam Langley
Conflicts: ssl/ssltest.c
2013-07-22Support 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. [1] https://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-00 Conflicts: ssl/ssl3.h ssl/t1_lib.c
2013-06-28Cosmetic touchups.Trevor
2013-06-28Fix duplicate error code.Dr. Stephen Henson
2013-06-18Cleanup of custom extension stuff.Trevor
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.
2013-06-13Limit the number of empty records that will be processed consecutivelyAdam Langley
in order to prevent ssl3_get_record from never returning. Reported by "oftc_must_be_destroyed" and George Kadianakis.
2013-06-13This change alters the processing of invalid, RSA pre-master secrets soAdam Langley
that bad encryptions are treated like random session keys in constant time.
2013-06-12Add support for arbitrary TLS extensions.Trevor
Contributed by Trevor Perrin.