| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
This error comes from upstream, where it is still wrong.
|
|
|
|
| |
feedback and ok tb@
|
|
|
|
|
| |
Use less horrcble variable names and make it explicit that both output
arguments are allowed to be NULL.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This avoids a dangling reference in i2s_ASN1_ENUMERATED_TABLE.
To complete this manual, someone will need to document X509V3_EXT_METHOD,
but that's for a much more rainy day than today.
|
|
|
|
| |
looks good to jmc
|
|
|
|
|
|
|
| |
It is dubious whether this opaque struct's internals should be documented
in the first place. This also has been incomplete since forever. For now
zap the stuff that no longer exists and make an attempt at matching KNF a
bit more closely.
|
|
|
|
| |
This old [...] routines use [...] -> These old [...] routines [...]
|
|
|
|
|
| |
Complete precision will lead to complete confusion, however outright lies
are also bad.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Vincent Lee spotted that I failed to update numbers that count how many
functions are documented here when removing {CRYPTO,OPENSSL}_realloc.
This isn't helpful information and nobody will remember to go look for
such numbers next time this page is adjusted, so remove the counts.
agreement from jmc
|
| |
|
| |
|
|
|
|
|
| |
As far as LibreSSL is concerned, this terrible API is pushing up the
daisies.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Whether an X509_LOOKUP with given method already exists or not, this API
returns an internal pointer that must not be freed.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Move the description of the EVP_MD_FLAGs to EVP_MD_nid() and add a
reference to the CMS specification.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
CRYPTO_THREADID_{cpm,cpy,current,hash}() are no longer public, so remove
their documentation.
|
|
|
|
|
| |
This manual is ordered a bit strangely in that some functions are
only documented in RETURN VALUES.
|
|
|
|
|
|
|
| |
This could have been removed in an earlier bump. Now it's time for it to
say goodbye.
ok jsing
|
|
|
|
|
|
|
|
|
| |
While it is a neat design detail of CMAC that you can resume it after
having finalized it, nothing uses this functionality and it adds some
gross things such as retaining intermediate secrets in the CMAC ctx.
Once this is gone, we can simplify the CMAC code a bit.
ok jsing
|
|
|
|
|
|
|
| |
Unsued printing functionality. If something should need this we can readily
add it back.
ok jsing
|
|
|
|
|
|
|
| |
Document OPENSSL_{posix_to_tm,tm_to_posix}() and fix the documentation of
OPENSSL_{gmtime,timegm}().
ok jsing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While EC_POINT_set_affine_coordinates() checks that the resulting point
is on the elliptic curve, this is only necessary, but not sufficient, to
ensure that the point can serve as a valid public key. For example, this
does not check for normalized coordinates or exclude that it is zero (the
point at infinity). Such checks, and more, are performed by the similarly
named EC_KEY_set_public_key_affine_coordinates().
This kind of makes sense from the mathematical standpoint as an elliptic
curve point isn't a priori a public key, even if you are not going to use
libcrypto for actual mathematics (or anything really) unless you like pain.
In a cryptographic library such differences are more of a hazard than a
help.
This is exacerbated by the fact that EC_KEY_set_public_key() does almost
no checking (it only checks that the point's EC_POINT method matches the
one of group set of the EC_KEY, which is far from enough). The API expects
that you call EC_KEY_check_key() on your own. This is kind of confusing
since EC_KEY_set_public_key_affine_coordinates() does that for you.
Unfortunately, adding sanity checks to EC_KEY_set_public_key() isn't easy
since it's going to penalize those who already check. Caching the result
of a check is dangerous and fragile if there are a million ways of fiddling
with an EC_KEY.
While the elliptic curve code is really bad, its documentation is worse
(another thing that applies to OpenSSL in general). Try to help that a
little bit by making it more explicit that you are supposed to call
EC_KEY_check_key() after using lower-level EC_KEY setters. Also make it
clearer that the setters copy the data, they don't take ownership (which
isn't obvious from the naming).
If OpenSSL 3 got one thing kind of right, it was to deprecate the EC_KEY
and EC_POINT APIs. But if you are going to deprecate something, you should
either be prepared to remove it or have a reasonable replacement...
Found by Guido Vranken using cryptofuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66667
ok jsing
|
|
|
|
| |
OK tb@
|
|
|
|
|
|
|
| |
This is the only OBJ_NAME API that will remain after the next major bump.
The API is misnamed and really is about EVP, so move it to an EVP manual
documenting another API doing essentially the same thing. Remove most cross
references to OBJ_NAME_*.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the callback cannot safely delete entries as it could lead to
contraction of the hash table, which in turn could lead to doall skipping
entries (and that typically leads to memory leaks). The recommended
workaround is to reach in and fiddle with the hash table internals in
order to prevent contraction, call the doall function and then restore
the internals that were changed.
Rather than just improving our documentation, actually make it safe to
delete entries from an lhash doall callback by pausing contractions prior
to starting the callback loop, then restoring the down load factor and
triggering contraction once completed. This means that callers no longer
need access to change hash table internals in order to achieve this same
behaviour.
ok tb@
|
|
|
|
| |
add a back reference from CMS_get0_SignerInfos(3).
|
| |
|
|
|
|
|
|
| |
These functions change signed & unsigned attributes of a CMS SignerInfo object
With & OK tb@
|
|
|
|
|
|
|
|
|
| |
Both check_defer() and the global variable obj_cleanup_defer were removed
from the public API two years ago. Now they were removed from the internals
as well, simplifying the cleanup process greatly. We no longer need them
to have a chance to understand the cleanup process. Also remove references
to EVP_cleanup() since this has long been deprecated and now it doesn't
clean up things anymore.
|