Dr. Stephen Henson [Fri, 1 Nov 2013 21:35:00 +0000 (21:35 +0000)]
Add -ecdh_single option.
Add -ecdh_single option to set SSL_OP_SINGLE_ECDH_USE on the command line.
Robin Seggelmann [Wed, 9 May 2012 17:28:44 +0000 (19:28 +0200)]
DTLS/SCTP struct authchunks Bug
PR: 2809
DTLS/SCTP requires DATA and FORWARD-TSN chunks to be protected with
SCTP-AUTH. It is checked if this has been activated successfully for
the local and remote peer. Due to a bug, however, the
gauth_number_of_chunks field of the authchunks struct is missing on
FreeBSD, and was therefore not considered in the OpenSSL implementation.
This patch sets the corresponding pointer for the check correctly
whether or not this bug is present.
Robin Seggelmann [Wed, 9 May 2012 17:28:41 +0000 (19:28 +0200)]
DTLS/SCTP Finished Auth Bug
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.
Ben Laurie [Mon, 21 Oct 2013 02:34:00 +0000 (03:34 +0100)]
Remove unused variable.
Nick Mathewson [Sun, 20 Oct 2013 22:08:58 +0000 (15:08 -0700)]
Fix another gmt_unix_time case in server_random
Nick Mathewson [Sun, 20 Oct 2013 22:03:24 +0000 (15:03 -0700)]
Do not include a timestamp in the Client/ServerHello Random field.
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.
Steve Marquess [Tue, 15 Oct 2013 12:03:12 +0000 (08:03 -0400)]
Remove gratuitous patent references
Dr. Stephen Henson [Thu, 17 Oct 2013 14:37:12 +0000 (15:37 +0100)]
Fix no-ssl-trace
Dr. Stephen Henson [Tue, 15 Oct 2013 12:37:01 +0000 (13:37 +0100)]
Prevent use of RSA+MD5 in TLS 1.2 by default.
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.
(cherry picked from commit
77a0f740d00ecf8f6b01c0685a2f858c3f65a3dd)
Ben Laurie [Sun, 20 Oct 2013 12:10:25 +0000 (13:10 +0100)]
Add clang debug target.
Andy Polyakov [Tue, 15 Oct 2013 21:40:12 +0000 (23:40 +0200)]
PPC assembly pack: make new .size directives profiler-friendly.
Suggested by: Anton Blanchard
(cherry picked from commit
76c15d790e07f6cc098be2d7b7f6ddc8acd11ca6)
Dr. Stephen Henson [Tue, 15 Oct 2013 11:08:47 +0000 (12:08 +0100)]
Add brainpool curves to NID table too.
(cherry picked from commit
6699cb84912f0d7c04acbf91c3e3dbdae5929857)
Dr. Stephen Henson [Tue, 15 Oct 2013 00:17:40 +0000 (01:17 +0100)]
Fix warning.
(cherry picked from commit
f6983769c1bcd6c3c6b6bbfbbc41848f6dccf127)
Dr. Stephen Henson [Tue, 15 Oct 2013 00:17:15 +0000 (01:17 +0100)]
Add test vectors from RFC7027
(cherry picked from commit
8ba2d4ed7f128e400693562efd35985068c45e4d)
Dr. Stephen Henson [Mon, 14 Oct 2013 17:44:44 +0000 (18:44 +0100)]
RFC7027 (Brainpool for TLS) support.
(cherry picked from commit
695e8c36528f9c3275f5f56e9633ac6a0c11f2e3)
Andy Polyakov [Mon, 14 Oct 2013 22:31:45 +0000 (00:31 +0200)]
PPC assembly pack: update from master branch.
Includes multiple updates: AES module to comply with more ABI
flavors, SHA512 for PPC32, .size directives.
Andy Polyakov [Sun, 15 Sep 2013 19:59:25 +0000 (21:59 +0200)]
Add support for Cygwin-x86_64.
PR: 3110
Submitted by Corinna Vinschen.
(cherry picked from commit
b3ef742cbbc1c8bf0e33dca60f08c65031647b07)
Andy Polyakov [Sun, 13 Oct 2013 17:15:15 +0000 (19:15 +0200)]
Initial aarch64 bits.
(cherry picked from commit
039081b80977e2a5de84e1f88f8b4d025b559956)
Andy Polyakov [Sun, 13 Oct 2013 11:14:52 +0000 (13:14 +0200)]
MIPS assembly pack: get rid of deprecated instructions.
Latest MIPS ISA specification declared 'branch likely' instructions
obsolete. To makes code future-proof replace them with equivalent.
(cherry picked from commit
0c2adb0a9be76da8de9bbfd5377215f71711a52e)
Andy Polyakov [Sat, 12 Oct 2013 19:47:54 +0000 (21:47 +0200)]
aes/asm/bsaes-x86_64.pl: update from master.
Performance improvement and Windows-specific bugfix (PR#3139).
Andy Polyakov [Thu, 10 Oct 2013 21:06:43 +0000 (23:06 +0200)]
bn/asm/rsax-avx2.pl: minor optimization [for Decoded ICache].
(cherry picked from commit
fa104be35e24f3fea895d55bb7042d6f4b2963e9)
Ben Laurie [Mon, 7 Oct 2013 11:41:43 +0000 (12:41 +0100)]
Constification.
Ben Laurie [Sat, 5 Oct 2013 20:20:24 +0000 (21:20 +0100)]
Merge branch 'OpenSSL_1_0_2-stable' into pre-aead
Andy Polyakov [Thu, 3 Oct 2013 08:55:49 +0000 (10:55 +0200)]
evp/e_des3.c: fix typo with potential integer overflow on 32-bit platforms.
Submitted by: Yuriy Kaminskiy
(cherry picked from commit
524b00c0da42b129ed8622dfb3f5eab9cc5d6617)
Andy Polyakov [Thu, 3 Oct 2013 08:42:11 +0000 (10:42 +0200)]
perlasm/sparcv9_modes.pl: make it work even with seasoned perl.
PR: 3130
(cherry picked from commit
6b2cae0c16631c6c1ccf61080fc2aa9bd1b5ea1b)
Ben Laurie [Fri, 4 Oct 2013 11:59:03 +0000 (12:59 +0100)]
Merge branch 'OpenSSL_1_0_2-stable' into agl-1.0.2aead
Ben Laurie [Fri, 4 Oct 2013 11:58:08 +0000 (12:58 +0100)]
Tidy.
Ben Laurie [Fri, 4 Oct 2013 11:48:24 +0000 (12:48 +0100)]
Merge branch 'OpenSSL_1_0_2-stable' into agl-1.0.2aead
Ben Laurie [Thu, 3 Oct 2013 18:02:58 +0000 (19:02 +0100)]
Make it build and test.
Andy Polyakov [Thu, 3 Oct 2013 08:55:49 +0000 (10:55 +0200)]
evp/e_des3.c: fix typo with potential integer overflow on 32-bit platforms.
Submitted by: Yuriy Kaminskiy
(cherry picked from commit
524b00c0da42b129ed8622dfb3f5eab9cc5d6617)
Andy Polyakov [Thu, 3 Oct 2013 08:42:11 +0000 (10:42 +0200)]
perlasm/sparcv9_modes.pl: make it work even with seasoned perl.
PR: 3130
(cherry picked from commit
6b2cae0c16631c6c1ccf61080fc2aa9bd1b5ea1b)
Adam Langley [Fri, 20 Sep 2013 20:04:54 +0000 (16:04 -0400)]
AEAD Tests.
Add tests for AEAD functions: AES-128-GCM, AES-256-GCM and
ChaCha20+Poly1305.
Adam Langley [Mon, 9 Sep 2013 16:13:24 +0000 (12:13 -0400)]
chacha20poly1305
Add support for Chacha20 + Poly1305.
Adam Langley [Wed, 4 Sep 2013 16:21:12 +0000 (12:21 -0400)]
Use AEAD for AES-GCM.
Switches AES-GCM ciphersuites to use AEAD interfaces.
Adam Langley [Thu, 25 Jul 2013 21:35:23 +0000 (17:35 -0400)]
AEAD support in ssl/
This change allows AEADs to be used in ssl/ to implement SSL/TLS
ciphersuites.
Adam Langley [Thu, 25 Jul 2013 20:52:35 +0000 (16:52 -0400)]
AEAD support.
This change adds an AEAD interface to EVP and an AES-GCM implementation
suitable for use in TLS.
Adam Langley [Tue, 1 Oct 2013 15:18:10 +0000 (11:18 -0400)]
Rework tls1_change_cipher_state.
The previous version of the function made adding AEAD changes very
difficult. This change should be a semantic no-op - it should be purely
a cleanup.
Ben Laurie [Tue, 1 Oct 2013 13:51:04 +0000 (14:51 +0100)]
Constification.
Dr. Stephen Henson [Mon, 5 Aug 2013 14:56:01 +0000 (15:56 +0100)]
Update cms docs.
(cherry picked from commit
dfcb42c68eac61b35d52f2fc53771c0f27dd9c29)
Ben Laurie [Wed, 21 Aug 2013 03:21:57 +0000 (04:21 +0100)]
Correctly test for no-ec.
(cherry picked from commit
d5605699a15d870457f96b3e1795135228547324)
Dr. Stephen Henson [Sat, 17 Aug 2013 16:39:48 +0000 (17:39 +0100)]
Don't run ECDH CMS tests if EC disabled.
(cherry picked from commit
b85f8afe3735eb77073481ffff2a4c972a6c3b21)
Dr. Stephen Henson [Fri, 2 Aug 2013 14:57:54 +0000 (15:57 +0100)]
Add X9.42 DH test.
(cherry picked from commit
bbc098ffb3c0b09e0bbeca787e20efddc3242ec1)
Dr. Stephen Henson [Wed, 17 Jul 2013 17:20:29 +0000 (18:20 +0100)]
New CMS tests.
Add some ECDH CMS tests.
(cherry picked from commit
5cdc25a7545e44523b1f15418146bbda8eb03015)
Dr. Stephen Henson [Fri, 2 Aug 2013 14:51:46 +0000 (15:51 +0100)]
Add X9.42 DH certificate to S/MIME test
(cherry picked from commit
75787fd833a11798e09b027991aabc5b7dafa335)
Dr. Stephen Henson [Wed, 17 Jul 2013 15:30:04 +0000 (16:30 +0100)]
Scripts to recreate S/MIME test certificates.
Add a script to generate keys and certificates for the S/MIME and CMS
tests.
Update certificates and add EC examples.
(cherry picked from commit
a0957d55059f0b6052235737f7441fc35da41afd)
Dr. Stephen Henson [Wed, 17 Jul 2013 14:21:31 +0000 (15:21 +0100)]
Custom key wrap option for cms utility.
(cherry picked from commit
5711885a2b31bfb623fb3738ce92a4cce4316bc7)
Dr. Stephen Henson [Sat, 10 Dec 2011 13:35:11 +0000 (13:35 +0000)]
add cofactor ECDH support from fips branch
(cherry picked from commit
a3a2e3a43d13d8486c5e100e1bef7fec8e61b27b)
Ben Laurie [Wed, 21 Aug 2013 03:21:42 +0000 (04:21 +0100)]
Fix compile errors.
(cherry picked from commit
a0aaa5660a29f0faa86e5e51ce889299c5f3098b)
Dr. Stephen Henson [Sat, 20 Jul 2013 20:31:10 +0000 (21:31 +0100)]
CMS RFC2631 X9.42 DH enveloped data support.
(cherry picked from commit
bd59f2b91db8fab86e8610de4565b5ab8de2b44b)
Conflicts:
crypto/dh/dh.h
crypto/dh/dh_err.c
Sync error codes with 1.0.1.
Dr. Stephen Henson [Thu, 1 Aug 2013 14:48:44 +0000 (15:48 +0100)]
Minor optimisation to KDF algorithm.
Don't need to use temporary buffer if remaining length equals digest length.
(cherry picked from commit
3f6b6f0b8cbd7173b6c007b07caa6ec34cda08c5)
Dr. Stephen Henson [Tue, 30 Jul 2013 17:05:08 +0000 (18:05 +0100)]
Add KDF for DH.
Add X9.42 DH KDF. Move sharedinfo generation code to CMS library as the
same structure is used by DH and ECDH.
Move ASN1_OBJECT typedef to ossl_typ.h so it can be picked up by dh headers
without the need to use ASN1.
(cherry picked from commit
dc1ce3bc64845d16314af1f11acf5384e4ae9b34)
Dr. Stephen Henson [Wed, 17 Jul 2013 14:18:01 +0000 (15:18 +0100)]
Return correct enveloped data type in ASN1 methods.
For RSA and DSA keys return an appropriate RecipientInfo type. By setting
CMS_RECIPINFO_NONE for DSA keys an appropriate error is returned if
an attempt is made to use DSA with enveloped data.
(cherry picked from commit
41b920ef01abeb4c4b1c0f11e647370ae6533d02)
Dr. Stephen Henson [Mon, 5 Aug 2013 14:40:50 +0000 (15:40 +0100)]
Algorithm parameter support.
Check and set AlgorithmIdenfier parameters for key wrap algorithms.
Currently these just set parameters to NULL.
(cherry picked from commit
e61f5d55bc0072e75023be8971ae6e849643f466)
Dr. Stephen Henson [Wed, 17 Jul 2013 14:13:37 +0000 (15:13 +0100)]
Add support for ECDH KARI.
Add support for ECDH in enveloped data. The CMS ctrls for the EC ASN1
method decode/encode the appropriate parameters from the CMS ASN1 data
and send appropriate data to the EC public key method.
(cherry picked from commit
88e20b8584a78c803eca7aa9fcf8c46ff0ece4ae)
Dr. Stephen Henson [Wed, 17 Jul 2013 14:01:08 +0000 (15:01 +0100)]
Add support for X9.62 KDF.
Add X9.62 KDF to EC EVP_PKEY_METHOD.
(cherry picked from commit
25af7a5dbc05c7359d1d7f472d50d65a9d876b7e)
Dr. Stephen Henson [Wed, 17 Jul 2013 13:36:39 +0000 (14:36 +0100)]
CMS support for key agreeement recipient info.
Add hooks to support key agreement recipient info type (KARI) using
algorithm specific code in the relevant public key ASN1 method.
(cherry picked from commit
17c2764d2e6fc5a010ad3c12662068689ed2ad17)
Dr. Stephen Henson [Wed, 19 Jun 2013 17:26:27 +0000 (18:26 +0100)]
Add new CMS tests.
Add new tests to cms-test.pl covering PSS and OAEP.
(cherry picked from commit
32b18e0338a326723680c7c347d3f04bf4e24b40)
Dr. Stephen Henson [Wed, 19 Jun 2013 17:24:00 +0000 (18:24 +0100)]
Add -keyopt option to cms utility.
Add support for custom public key parameters in the cms utility using
the -keyopt switch. Works for -sign and also -encrypt if -recip is used.
(cherry picked from commit
02498cc885b801f38f33c0a0d08d4603fd6350c7)
Dr. Stephen Henson [Fri, 21 Jun 2013 22:24:25 +0000 (23:24 +0100)]
Update cms docs.
Document use of -keyopt to use RSA-PSS and RSA-OAEP modes.
(cherry picked from commit
4bf4a6501c6ca3fa1853f07c82e0e9cfe22dee45)
Dr. Stephen Henson [Wed, 19 Jun 2013 17:21:37 +0000 (18:21 +0100)]
CMS RSA-OAEP and RSA-PSS support.
Extend RSA ASN1 method to support CMS PSS signatures for both sign
and verify.
For signing the EVP_PKEY_CTX parameters are read and the appropriate
CMS structures set up.
For verification the CMS structures are analysed and the corresponding
parameters in the EVP_PKEY_CTX set.
Also add RSA-OAEP support.
For encrypt the EVP_PKEY_CTX parameters are used.
For decrypt the CMS structure is uses to set the appropriate EVP_PKEY_CTX
parameters.
(cherry picked from commit
0574cadf857b19485465b9d71b7dec9549857a4d)
Also sync error codes with OpenSSL 1.0.1 and add new ones.
Dr. Stephen Henson [Thu, 20 Jun 2013 16:02:14 +0000 (17:02 +0100)]
Update to OAEP support.
Add OAEP ctrls to retrieve MD and label. Return errors if
an attempt is made to set or retrieve OAEP parameters when
padding mode is not OAEP.
(cherry picked from commit
211a14f6279f127f7a5a59948819bd939131b0b6)
Dr. Stephen Henson [Tue, 21 May 2013 22:55:50 +0000 (23:55 +0100)]
Exetended OAEP support.
Extend OAEP support. Generalise the OAEP padding functions to support
arbitrary digests. Extend EVP_PKEY RSA method to handle the new OAEP
padding functions and add ctrls to set the additional parameters.
(cherry picked from commit
271fef0ef39a1c0cb5233a5adf3ff8733abb375e)
Conflicts:
CHANGES
Dr. Stephen Henson [Fri, 20 Sep 2013 12:24:08 +0000 (13:24 +0100)]
Add FIPS RSA error code.
Add some RSA error codes used by the FIPS module.
Dr. Stephen Henson [Wed, 10 Jul 2013 17:36:37 +0000 (18:36 +0100)]
Set CMS EnvelopedData version correctly.
(cherry picked from commit
ff7b6ce9db329eb48775bb81e0ecbbd2a9b23c1c)
Dr. Stephen Henson [Tue, 2 Jul 2013 21:11:27 +0000 (22:11 +0100)]
Initialise CMS signature buffer length properly.
(cherry picked from commit
e0f7cfda68881da6829ea39430e1a5c28ed05ece)
Dr. Stephen Henson [Wed, 19 Jun 2013 17:17:14 +0000 (18:17 +0100)]
CMS public key parameter support.
Add support for customisation of CMS handling of signed and enveloped
data from custom public key parameters.
This will provide support for RSA-PSS and RSA-OAEP but could also be
applied to other algorithms.
(cherry picked from commit
e365352d6a6368039392fed14a328f8c0bf955c3)
Dr. Stephen Henson [Wed, 19 Jun 2013 17:20:03 +0000 (18:20 +0100)]
Add control to retrieve signature MD.
(cherry picked from commit
810639536cfa66df0c232fa4f15a7e5f00f31ce8)
Dr. Stephen Henson [Wed, 17 Jul 2013 13:54:00 +0000 (14:54 +0100)]
Add new OIDs from RFC5753
Add OIDs for KDF schemes from RFC5753 and add cross references for
each type and the appropriate digest to use.
(cherry picked from commit
6af440ced43d766e418c2eb0cda1525eecd3e62b)
Conflicts:
crypto/objects/obj_dat.h
crypto/objects/obj_mac.num
Dr. Stephen Henson [Fri, 21 Jun 2013 10:59:04 +0000 (11:59 +0100)]
Add new OID to pSpecified from PKCS#1
(cherry picked from commit
e423c360fd2670b151c8e61439b36a77c77f77c3)
Conflicts:
crypto/objects/obj_dat.h
crypto/objects/obj_mac.num
Dr. Stephen Henson [Wed, 18 Sep 2013 13:18:46 +0000 (14:18 +0100)]
Add FIPS 186-2 DSA parameter generation algorithm.
Backport support for FIPS 186-2 DSA parameter generation from
HEAD. Redirect to FIPS in FIPS mode and workaround prototype error.
Dr. Stephen Henson [Wed, 31 Jul 2013 17:10:16 +0000 (18:10 +0100)]
Extend DH parameter generation support.
Add support for DH parameter generation using DSA methods including
FIPS 186-3.
(cherry picked from commit
3909087801729bebb3a1182936a855a47e4ee9c9)
Dr. Stephen Henson [Sat, 20 Jul 2013 20:25:50 +0000 (21:25 +0100)]
Enhance DH dup functions.
Make DHparams_dup work properly with X9.42 DH parameters.
(cherry picked from commit
d3cc91eee2cba07d8908f0fea531c62863ed3ccf)
Dr. Stephen Henson [Fri, 2 Aug 2013 13:40:00 +0000 (14:40 +0100)]
If present print j, seed and counter values for DH
(cherry picked from commit
c9577ab5eae56cb00c17a0eb724229f0bc1397a0)
Conflicts:
crypto/dh/dh_ameth.c
Dr. Stephen Henson [Wed, 17 Jul 2013 13:05:19 +0000 (14:05 +0100)]
EVP support for wrapping algorithms.
Add support for key wrap algorithms via EVP interface.
Generalise AES wrap algorithm and add to modes, making existing
AES wrap algorithm a special case.
Move test code to evptests.txt
(cherry picked from commit
97cf1f6c2854a3a955fd7dd3a1f113deba00c9ef)
Conflicts:
CHANGES
Andy Polyakov [Thu, 4 Apr 2013 13:53:01 +0000 (15:53 +0200)]
evptests.txt: add XTS test vectors
(cherry picked from commit
c9a8e3d1c754cee8551d36cd54a1ea675ee8d055)
Andy Polyakov [Wed, 6 Mar 2013 18:24:05 +0000 (19:24 +0100)]
evptests.txt: additional GCM test vectors.
(cherry picked from commit
ca303d333bb3ff61a946f92b2569ee98ae18c3cb)
Ben Laurie [Sat, 23 Mar 2013 19:04:46 +0000 (19:04 +0000)]
Fix warnings.
(cherry picked from commit
282a480a352e2aac4fad6e75932d951659bff62d)
Dr. Stephen Henson [Wed, 6 Mar 2013 15:45:15 +0000 (15:45 +0000)]
GCM and CCM test support
Add code to support GCM an CCM modes in evp_test. On encrypt this
will compare the expected ciphertext and tag. On decrypt it will
compare the expected plaintext: tag comparison is done internally.
Add a simple CCM test case and convert all tests from crypto/modes/gcm128.c
(cherry picked from commit
15652f9825de25481676767aa73945409f9c82e2)
Dr. Stephen Henson [Wed, 6 Mar 2013 15:41:29 +0000 (15:41 +0000)]
Add CCM ciphers to tables.
(cherry picked from commit
95248de327cb468d2ead36930fdf3d05d10d7b6a)
Dr. Stephen Henson [Tue, 8 Mar 2011 19:07:26 +0000 (19:07 +0000)]
New SP 800-56A compliant version of DH_compute_key().
(cherry picked from commit
bc91494e064ebdcff68f987947f97e404fbca0b5)
Dr. Stephen Henson [Wed, 17 Jul 2013 13:19:40 +0000 (14:19 +0100)]
Ben Laurie [Tue, 1 Oct 2013 11:34:44 +0000 (12:34 +0100)]
Re-add accidentally deleted #endif.
Ben Laurie [Tue, 1 Oct 2013 11:20:02 +0000 (12:20 +0100)]
Merge remote-tracking branch 'agl/1.0.2alpn' into agl-alpn
Conflicts:
ssl/ssl3.h
ssl/t1_lib.c
Ben Laurie [Wed, 25 Sep 2013 12:55:06 +0000 (13:55 +0100)]
Produce PEM we would consume.
Ben Laurie [Tue, 24 Sep 2013 22:13:22 +0000 (23:13 +0100)]
Show useful errors.
Ben Laurie [Tue, 24 Sep 2013 11:47:54 +0000 (12:47 +0100)]
Merge remote-tracking branch 'trevp/pempick' into OpenSSL_1_0_2-stable
Dr. Stephen Henson [Mon, 16 Sep 2013 04:23:44 +0000 (05:23 +0100)]
Disable Dual EC DRBG.
Return an error if an attempt is made to enable the Dual EC DRBG: it
is not used by default.
(cherry picked from commit
a4870de5aaef562c0947494b410a2387f3a6d04d)
Ben Laurie [Fri, 20 Sep 2013 13:39:33 +0000 (14:39 +0100)]
Merge remote-tracking branch 'trevp/pemfix' into trev-pem-fix
Dr. Stephen Henson [Wed, 18 Sep 2013 13:45:59 +0000 (14:45 +0100)]
Fix warning.
Dr. Stephen Henson [Tue, 17 Sep 2013 17:10:37 +0000 (18:10 +0100)]
DTLS version usage fixes.
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.
(cherry picked from commit
40088d8b8190a2a33828a769c23bf35de542c7dc)
Dr. Stephen Henson [Fri, 8 Mar 2013 16:45:37 +0000 (16:45 +0000)]
DTLS trace support.
Add DTLS record header parsing, different client hello format and add
HelloVerifyRequest message type.
Add code to d1_pkt.c to send message headers to the message callback.
(cherry picked from commit
890f2f8b92b385ef3898cdb4a15a071ffcf8107f)
Conflicts:
ssl/ssl_locl.h
Dr. Stephen Henson [Tue, 9 Apr 2013 14:57:39 +0000 (15:57 +0100)]
Suite B support for DTLS 1.2
Check for Suite B support using method flags instead of version numbers:
anything supporting TLS 1.2 cipher suites will also support Suite B.
Return an error if an attempt to use DTLS 1.0 is made in Suite B mode.
(cherry picked from commit
4544f0a69161a37ee3edce3cc1bc34c3678a4d64)
Dr. Stephen Henson [Tue, 9 Apr 2013 14:53:38 +0000 (15:53 +0100)]
Always return errors in ssl3_get_client_hello
If we successfully match a cookie don't set return value to 2 as this
results in other error conditions returning 2 as well.
Instead set return value to -2 which can be checked later if everything
else is OK.
(cherry picked from commit
c56f5b8edfbcec704f924870daddd96a5f768fbb)
Dr. Stephen Henson [Sat, 6 Apr 2013 14:50:12 +0000 (15:50 +0100)]
Dual DTLS version methods.
Add new methods DTLS_*_method() which support both DTLS 1.0 and DTLS 1.2 and
pick the highest version the peer supports during negotiation.
As with SSL/TLS options can change this behaviour specifically
SSL_OP_NO_DTLSv1 and SSL_OP_NO_DTLSv1_2.
(cherry picked from commit
c6913eeb762edffddecaaba5c84909d7a7962927)
Conflicts:
CHANGES
Dr. Stephen Henson [Wed, 27 Mar 2013 19:54:48 +0000 (19:54 +0000)]
Enable TLS 1.2 ciphers in DTLS 1.2.
Port TLS 1.2 GCM code to DTLS. Enable use of TLS 1.2 only ciphers when in
DTLS 1.2 mode too.
(cherry picked from commit
4221c0dd3004117c63b182af5e8ab345b7265902)
Dr. Stephen Henson [Wed, 27 Mar 2013 16:05:10 +0000 (16:05 +0000)]
Update fixed DH requirements.
The relaxed signing requirements for fixed DH certificates apply to DTLS 1.2
too.
(cherry picked from commit
fbbaaccaca32742f09dfb02e5e28dcd20f64a17f)
Dr. Stephen Henson [Wed, 27 Mar 2013 15:50:42 +0000 (15:50 +0000)]
DTLS 1.2 cached record support.
Add DTLS1.2 support for cached records when computing handshake macs
instead of the MD5+SHA1 case for DTLS < 1.2 (this is a port of the
equivalent TLS 1.2 code to DTLS).
(cherry picked from commit
04fac50045929e7078cad4835478dd7f16b6d4bd)
Dr. Stephen Henson [Wed, 20 Mar 2013 15:49:14 +0000 (15:49 +0000)]
Provisional DTLS 1.2 support.
Add correct flags for DTLS 1.2, update s_server and s_client to handle
DTLS 1.2 methods.
Currently no support for version negotiation: i.e. if client/server selects
DTLS 1.2 it is that or nothing.
(cherry picked from commit
c3b344e36a088283731b4f65a70e85b100f55686)
Conflicts:
apps/s_server.c
Dr. Stephen Henson [Tue, 26 Mar 2013 14:46:18 +0000 (14:46 +0000)]
Remove versions test from dtls1_buffer_message
Since this is always called from DTLS code it is safe to assume the header
length should be the DTLS value. This avoids the need to check the version
number and should work with any version of DTLS (not just 1.0).
(cherry picked from commit
9cf0f187542f080031f83c5e538d3e1872ac09d1)
Dr. Stephen Henson [Tue, 19 Mar 2013 15:51:26 +0000 (15:51 +0000)]
Extend DTLS method macros.
Extend DTLS method creation macros to support version numbers and encryption
methods. Update existing code.
(cherry picked from commit
cfd298b7aef2b095bee8d172a6a40d6c59d1574b)