Dr. Stephen Henson [Fri, 15 Apr 2011 02:49:30 +0000 (02:49 +0000)]
Add algorithm driver for XTS mode. Fix several bugs in EVP XTS implementation.
Dr. Stephen Henson [Thu, 14 Apr 2011 18:29:49 +0000 (18:29 +0000)]
Add new POST support to X9.31 PRNG.
Dr. Stephen Henson [Thu, 14 Apr 2011 16:38:20 +0000 (16:38 +0000)]
Report each cipher used with CMAC tests.
Only add one error to error queue if a specific test type fails.
Dr. Stephen Henson [Thu, 14 Apr 2011 16:14:41 +0000 (16:14 +0000)]
Revise fips_test_suite to use table of IDs for human readable strings.
Modify HMAC selftest callbacks to notify each digest type used.
Dr. Stephen Henson [Thu, 14 Apr 2011 13:10:00 +0000 (13:10 +0000)]
Update CMAC, HMAC, GCM to use new POST system.
Fix crash if callback not set.
Dr. Stephen Henson [Thu, 14 Apr 2011 11:30:51 +0000 (11:30 +0000)]
Remove several of the old obsolete FIPS_corrupt_*() functions.
Dr. Stephen Henson [Thu, 14 Apr 2011 11:15:10 +0000 (11:15 +0000)]
Initial incomplete POST overhaul: add support for POST callback to
allow status of POST to be monitored and/or failures induced.
Dr. Stephen Henson [Wed, 13 Apr 2011 00:11:53 +0000 (00:11 +0000)]
Remove duplicate flag.
Dr. Stephen Henson [Tue, 12 Apr 2011 23:59:05 +0000 (23:59 +0000)]
Use consistent FIPS tarball name.
Add XTS to FIPS build.
Hide XTS symbol names.
Dr. Stephen Henson [Tue, 12 Apr 2011 23:21:33 +0000 (23:21 +0000)]
Provisional AES XTS support.
Dr. Stephen Henson [Tue, 12 Apr 2011 17:41:53 +0000 (17:41 +0000)]
Update fips_pkey_signature_test: use fixed string if supplies tbs is
NULL. Always allocate signature buffer.
Update ECDSA selftest to use fips_pkey_signature_test. Add copyright notice
to file.
Dr. Stephen Henson [Tue, 12 Apr 2011 16:26:52 +0000 (16:26 +0000)]
Complete rewrite of FIPS_selftest_dsa(). Use hardcoded 2048 bit DSA key
and SHA384. Use fips_pkey_signature_test().
Dr. Stephen Henson [Tue, 12 Apr 2011 15:38:34 +0000 (15:38 +0000)]
Update RSA selftest code to use a 2048 bit RSA and only a single KAT
for PSS+SHA256
Dr. Stephen Henson [Tue, 12 Apr 2011 14:28:06 +0000 (14:28 +0000)]
Fix memory leaks: uninstantiate DRBG during health checks. Cleanup md_ctx
when performing ECDSA selftest.
Dr. Stephen Henson [Tue, 12 Apr 2011 13:02:56 +0000 (13:02 +0000)]
Stop warning and fix memory leaks.
Dr. Stephen Henson [Tue, 12 Apr 2011 13:01:40 +0000 (13:01 +0000)]
No need to disable leak checking for FIPS builds now we use internal
memory callbacks.
Dr. Stephen Henson [Tue, 12 Apr 2011 11:49:35 +0000 (11:49 +0000)]
Update ECDSA selftest to use hard coded private keys. Include tests for
prime and binary fields.
Dr. Stephen Henson [Tue, 12 Apr 2011 11:48:00 +0000 (11:48 +0000)]
Update fips_premain.c fingerprint.
Dr. Stephen Henson [Mon, 11 Apr 2011 21:32:51 +0000 (21:32 +0000)]
Update copyright year.
Zero ciphertext and plaintext temporary buffers.
Check FIPS_cipher() return value.
Dr. Stephen Henson [Mon, 11 Apr 2011 14:55:19 +0000 (14:55 +0000)]
Use correct version number.
Dr. Stephen Henson [Mon, 11 Apr 2011 14:53:40 +0000 (14:53 +0000)]
Add mem_clr.c explicity for no-asm builds.
Dr. Stephen Henson [Mon, 11 Apr 2011 14:52:59 +0000 (14:52 +0000)]
Fix warning.
Dr. Stephen Henson [Mon, 11 Apr 2011 14:50:11 +0000 (14:50 +0000)]
Set length to 41 (40 hex characters + null).
Dr. Stephen Henson [Mon, 11 Apr 2011 14:01:33 +0000 (14:01 +0000)]
Reorder headers to get definitions before they are used.
Dr. Stephen Henson [Mon, 11 Apr 2011 00:22:42 +0000 (00:22 +0000)]
Don't give dependency warning for fips builds.
Give error for "make depend" in restricted tarball builds.
Document how restricted tarballs work.
Dr. Stephen Henson [Sun, 10 Apr 2011 23:32:19 +0000 (23:32 +0000)]
Typo: fix duplicate call.
Dr. Stephen Henson [Sun, 10 Apr 2011 23:28:24 +0000 (23:28 +0000)]
fix fipscanisteronly autodetect
Dr. Stephen Henson [Sun, 10 Apr 2011 18:30:13 +0000 (18:30 +0000)]
Auto detect no-ec2m add option to make no-ec2m tarball.
Dr. Stephen Henson [Sun, 10 Apr 2011 17:31:03 +0000 (17:31 +0000)]
set OPENSSL_FIPSSYMS for restricted buils and auto detect no-ec2m
Dr. Stephen Henson [Sun, 10 Apr 2011 16:23:31 +0000 (16:23 +0000)]
Clarify README.FIPS.
Dr. Stephen Henson [Sun, 10 Apr 2011 16:18:19 +0000 (16:18 +0000)]
Auto configure for fips is from restricted tarball.
Remove more unnecessary files form fips tarball.
Dr. Stephen Henson [Sun, 10 Apr 2011 01:14:58 +0000 (01:14 +0000)]
Remove unused build targets from Makefile.fips, add cmac to dist list.
Dr. Stephen Henson [Sun, 10 Apr 2011 01:14:25 +0000 (01:14 +0000)]
remove ENGINE dependency from ecdh
Dr. Stephen Henson [Sat, 9 Apr 2011 17:46:31 +0000 (17:46 +0000)]
Add error for health check failure.
Rebuild all FIPS error codes to clean out old obsolete codes.
Dr. Stephen Henson [Sat, 9 Apr 2011 17:27:07 +0000 (17:27 +0000)]
Before initalising a live DRBG (i.e. not in test mode) run a complete health
check on a DRBG of the same type.
Dr. Stephen Henson [Sat, 9 Apr 2011 16:49:59 +0000 (16:49 +0000)]
New function to return security strength of PRNG.
Dr. Stephen Henson [Thu, 7 Apr 2011 15:01:48 +0000 (15:01 +0000)]
DH keys have an (until now) unused 'q' parameter. When creating
from DSA copy q across and if q present generate DH key in the
correct range.
Dr. Stephen Henson [Wed, 6 Apr 2011 23:42:55 +0000 (23:42 +0000)]
Only use fake rand once per operation. This stops the EC
pairwise consistency test interfering with the test.
Dr. Stephen Henson [Wed, 6 Apr 2011 23:41:19 +0000 (23:41 +0000)]
Update CHANGES.
Dr. Stephen Henson [Wed, 6 Apr 2011 23:40:46 +0000 (23:40 +0000)]
Add fips hmac key to dgst utility.
Dr. Stephen Henson [Wed, 6 Apr 2011 23:40:22 +0000 (23:40 +0000)]
Update OpenSSL DRBG support code. Use date time vector as additional data.
Set FIPS RAND_METHOD at same time as OpenSSL RAND_METHOD.
Dr. Stephen Henson [Wed, 6 Apr 2011 18:17:05 +0000 (18:17 +0000)]
Add missing error code strings.
Dr. Stephen Henson [Wed, 6 Apr 2011 18:16:44 +0000 (18:16 +0000)]
Remove rand files from fipscanister.o
Dr. Stephen Henson [Wed, 6 Apr 2011 18:06:41 +0000 (18:06 +0000)]
check buffer is larger enough before overwriting
Dr. Stephen Henson [Wed, 6 Apr 2011 13:40:36 +0000 (13:40 +0000)]
updated FIPS status
Dr. Stephen Henson [Tue, 5 Apr 2011 15:48:05 +0000 (15:48 +0000)]
Update fipssyms.h to keep all symbols in FIPS,fips namespace.
Rename drbg_cprng_test to fips_drbg_cprng_test.
Remove rand files from Makefile.fips.
Dr. Stephen Henson [Tue, 5 Apr 2011 15:24:10 +0000 (15:24 +0000)]
Extensive reorganisation of PRNG handling in FIPS module: all calls
now use an internal RAND_METHOD. All dependencies to OpenSSL standard
PRNG are now removed: it is the applications resposibility to setup
the FIPS PRNG and initalise it.
Initial OpenSSL RAND_init_fips() function that will setup the DRBG
for the "FIPS capable OpenSSL".
Dr. Stephen Henson [Tue, 5 Apr 2011 12:42:31 +0000 (12:42 +0000)]
Rename deprecated FIPS_rand functions to FIPS_x931. These shouldn't be
used by applications directly and the X9.31 PRNG is deprecated by new
FIPS140-2 rules anyway.
Dr. Stephen Henson [Mon, 4 Apr 2011 17:16:28 +0000 (17:16 +0000)]
FIPS mode support for openssl utility: doesn't work properly yet due
to missing DRBG support in libcrypto.
Dr. Stephen Henson [Mon, 4 Apr 2011 17:05:09 +0000 (17:05 +0000)]
Updated error codes for FIPS library.
Dr. Stephen Henson [Mon, 4 Apr 2011 17:03:35 +0000 (17:03 +0000)]
Set error code is additional data callback fails.
Dr. Stephen Henson [Mon, 4 Apr 2011 17:01:58 +0000 (17:01 +0000)]
Use environment when builds libcrypto shared library so CC value is picked up
in FIPS builds.
Dr. Stephen Henson [Mon, 4 Apr 2011 15:38:21 +0000 (15:38 +0000)]
Change FIPS locking functions to macros so we get useful line information.
Set fips_thread_set properly.
Andy Polyakov [Mon, 4 Apr 2011 15:24:09 +0000 (15:24 +0000)]
gcm128.c: fix shadow warnings.
Dr. Stephen Henson [Mon, 4 Apr 2011 14:52:20 +0000 (14:52 +0000)]
Disable test fprintf.
Dr. Stephen Henson [Mon, 4 Apr 2011 14:47:31 +0000 (14:47 +0000)]
Change RNG test to block oriented instead of request oriented, add option
to test a "stuck" DRBG.
Dr. Stephen Henson [Mon, 4 Apr 2011 14:43:20 +0000 (14:43 +0000)]
check RAND_pseudo_bytes return value
Dr. Stephen Henson [Sun, 3 Apr 2011 17:14:35 +0000 (17:14 +0000)]
PR: 2462
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Reviewed by: steve
Fix DTLS Retransmission Buffer Bug
Dr. Stephen Henson [Sun, 3 Apr 2011 16:25:29 +0000 (16:25 +0000)]
PR: 2458
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Reviewed by: steve
Don't change state when answering DTLS ClientHello.
Dr. Stephen Henson [Sun, 3 Apr 2011 15:47:58 +0000 (15:47 +0000)]
PR: 2457
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Reviewed by: steve
Fix DTLS fragment reassembly bug.
Dr. Stephen Henson [Sat, 2 Apr 2011 16:51:04 +0000 (16:51 +0000)]
Make WIN32 static builds work again.
Andy Polyakov [Fri, 1 Apr 2011 21:09:09 +0000 (21:09 +0000)]
ARM assembler pack: add missing arm_arch.h.
Andy Polyakov [Fri, 1 Apr 2011 20:58:34 +0000 (20:58 +0000)]
ARM assembler pack: profiler-assisted optimizations and NEON support.
Andy Polyakov [Fri, 1 Apr 2011 20:52:35 +0000 (20:52 +0000)]
gcm128.c: tidy up, minor optimization, rearrange gcm128_context.
Dr. Stephen Henson [Fri, 1 Apr 2011 18:49:24 +0000 (18:49 +0000)]
restore .cvsignore
Dr. Stephen Henson [Fri, 1 Apr 2011 18:40:30 +0000 (18:40 +0000)]
restore .cvsignore
Dr. Stephen Henson [Fri, 1 Apr 2011 18:40:05 +0000 (18:40 +0000)]
delete lib file
Dr. Stephen Henson [Fri, 1 Apr 2011 18:38:51 +0000 (18:38 +0000)]
temporarily update .cvsignore
Dr. Stephen Henson [Fri, 1 Apr 2011 17:49:45 +0000 (17:49 +0000)]
Only zeroise sensitive parts of DRBG context, so the type and flags
are undisturbed.
Allow setting of "rand" callbacks for DRBG.
Dr. Stephen Henson [Fri, 1 Apr 2011 16:23:16 +0000 (16:23 +0000)]
Allow FIPS malloc callback setting. Automatically set some callbacks
in OPENSSL_init().
Dr. Stephen Henson [Fri, 1 Apr 2011 15:46:03 +0000 (15:46 +0000)]
Add additional OPENSSL_init() handling add dummy call to (hopefully)
ensure OPENSSL_init() is always linked into an application.
Dr. Stephen Henson [Fri, 1 Apr 2011 14:49:30 +0000 (14:49 +0000)]
Provisional support for auto called OPENSSL_init() function. This can be
used to set up any appropriate functions such as FIPS callbacks without
requiring an explicit application call.
Dr. Stephen Henson [Fri, 1 Apr 2011 14:46:07 +0000 (14:46 +0000)]
Initial switch to DRBG base PRNG in FIPS mode. Include bogus seeding for
test applications.
Dr. Stephen Henson [Thu, 31 Mar 2011 18:06:07 +0000 (18:06 +0000)]
Unused, untested, provisional RAND interface for DRBG.
Dr. Stephen Henson [Thu, 31 Mar 2011 17:23:12 +0000 (17:23 +0000)]
Remove redundant definitions. Give error code if DRBG sefltest fails.
Dr. Stephen Henson [Thu, 31 Mar 2011 17:15:54 +0000 (17:15 +0000)]
Reorganise DRBG API so the entropy and nonce callbacks can return a
pointer to a buffer instead of copying to a fixed length buffer. This
removes the entropy and nonce length restrictions.
Dr. Stephen Henson [Thu, 31 Mar 2011 17:12:49 +0000 (17:12 +0000)]
fix warnings
Dr. Stephen Henson [Fri, 25 Mar 2011 16:41:11 +0000 (16:41 +0000)]
Update .cvsignore
Dr. Stephen Henson [Fri, 25 Mar 2011 16:37:30 +0000 (16:37 +0000)]
Add .cvsignore
Dr. Stephen Henson [Fri, 25 Mar 2011 16:36:46 +0000 (16:36 +0000)]
Have all algorithm test programs call fips_algtest_init() at startup:
this will perform all standalone operations such as setting error
callbacks, entering FIPS mode etc.
Dr. Stephen Henson [Fri, 25 Mar 2011 16:34:20 +0000 (16:34 +0000)]
Disable cmac tests by default so the old algorithm test vectors work.
Richard Levitte [Fri, 25 Mar 2011 16:20:35 +0000 (16:20 +0000)]
Corrections to the VMS build system.
Submitted by Steven M. Schweda <sms@antinode.info>
Dr. Stephen Henson [Fri, 25 Mar 2011 14:38:37 +0000 (14:38 +0000)]
Allow setting of get_entropy and get_nonce callbacks outside test mode.
Test mode is now set when a DRBG context is initialised.
Dr. Stephen Henson [Fri, 25 Mar 2011 14:26:23 +0000 (14:26 +0000)]
Add .cvsignore
Dr. Stephen Henson [Fri, 25 Mar 2011 14:24:23 +0000 (14:24 +0000)]
Remove unused function.
Dr. Stephen Henson [Fri, 25 Mar 2011 12:36:02 +0000 (12:36 +0000)]
Fix compiler warnings.
Dr. Stephen Henson [Fri, 25 Mar 2011 12:09:29 +0000 (12:09 +0000)]
Make some Unix builds work again.
Dr. Stephen Henson [Fri, 25 Mar 2011 12:00:16 +0000 (12:00 +0000)]
Typo.
Richard Levitte [Fri, 25 Mar 2011 09:40:48 +0000 (09:40 +0000)]
For VMS, implement the possibility to choose 64-bit pointers with
different options:
"64" The build system will choose /POINTER_SIZE=64=ARGV if
the compiler supports it, otherwise /POINTER_SIZE=64.
"64=" The build system will force /POINTER_SIZE=64.
"64=ARGV" The build system will force /POINTER_SIZE=64=ARGV.
Richard Levitte [Fri, 25 Mar 2011 09:30:52 +0000 (09:30 +0000)]
make update
Richard Levitte [Fri, 25 Mar 2011 09:29:46 +0000 (09:29 +0000)]
* Configure, crypto/ec/ec.h, crypto/ec/ecp_nistp224.c, util/mkdef.pl:
Have EC_NISTP224_64_GCC_128 treated like any algorithm, and have
disabled by default. If we don't do it this way, it screws up
libeay.num.
* util/libeay.num: make update
Richard Levitte [Fri, 25 Mar 2011 09:24:02 +0000 (09:24 +0000)]
* fips/cmac/fips_cmac_selftest.c: Because the examples in SP_800-38B
aren't trustworthy (see examples 13 and 14, they have the same mac,
as do examples 17 and 18), use examples from official test vectors
instead.
Richard Levitte [Fri, 25 Mar 2011 08:48:26 +0000 (08:48 +0000)]
* fips/fipsalgtest.pl: Test the testvectors for all the CMAC ciphers
we support.
Richard Levitte [Fri, 25 Mar 2011 08:44:37 +0000 (08:44 +0000)]
* fips/cmac/fips_cmactest.c: Some say TDEA, others say TDES. Support
both names.
Richard Levitte [Fri, 25 Mar 2011 08:40:33 +0000 (08:40 +0000)]
* fips/cmac/fips_cmactest.c: Changed to accept all the ciphers we
support (Two Key TDEA is not supported), to handle really big
messages (some of the test vectors have messages 65536 bytes long),
and to handle cases where there are several keys (Three Key TDEA)
Richard Levitte [Fri, 25 Mar 2011 07:17:17 +0000 (07:17 +0000)]
* Makefile.fips: Update and add details about cmac.
Richard Levitte [Thu, 24 Mar 2011 22:59:02 +0000 (22:59 +0000)]
make update
Richard Levitte [Thu, 24 Mar 2011 22:57:52 +0000 (22:57 +0000)]
Implement FIPS CMAC.
* fips/fips_test_suite.c, fips/fipsalgtest.pl, test/Makefile: Hook in
test cases and build test program.
Richard Levitte [Thu, 24 Mar 2011 22:55:02 +0000 (22:55 +0000)]
Implement FIPS CMAC.
* fips/cmac/*: Implement the basis for FIPS CMAC, using FIPS HMAC as
an example.
* crypto/cmac/cmac.c: Enable the FIPS API. Change to use M_EVP macros
where possible.
* crypto/evp/evp.h: (some of the macros get added with this change)
* fips/fips.h, fips/utl/fips_enc.c: Add a few needed functions and use
macros to have cmac.c use these functions.
* Makefile.org, fips/Makefile, fips/fips.c: Hook it in.
Richard Levitte [Wed, 23 Mar 2011 00:11:32 +0000 (00:11 +0000)]
make update (1.1.0-dev)
This meant alarger renumbering in util/libeay.num due to symbols
appearing in 1.0.0-stable and 1.0.1-stable. However, since there's
been no release on this branch yet, it should be harmless.