Dr. Stephen Henson [Sun, 9 Sep 2012 21:19:32 +0000 (21:19 +0000)]
fix memory leak
Dr. Stephen Henson [Sun, 9 Sep 2012 20:47:36 +0000 (20:47 +0000)]
update README
Dr. Stephen Henson [Sun, 9 Sep 2012 20:43:49 +0000 (20:43 +0000)]
Extend certificate creation examples to include CRL generation and sample
scripts running the test OCSP responder.
Dr. Stephen Henson [Sun, 9 Sep 2012 12:58:49 +0000 (12:58 +0000)]
New -valid option to add a certificate to the ca index.txt that is valid and not revoked
Dr. Stephen Henson [Sat, 8 Sep 2012 13:59:51 +0000 (13:59 +0000)]
new ctrl to retrive value of received temporary key in server key exchange message, print out details in s_client
Dr. Stephen Henson [Fri, 7 Sep 2012 12:53:42 +0000 (12:53 +0000)]
store and print out message digest peer signed with in TLS 1.2
Andy Polyakov [Fri, 7 Sep 2012 12:29:18 +0000 (12:29 +0000)]
bsaes-armv7.pl: closest shave. While 0.3 cpb improvement on S4 appears
insignificant, it's actually 4 cycles less for 14 instructions sequence!
Andy Polyakov [Tue, 4 Sep 2012 14:39:05 +0000 (14:39 +0000)]
bsaes-armv7.pl: even closer shave.
Andy Polyakov [Tue, 4 Sep 2012 08:26:50 +0000 (08:26 +0000)]
bsaes-armv7.pl: minor performance squeeze on Snapdragon S4.
Andy Polyakov [Tue, 4 Sep 2012 08:25:37 +0000 (08:25 +0000)]
sha512-armv4.pl: optimize for Snapdragon S4.
Andy Polyakov [Sat, 1 Sep 2012 13:17:32 +0000 (13:17 +0000)]
bn_lcl.h: gcc removed support for "h" constraint, which broke inline
assembler.
Dr. Stephen Henson [Sat, 1 Sep 2012 11:30:53 +0000 (11:30 +0000)]
Don't load GOST ENGINE if it is already loaded.
Multiple copies of the ENGINE will cause problems when it is cleaned up as
the methods are stored in static structures which will be overwritten and
freed up more than once.
Set static methods to NULL when the ENGINE is freed so it can be reloaded.
Dr. Stephen Henson [Fri, 31 Aug 2012 11:18:54 +0000 (11:18 +0000)]
perform sanity checks on server certificate type as soon as it is received instead of waiting until server key exchange
Dr. Stephen Henson [Fri, 31 Aug 2012 11:15:44 +0000 (11:15 +0000)]
make EC test certificates usable for ECDH
Dr. Stephen Henson [Thu, 30 Aug 2012 12:46:22 +0000 (12:46 +0000)]
give more meaningful error if presented with wrong certificate type by server
Andy Polyakov [Wed, 29 Aug 2012 14:19:59 +0000 (14:19 +0000)]
x86cpuid.pl: hide symbols [backport from x86_64].
Andy Polyakov [Wed, 29 Aug 2012 14:15:18 +0000 (14:15 +0000)]
TABLE update addendum to commit#22775.
Andy Polyakov [Wed, 29 Aug 2012 14:14:05 +0000 (14:14 +0000)]
Harmonize CHANGES in HEAD.
Andy Polyakov [Wed, 29 Aug 2012 14:08:46 +0000 (14:08 +0000)]
Add linux-x32 target.
Dr. Stephen Henson [Wed, 29 Aug 2012 13:18:34 +0000 (13:18 +0000)]
Add compilation flag to disable certain protocol checks and allow use of
some invalid operations for testing purposes. Currently this can be used
to sign using digests the peer doesn't support, EC curves the peer
doesn't support and use certificates which don't match the type associated
with a ciphersuite.
Dr. Stephen Henson [Tue, 28 Aug 2012 23:19:25 +0000 (23:19 +0000)]
oops, typo
Dr. Stephen Henson [Tue, 28 Aug 2012 23:17:28 +0000 (23:17 +0000)]
New compile time option OPENSSL_SSL_TRACE_CRYPTO, when set this passes
all derived keys to the message callback.
Add code to SSL_trace to include support for printing out keys.
Dr. Stephen Henson [Tue, 28 Aug 2012 23:06:12 +0000 (23:06 +0000)]
update debug-steve* configurations
Dr. Stephen Henson [Wed, 22 Aug 2012 22:43:23 +0000 (22:43 +0000)]
PR: 2786
Reported by: Tomas Mraz <tmraz@redhat.com>
Treat a NULL value passed to drbg_free_entropy callback as non-op. This
can happen if the call to fips_get_entropy fails.
Andy Polyakov [Fri, 17 Aug 2012 19:57:04 +0000 (19:57 +0000)]
sha1-armv4-large.pl: comply with ABI.
Andy Polyakov [Fri, 17 Aug 2012 09:38:45 +0000 (09:38 +0000)]
Configure: add mips-mont to MIPS32 builds.
Andy Polyakov [Fri, 17 Aug 2012 09:10:31 +0000 (09:10 +0000)]
MIPS assembly pack: assign default value to $flavour.
Bodo Möller [Thu, 16 Aug 2012 13:49:34 +0000 (13:49 +0000)]
Oops - didn't mean to change Makefile on previous submit
Bodo Möller [Thu, 16 Aug 2012 13:41:40 +0000 (13:41 +0000)]
Enable message names for TLS 1.1, 1.2 with -msg.
Dr. Stephen Henson [Wed, 15 Aug 2012 15:15:05 +0000 (15:15 +0000)]
Add three Suite B modes to TLS code, supporting RFC6460.
Andy Polyakov [Tue, 14 Aug 2012 09:53:24 +0000 (09:53 +0000)]
bss_dgram.c: fix compilation failure and warning on Windows with
contemporary SDK.
Andy Polyakov [Mon, 13 Aug 2012 16:36:51 +0000 (16:36 +0000)]
gosthash.c: use memmove in circle_xor8, as input pointers can be equal.
PR: 2858
Andy Polyakov [Mon, 13 Aug 2012 16:10:08 +0000 (16:10 +0000)]
./Configure: libcrypto.a can grow to many GB because of ar bug.
PR: 2838
Andy Polyakov [Mon, 13 Aug 2012 15:07:37 +0000 (15:07 +0000)]
gcm128.c: fix AAD-only case with AAD length not divisible by 16.
PR: 2859
Submitted by: John Foley
Andy Polyakov [Mon, 13 Aug 2012 12:34:36 +0000 (12:34 +0000)]
sha512-x86_64.pl: revert previous change and solve the problem through
perlasm/x86_64-xlate.pl instead.
Andy Polyakov [Mon, 13 Aug 2012 11:01:44 +0000 (11:01 +0000)]
sha512-x86_64.pl: minimum gas requirement for AMD XOP.
Dr. Stephen Henson [Sun, 5 Aug 2012 18:14:21 +0000 (18:14 +0000)]
update ordinals
Dr. Stephen Henson [Fri, 3 Aug 2012 15:58:15 +0000 (15:58 +0000)]
Rename Suite B functions for consistency.
New function X509_chain_up_ref to dup and up the reference count of
a STACK_OF(X509): replace equivalent functionality in several places
by the equivalent call.
Dr. Stephen Henson [Fri, 3 Aug 2012 13:51:43 +0000 (13:51 +0000)]
add suite B chain validation flags and associated verify errors
Dr. Stephen Henson [Fri, 27 Jul 2012 13:39:23 +0000 (13:39 +0000)]
Make tls1_check_chain return a set of flags indicating checks passed
by a certificate chain. Add additional tests to handle client
certificates: checks for matching certificate type and issuer name
comparison.
Print out results of checks for each candidate chain tested in
s_server/s_client.
Dr. Stephen Henson [Tue, 24 Jul 2012 18:11:27 +0000 (18:11 +0000)]
Abort handshake if signature algorithm used not supported by peer.
Dr. Stephen Henson [Tue, 24 Jul 2012 13:47:40 +0000 (13:47 +0000)]
check EC tmp key matches preferences
Dr. Stephen Henson [Tue, 24 Jul 2012 13:32:40 +0000 (13:32 +0000)]
typo
Dr. Stephen Henson [Mon, 23 Jul 2012 23:34:28 +0000 (23:34 +0000)]
Add support for certificate stores in CERT structure. This makes it
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.
Dr. Stephen Henson [Fri, 20 Jul 2012 15:24:06 +0000 (15:24 +0000)]
update NEWS
Dr. Stephen Henson [Fri, 20 Jul 2012 15:21:23 +0000 (15:21 +0000)]
set ciphers to NULL before calling cert_cb
Dr. Stephen Henson [Thu, 19 Jul 2012 16:57:19 +0000 (16:57 +0000)]
stop warning
Dr. Stephen Henson [Thu, 19 Jul 2012 14:45:36 +0000 (14:45 +0000)]
add ssl_locl.h to err header files, rebuild ssl error strings
Dr. Stephen Henson [Thu, 19 Jul 2012 12:44:09 +0000 (12:44 +0000)]
Don't ignore (\!) reference count in X509_STORE_free
Dr. Stephen Henson [Wed, 18 Jul 2012 14:09:46 +0000 (14:09 +0000)]
New function ssl_set_client_disabled to set masks for any ciphersuites
that are disabled for this session (as opposed to always disabled by
configuration).
Dr. Stephen Henson [Wed, 18 Jul 2012 14:07:50 +0000 (14:07 +0000)]
reinclude crypto.h: this is needed in HEAD only to get the __fips_constseg definition
Dr. Stephen Henson [Wed, 18 Jul 2012 13:53:56 +0000 (13:53 +0000)]
update trace messages
Andy Polyakov [Sun, 15 Jul 2012 20:33:30 +0000 (20:33 +0000)]
sha1-[586|x86_64].pl: shave off one instruction from body_40_59, it's
2% less instructions in SIMD code paths, so 2% improvement in average:-)
Andy Polyakov [Sun, 15 Jul 2012 13:40:04 +0000 (13:40 +0000)]
mk1mf.pl: replace chop to make it work in mixture of perls for Windows.
Andy Polyakov [Sun, 15 Jul 2012 13:38:51 +0000 (13:38 +0000)]
test_aesni: harmonize with AES-NI support at EVP layer.
Andy Polyakov [Sun, 15 Jul 2012 13:37:35 +0000 (13:37 +0000)]
wp-x86_64.pl: ~10% performance improvement.
Andy Polyakov [Sun, 15 Jul 2012 13:36:57 +0000 (13:36 +0000)]
sha512-s390x.pl: lingering comment update.
Andy Polyakov [Sun, 15 Jul 2012 13:36:25 +0000 (13:36 +0000)]
sha512-ia64.pl: 15-20% performance improvement.
Andy Polyakov [Sun, 15 Jul 2012 13:35:10 +0000 (13:35 +0000)]
sha256-armv4.pl: 4% performance improvement.
Andy Polyakov [Sun, 15 Jul 2012 13:34:26 +0000 (13:34 +0000)]
sha1-s390x.pl: lingering comment update.
Andy Polyakov [Sun, 15 Jul 2012 13:33:05 +0000 (13:33 +0000)]
rc5.h: stop wasting space on 64-bit platforms [breaks binary compatibility!].
Andy Polyakov [Sun, 15 Jul 2012 13:29:23 +0000 (13:29 +0000)]
wp-mmx.pl: ~10% performance improvement.
Andy Polyakov [Sun, 15 Jul 2012 13:28:15 +0000 (13:28 +0000)]
sha512-586.pl: optimize SSE2 code path, +5-7% on most CPUs, +13% on AMD K8.
Andy Polyakov [Sun, 15 Jul 2012 13:25:31 +0000 (13:25 +0000)]
sha1-586.pl: let masm compile AVX code.
Andy Polyakov [Sun, 15 Jul 2012 13:24:43 +0000 (13:24 +0000)]
x86gas.pl: treat OPENSSL_ia32cap_P accordingly to .hidden status.
Dr. Stephen Henson [Sun, 8 Jul 2012 14:22:45 +0000 (14:22 +0000)]
Add new ctrl to retrieve client certificate types, print out
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.
Richard Levitte [Thu, 5 Jul 2012 13:20:19 +0000 (13:20 +0000)]
Install srtp.h
Richard Levitte [Thu, 5 Jul 2012 13:20:02 +0000 (13:20 +0000)]
Add d1_srtp and t1_trce.
Richard Levitte [Thu, 5 Jul 2012 13:19:06 +0000 (13:19 +0000)]
Add the missing modules for Camellia, as well as dh_rfc5114 and evp_cnf.
Richard Levitte [Thu, 5 Jul 2012 13:17:44 +0000 (13:17 +0000)]
Harmonise symhacks.h in this branch with lower versions.
Add aliases for SSL_CTX_set_not_resumable_session_callback and
SSL_set_not_resumable_session_callback on top of that.
Dr. Stephen Henson [Wed, 4 Jul 2012 13:15:10 +0000 (13:15 +0000)]
add missing evp_cnf.c file
Dr. Stephen Henson [Tue, 3 Jul 2012 20:30:40 +0000 (20:30 +0000)]
PR: 2840
Reported by: David McCullough <david_mccullough@mcafee.com>
Restore fips configuration module from 0.9.8.
Dr. Stephen Henson [Tue, 3 Jul 2012 16:37:50 +0000 (16:37 +0000)]
Fix memory leak.
Always perform nexproto callback argument initialisation in s_server
otherwise we use uninitialised data if -nocert is specified.
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.