Dr. Stephen Henson [Tue, 26 Feb 2013 16:33:05 +0000 (16:33 +0000)]
Demo code for SSL_CONF API
Two example programs one for command line argument processing and
one for configuration file processing.
(cherry picked from commit
3646578ae7e29230d7b05a5487ad12990b2ae688)
Dr. Stephen Henson [Tue, 26 Feb 2013 15:27:56 +0000 (15:27 +0000)]
Update SSL_CONF docs.
Fix some typos and update version number first added: it has now been
backported to OpenSSL 1.0.2.
(cherry picked from commit
4365e4aad97fa37e4a97eb2270a64c03e6547014)
Dr. Stephen Henson [Fri, 7 Oct 2011 15:18:09 +0000 (15:18 +0000)]
New -force_pubkey option to x509 utility to supply a different public
key to the one in a request. This is useful for cases where the public
key cannot be used for signing e.g. DH.
(cherry picked from commit
43206a2d7cc87c959535c0f69e2aa3b364eafd6e)
Andy Polyakov [Thu, 14 Feb 2013 08:51:41 +0000 (09:51 +0100)]
bn_nist.c: work around clang 3.0 bug.
(cherry picked from commit
750398acd85a7ae220d272d28a76dff7bb269c31)
Nick Alcock [Fri, 15 Feb 2013 17:44:11 +0000 (17:44 +0000)]
Fix POD errors to stop make install_docs dying with pod2man 2.5.0+
podlators 2.5.0 has switched to dying on POD syntax errors. This means
that a bunch of long-standing erroneous POD in the openssl documentation
now leads to fatal errors from pod2man, halting installation.
Unfortunately POD constraints mean that you have to sort numeric lists
in ascending order if they start with 1: you cannot do 1, 0, 2 even if
you want 1 to appear first. I've reshuffled such (alas, I wish there
were a better way but I don't know of one).
(cherry picked from commit
5cc270774258149235f69e1789b3370f57b0e27b)
Andy Polyakov [Mon, 16 May 2011 18:11:45 +0000 (18:11 +0000)]
cms-test.pl: make it work with not-so-latest perl.
(cherry picked from commit
9c437e2faded18b4ef6499d7041c65d6e216955b)
Dr. Stephen Henson [Tue, 12 Feb 2013 16:02:45 +0000 (16:02 +0000)]
Upate FAQ.
Add description of "allocate and encode" operation for ASN1 routines.
Document how versioning will for after the letter release reaches
y.
(cherry picked from commit
2527b94fec345c0bec58f4c7a810b7b8d0552b17)
David Woodhouse [Tue, 12 Feb 2013 14:55:32 +0000 (14:55 +0000)]
Check DTLS_BAD_VER for version number.
The version check for DTLS1_VERSION was redundant as
DTLS1_VERSION > TLS1_1_VERSION, however we do need to
check for DTLS1_BAD_VER for compatibility.
PR:2984
(cherry picked from commit
d980abb22e22661e98e5cee33d760ab0c7584ecc)
Dr. Stephen Henson [Mon, 11 Feb 2013 18:17:50 +0000 (18:17 +0000)]
Fix in ssltest is no-ssl2 configured
(cherry picked from commit
cbf9b4aed3e209fe8a39e1d6f55aaf46d1369dc4)
Lutz Jaenicke [Mon, 11 Feb 2013 10:29:05 +0000 (11:29 +0100)]
FAQ/README: we are now using Git instead of CVS
(cherry picked from commit
f88dbb8385c199a2a28e9525c6bba3a64bda96af)
Andy Polyakov [Mon, 11 Feb 2013 09:39:50 +0000 (10:39 +0100)]
sparccpuid.S: work around emulator bug on T1.
(cherry picked from commit
3caeef94bd045608af03b061643992e3afd9c445)
Andy Polyakov [Fri, 8 Feb 2013 20:30:52 +0000 (21:30 +0100)]
s3_cbc.c: make CBC_MAC_ROTATE_IN_PLACE universal.
(cherry picked from commit
f93a41877d8d7a287debb7c63d7b646abaaf269c)
Andy Polyakov [Fri, 8 Feb 2013 15:59:26 +0000 (16:59 +0100)]
s3_cbc.c: get rid of expensive divisions [from master].
Andy Polyakov [Thu, 7 Feb 2013 21:47:05 +0000 (22:47 +0100)]
ssl/[d1|s3]_pkt.c: harmomize orig_len handling.
(cherry picked from commit
8545f73b8919770a5d012fe7a82d6785b69baa27)
Dr. Stephen Henson [Thu, 7 Feb 2013 21:06:37 +0000 (21:06 +0000)]
Fix IV check and padding removal.
Fix the calculation that checks there is enough room in a record
after removing padding and optional explicit IV. (by Steve)
For AEAD remove the correct number of padding bytes (by Andy)
(cherry picked from commit
32cc2479b473c49ce869e57fded7e9a77b695c0d)
Adam Langley [Wed, 6 Feb 2013 16:05:40 +0000 (16:05 +0000)]
Fix for EXP-RC2-CBC-MD5
MD5 should use little endian order. Fortunately the only ciphersuite
affected is EXP-RC2-CBC-MD5 (TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5) which
is a rarely used export grade ciphersuite.
(cherry picked from commit
f306b87d766e6ecf30824635c7c395b67cff9dbc)
Andy Polyakov [Fri, 8 Feb 2013 09:31:13 +0000 (10:31 +0100)]
e_aes_cbc_hmac_sha1.c: align calculated MAC at cache line.
It also ensures that valgring is happy.
(cherry picked from commit
2141e6f30b1fd2906830fd23d8eae71fe72acc47)
Andy Polyakov [Sun, 3 Feb 2013 19:04:39 +0000 (20:04 +0100)]
e_aes_cbc_hmac_sha1.c: cleanse temporary copy of HMAC secret.
(cherry picked from commit
529d27ea472fc2c7ba9190a15a58cb84012d4ec6)
Andy Polyakov [Sat, 2 Feb 2013 18:29:59 +0000 (19:29 +0100)]
e_aes_cbc_hmac_sha1.c: address the CBC decrypt timing issues.
Address CBC decrypt timing issues and reenable the AESNI+SHA1 stitch.
(cherry picked from commit
125093b59f3c2a2d33785b5563d929d0472f1721)
Andy Polyakov [Fri, 1 Feb 2013 14:31:50 +0000 (15:31 +0100)]
ssl/*: remove SSL3_RECORD->orig_len to restore binary compatibility.
Kludge alert. This is arranged by passing padding length in unused
bits of SSL3_RECORD->type, so that orig_len can be reconstructed.
(cherry picked from commit
8bfd4c659f180a6ce34f21c0e62956b362067fba)
Dr. Stephen Henson [Fri, 1 Feb 2013 13:53:43 +0000 (13:53 +0000)]
Don't access EVP_MD_CTX internals directly.
(cherry picked from commit
04e45b52ee3be81121359cc1198fd01e38096e9f)
Andy Polyakov [Fri, 1 Feb 2013 09:10:32 +0000 (10:10 +0100)]
s3/s3_cbc.c: allow for compilations with NO_SHA256|512.
(cherry picked from commit
d5371324d978e4096bf99b9d0fe71b2cb65d9dc8)
Andy Polyakov [Fri, 1 Feb 2013 08:59:56 +0000 (09:59 +0100)]
ssl/s3_cbc.c: md_state alignment portability fix.
RISCs are picky and alignment granted by compiler for md_state can be
insufficient for SHA512.
(cherry picked from commit
36260233e7e3396feed884d3f501283e0453c04f)
Andy Polyakov [Fri, 1 Feb 2013 08:55:43 +0000 (09:55 +0100)]
ssl/s3_cbc.c: uint64_t portability fix.
Break dependency on uint64_t. It's possible to declare bits as
unsigned int, because TLS packets are limited in size and 32-bit
value can't overflow.
(cherry picked from commit
cab13fc8473856a43556d41d8dac5605f4ba1f91)
Dr. Stephen Henson [Thu, 31 Jan 2013 23:04:39 +0000 (23:04 +0000)]
Dr. Stephen Henson [Thu, 31 Jan 2013 15:19:00 +0000 (15:19 +0000)]
Add ordinal for CRYPTO_memcmp: since this will affect multiple
branches it needs to be in a "gap".
(cherry picked from commit
81ce0e14e72e8e255ad1bd9c7cfaa47a6291919c)
Dr. Stephen Henson [Tue, 29 Jan 2013 14:44:36 +0000 (14:44 +0000)]
Timing fix mitigation for FIPS mode.
We have to use EVP in FIPS mode so we can only partially mitigate
timing differences.
Make an extra call to EVP_DigestSignUpdate to hash additonal blocks
to cover any timing differences caused by removal of padding.
(cherry picked from commit
b908e88ec15aa0a74805e3f2236fc4f83f2789c2)
Ben Laurie [Mon, 28 Jan 2013 18:24:55 +0000 (18:24 +0000)]
Oops. Add missing file.
(cherry picked from commit
014265eb02e26f35c8db58e2ccbf100b0b2f0072)
Ben Laurie [Mon, 28 Jan 2013 17:34:33 +0000 (17:34 +0000)]
Update DTLS code to match CBC decoding in TLS.
This change updates the DTLS code to match the constant-time CBC
behaviour in the TLS.
(cherry picked from commit
9f27de170d1b7bef3d46d41382dc4dafde8b3900)
Ben Laurie [Mon, 28 Jan 2013 17:33:18 +0000 (17:33 +0000)]
Don't crash when processing a zero-length, TLS >= 1.1 record.
The previous CBC patch was bugged in that there was a path through enc()
in s3_pkt.c/d1_pkt.c which didn't set orig_len. orig_len would be left
at the previous value which could suggest that the packet was a
sufficient length when it wasn't.
(cherry picked from commit
6cb19b7681f600b2f165e4adc57547b097b475fd)
Ben Laurie [Mon, 28 Jan 2013 17:31:49 +0000 (17:31 +0000)]
Make CBC decoding constant time.
This patch makes the decoding of SSLv3 and TLS CBC records constant
time. Without this, a timing side-channel can be used to build a padding
oracle and mount Vaudenay's attack.
This patch also disables the stitched AESNI+SHA mode pending a similar
fix to that code.
In order to be easy to backport, this change is implemented in ssl/,
rather than as a generic AEAD mode. In the future this should be changed
around so that HMAC isn't in ssl/, but crypto/ as FIPS expects.
(cherry picked from commit
e130841bccfc0bb9da254dc84e23bc6a1c78a64e)
Ben Laurie [Mon, 28 Jan 2013 17:30:38 +0000 (17:30 +0000)]
Add and use a constant-time memcmp.
This change adds CRYPTO_memcmp, which compares two vectors of bytes in
an amount of time that's independent of their contents. It also changes
several MAC compares in the code to use this over the standard memcmp,
which may leak information about the size of a matching prefix.
(cherry picked from commit
2ee798880a246d648ecddadc5b91367bee4a5d98)
Dr. Stephen Henson [Mon, 4 Feb 2013 15:14:11 +0000 (15:14 +0000)]
Merge branch 'OpenSSL_1_0_2-stable' of /home/steve/src/git/openssl into OpenSSL_1_0_2-stable
Dr. Stephen Henson [Mon, 4 Feb 2013 14:53:47 +0000 (14:53 +0000)]
Fix for trace code: SSL3 doesn't include a length value for
encrypted premaster secret value.
(cherry picked from commit
ea34a58385058748c51037bfb2c3208ee639f5f1)
Andy Polyakov [Fri, 9 Nov 2012 13:58:40 +0000 (13:58 +0000)]
bn_word.c: fix overflow bug in BN_add_word.
(cherry picked from commit
134c00659a1bc67ad35a1e4620e16bc4315e6e37)
Andy Polyakov [Sat, 2 Feb 2013 18:52:43 +0000 (19:52 +0100)]
x86_64 assembly pack: keep making Windows build more robust.
PR: 2963 and a number of others
(cherry picked from commit
4568182a8b8cbfd15cbc175189029ac547bd1762)
Dr. Stephen Henson [Thu, 24 Jan 2013 14:06:54 +0000 (14:06 +0000)]
Fix warning: lenmax isn't used any more.
Dr. Stephen Henson [Wed, 23 Jan 2013 01:04:36 +0000 (01:04 +0000)]
Don't include comp.h in cmd_cd.c if OPENSSL_NO_COMP set
Andy Polyakov [Tue, 22 Jan 2013 21:11:31 +0000 (22:11 +0100)]
x86_64 assembly pack: make Windows build more robust [from master].
PR: 2963 and a number of others
Andy Polyakov [Tue, 22 Jan 2013 20:22:20 +0000 (21:22 +0100)]
TABLE update.
Andy Polyakov [Tue, 22 Jan 2013 20:21:44 +0000 (21:21 +0100)]
Configure: update linux-mips* lines [from master].
Andy Polyakov [Tue, 22 Jan 2013 20:13:37 +0000 (21:13 +0100)]
bn/asm/mips.pl: hardwire local call to bn_div_words.
Dr. Stephen Henson [Sun, 20 Jan 2013 01:07:58 +0000 (01:07 +0000)]
Don't include comp.h if no-comp set.
Ben Laurie [Sat, 19 Jan 2013 18:36:44 +0000 (18:36 +0000)]
Merge branch 'OpenSSL_1_0_2-stable' of openssl.net:openssl into OpenSSL_1_0_2-stable
Ben Laurie [Sat, 19 Jan 2013 15:12:08 +0000 (15:12 +0000)]
Remove extraneous brackets (clang doesn't like them).
Ben Laurie [Sat, 19 Jan 2013 18:23:36 +0000 (18:23 +0000)]
Add MacOS 64-bit debug target.
Andy Polyakov [Sat, 19 Jan 2013 17:24:03 +0000 (18:24 +0100)]
engines/ccgost: GOST fixes [from master].
Submitted by: Dmitry Belyavsky, Seguei Leontiev
PR: 2821
Ben Laurie [Sat, 19 Jan 2013 15:00:27 +0000 (15:00 +0000)]
Can't check a size_t for < 0.
Andy Polyakov [Sat, 19 Jan 2013 12:20:21 +0000 (13:20 +0100)]
.gitignore adjustments
Dr. Stephen Henson [Fri, 18 Jan 2013 15:41:06 +0000 (15:41 +0000)]
-named_curve option handled automatically now.
Dr. Stephen Henson [Thu, 6 Dec 2012 18:43:40 +0000 (18:43 +0000)]
Add code to download CRLs based on CRLDP extension.
Just a sample, real world applications would have to be cleverer.
Dr. Stephen Henson [Fri, 18 Jan 2013 15:05:28 +0000 (15:05 +0000)]
cipher is not used in s_server any more.
Dr. Stephen Henson [Sun, 2 Dec 2012 16:16:28 +0000 (16:16 +0000)]
New option to add CRLs for s_client and s_server.
Dr. Stephen Henson [Tue, 4 Dec 2012 18:35:36 +0000 (18:35 +0000)]
initial support for delta CRL generations by diffing two full CRLs
Dr. Stephen Henson [Thu, 17 Jan 2013 18:20:18 +0000 (18:20 +0000)]
Typo (PR2959).
Dr. Stephen Henson [Thu, 29 Nov 2012 01:13:38 +0000 (01:13 +0000)]
constify
Dr. Stephen Henson [Tue, 27 Nov 2012 23:47:48 +0000 (23:47 +0000)]
New functions to set lookup_crls callback and to retrieve internal X509_STORE
from X509_STORE_CTX.
Dr. Stephen Henson [Sun, 2 Dec 2012 14:00:22 +0000 (14:00 +0000)]
add option to get a certificate or CRL from a URL
Dr. Stephen Henson [Tue, 12 Jun 2012 13:41:18 +0000 (13:41 +0000)]
print out issuer and subject unique identifier fields in certificates
Dr. Stephen Henson [Thu, 29 Nov 2012 01:15:09 +0000 (01:15 +0000)]
add wrapper function for certificate download
Dr. Stephen Henson [Thu, 29 Nov 2012 01:15:09 +0000 (01:15 +0000)]
Generalise OCSP I/O functions to support dowloading of other ASN1
structures using HTTP. Add wrapper function to handle CRL download.
Dr. Stephen Henson [Tue, 15 Jan 2013 16:26:04 +0000 (16:26 +0000)]
Update default dependency flags.
Dr. Stephen Henson [Tue, 15 Jan 2013 16:24:07 +0000 (16:24 +0000)]
make update
Dr. Stephen Henson [Tue, 15 Jan 2013 16:18:13 +0000 (16:18 +0000)]
Add support for broken protocol tests (backport from master branch)
Dr. Stephen Henson [Tue, 15 Jan 2013 15:55:54 +0000 (15:55 +0000)]
Make whitespace consistent with master branch.
Ben Laurie [Sun, 13 Jan 2013 21:04:39 +0000 (21:04 +0000)]
Fix some clang warnings.
Ben Laurie [Sat, 12 Jan 2013 12:25:30 +0000 (12:25 +0000)]
Correct EVP_PKEY_verifyrecover to EVP_PKEY_verify_recover (RT 2955).
Dr. Stephen Henson [Mon, 7 Jan 2013 16:14:15 +0000 (16:14 +0000)]
In FIPS mode use PKCS#8 format when writing private keys:
traditional format uses MD5 which is prohibited in FIPS mode.
Dr. Stephen Henson [Mon, 7 Jan 2013 16:13:48 +0000 (16:13 +0000)]
Change default bits to 1024
Dr. Stephen Henson [Sun, 6 Jan 2013 21:34:51 +0000 (21:34 +0000)]
Add .gitignore from master branch.
Ben Laurie [Sun, 6 Jan 2013 19:03:48 +0000 (19:03 +0000)]
Fix warning.
Dr. Stephen Henson [Sun, 30 Dec 2012 16:27:15 +0000 (16:27 +0000)]
add support for separate verify can chain stores to s_client (backport from HEAD)
Dr. Stephen Henson [Sun, 30 Dec 2012 16:17:29 +0000 (16:17 +0000)]
add -chain options to s_client (backrpot from HEAD)
Dr. Stephen Henson [Sun, 30 Dec 2012 16:05:03 +0000 (16:05 +0000)]
make no-comp compile
Dr. Stephen Henson [Sun, 30 Dec 2012 01:12:19 +0000 (01:12 +0000)]
stop warning when compiling with no-comp
Dr. Stephen Henson [Sun, 30 Dec 2012 00:03:40 +0000 (00:03 +0000)]
remove unused cipher functionality from s_client
Dr. Stephen Henson [Sat, 29 Dec 2012 23:59:18 +0000 (23:59 +0000)]
Update debug-steve* options.
Dr. Stephen Henson [Sat, 29 Dec 2012 23:58:44 +0000 (23:58 +0000)]
make JPAKE work again, fix memory leaks
Dr. Stephen Henson [Sat, 29 Dec 2012 14:18:14 +0000 (14:18 +0000)]
update ordinals
Dr. Stephen Henson [Sat, 29 Dec 2012 14:16:41 +0000 (14:16 +0000)]
Delegate command line handling for many common options in s_client/s_server to
the SSL_CONF APIs.
This is complicated a little because the SSL_CTX structure is not available
when the command line is processed: so just check syntax of commands initially
and store them, ready to apply later.
(backport from HEAD)
Dr. Stephen Henson [Sat, 29 Dec 2012 13:30:56 +0000 (13:30 +0000)]
add SSL_CONF functions and documentation (backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 23:53:52 +0000 (23:53 +0000)]
Update ordinals.
Dr. Stephen Henson [Wed, 26 Dec 2012 23:51:41 +0000 (23:51 +0000)]
Portability fix: use BIO_snprintf and pick up strcasecmp alternative
definitions from e_os.h
Dr. Stephen Henson [Wed, 26 Dec 2012 22:43:43 +0000 (22:43 +0000)]
typo
Dr. Stephen Henson [Wed, 26 Dec 2012 22:40:46 +0000 (22:40 +0000)]
SSL/TLS record tracing code (backport from HEAD).
Dr. Stephen Henson [Wed, 26 Dec 2012 18:26:11 +0000 (18:26 +0000)]
Reject zero length ec point format list.
Give more meaningful error is attempt made to use incorrect curve.
(from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 18:20:07 +0000 (18:20 +0000)]
handle point format list retrieval for clients too (from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 18:13:49 +0000 (18:13 +0000)]
Add support for printing out and retrieving EC point formats extension.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:39:02 +0000 (17:39 +0000)]
return error if Suite B mode is selected and TLS 1.2 can't be used.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:35:02 +0000 (17:35 +0000)]
set auto ecdh parameter selction for Suite B
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:34:50 +0000 (17:34 +0000)]
add Suite B 128 bit mode offering only combination 2
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:09:39 +0000 (17:09 +0000)]
Use client version when deciding which cipher suites to disable.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:09:14 +0000 (17:09 +0000)]
Use default point formats extension for server side as well as client
side, if possible.
Don't advertise compressed char2 for SuiteB as it is not supported.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:57:39 +0000 (16:57 +0000)]
add Suite B verification flags
Dr. Stephen Henson [Wed, 26 Dec 2012 16:49:59 +0000 (16:49 +0000)]
contify
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:25:06 +0000 (16:25 +0000)]
Add ctrl and utility functions to retrieve raw cipher list sent by client in
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)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:23:36 +0000 (16:23 +0000)]
new ctrl to retrive value of received temporary key in server key exchange message, print out details in s_client
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:23:13 +0000 (16:23 +0000)]
store and print out message digest peer signed with in TLS 1.2
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:22:19 +0000 (16:22 +0000)]
perform sanity checks on server certificate type as soon as it is received instead of waiting until server key exchange
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:18:15 +0000 (16:18 +0000)]
give more meaningful error if presented with wrong certificate type by server
(backport from HEAD)