aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Clean up XMSS self-benchmarkJack Lloyd2017-12-161-6/+4
| | | | Clang complained that the lambda was capturing unnecessary variables.
* Avoid using @deprecated annotation hereJack Lloyd2017-12-161-2/+4
| | | | | | Clang's documentation checker complains since it's not actually annotated as deprecated. Change comment to just indicate that it is not a public API function and will be removed in the future.
* Fix a bug in PEM decodingJack Lloyd2017-12-162-31/+21
| | | | | | | | If the label param was set to a non-empty string, the decoding would treat it as part of the label and then end up throwing a decoding error. The key fix here is adding the clear() call in decode. Private bug report by email. Add some basic tests for the PEM decoder.
* Add ability to fingerprint public keysJack Lloyd2017-12-144-38/+59
|
* Default to not setting a timestamp in the gzip headerJack Lloyd2017-12-142-5/+6
| | | | But allow it to be set via a constructor arg.
* Drop IRIX supportJack Lloyd2017-12-134-4/+0
| | | | | | It turns out that GCC dropped support for IRIX in 4.8, so likely there was never even a C++11 compiler that could have been used to compile 2.x in any case.
* Fix pragma message to avoid warningschregger2017-12-121-1/+1
| | | Missing parentheses around pragma message caused warnings in Visual Studio.
* Rename SSE4.x names to avoid underscoresJack Lloyd2017-12-112-2/+2
| | | | | | This breaks how we determine the ISA flags for amalgamation files. The code for doing that is kind of a hack but I don't want to mess with it right now, easier to just rename the ISA internally.
* Rename the SSE4 ISA extensionsJack Lloyd2017-12-112-2/+2
| | | | Simplifies macro generation
* Rename CRC24 tablesJack Lloyd2017-12-101-9/+9
| | | | These conflict with name of temp variables and MSVC gets noisy.
* Enable using NEON on ClangJack Lloyd2017-12-102-18/+19
| | | | | Clang doesn't like the way SIMD shifts were implemented, I guess it fails to inline the constant. Make it a template parameter instead.
* Avoid saving a resumed session multiple timesJack Lloyd2017-12-071-1/+3
|
* Handle #1303 on the server sideJack Lloyd2017-12-071-1/+13
|
* On resuming a client session, save the certificates that were used.Jack Lloyd2017-12-073-3/+17
| | | | GH #1303
* Fix formatting in TLS server code [ci skip]Jack Lloyd2017-12-071-193/+179
|
* Add a new version function returning just the version without extrasJack Lloyd2017-12-062-16/+40
|
* Merge GH #1339 Add ability to query supported named groupsJack Lloyd2017-12-062-0/+41
|\
| * Add known_named_groups to EC_Group to list known curves. Fixes GX #1338.J08nY2017-12-052-0/+41
| |
* | Fix signed vs unsigned comparison warningJack Lloyd2017-12-051-1/+1
| |
* | Cryptobox doesn't require filters anymoreJack Lloyd2017-12-051-6/+3
| |
* | Merge GH #1267 Multithreaded signing in XMSSJack Lloyd2017-12-0529-170/+649
|\ \
| * | Fixes lambda capture error in MSVCMatthias Gierlings2017-11-231-1/+3
| | | | | | | | | | | | | | | MSVC seems to not allow defining aliases inside lambda capture expressions. Defining the aliases beforehand, outside the lambda fixes the issue.
| * | Adds runtime benchmark to guess phys. core count.Matthias Gierlings2017-11-233-3/+122
| | | | | | | | | | | | | | | | | | | | | Adds a small runtime benchmark to prevent performance degradation by overprovisioning SMT CPUs with too many threads. This is a temporary workaround until a hardware and OS independent detection of the physical core count through Botan::CPUID is in place.
| * | Updates documentation, news and copyright notices.Matthias Gierlings2017-11-2128-34/+45
| | | | | | | | | | | | | | | | | | - Adds XMSS to the index of supported signature schemes. - Adds XMSS multithreading support to news.rst - Updates copyright notices of edited files.
| * | Adds guards for environments without threadsMatthias Gierlings2017-11-211-1/+7
| | |
| * | Implements multithreading support for XMSSMatthias Gierlings2017-11-2126-136/+477
| | |
* | | Merge GH #1335 Support uninitialized X509 objectsJack Lloyd2017-12-0510-136/+130
|\ \ \
| * | | Need binary IO for WindowsJack Lloyd2017-12-044-14/+4
| | | |
| * | | Support uninitialized certificate objectsJack Lloyd2017-12-0410-136/+140
| | |/ | |/| | | | | | | | | | | | | | | | Issued raised by @securitykernel on Slack, there was no non-hacky way to decode a list of certificate objects because creating an uninitialized one wasn't allowed. However after #884 that got much closer to being viable, this is the last pieces.
* | | Remove use of "using namespace std"Jack Lloyd2017-12-042-15/+17
| | |
* | | Simplify date conversion by avoiding OS utilitiesJack Lloyd2017-12-044-117/+61
|/ / | | | | | | | | | | | | We have to rely on non-portable OS calls to convert UTC times, and they are not available on many systems (including Solaris and MinGW). But instead there is a simple algorithm due to Howard Hinnant that does the same job. Woo.
* | Add copyright statements to files modified in the preceding 2 commitsHarry Reimann2017-12-0413-0/+13
| |
* | Move TLS signature and key exchange code into callbacksHarry Reimann2017-12-047-96/+237
| | | | | | | | | | | | | | Give applications using an external crypto device for signature generation and/or verification and/or (ec)dh key exchange while establishing a TLS session hooks to implement the corresponding functionality.
* | Make support for certificate status messages optional via policyHarry Reimann2017-12-046-10/+40
| | | | | | | | | | | | | | | | Don't postpone the verification of a server certificate if certificate status messages are not expected in client handshake. When using an external crypto device it may be necessary to verify the certificate before using the public key for verification of the signature in the server key exchange message.
* | Code formatting tweak in Poly1305 codeJack Lloyd2017-12-031-5/+5
| |
* | Avoid calling lookup("DES") twice when clone will do the job.Jack Lloyd2017-12-031-1/+1
| |
* | Create two macros for CAST-128 vs CAST-256Jack Lloyd2017-12-032-2/+9
| | | | | | | | Since eventually CAST-256 is going away.
* | Merge GH #1329 Remove unaligned mem optionsJack Lloyd2017-12-021-29/+22
|\ \
| * | Remove unaligned mem checkJack Lloyd2017-12-021-29/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This previously enabled doing something unsafe (misaligned reads), but it turns out even on hardware that supports this, it is not safe to do because the compiler may do something unfortunate. Now memcpy is used, which is safe on any platform. Should provide a noticable speedup for ARM and PPC64, which previously used the byte-at-a-time fallback code.
* | | Merge GH #1330 Fix typoJack Lloyd2017-12-021-1/+1
|\ \ \
| * | | Fix a typo in sha1_sse2.cppFelix Yan2017-12-031-1/+1
| |/ /
* / / Drop support for Cilk+Jack Lloyd2017-12-021-32/+2
|/ / | | | | | | | | It's been dropped from GCC, appears OpenACC is the new hotness for this kind of thing.
* | Fix missing headerJack Lloyd2017-11-291-0/+1
| | | | | | | | This caused a build failure when compiling with amalgamation + minimized.
* | CRL_Data is a struct not a classJack Lloyd2017-11-291-1/+2
| |
* | Merge GH #1316 Various TLS fixesJack Lloyd2017-11-287-25/+47
|\ \
| * | Add an explicit catch for a server trying to negotiate SSLv3Jack Lloyd2017-11-281-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 serverJack Lloyd2017-11-281-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 messageJack Lloyd2017-11-281-1/+1
| | | | | | | | | | | | An empty extension is not allowed, but was previously accepted.
| * | Return correct alert type on malformed DH/ECDH messages.Jack Lloyd2017-11-281-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 Lloyd2017-11-282-5/+7
| | | | | | | | | | | | | | | The previous limit of 512 bytes meant that TLS was unable to negotiate using FFDHE-6144 or FFDHE-8192 groups.