Dr. Stephen Henson [Tue, 3 Jul 2012 14:54:59 +0000 (14:54 +0000)]
cert_flags is unsigned
Dr. Stephen Henson [Tue, 3 Jul 2012 14:53:27 +0000 (14:53 +0000)]
add support for client certificate callbak, fix memory leak
Dr. Stephen Henson [Tue, 3 Jul 2012 14:25:17 +0000 (14:25 +0000)]
new function SSL_is_server to which returns 1 is the corresponding SSL context is for a server
Dr. Stephen Henson [Tue, 3 Jul 2012 14:24:33 +0000 (14:24 +0000)]
no need to check s->server as default_nid is never used for TLS 1.2 client authentication
Dr. Stephen Henson [Tue, 3 Jul 2012 12:51:14 +0000 (12:51 +0000)]
Separate client and server permitted signature algorithm support: by default
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.
Andy Polyakov [Mon, 2 Jul 2012 13:30:32 +0000 (13:30 +0000)]
bn_nist.c: compensate for VC bug [with optimization off!].
PR: 2837
Andy Polyakov [Mon, 2 Jul 2012 13:27:30 +0000 (13:27 +0000)]
crypto/bn/*.h: move PTR_SIZE_INT to private header.
Dr. Stephen Henson [Sun, 1 Jul 2012 22:25:04 +0000 (22:25 +0000)]
remove unnecessary attempt to automatically call OPENSSL_init
Dr. Stephen Henson [Sun, 1 Jul 2012 22:14:32 +0000 (22:14 +0000)]
Fix Win32 build.
Dr. Stephen Henson [Sun, 1 Jul 2012 22:12:03 +0000 (22:12 +0000)]
recognise OPENSSL_NO_SSL_TRACE
Andy Polyakov [Sun, 1 Jul 2012 09:11:47 +0000 (09:11 +0000)]
bss_dgram.c: fix typos in Windows code.
Andy Polyakov [Sun, 1 Jul 2012 08:46:38 +0000 (08:46 +0000)]
sha256-586.pl: fix typos.
Dr. Stephen Henson [Fri, 29 Jun 2012 14:24:42 +0000 (14:24 +0000)]
Add certificate callback. If set this is called whenever a certificate
is required by client or server. An application can decide which
certificate chain to present based on arbitrary criteria: for example
supported signature algorithms. Add very simple example to s_server.
This fixes many of the problems and restrictions of the existing client
certificate callback: for example you can now clear existing certificates
and specify the whole chain.
Dr. Stephen Henson [Thu, 28 Jun 2012 13:02:14 +0000 (13:02 +0000)]
Function tls1_check_ec_server_key is now redundant as we make
appropriate checks in tls1_check_chain.
Dr. Stephen Henson [Thu, 28 Jun 2012 12:45:49 +0000 (12:45 +0000)]
Add new "valid_flags" field to CERT_PKEY structure which determines what
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.
Dr. Stephen Henson [Wed, 27 Jun 2012 14:12:47 +0000 (14:12 +0000)]
don't use pseudo digests for default values of keys
Andy Polyakov [Wed, 27 Jun 2012 10:08:23 +0000 (10:08 +0000)]
x86_64 assembly pack: make it possible to compile with Perl located on
path with spaces.
PR: 2835
Andy Polyakov [Mon, 25 Jun 2012 17:13:15 +0000 (17:13 +0000)]
sha512-x86_64.pl: fix typo.
Dr. Stephen Henson [Mon, 25 Jun 2012 14:32:30 +0000 (14:32 +0000)]
Reorganise supported signature algorithm extension processing.
Only store encoded versions of peer and configured signature algorithms.
Determine shared signature algorithms and cache the result along with NID
equivalents of each algorithm.
Andy Polyakov [Sun, 24 Jun 2012 19:22:06 +0000 (19:22 +0000)]
sha512-x86_64.pl: add SIMD code paths.
Dr. Stephen Henson [Fri, 22 Jun 2012 14:03:31 +0000 (14:03 +0000)]
Add support for application defined signature algorithms for use with
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.
Dr. Stephen Henson [Tue, 19 Jun 2012 13:39:30 +0000 (13:39 +0000)]
oops, add -debug_decrypt option which was accidenatally left out
Andy Polyakov [Tue, 19 Jun 2012 07:50:10 +0000 (07:50 +0000)]
sha512-x86_64.pl: fix typo.
Andy Polyakov [Tue, 19 Jun 2012 07:49:36 +0000 (07:49 +0000)]
sha256-586.pl: fix linking error.
Dr. Stephen Henson [Mon, 18 Jun 2012 13:11:09 +0000 (13:11 +0000)]
fix clashing error code
Dr. Stephen Henson [Mon, 18 Jun 2012 12:56:59 +0000 (12:56 +0000)]
Make it possible to delete all certificates from an SSL structure.
Dr. Stephen Henson [Fri, 15 Jun 2012 12:46:09 +0000 (12:46 +0000)]
Initial record tracing code. Print out all fields in SSL/TLS records
for debugging purposes. Needs "enable-ssl-trace" configuration option.
Dr. Stephen Henson [Wed, 13 Jun 2012 13:08:12 +0000 (13:08 +0000)]
New functions to retrieve certificate signatures and signature OID NID.
Andy Polyakov [Tue, 12 Jun 2012 14:40:41 +0000 (14:40 +0000)]
sha256t.c: make sure unrolled loop is tested.
Andy Polyakov [Tue, 12 Jun 2012 14:40:11 +0000 (14:40 +0000)]
sha256-586.pl: add AVX and XOP code paths.
Andy Polyakov [Tue, 12 Jun 2012 14:38:01 +0000 (14:38 +0000)]
sha256-586.pl: squeeze some more, most notably ~10% on Nehalem.
Andy Polyakov [Tue, 12 Jun 2012 14:18:21 +0000 (14:18 +0000)]
x86[_64] assembly pack: update benchmark results.
Dr. Stephen Henson [Tue, 12 Jun 2012 13:41:18 +0000 (13:41 +0000)]
print out issuer and subject unique identifier fields in certificates
Andy Polyakov [Mon, 11 Jun 2012 14:56:25 +0000 (14:56 +0000)]
bss_dgram.c: add BIO_CTRL_DGRAM_SET_DONT_FRAG.
PR: 2830
Submitted by: Robin Seggelmann
Andy Polyakov [Mon, 11 Jun 2012 14:27:56 +0000 (14:27 +0000)]
bss_dgram.c: make getsockopt work in cases when optlen is 64-bit value.
Ben Laurie [Mon, 11 Jun 2012 09:23:55 +0000 (09:23 +0000)]
Fix memory leak.
Andy Polyakov [Mon, 11 Jun 2012 08:52:11 +0000 (08:52 +0000)]
b_sock.c: make getsockopt work in cases when optlen is 64-bit value.
Ben Laurie [Thu, 7 Jun 2012 13:20:47 +0000 (13:20 +0000)]
Rearrange and test authz extension.
Ben Laurie [Wed, 6 Jun 2012 13:03:42 +0000 (13:03 +0000)]
Fix memory leak.
Ben Laurie [Wed, 6 Jun 2012 12:52:19 +0000 (12:52 +0000)]
Parse authz correctly.
Andy Polyakov [Mon, 4 Jun 2012 22:12:10 +0000 (22:12 +0000)]
Revert random changes from commit#22606.
Ben Laurie [Sun, 3 Jun 2012 22:00:21 +0000 (22:00 +0000)]
Version skew reduction: trivia (I hope).
Ben Laurie [Wed, 30 May 2012 10:10:58 +0000 (10:10 +0000)]
RFC 5878 support.
Ben Laurie [Wed, 30 May 2012 09:34:44 +0000 (09:34 +0000)]
Build on FreeBSD with gcc 4.6.
Andy Polyakov [Mon, 28 May 2012 17:50:57 +0000 (17:50 +0000)]
sha256-586.pl: full unroll to deliver additional ~16%, add Sandy Bridge-
specific code path.
Andy Polyakov [Mon, 28 May 2012 17:47:15 +0000 (17:47 +0000)]
sha512-x86_64.pl: >5% better performance.
Andy Polyakov [Thu, 24 May 2012 07:39:44 +0000 (07:39 +0000)]
aesni-x86_64.pl: make it possibel to use in Linux kernel.
Andy Polyakov [Thu, 24 May 2012 07:39:04 +0000 (07:39 +0000)]
sha256-586.pl: tune away regression on Nehalem core and incidentally
improve performance on Atom and P4.
Andy Polyakov [Sat, 19 May 2012 10:10:30 +0000 (10:10 +0000)]
sha256-586.pl optimization.
Andy Polyakov [Wed, 16 May 2012 12:47:36 +0000 (12:47 +0000)]
s2_clnt.c: compensate for compiler bug.
Andy Polyakov [Wed, 16 May 2012 12:42:32 +0000 (12:42 +0000)]
ppccap.c: assume no features under 32-bit AIX kernel.
PR: 2810
Dr. Stephen Henson [Fri, 11 May 2012 13:53:37 +0000 (13:53 +0000)]
PR: 2813
Reported by: Constantine Sapuntzakis <csapuntz@gmail.com>
Fix possible deadlock when decoding public keys.
Dr. Stephen Henson [Fri, 11 May 2012 13:34:29 +0000 (13:34 +0000)]
PR: 2811
Reported by: Phil Pennock <openssl-dev@spodhuis.org>
Make renegotiation work for TLS 1.2, 1.1 by not using a lower record
version client hello workaround if renegotiating.
Ben Laurie [Thu, 10 May 2012 20:29:00 +0000 (20:29 +0000)]
Fix warning.
Ben Laurie [Thu, 10 May 2012 20:28:02 +0000 (20:28 +0000)]
Padlock doesn't build. I don't even know what it is.
Dr. Stephen Henson [Thu, 10 May 2012 18:25:39 +0000 (18:25 +0000)]
PR: 2806
Submitted by: PK <runningdoglackey@yahoo.com>
Correct ciphersuite signature algorithm definitions.
Dr. Stephen Henson [Thu, 10 May 2012 16:03:52 +0000 (16:03 +0000)]
Sanity check record length before skipping explicit IV in TLS 1.2, 1.1 and
DTLS to fix DoS attack.
Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic
fuzzing as a service testing platform.
(CVE-2012-2333)
Dr. Stephen Henson [Thu, 10 May 2012 15:37:16 +0000 (15:37 +0000)]
update FAQ
Dr. Stephen Henson [Thu, 10 May 2012 13:46:09 +0000 (13:46 +0000)]
Reported by: Solar Designer of Openwall
Make sure tkeylen is initialised properly when encrypting CMS messages.
Richard Levitte [Fri, 4 May 2012 10:43:15 +0000 (10:43 +0000)]
Correct environment variable is OPENSSL_ALLOW_PROXY_CERTS.
Andy Polyakov [Sat, 28 Apr 2012 10:36:58 +0000 (10:36 +0000)]
perlasm: fix symptom-less bugs, missing semicolons and 'my' declarations.
Andy Polyakov [Fri, 27 Apr 2012 20:17:45 +0000 (20:17 +0000)]
ppccpuid.pl: branch hints in OPENSSL_cleanse impact small block performance
of digest algorithms, mosty SHA, on Power7. Mystery of century, why SHA,
why slower algorithm are affected more...
PR: 2794
Submitted by: Ashley Lai
Dr. Stephen Henson [Thu, 26 Apr 2012 18:55:01 +0000 (18:55 +0000)]
Don't try to use unvalidated composite ciphers in FIPS mode
Dr. Stephen Henson [Thu, 26 Apr 2012 11:13:30 +0000 (11:13 +0000)]
update NEWS
Dr. Stephen Henson [Thu, 26 Apr 2012 11:10:24 +0000 (11:10 +0000)]
update FAQ
Andy Polyakov [Thu, 26 Apr 2012 07:33:26 +0000 (07:33 +0000)]
CHANGES: clarify.
Andy Polyakov [Thu, 26 Apr 2012 07:20:06 +0000 (07:20 +0000)]
CHANGES: fix typos and clarify.
Dr. Stephen Henson [Wed, 25 Apr 2012 23:04:42 +0000 (23:04 +0000)]
Change value of SSL_OP_NO_TLSv1_1 to avoid clash with SSL_OP_ALL and
OpenSSL 1.0.0. Add CHANGES entry noting the consequences.
Andy Polyakov [Wed, 25 Apr 2012 22:06:32 +0000 (22:06 +0000)]
s23_clnt.c: ensure interoperability by maitaining client "version capability"
vector contiguous.
PR: 2802
Dr. Stephen Henson [Tue, 24 Apr 2012 12:22:23 +0000 (12:22 +0000)]
Submitted by: Peter Sylvester <peter.sylvester@edelweb.fr>
Reviewed by: steve
Improved localisation of TLS extension handling and code tidy.
Dr. Stephen Henson [Mon, 23 Apr 2012 21:58:29 +0000 (21:58 +0000)]
oops, not yet ;-)
Dr. Stephen Henson [Mon, 23 Apr 2012 21:56:33 +0000 (21:56 +0000)]
update NEWS
Andy Polyakov [Sun, 22 Apr 2012 21:18:30 +0000 (21:18 +0000)]
objxref.pl: improve portability.
Dr. Stephen Henson [Sun, 22 Apr 2012 13:31:09 +0000 (13:31 +0000)]
correct error code
Dr. Stephen Henson [Sun, 22 Apr 2012 13:25:51 +0000 (13:25 +0000)]
check correctness of errors before updating them so we don't get bogus errors added
Dr. Stephen Henson [Sun, 22 Apr 2012 13:20:28 +0000 (13:20 +0000)]
correct old FAQ answers
Dr. Stephen Henson [Sun, 22 Apr 2012 13:06:51 +0000 (13:06 +0000)]
PR: 2239
Submitted by: Dominik Oepen <oepen@informatik.hu-berlin.de>
Add Brainpool curves from RFC5639.
Original patch by Annie Yousar <a.yousar@informatik.hu-berlin.de>
Andy Polyakov [Thu, 19 Apr 2012 20:38:05 +0000 (20:38 +0000)]
e_rc4_hmac_md5.c: last commit was inappropriate for non-x86[_64] platforms.
PR: 2792
Dr. Stephen Henson [Thu, 19 Apr 2012 16:19:56 +0000 (16:19 +0000)]
Check for potentially exploitable overflows in asn1_d2i_read_bio
BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer
in CRYPTO_realloc_clean.
Thanks to Tavis Ormandy, Google Security Team, for discovering this
issue and to Adam Langley <agl@chromium.org> for fixing it. (CVE-2012-2110)
Dr. Stephen Henson [Thu, 19 Apr 2012 12:33:23 +0000 (12:33 +0000)]
update FAQ
Andy Polyakov [Thu, 19 Apr 2012 06:39:40 +0000 (06:39 +0000)]
Makefile.org: clear yet another environment variable.
PR: 2793
Dr. Stephen Henson [Wed, 18 Apr 2012 17:03:29 +0000 (17:03 +0000)]
recognise X9.42 DH certificates on servers
Dr. Stephen Henson [Wed, 18 Apr 2012 15:36:12 +0000 (15:36 +0000)]
correct error codes
Andy Polyakov [Wed, 18 Apr 2012 14:55:39 +0000 (14:55 +0000)]
e_rc4_hmac_md5.c: harmonize zero-length fragment handling with
e_aes_cbc_hmac_sha1.c (mostly for aesthetic reasons).
Andy Polyakov [Wed, 18 Apr 2012 14:50:28 +0000 (14:50 +0000)]
e_rc4_hmac_md5.c: oops, can't use rc4_hmac_md5_cipher on legacy Intel CPUs.
PR: 2792
Andy Polyakov [Wed, 18 Apr 2012 13:01:36 +0000 (13:01 +0000)]
C64x+ assembler pack. linux-c64xplus build is *not* tested nor can it be
tested, because kernel is not in shape to handle it *yet*. The code is
committed mostly to stimulate the kernel development.
Bodo Möller [Tue, 17 Apr 2012 15:23:03 +0000 (15:23 +0000)]
Disable SHA-2 ciphersuites in < TLS 1.2 connections.
(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
Dr. Stephen Henson [Tue, 17 Apr 2012 15:12:09 +0000 (15:12 +0000)]
Additional workaround for PR#2771
If OPENSSL_MAX_TLS1_2_CIPHER_LENGTH is set then limit the size of client
ciphersuites to this value. A value of 50 should be sufficient.
Document workarounds in CHANGES.
Dr. Stephen Henson [Tue, 17 Apr 2012 13:21:19 +0000 (13:21 +0000)]
Partial workaround for PR#2771.
Some servers hang when presented with a client hello record length exceeding
255 bytes but will work with longer client hellos if the TLS record version
in client hello does not exceed TLS v1.0. Unfortunately this doesn't fix all
cases...
Andy Polyakov [Mon, 16 Apr 2012 17:42:36 +0000 (17:42 +0000)]
OPENSSL_NO_SOCK fixes.
PR: 2791
Submitted by: Ben Noordhuis
Andy Polyakov [Mon, 16 Apr 2012 17:35:30 +0000 (17:35 +0000)]
Minor compatibility fixes.
PR: 2790
Submitted by: Alexei Khlebnikov
Andy Polyakov [Sun, 15 Apr 2012 17:22:57 +0000 (17:22 +0000)]
s3_srvr.c: fix typo.
PR: 2538
Andy Polyakov [Sun, 15 Apr 2012 14:14:22 +0000 (14:14 +0000)]
e_aes_cbc_hmac_sha1.c: handle zero-length payload and engage empty frag
countermeasure.
PR: 2778
Andy Polyakov [Thu, 12 Apr 2012 06:44:34 +0000 (06:44 +0000)]
ghash-s390x.pl: fix typo [that can induce SEGV in 31-bit build].
Dr. Stephen Henson [Wed, 11 Apr 2012 16:53:11 +0000 (16:53 +0000)]
Add options to set additional type specific certificate chains to
s_server.
Dr. Stephen Henson [Wed, 11 Apr 2012 16:01:08 +0000 (16:01 +0000)]
use different variable for chain iteration
Dr. Stephen Henson [Wed, 11 Apr 2012 15:05:07 +0000 (15:05 +0000)]
fix reset fix
Dr. Stephen Henson [Wed, 11 Apr 2012 12:26:41 +0000 (12:26 +0000)]
make reinitialisation work for CMAC
Dr. Stephen Henson [Tue, 10 Apr 2012 22:28:01 +0000 (22:28 +0000)]
update rather ancient EVP digest documentation
Andy Polyakov [Mon, 9 Apr 2012 15:12:13 +0000 (15:12 +0000)]
aes-s390x.pl: fix crash in AES_set_decrypt_key in linux32-s390x build.