Commit graph

36 commits

Author SHA1 Message Date
Thomas Pornin
d8fa415fca Added support code for RSA and EC key encoding (including reconstruction of all public and private key elements from the private key structure), with raw and PKCS#8 formats, both in DER and PEM. 2018-08-06 00:02:36 +02:00
Thomas Pornin
491a45337d Added RSA key generation code (i15, i31, i62). 2018-07-31 23:00:26 +02:00
Thomas Pornin
e37c90ac68 Added support for CCM and CCM_8 cipher suites. 2018-07-28 22:31:50 +02:00
Thomas Pornin
af9c79a071 Added seeder API. Also overhauled compile-time detection of features. 2017-08-28 16:37:30 +02:00
Thomas Pornin
8e86598b33 Added intermediate casts to void* to prevent spurious warnings (with Clang and -Wcast-align). 2017-08-19 15:50:45 +02:00
Thomas Pornin
93681c2830 Added Twrch support. 2017-07-30 23:11:26 +02:00
Thomas Pornin
0cc2e23690 Added name for new ChaCha20 implementation. 2017-07-26 16:03:32 +02:00
Thomas Pornin
968da0f646 Fixed handling of incoming application data after sending a close_notify (data shall be discarded silently, not trigger an error). Also fixed a couple of bugs in the command-line test tool. 2017-06-15 16:57:37 +02:00
Thomas Pornin
927ecfc68d Small patch to allow compilation on old systems that predate the IPV6_V6ONLY option (Debian 2.2 "potato"). 2017-04-01 20:17:09 +02:00
Thomas Pornin
c1d1306e27 Small improvement to tolerate PEM files missing the terminating newline in the brssl command-line tool. 2017-03-19 20:46:16 +01:00
Thomas Pornin
8b2fe3add6 New "i62" code for big integers with 64x64->128 opcodes; also improved "i31" modular exponentiation. 2017-03-19 14:55:11 -04:00
Thomas Pornin
5db2d48b12 Added "ctmulq" implementation of Poly1305 (using 64->128 multiplications when available). 2017-03-18 16:46:00 +01:00
Thomas Pornin
db8f1b6645 New AES and GHASH implementations using POWER8 crypto opcodes. 2017-02-15 14:08:37 +00:00
Thomas Pornin
5f045c7599 Added AES+GHASH implementation using AES-NI opcodes; also ARM-Thumb assembly for faster Montgomery multiplication on Cortex-M0+. Added selection functions for "default" implementations. 2017-01-29 21:46:33 +01:00
Thomas Pornin
3f00688b9d New Makefile structure; added compatibility with Windows + Visual C + nmake. 2017-01-22 20:00:29 +01:00
Thomas Pornin
3655193439 Activated Curve25519 support for ECDHE cipher suites. 2017-01-15 20:40:24 +01:00
Thomas Pornin
ef318ef83a Added API for external hashing of ServerKeyExchange, and signature algorithm identifiers in the 0x080* format (preparatory steps for EdDSA support). 2017-01-13 21:46:28 +01:00
Thomas Pornin
05ac106834 Added ALPN support (client and server). 2016-12-28 14:11:51 +01:00
Thomas Pornin
72d33930b2 Fixed description of TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 in the command-line tool. 2016-12-15 01:10:52 +01:00
Thomas Pornin
b42bd5972f Added ChaCha20+Poly1305 support (stand-alone, cipher suites). 2016-12-13 20:01:19 +01:00
Thomas Pornin
e61ad42191 Added support for client certificates (both client-side and server-side, but still missing an API for extracting the client identity from the certificate). 2016-12-10 17:35:06 +01:00
Thomas Pornin
298ce6530e More Doxygen-compatible documentation (SSL API). 2016-11-23 16:59:44 +01:00
Thomas Pornin
ab68048011 Added API to save and restore session parameters (for controllable session resumption on the client side). 2016-11-20 20:14:48 +01:00
Thomas Pornin
d16eee962a Added flag to prohibit renegotiations. 2016-11-20 18:50:37 +01:00
Thomas Pornin
3b044d4296 SIGPIPE shall be ignored in most network-related cases. 2016-11-20 16:23:00 +01:00
Thomas Pornin
7561e7d6c8 Added support for TLS_FALLBACK_SCSV. 2016-11-20 16:14:48 +01:00
Thomas Pornin
60126cafc8 Added support for ClientHello padding (RFC 7685) and fixed buffering bug. 2016-11-18 18:03:06 +01:00
Thomas Pornin
f3ac21cb00 Moved address-to-string translation code to blocks that depend on the 'verbose' flag. 2016-11-12 16:49:27 +01:00
Thomas Pornin
133705ee65 Fixed error reporting in case of PEM encoding error when decoding certificates. 2016-11-12 15:58:57 +01:00
Thomas Pornin
16d0864818 Better handling of inet_ntop() failures (which should not happen in practice, since we filter on address family, but let's be cautious). 2016-11-12 15:30:47 +01:00
Thomas Pornin
0d974e1c9c Improved parsing of some integer arguments (sizes). 2016-11-12 15:23:43 +01:00
Thomas Pornin
9dc3c9b61d Fixed displaying of IPv6 addresses. 2016-11-12 14:43:05 +01:00
Thomas Pornin
f56b0baab3 Removed unreachable code. 2016-11-12 14:40:03 +01:00
Thomas Pornin
6b4cd86094 No need to check for NULL, free_private_key() already does that. 2016-11-09 21:00:11 +01:00
Thomas Pornin
bab0f8639c Fixed some small bugs. 2016-11-04 21:29:18 -04:00
Thomas Pornin
3210f38e04 Initial import. 2016-11-02 19:01:13 -04:00