aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Address some issues with PR 492Jack Lloyd2016-08-1316-58/+123
| | | | | | | | | | | | | | | | Adds copyright notices for Juraj Somorovsky and Christian Mainka of Hackmanit for the changes in 7c7fcecbe6a and 6d327f879c Add Policy::check_peer_key_acceptable which lets the app set an arbitrary callback for examining keys - both the end entity signature keys from certificates and the peer PFS public keys. Default impl checks that the algorithm size matches the min keylength. This centralizes this logic and lets the application do interesting things. Adds a policy for ECDSA group size checks. Increases default policy minimums to 2048 RSA and 256 ECC. (Maybe I'm an optimist after all.)
* Merge branch 'master' into Encrypt-then-MAC-with-policyJuraj Somorovsky2016-05-1228-80/+104
|\ | | | | | | Merged recent changes and resolved minor conflicts in tls record classes.
| * Merge GH #491 Ignore VC++ .pdb and .ilk filesJack Lloyd2016-05-101-0/+2
| |\
| | * Ignore VC++-specific *.pdb and *.ilkLauri Nurmi2016-05-101-0/+2
| |/
| * Merge GH #484 use explicit casts to avoids MSVC warning C4267Jack Lloyd2016-05-0921-64/+62
| |\
| | * Add explicit static_cast operations to eliminate implicit cast compiler ↵Dan Brown2016-04-2718-36/+34
| | | | | | | | | | | | warnings.
| | * Change calls to 'get_byte' to explicitly cast parameters and eliminate ↵Dan Brown2016-04-277-28/+28
| | | | | | | | | | | | compiler warnings
| * | Turn MSVC warnings to /W4 and enable C4267Jack Lloyd2016-05-063-8/+1
| | | | | | | | | | | | | | | | | | Move disabling C4250 and C4251 to cmd line instead of header pragma. This means these warnings will show up in application code. But disabling warnings inside a library header is probably not good form.
| * | AppVeyor used amalgamation build due to strict build time restrictionsJack Lloyd2016-05-061-1/+1
| | | | | | | | | | | | Now allows up to 60 minute builds, so build normally.
| * | Update with changes since 1.11.29Jack Lloyd2016-05-061-1/+30
| | |
| * | Update version code to 1.11.30Jack Lloyd2016-05-061-1/+1
| | |
| * | Somewhat more helpful helpJack Lloyd2016-04-281-5/+7
| | |
* | | Encrypt-then-MAC extension (RFC 7366)Juraj Somorovsky2016-05-1120-112/+372
| | | | | | | | | | | | | | | | | | Introduced a countermeasure against the logjam attack Short TLS records (AES-CBC) now return BAD_RECORD_MAC Fixed a compatibility problem with OpenSSL and TLS 1.0 (BEAST countermeasure)
* | | TLS Policy supportChristian Mainka2016-05-038-27/+193
|/ / | | | | | | | | | | | | * --policy works for TLS Server and TLS Client * Example policy BSI_TR-02102-2.txt * Fine granular configuration for TLS 1.0, 1.1, 1.2 and DTLS 1.0 and 1.2 * Minimum ecdh and rsa group size
* | Doc updatesJack Lloyd2016-04-284-15/+23
| | | | | | | | [ci skip]
* | Add missing overrideJack Lloyd2016-04-281-1/+1
| |
* | Check that the version in botan_version.py matches the tagged versionJack Lloyd2016-04-281-23/+44
|/
* Merge GH #469 Generate error on unknown critical extension during path ↵Jack Lloyd2016-04-239-78/+241
|\ | | | | | | | | | | | | validation Previously an unknown extension would be rejected during parsing, which prevents examining such a cert at all
| * Move name constraints validation code to extension classRené Korthaus2016-04-173-101/+111
| |
| * Add Unknown_Critical_Extension typeRené Korthaus2016-04-103-16/+43
| |
| * Generate error on unknown critical extension during path validationRené Korthaus2016-04-069-19/+145
| | | | | | | | | | | | | | | | | | | | | | | | Previously unknown critical extensions were rejected during X509_Certificate constructor, which inhibited inspecting other parts of such a certificate. Refactored the certificate extensions code so that the path validation routine performs this check only. Additionally, added an interface for extensions to inspect the path during path validation. TODOs were added in places where existing path validation code can use the new interface. Fixes GH #449.
* | Update for 1.10.13 releaseJack Lloyd2016-04-232-3/+15
| |
* | Fix return type of TLS_Reader::get_u32bitJack Lloyd2016-04-211-2/+2
| | | | | | | | | | | | Only affects decoding of session ticket lifetimes. GH #478
* | Merge GH #475 Remove Transform base classJack Lloyd2016-04-2135-664/+678
|\ \
| * | Remove Transform base classJack Lloyd2016-04-2135-664/+678
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With sufficient squinting, Transform provided an abstract base interface that covered both cipher modes and compression algorithms. However it mapped on neither of them particularly well. In addition this API had the same problem that has made me dislike the Pipe/Filter API: given a Transform&, what does it do when you put bits in? Maybe it encrypts. Maybe it compresses. It's a floor wax and a dessert topping! Currently the Cipher_Mode interface is left mostly unchanged, with the APIs previously on Transform just moved down the type hierarchy. I think there are some definite improvements possible here, wrt handling of in-place encryption, but left for a later commit. The compression API is split into two types, Compression_Algorithm and Decompression_Algorithm. Compression_Algorithm's start() call takes the compression level, allowing varying compressions with a single object. And flushing the compression state is moved to a bool param on `Compression_Algorithm::update`. All the nonsense WRT compression algorithms having zero length nonces, input granularity rules, etc as a result of using the Transform interface goes away.
* | | Merge GH #481 Add NIST SP800-108 & 56c KDFsJack Lloyd2016-04-2111-0/+5991
|\ \ \
| * | | NIST SP800-108 & 56cKai Michaelis2016-04-2011-0/+5991
| |/ /
* | | Merge GH #479 Add ECGDSA signature schemeJack Lloyd2016-04-2116-14/+615
|\ \ \ | |/ / |/| |
| * | Enable ECGDSA in default buildRené Korthaus2016-04-201-2/+0
| | |
| * | Add ECGDSARené Korthaus2016-04-1916-14/+617
|/ /
* | Specific ideas re PGP supportJack Lloyd2016-04-151-3/+15
| |
* | Catch the right exception type so errors are reported instead ofJack Lloyd2016-04-151-8/+17
| | | | | | | | | | | | manifesting as broken sockets. Leave the client socket open until the alert has been sent.
* | Don't reject TLS packets with zero plaintext bytesJack Lloyd2016-04-153-13/+24
| | | | | | | | | | | | | | | | OpenSSL sends an empty record before each new data record in TLS v1.0 to randomize the IV, as a countermeasure to the BEAST attack. Most implementations use 1/(n-1) splitting for this instead. Bug introduced with the const time changes in 1.11.23
* | Empty the key/tweak containers which is used to signal the key was setJack Lloyd2016-04-151-3/+3
| | | | | | | | Fix exception message
* | Fix formatting bugs in TLS docJack Lloyd2016-04-131-11/+6
| | | | | | | | | | | | | | Fixes GH #460 Closes GH #474 [ci skip]
* | Merge GH #468Jack Lloyd2016-04-135-4/+32
|\ \ | | | | | | | | | | | | | | | Resolves problems with shared lib on OS X caused by incorrect dylib naming Fixes GH #467
| * | Fixed shared library behaviour on Darwin/OS X.Alastair Houghton2016-04-075-4/+32
| |/
* | Add support for ChaCha(12)Jack Lloyd2016-04-095-11/+49
| |
* | Fix a couple MSVC warnings.Jack Lloyd2016-04-093-10/+12
| | | | | | | | | | | | | | | | Cast std::streamsize to size_t since MSVC is worried gcount() might return a negative number. The entropy callbacks took the entropy estimate as a size_t instead of a double, which causes some verbose warnings due to the conversion.
* | Merge GH #464 fix Python3 bcrypt, add testJack Lloyd2016-04-091-3/+12
|\ \ | | | | | | | | | Fixes GH #461
| * | Removed empty lineMouse2016-04-061-1/+0
| | |
| * | Fixed bcrypt() argument problem. Fixed buffer overread in bcrypt().Mouse2016-04-051-3/+13
| |/
* | Merge GH #473 - remove needless BOTAN_DLL from AutoSeeded_RNGJack Lloyd2016-04-091-1/+1
|\ \ | |/ |/| | | | | | | | | | | Apparently adding a dllexport annotation causes VC to want to emit some object code somewhere, and since AutoSeeded_RNG is entirely inline this fails with a link error (GH #451). GCC's visibility attribute just changes what symbols are marked as exported, so did not trigger the problem.
| * fix linker error if compiling with `--module-policy bsi` on Windows. Fixes ↵Daniel Neus2016-04-081-1/+1
|/ | | | GH #451
* Update OCB ciphersuites to follow new nonce scheme from -04 draftJack Lloyd2016-04-043-51/+56
|
* Add McEliece timeJack Lloyd2016-04-031-0/+82
|
* More todosJack Lloyd2016-04-031-2/+8
|
* Merge pull request #458 from cordney/add-more-ffi-testsJack Lloyd2016-04-033-5/+300
|\ | | | | Add more tests for ffi
| * Add more tests for ffiRené Korthaus2016-03-253-5/+300
|/
* Add IETF standard ChaCha20Poly1305 ciphersuites to TLSJack Lloyd2016-03-236-59/+109
|