openssl.git
11 years agoreinclude crypto.h: this is needed in HEAD only to get the __fips_constseg definition
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

11 years agoupdate trace messages
Dr. Stephen Henson [Wed, 18 Jul 2012 13:53:56 +0000 (13:53 +0000)]
update trace messages

11 years agosha1-[586|x86_64].pl: shave off one instruction from body_40_59, it's
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:-)

11 years agomk1mf.pl: replace chop to make it work in mixture of perls for Windows.
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.

11 years agotest_aesni: harmonize with AES-NI support at EVP layer.
Andy Polyakov [Sun, 15 Jul 2012 13:38:51 +0000 (13:38 +0000)]
test_aesni: harmonize with AES-NI support at EVP layer.

11 years agowp-x86_64.pl: ~10% performance improvement.
Andy Polyakov [Sun, 15 Jul 2012 13:37:35 +0000 (13:37 +0000)]
wp-x86_64.pl: ~10% performance improvement.

11 years agosha512-s390x.pl: lingering comment update.
Andy Polyakov [Sun, 15 Jul 2012 13:36:57 +0000 (13:36 +0000)]
sha512-s390x.pl: lingering comment update.

11 years agosha512-ia64.pl: 15-20% performance improvement.
Andy Polyakov [Sun, 15 Jul 2012 13:36:25 +0000 (13:36 +0000)]
sha512-ia64.pl: 15-20% performance improvement.

11 years agosha256-armv4.pl: 4% performance improvement.
Andy Polyakov [Sun, 15 Jul 2012 13:35:10 +0000 (13:35 +0000)]
sha256-armv4.pl: 4% performance improvement.

11 years agosha1-s390x.pl: lingering comment update.
Andy Polyakov [Sun, 15 Jul 2012 13:34:26 +0000 (13:34 +0000)]
sha1-s390x.pl: lingering comment update.

11 years agorc5.h: stop wasting space on 64-bit platforms [breaks binary compatibility!].
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!].

11 years agowp-mmx.pl: ~10% performance improvement.
Andy Polyakov [Sun, 15 Jul 2012 13:29:23 +0000 (13:29 +0000)]
wp-mmx.pl: ~10% performance improvement.

11 years agosha512-586.pl: optimize SSE2 code path, +5-7% on most CPUs, +13% on AMD K8.
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.

11 years agosha1-586.pl: let masm compile AVX code.
Andy Polyakov [Sun, 15 Jul 2012 13:25:31 +0000 (13:25 +0000)]
sha1-586.pl: let masm compile AVX code.

11 years agox86gas.pl: treat OPENSSL_ia32cap_P accordingly to .hidden status.
Andy Polyakov [Sun, 15 Jul 2012 13:24:43 +0000 (13:24 +0000)]
x86gas.pl: treat OPENSSL_ia32cap_P accordingly to .hidden status.

11 years agoAdd new ctrl to retrieve client certificate types, print out
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.

11 years agoInstall srtp.h
Richard Levitte [Thu, 5 Jul 2012 13:20:19 +0000 (13:20 +0000)]
Install srtp.h

11 years agoAdd d1_srtp and t1_trce.
Richard Levitte [Thu, 5 Jul 2012 13:20:02 +0000 (13:20 +0000)]
Add d1_srtp and t1_trce.

11 years agoAdd the missing modules for Camellia, as well as dh_rfc5114 and evp_cnf.
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.

11 years agoHarmonise symhacks.h in this branch with lower versions.
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.

11 years agoadd missing evp_cnf.c file
Dr. Stephen Henson [Wed, 4 Jul 2012 13:15:10 +0000 (13:15 +0000)]
add missing evp_cnf.c file

11 years agoPR: 2840
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.

11 years agoFix memory leak.
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.

11 years agocert_flags is unsigned
Dr. Stephen Henson [Tue, 3 Jul 2012 14:54:59 +0000 (14:54 +0000)]
cert_flags is unsigned

