summaryrefslogtreecommitdiff
path: root/lib/libcrypto
AgeCommit message (Collapse)Author
2023-04-16Garbage collect the now unused obfuscating macro string_stack_free()Theo Buehler
2023-04-16Inline the three uses of string_stack_free()Theo Buehler
sk_OPENSSL_STRING_pop_free() is much more explicit and isn't that much more complicated. x509_util.c can also use it directly... No binary change
2023-04-16Remove the now unused vpm_int.hTheo Buehler
2023-04-16x509_vfy.c and x509_vpm.c don't need vpm_int.h anymoreTheo Buehler
2023-04-16Move X509_VERIFY_PARAM_st from vpm_int.h to x509_local.hTheo Buehler
2023-04-16Provide EVP methods for SHA3 224/256/384/512.Joel Sing
ok tb@
2023-04-16Provide EVP methods for SHA512/224 and SHA512/256.Joel Sing
ok tb@
2023-04-16Bounds check mdlen that is passed to sha3_init().Joel Sing
While here, use KECCAK_BYTE_WIDTH instead of hardcoding the value.
2023-04-16Shuffle ext_cmp() and ext_list_free() up a bitTheo Buehler
2023-04-16Remove unnecessary prototypes in the middle of the codeTheo Buehler
In addition, ext_cmp() was already prototyped earlier...
2023-04-16Use more usual version of inlined nitems(). No binary change.Theo Buehler
2023-04-16Fix comment formatting and grammar, drop usless and outdated commentTheo Buehler
2023-04-16Remove now empty/unused ext_dat.hTheo Buehler
2023-04-16Merge ext_dat.h back into x509_lib.cTheo Buehler
There is no point in having this in a separate internal header. discussed with jsing
2023-04-16Mark X9.31 BN API for removalTheo Buehler
This supports a mostly forgotten, seemingly unused and long retired standard. No need for this in our public API Dyson sphere. ok jsing
2023-04-16The BN reciprocal API will also become internal-onlyTheo Buehler
This is unused outside of the library and could do with some reworking. That's easier without having to care about outside consumers. ok jsing
2023-04-16Various BN*init() will be removed from the public APITheo Buehler
With the corresponding structs now being opaque, the only thing they are good for outside the library are memory leaks. They will be removed completely or become internal only. ok jsing
2023-04-16Mark public bn_nist and ec_nist API for removalTheo Buehler
The faster nist code is rife with problematic C. While this is generally considered to be a pleonasm nowadays, here it specifically refers to aliasing issues and other flavors of undefined behavior. With compilers and standardization committees becoming seemingly more determined about making C even more unusable than it already is, this code has resulted in miscompilations and generally is a target rich environment for fuzzers to feast on. We're better off without it. Go look while it's still there. It's some of the very worst we have to offer. ok jsing
2023-04-16Mark EC_KEY_{get,insert}_method_data() for removalTheo Buehler
This is unused and in the way of some house keeping. Thus it will be relocated to the attic. ok jsing
2023-04-16Mark TS_VERIFY_CTX_init() for removalTheo Buehler
With opaque TS_VERIFY_CTX the init function dangerous and useless. It will be dropped. ok jsing
2023-04-16Prepare addition of X509_STORE_CTX_get1_{certs,crls}(3)Theo Buehler
X509_STORE_get1_{certs,crls}(3) was added to the OpenSSL 1.1 API with the usual care. At some point later it was noticed that they didn't deal with an X509_STORE at all, but rather with an X509_STORE_CTX, so were misnamed. The fact that X509_STORE_CTX and X509_STORE have their roles reversed when compared to other FOO vs FOO_CTX in this API may or may not be related. Anyway, the X509_STORE versions will be demoted to compat defines and the X509_STORE_CTX will be added to match OpenSSL 1.1 API more closely. This was pointed out by schwarze a long time ago and missed in a few bumps. Hopefully we'll manage to do it this time around. ok jsing
2023-04-16Mark remaining policy tree public API for removalTheo Buehler
ok jsing
2023-04-16Annotate policy tree STACK_OF() goo for removal from public APITheo Buehler
ok jsing
2023-04-16The policy tree types become internal ony. Annotate them.Theo Buehler
ok jsing
2023-04-16Cipher text stealing will go away. Mark it for removal.Theo Buehler
ok jsing
2023-04-16Mark proxy policy API for removal in upcoming bumpTheo Buehler
ok jsing
2023-04-16Remove the now unused ex_pcpathlen from the X509 structTheo Buehler
ok jsing
2023-04-16More ProxyCertInfo tentacles go to the atticTheo Buehler
This removes ProxyCertInfo from extension caching, issuer checking and it also drops the special path validation for proxy certs from the legacy verifier. ok jsing
2023-04-16Remove some dead code from the new verifierTheo Buehler
The new verifier API is currently unused as we still operate the verifier in legacy mode. Therefore ctx->xsc is always set and the EXFLAG_PROXY will soon be dropped from the library, so this error on encountering proxy certs is effectively doubly dead code. ok jsing
2023-04-16Drop support for the ProxyCertInfo extensionTheo Buehler
This removes the ProxyCertInfo extension from RFC 3820 from the list of supported extensions. Since it is a critical extension, this means that certificates containing it will no longer be considered valid by default. ok jsing
2023-04-16Make pcy_int.h pull in x509_local.h it will need it soonTheo Buehler
ok jsing
2023-04-15Use size_t rather than int.Joel Sing
Also buy a vowel for rsiz.
2023-04-15Add SHA3 digest length define that was previously missed.Joel Sing
2023-04-15Remove sha3() function, which will not be used or exposed.Joel Sing
2023-04-15Mark sha3_keccakf() as static and remove prototype from header.Joel Sing
2023-04-15Use memset() to zero the context, instead of zeroing manually.Joel Sing
2023-04-15Provide SHA3 length related defines.Joel Sing
These will make EVP integration easier, as well as being used in the SHA3 implementation itself.
2023-04-15Use the same byte order tests as we do elsewhere in libcrypto.Joel Sing
2023-04-15Adjust documentation of X9.31 padding modeTheo Buehler
2023-04-15Stop supporting the long-retired X9.31 standardTheo Buehler
This isolates the three API functions from the library so they can be easily removed and any attempt to use RSA_X931_PADDING mode will now result in an error. ok jsing
2023-04-15Prepare rsa.h for X9.31 support removalTheo Buehler
This wraps the three public functions in the usual #if stanza. RSA_X931_PADDING is unfortunately exposed by rust-openssl and erlang. Therefore it will remain visible to avoid breaking the build of lang/rust. Its use in the library will be neutered shortly. ok jsing
2023-04-15Remove now unused GF2m perlasm generatorsTheo Buehler
2023-04-15Rename SHA3 context struct field from 'st' to 'state'.Joel Sing
2023-04-15Rename SHA3 context to align with existing code.Joel Sing
2023-04-15Move some defines out of the sha3_internal.h header.Joel Sing
2023-04-15Stop building GF2m assemblyTheo Buehler
GF2m support will be removed shortly. In the interim drop some of this unused code already and let it fall back to the C implementation. ok jsing
2023-04-15Revise header guards.Joel Sing
2023-04-15Pull constant tables out of sha3_keccakf().Joel Sing
2023-04-15Strip and reformat comments.Joel Sing
Remove various comments that are unhelpful or obvious. Reformat remaining comments per style(9).
2023-04-15Apply style(9) (first pass).Joel Sing