mirror of
https://github.com/openssl/openssl.git
synced 2025-03-01 19:28:10 +08:00
The most expensive part of using a PKEY decoder is the OSSL_DECODER_CTX_new_for_pkey() call. This builds up all of the decoder chains, which is a complex and time consuming operation. However, if no new providers have been loaded/unloaded since the last time it was called we can expect the same results for the same parameters. Note that this operation takes place *before* we event parse the data for decoding so it is not dependent on the parsed data at all. We introduce a cache for OSSL_DECODER_CTX objects. If we have been called with the same parameters then we just duplicate an existing OSSL_DECODER_CTX. This should be significantly faster than creating a new one every time. Partially addressed the issue in #15199 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21426) |
||
---|---|---|
.. | ||
build.info | ||
decoder_err.c | ||
decoder_lib.c | ||
decoder_meth.c | ||
decoder_pkey.c | ||
encoder_err.c | ||
encoder_lib.c | ||
encoder_local.h | ||
encoder_meth.c | ||
encoder_pkey.c |