Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge GH #1316 Various TLS fixes | Jack Lloyd | 2017-11-28 | 7 | -25/+47 |
|\ | |||||
| * | Add an explicit catch for a server trying to negotiate SSLv3 | Jack Lloyd | 2017-11-28 | 1 | -1/+7 |
| | | | | | | | | | | | | | | This was already caught with the policy check later but it's better to be explicit. (And in theory an application might implement their policy version check to be "return true", which would lead to us actually attempting to negotiate SSLv3). | ||||
| * | Correct version selection logic in TLS server | Jack Lloyd | 2017-11-28 | 1 | -0/+5 |
| | | | | | | | | | | | | | | | | | | | | | | Due to an oversight in the logic, previously a client attempt to negotiate SSLv3 would result in the server trying to negotiate TLS v1.2. Now instead they get a protocol_error alert. Similarly, detect the the (invalid) case of a major number <= 2, which does not coorespond to any real TLS version. The server would again reply as a TLS v1.2 server in that case, and now just closes the connection with an alert. | ||||
| * | Tighten up checks on signature key exchange message | Jack Lloyd | 2017-11-28 | 1 | -1/+1 |
| | | | | | | | | An empty extension is not allowed, but was previously accepted. | ||||
| * | Return correct alert type on malformed DH/ECDH messages. | Jack Lloyd | 2017-11-28 | 1 | -7/+11 |
| | | | | | | | | | | | | | | | | In the client key exchange if the message was malformed (eg an completely empty ECDH share) a Decoding_Error would be thrown, then caught and a fake pre master secret generated. Move the parsing of the message out of the try/catch block, so the correct error is reported. | ||||
| * | Increase HMAC key size limit to 4096 bytes. | Jack Lloyd | 2017-11-28 | 2 | -5/+7 |
| | | | | | | | | | | The previous limit of 512 bytes meant that TLS was unable to negotiate using FFDHE-6144 or FFDHE-8192 groups. | ||||
| * | Correct definition of FFDHE 4096 group | Jack Lloyd | 2017-11-28 | 1 | -11/+16 |
| | | | | | | | | Was a copy+paste of FFDHE 3072 | ||||
* | | Run TLS hello random fields through SHA-256 | Jack Lloyd | 2017-11-28 | 1 | -1/+7 |
|/ | | | | Avoids exposing RNG output on the wire. Cheap precaution. | ||||
* | Fix Doxygen | Jack Lloyd | 2017-11-26 | 1 | -1/+1 |
| | |||||
* | Merge GH #1302 Add PSK database interface | Jack Lloyd | 2017-11-26 | 8 | -1/+378 |
|\ | |||||
| * | PSK Database | Jack Lloyd | 2017-11-26 | 8 | -1/+378 |
| | | |||||
* | | Throw a Decoding_Error if TLS AEAD packet is shorter than the tag. | Jack Lloyd | 2017-11-26 | 1 | -0/+3 |
| | | | | | | | | | | Otherwise this ended up as an assertion failure which translated to internal_error alert. | ||||
* | | Fix errors caught with tlsfuzzer | Jack Lloyd | 2017-11-26 | 3 | -10/+5 |
| | | | | | | | | | | | | | | | | | | | | | | Don't send EC point format extension in server hello unless an EC suite was negotiated *and* the client sent the extension. Fix server FFDHE logic, this effectively disabled DHE ciphersuites for clients without FFDHE extension. Use unexpected_message alert in case of an unexpected message. (Previously an internal_error alert was sent.) | ||||
* | | Merge #1313 Fix Doxygen comment on HashFunction::create_or_throw | Jack Lloyd | 2017-11-25 | 1 | -1/+1 |
|\ \ | |||||
| * | | Minor documentation fix in HashFunction::create_or_throw. | Marcus Brinkmann | 2017-11-26 | 1 | -1/+1 |
| | | | |||||
* | | | Merge #1312 Fix documentation of compression/decompression update function. | Jack Lloyd | 2017-11-25 | 1 | -2/+2 |
|\ \ \ | |||||
| * | | | Fix documentation of compression/decompression update function. | Marcus Brinkmann | 2017-11-26 | 1 | -2/+2 |
| |/ / | |||||
* | | | Merge #1311 Add create and create_or_throw factories for ↵ | Jack Lloyd | 2017-11-25 | 2 | -0/+69 |
|\ \ \ | |_|/ |/| | | | | | Compression_Algorithm and Decompression_Algorithm. | ||||
| * | | Documentation fix in compression create/create_or_throw functions. | Marcus Brinkmann | 2017-11-26 | 1 | -6/+4 |
| | | | |||||
| * | | Add create and create_or_throw factories for Compression_Algorithm and ↵ | Marcus Brinkmann | 2017-11-25 | 2 | -0/+71 |
| |/ | | | | | | | Decompression_Algorithm. | ||||
* / | Fix bzip2 compression issue. | Jack Lloyd | 2017-11-25 | 1 | -2/+8 |
|/ | | | | | | When finishing, bzip2 returns BZ_STREAM_END when it has produced all output. If we end up calling the compression routine again (even with avail_in == 0), bzip2 returns an error. | ||||
* | Add Pipe::append_filter | Jack Lloyd | 2017-11-24 | 2 | -13/+23 |
| | | | | | Similar to append but it only allows modfication before start_msg. See GH #1306 | ||||
* | Avoid uncontrolled recusion on indefinite length encodings | Jack Lloyd | 2017-11-20 | 1 | -17/+26 |
| | | | | | A sufficiently nested indefinite length construction would cause stack exhaustion and a crash. Found by OSS-Fuzz - issue 4353 | ||||
* | Add AES key wrap with padding | Jack Lloyd | 2017-11-19 | 6 | -74/+290 |
| | |||||
* | Constify variables in AES-NI code | Jack Lloyd | 2017-11-18 | 1 | -104/+104 |
| | |||||
* | Add a function for checking if poly_double_n supports a particular size | Jack Lloyd | 2017-11-18 | 3 | -6/+10 |
| | |||||
* | Allow parsing and printing certificates with unknown public key algos | Jack Lloyd | 2017-11-18 | 2 | -6/+31 |
| | |||||
* | Add feature macro for Sqlite3 being enabled in build | Jack Lloyd | 2017-11-18 | 1 | -0/+3 |
| | |||||
* | Fix encoding of subject key identifier | Jack Lloyd | 2017-11-16 | 5 | -23/+27 |
| | | | | | | Changed in #884 - we were copying the entire public key as the public key id. Instead hash it with whatever hash we are using to sign the certificate. | ||||
* | Optimize Twofish | Jack Lloyd | 2017-11-16 | 1 | -76/+156 |
| | | | | | Interleaving two blocks is 40-50% faster for any mode that supports parallel operation. | ||||
* | Fix secure_allocator with std::string on VS2013 | Daniel Neus | 2017-11-16 | 1 | -5/+21 |
| | | | | Closes #1295 | ||||
* | Fix a memory leak in the case where certificate extension decoding fails. | Jack Lloyd | 2017-11-16 | 2 | -30/+33 |
| | | | | | | Introduced in #884 Found by OSS-Fuzz (bug 4249) | ||||
* | Correct CAST-128 decryption with more than 1 block | Jack Lloyd | 2017-11-16 | 1 | -32/+32 |
| | |||||
* | Optimizations for CAST-128 | Jack Lloyd | 2017-11-16 | 1 | -45/+135 |
| | | | | | Similarly to Blowfish, 2x unrolling produces a 50-60% perf boost due to increased ILP. | ||||
* | Optimize Blowfish | Jack Lloyd | 2017-11-16 | 1 | -41/+82 |
| | | | | | | | Doing two blocks at a time exposes more ILP and substantially improves performance. Idea from http://jultika.oulu.fi/files/nbnfioulu-201305311409.pdf | ||||
* | Update ASN.1 fuzzer | Jack Lloyd | 2017-11-15 | 1 | -3/+3 |
| | |||||
* | Correct handling of nested context specific | Jack Lloyd | 2017-11-15 | 1 | -4/+3 |
| | |||||
* | Move ASN1 printer to the library | Jack Lloyd | 2017-11-15 | 4 | -0/+415 |
| | |||||
* | Increase the size of an ASN.1 tag enum to 32-bits | Jack Lloyd | 2017-11-15 | 1 | -1/+1 |
| | | | | Fixes GH #751 | ||||
* | Remove debug abort [ci skip] | Jack Lloyd | 2017-11-14 | 1 | -1/+0 |
| | |||||
* | Consolidate function for testing for ASN.1 string types | Jack Lloyd | 2017-11-14 | 3 | -27/+24 |
| | |||||
* | Check for keyCertSign on non-CA certificates during validation | Jack Lloyd | 2017-11-14 | 1 | -0/+14 |
| | | | | GH #1089 | ||||
* | Fix PKCS10 subject alt name usage | Jack Lloyd | 2017-11-14 | 4 | -7/+26 |
| | | | | GH #1010 | ||||
* | Add a test for GH #1252 | Jack Lloyd | 2017-11-14 | 1 | -1/+7 |
| | |||||
* | Avoid deprecated functions in FFI | Jack Lloyd | 2017-11-14 | 1 | -3/+3 |
| | |||||
* | Use new APIs in path validation and name constraint handling | Jack Lloyd | 2017-11-14 | 2 | -6/+14 |
| | |||||
* | Store CRL_Entry data in shared_ptr | Jack Lloyd | 2017-11-14 | 2 | -41/+81 |
| | |||||
* | Store X509_CRL data in shared_ptr | Jack Lloyd | 2017-11-14 | 2 | -69/+102 |
| | |||||
* | Store PKCS10 request data in structure | Jack Lloyd | 2017-11-14 | 2 | -65/+85 |
| | |||||
* | Refactor certificate extension handling | Jack Lloyd | 2017-11-14 | 2 | -274/+441 |
| |