OBJ_add_sigid
, OBJ_sigid_free
,
OBJ_find_sigid_algs
,
OBJ_find_sigid_by_algs
—
signature algorithm mappings
#include <openssl/objects.h>
int
OBJ_add_sigid
(int signature,
int digest, int encryption);
void
OBJ_sigid_free
(void);
int
OBJ_find_sigid_algs
(int
signature, int *pdigest, int
*pencryption);
int
OBJ_find_sigid_by_algs
(int
*psignature, int digest, int
encryption);
OBJ_add_sigid
() defines the
signature algorithm to use the specified
digest and encryption algorithms.
Making sure that this does not conflict with earlier invocations of
OBJ_add_sigid
() is the responsibility of the caller.
Definitions made with OBJ_add_sigid
() take precedence
over definitions built into the library.
OBJ_sigid_free
() deletes all definitions
made with OBJ_add_sigid
().
OBJ_find_sigid_algs
() looks up the
signature algorithm. If it is found, the associated
digest algorithm is stored in *pdigest unless
pdigest is a NULL
pointer, and
the associated encryption algorithm is stored in
*pencryption unless pencryption
is a NULL
pointer.
OBJ_find_sigid_by_algs
() looks up the pair
(digest, encryption). If it is
found, the associated signature algorithm is stored in
*psignature unless psignature is
a NULL
pointer.
OBJ_add_sigid
() returns 1 on success or 0 if memory
allocation fails.
OBJ_find_sigid_algs
() returns 1 if a
definition of the signature algorithm is found or 0 if
a definition of the signature algorithm is neither
built into the library nor provided with
OBJ_add_sigid
().
OBJ_find_sigid_by_algs
() returns 1 if a
signature algorithm using the specified digest and
encryption algorithms is defined or 0 if the
definition of such an algorithm is neither built into the library nor
provided with OBJ_add_sigid
().
These functions first appeared in OpenSSL 1.0.0 and have been available since
OpenBSD 4.9.