| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
See GH #2886
|
|
|
|
|
|
|
|
| |
Starting in OpenSSL 3.0, most of the functionality which we need to
implement the OpenSSL provider is deprecated. Rather than reimplement
the whole provider in order to allow it to continue to work in the
future, just remove it. Efforts would be better spent doing more
optimization work rather than chasing OpenSSL's API changes.
|
|
|
|
| |
Add get_byte_var for the few cases that need a variable index
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Leftover from it being an old style enum, and now that we have
split them there is not any further compatability concern.
|
|
|
|
| |
This should improve type safety even more.
|
| |
|
|
|
|
|
|
|
|
| |
Adding BLAKE2b as a MAC caused "PBKDF2(BLAKE2b)" to become interpreted
as PBKDF2 with keyed BLAKE, instead of the previous interpretation of
PBKDF2 with BLAKE2/HMAC. (And similarly for HKDF, etc)
Fixes #2525
|
|
|
|
| |
Closes GH #2347
|
| |
|
|
|
|
|
|
|
|
|
| |
Now modules default to internal headers instead of defaulting to public; making
a new public API should be a visible and intentional choice.
Brings the public header count from over 300 to around 150.
Also removes the deprecated tls_blocking interface
|
|
|
|
|
| |
Deprecate asn1_str.h asn1_time.h asn1_oid.h and alg_id.h with all
contents moved to existing asn1_obj.h
|
|
|
|
|
|
|
|
|
| |
It turns out some KDFs *do* verify that the output length is not
too large, making the KDF truncation bug (#2437) even nastier.
Add comments in KDFs where we are truncating so they can be fixed
later. Also fix SP800-56C which would return the original key length
rather than the possibly truncated key the KDF generated.
|
| |
|
|
|
|
| |
We can firmly disable MD5 now, but not SHA1 since X.509 needs it
|
| |
|
| |
|
| |
|
|
|
|
|
| |
A few older APIs use as_string where everywhere else uses to_string.
Add to_string's where missing, and deprecate X::as_string.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Let DER_Encoder write to a user specified vector instead of only to an
internal vector. This allows encoding to a std::vector without having
to first write to a locked vector and then copying out the result.
Add ASN1_Object::BER_encode convenience method. Replaces
X509_Object::BER_encode which had the same logic but was restricted to
a subtype. This replaces many cases where DER_Encoder was just used
to encode a single object (X509_DN, AlgorithmIdentifier, etc).
|
| |
|
|
|
|
| |
Fixes a new warning in GCC 8
|
|
|
|
| |
They assumed base pulled in hash and mac which is no longer true
|
| |
|
|
|
|
|
|
|
| |
Generally speaking reinterpret_cast is sketchy stuff. But the
special case of char*/uint8_t* is both common and safe. By
isolating those, the remaining (likely sketchy) cases are easier
to grep for.
|
| |
|
| |
|
|
|
|
| |
Not actually strictly required but in practice doesn't make much sense.
|
|
|
|
| |
[ci skip]
|
|
|
|
| |
Step 1/n of TLS 1.3
|
|
|
|
| |
Only encrypt so it's easy to verify everything still works.
|
|
|
|
|
| |
Done by a perl script which converted all classes to final, followed
by selective reversion where it caused compilation failures.
|
|
|
|
| |
Some help from include-what-you-use
|
|
|
|
|
|
| |
ISO C++ reserves names with double underscores in them
Closes #512
|
| |
|
|
|
|
|
| |
Defined in build.h, all equal to BOTAN_DLL so ties into existing
system for exporting symbols.
|
|
|
|
|
|
|
| |
Instead of using a template split the KDF into two different classes
that both call a template utility function to actually run the KDF algo.
Simplify the "empty salt" logic and avoid having to instantiate a hash
object just to get the hash block size.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
should be extended to revision 2.
|
|
|
|
|
|
|
|
|
| |
* fixes for deprecated constructions in c++11 and later (explicit rule of 3/5 or implicit rule of 0 and other violations)
* `default` specifier instead of `{}` in some places(probably all)
* removal of unreachable code (for example `return` after `throw`)
* removal of compilation unit only visible, but not used functions
* fix for `throw()` specifier - used instead `BOTAN_NOEXCEPT`
* removed not needed semicolons
|
| |
|
|
|
|
|
|
| |
If all (say) stream ciphers are disabled, avoid unused arg warning.
[ci skip]
|