diff options
author | Matt Caswell <matt@openssl.org> | 2021-06-09 16:10:03 +0100 |
---|---|---|
committer | Pauli <pauli@openssl.org> | 2021-06-16 15:04:50 +1000 |
commit | 599429e09a6ddae2d6de2e031bf82817f29f4af0 (patch) | |
tree | 96a925ae0e3dea0e508c0e073101e17a139259e5 /doc/man7 | |
parent | 87e60f09aa8b253c38d457c3560680ba839a6cf2 (diff) | |
download | openssl-new-599429e09a6ddae2d6de2e031bf82817f29f4af0.tar.gz |
Add documentation for the newly added OBJ up calls
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15681)
Diffstat (limited to 'doc/man7')
-rw-r--r-- | doc/man7/provider-base.pod | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/doc/man7/provider-base.pod b/doc/man7/provider-base.pod index 7ade4a1c8e..0eb2f5d243 100644 --- a/doc/man7/provider-base.pod +++ b/doc/man7/provider-base.pod @@ -31,6 +31,11 @@ provider-base void core_vset_error(const OSSL_CORE_HANDLE *handle, uint32_t reason, const char *fmt, va_list args); + int core_obj_add_sigid(const OSSL_CORE_HANDLE *prov, const char *sign_name, + const char *digest_name, const char *pkey_name); + int core_obj_create(const OSSL_CORE_HANDLE *handle, const char *oid, + const char *sn, const char *ln); + /* * Some OpenSSL functionality is directly offered to providers via * dispatch @@ -144,6 +149,8 @@ provider): core_new_error OSSL_FUNC_CORE_NEW_ERROR core_set_error_debug OSSL_FUNC_CORE_SET_ERROR_DEBUG core_vset_error OSSL_FUNC_CORE_VSET_ERROR + core_obj_add_sigid OSSL_FUNC_CORE_OBJ_ADD_SIGID + core_obj_create OSSL_FUNC_CORE_OBJ_CREATE CRYPTO_malloc OSSL_FUNC_CRYPTO_MALLOC CRYPTO_zalloc OSSL_FUNC_CRYPTO_ZALLOC CRYPTO_memdup OSSL_FUNC_CRYPTO_MEMDUP @@ -250,16 +257,37 @@ This corresponds to the OpenSSL function L<ERR_vset_error(3)>. =back +The core_obj_create() function registers a new OID and associated short name +I<sn> and long name I<ln> for the given I<handle>. It is similar to the OpenSSL +function L<OBJ_create(3)> except that it returns 1 on success or 0 on failure. +It will treat as success the case where the OID already exists (even if the +short name I<sn> or long name I<ln> provided as arguments differ from those +associated with the existing OID, in which case the new names are not +associated). + +The core_obj_add_sigid() function registers a new composite signature algorithm +(I<sign_name>) consisting of an underlying signature algorithm (I<pkey_name>) +and digest algorithm (I<digest_name>) for the given I<handle>. It assumes that +the OIDs for the composite signature algorithm as well as for the underlying +signature and digest algorithms are either already known to OpenSSL or have been +registered via a call to core_obj_create(). It corresponds to the OpenSSL +function L<OBJ_add_sigid(3)>, except that the objects are identified by name +rather than a numeric NID. Any name (OID, short name or long name) can be used +to identify the object. It will treat as success the case where the composite +signature algorithm already exists (even if registered against a different +underlying signature or digest algorithm). It returns 1 on success or 0 on +failure. + CRYPTO_malloc(), CRYPTO_zalloc(), CRYPTO_memdup(), CRYPTO_strdup(), CRYPTO_strndup(), CRYPTO_free(), CRYPTO_clear_free(), CRYPTO_realloc(), CRYPTO_clear_realloc(), CRYPTO_secure_malloc(), CRYPTO_secure_zalloc(), CRYPTO_secure_free(), CRYPTO_secure_clear_free(), CRYPTO_secure_allocated(), BIO_new_file(), BIO_new_mem_buf(), BIO_read_ex(), BIO_write_ex(), BIO_up_ref(), -BIO_free(), BIO_vprintf(), BIO_vsnprintf(), OPENSSL_cleanse() -and OPENSSL_hexstr2buf() correspond exactly to the public functions with +BIO_free(), BIO_vprintf(), BIO_vsnprintf(), OPENSSL_cleanse() and +OPENSSL_hexstr2buf() correspond exactly to the public functions with the same name. As a matter of fact, the pointers in the B<OSSL_DISPATCH> -array are direct pointers to those public functions. Note that the BIO +array are typically direct pointers to those public functions. Note that the BIO functions take an B<OSSL_CORE_BIO> type rather than the standard B<BIO> type. This is to ensure that a provider does not mix BIOs from the core with BIOs used on the provider side (the two are not compatible). |