11 years agoadd support for client certificate callbak, fix memory leak
Dr. Stephen Henson [Tue, 3 Jul 2012 14:53:27 +0000 (14:53 +0000)]
add support for client certificate callbak, fix memory leak

11 years agonew function SSL_is_server to which returns 1 is the corresponding SSL context is...
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

11 years agono need to check s->server as default_nid is never used for TLS 1.2 client authentication
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

11 years agoSeparate client and server permitted signature algorithm support: by default
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.

11 years agobn_nist.c: compensate for VC bug [with optimization off!].
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

11 years agocrypto/bn/*.h: move PTR_SIZE_INT to private header.
Andy Polyakov [Mon, 2 Jul 2012 13:27:30 +0000 (13:27 +0000)]
crypto/bn/*.h: move PTR_SIZE_INT to private header.

11 years agoremove unnecessary attempt to automatically call OPENSSL_init
Dr. Stephen Henson [Sun, 1 Jul 2012 22:25:04 +0000 (22:25 +0000)]
remove unnecessary attempt to automatically call OPENSSL_init

11 years agoFix Win32 build.
Dr. Stephen Henson [Sun, 1 Jul 2012 22:14:32 +0000 (22:14 +0000)]
Fix Win32 build.

11 years agorecognise OPENSSL_NO_SSL_TRACE
Dr. Stephen Henson [Sun, 1 Jul 2012 22:12:03 +0000 (22:12 +0000)]
recognise OPENSSL_NO_SSL_TRACE

11 years agobss_dgram.c: fix typos in Windows code.
Andy Polyakov [Sun, 1 Jul 2012 09:11:47 +0000 (09:11 +0000)]
bss_dgram.c: fix typos in Windows code.

11 years agosha256-586.pl: fix typos.
Andy Polyakov [Sun, 1 Jul 2012 08:46:38 +0000 (08:46 +0000)]
sha256-586.pl: fix typos.

11 years agoAdd certificate callback. If set this is called whenever a certificate
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.

11 years agoFunction tls1_check_ec_server_key is now redundant as we make
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.

11 years agoAdd new "valid_flags" field to CERT_PKEY structure which determines what
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.

11 years agodon't use pseudo digests for default values of keys
Dr. Stephen Henson [Wed, 27 Jun 2012 14:12:47 +0000 (14:12 +0000)]
don't use pseudo digests for default values of keys

11 years agox86_64 assembly pack: make it possible to compile with Perl located on
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

11 years agosha512-x86_64.pl: fix typo.
Andy Polyakov [Mon, 25 Jun 2012 17:13:15 +0000 (17:13 +0000)]
sha512-x86_64.pl: fix typo.

11 years agoReorganise supported signature algorithm extension processing.
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.

11 years agosha512-x86_64.pl: add SIMD code paths.
Andy Polyakov [Sun, 24 Jun 2012 19:22:06 +0000 (19:22 +0000)]
sha512-x86_64.pl: add SIMD code paths.

11 years agoAdd support for application defined signature algorithms for use with
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.

11 years agooops, add -debug_decrypt option which was accidenatally left out
Dr. Stephen Henson [Tue, 19 Jun 2012 13:39:30 +0000 (13:39 +0000)]
oops, add -debug_decrypt option which was accidenatally left out

11 years agosha512-x86_64.pl: fix typo.
Andy Polyakov [Tue, 19 Jun 2012 07:50:10 +0000 (07:50 +0000)]
sha512-x86_64.pl: fix typo.

11 years agosha256-586.pl: fix linking error.
Andy Polyakov [Tue, 19 Jun 2012 07:49:36 +0000 (07:49 +0000)]
sha256-586.pl: fix linking error.

11 years agofix clashing error code
Dr. Stephen Henson [Mon, 18 Jun 2012 13:11:09 +0000 (13:11 +0000)]
fix clashing error code

11 years agoMake it possible to delete all certificates from an SSL structure.
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.

11 years agoInitial record tracing code. Print out all fields in SSL/TLS records
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.

11 years agoNew functions to retrieve certificate signatures and signature OID NID.
Dr. Stephen Henson [Wed, 13 Jun 2012 13:08:12 +0000 (13:08 +0000)]
New functions to retrieve certificate signatures and signature OID NID.

11 years agosha256t.c: make sure unrolled loop is tested.
Andy Polyakov [Tue, 12 Jun 2012 14:40:41 +0000 (14:40 +0000)]
sha256t.c: make sure unrolled loop is tested.

11 years agosha256-586.pl: add AVX and XOP code paths.
Andy Polyakov [Tue, 12 Jun 2012 14:40:11 +0000 (14:40 +0000)]
sha256-586.pl: add AVX and XOP code paths.

11 years agosha256-586.pl: squeeze some more, most notably ~10% on Nehalem.
Andy Polyakov [Tue, 12 Jun 2012 14:38:01 +0000 (14:38 +0000)]
sha256-586.pl: squeeze some more, most notably ~10% on Nehalem.

11 years agox86[_64] assembly pack: update benchmark results.
Andy Polyakov [Tue, 12 Jun 2012 14:18:21 +0000 (14:18 +0000)]
x86[_64] assembly pack: update benchmark results.

11 years agoprint out issuer and subject unique identifier fields in certificates
Dr. Stephen Henson [Tue, 12 Jun 2012 13:41:18 +0000 (13:41 +0000)]
print out issuer and subject unique identifier fields in certificates

11 years agobss_dgram.c: add BIO_CTRL_DGRAM_SET_DONT_FRAG.
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

11 years agobss_dgram.c: make getsockopt work in cases when optlen is 64-bit value.
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.

11 years agoFix memory leak.
Ben Laurie [Mon, 11 Jun 2012 09:23:55 +0000 (09:23 +0000)]
Fix memory leak.

11 years agob_sock.c: make getsockopt work in cases when optlen is 64-bit value.
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.

11 years agoRearrange and test authz extension.
Ben Laurie [Thu, 7 Jun 2012 13:20:47 +0000 (13:20 +0000)]
Rearrange and test authz extension.

11 years agoFix memory leak.
Ben Laurie [Wed, 6 Jun 2012 13:03:42 +0000 (13:03 +0000)]
Fix memory leak.

11 years agoParse authz correctly.
Ben Laurie [Wed, 6 Jun 2012 12:52:19 +0000 (12:52 +0000)]
Parse authz correctly.

11 years agoRevert random changes from commit#22606.
Andy Polyakov [Mon, 4 Jun 2012 22:12:10 +0000 (22:12 +0000)]
Revert random changes from commit#22606.

11 years agoVersion skew reduction: trivia (I hope).
Ben Laurie [Sun, 3 Jun 2012 22:00:21 +0000 (22:00 +0000)]
Version skew reduction: trivia (I hope).

11 years agoRFC 5878 support.
Ben Laurie [Wed, 30 May 2012 10:10:58 +0000 (10:10 +0000)]
RFC 5878 support.

11 years agoBuild on FreeBSD with gcc 4.6.
Ben Laurie [Wed, 30 May 2012 09:34:44 +0000 (09:34 +0000)]
Build on FreeBSD with gcc 4.6.

11 years agosha256-586.pl: full unroll to deliver additional ~16%, add Sandy Bridge-
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.

11 years agosha512-x86_64.pl: >5% better performance.
Andy Polyakov [Mon, 28 May 2012 17:47:15 +0000 (17:47 +0000)]
sha512-x86_64.pl: >5% better performance.

11 years agoaesni-x86_64.pl: make it possibel to use in Linux kernel.
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.

11 years agosha256-586.pl: tune away regression on Nehalem core and incidentally
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.

11 years agosha256-586.pl optimization.
Andy Polyakov [Sat, 19 May 2012 10:10:30 +0000 (10:10 +0000)]
sha256-586.pl optimization.

11 years agos2_clnt.c: compensate for compiler bug.
Andy Polyakov [Wed, 16 May 2012 12:47:36 +0000 (12:47 +0000)]
s2_clnt.c: compensate for compiler bug.

11 years agoppccap.c: assume no features under 32-bit AIX kernel.
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

11 years agoPR: 2813
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.

11 years agoPR: 2811
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.

11 years agoFix warning.
Ben Laurie [Thu, 10 May 2012 20:29:00 +0000 (20:29 +0000)]
Fix warning.

11 years agoPadlock doesn't build. I don't even know what it is.
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.

11 years agoPR: 2806
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.

11 years agoSanity check record length before skipping explicit IV in TLS 1.2, 1.1 and
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)

11 years agoupdate FAQ
Dr. Stephen Henson [Thu, 10 May 2012 15:37:16 +0000 (15:37 +0000)]
update FAQ

11 years agoReported by: Solar Designer of Openwall
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.

11 years agoCorrect environment variable is OPENSSL_ALLOW_PROXY_CERTS.
Richard Levitte [Fri, 4 May 2012 10:43:15 +0000 (10:43 +0000)]
Correct environment variable is OPENSSL_ALLOW_PROXY_CERTS.

11 years agoperlasm: fix symptom-less bugs, missing semicolons and 'my' declarations.
Andy Polyakov [Sat, 28 Apr 2012 10:36:58 +0000 (10:36 +0000)]
perlasm: fix symptom-less bugs, missing semicolons and 'my' declarations.

11 years agoppccpuid.pl: branch hints in OPENSSL_cleanse impact small block performance
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

11 years agoDon't try to use unvalidated composite ciphers in FIPS mode
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

11 years agoupdate NEWS
Dr. Stephen Henson [Thu, 26 Apr 2012 11:13:30 +0000 (11:13 +0000)]
update NEWS

11 years agoupdate FAQ
Dr. Stephen Henson [Thu, 26 Apr 2012 11:10:24 +0000 (11:10 +0000)]
update FAQ

11 years agoCHANGES: clarify.
Andy Polyakov [Thu, 26 Apr 2012 07:33:26 +0000 (07:33 +0000)]
CHANGES: clarify.

11 years agoCHANGES: fix typos and clarify.
Andy Polyakov [Thu, 26 Apr 2012 07:20:06 +0000 (07:20 +0000)]
CHANGES: fix typos and clarify.

11 years agoChange value of SSL_OP_NO_TLSv1_1 to avoid clash with SSL_OP_ALL and
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.

11 years agos23_clnt.c: ensure interoperability by maitaining client "version capability"
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

11 years agoSubmitted by: Peter Sylvester <peter.sylvester@edelweb.fr>
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.

11 years agooops, not yet ;-)
Dr. Stephen Henson [Mon, 23 Apr 2012 21:58:29 +0000 (21:58 +0000)]
oops, not yet ;-)

11 years agoupdate NEWS
Dr. Stephen Henson [Mon, 23 Apr 2012 21:56:33 +0000 (21:56 +0000)]
update NEWS

11 years agoobjxref.pl: improve portability.
Andy Polyakov [Sun, 22 Apr 2012 21:18:30 +0000 (21:18 +0000)]
objxref.pl: improve portability.

11 years agocorrect error code
Dr. Stephen Henson [Sun, 22 Apr 2012 13:31:09 +0000 (13:31 +0000)]
correct error code

11 years agocheck correctness of errors before updating them so we don't get bogus errors added
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

11 years agocorrect old FAQ answers
Dr. Stephen Henson [Sun, 22 Apr 2012 13:20:28 +0000 (13:20 +0000)]
correct old FAQ answers

11 years agoPR: 2239
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>