NAME
OBJ_add_sigid
,
OBJ_sigid_free
,
OBJ_find_sigid_algs
,
OBJ_find_sigid_by_algs
—
signature algorithm mappings
SYNOPSIS
#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);
DESCRIPTION
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.
RETURN VALUES
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
().
SEE ALSO
EVP_cleanup(3), OBJ_create(3), OBJ_NAME_add(3), OBJ_nid2obj(3)
HISTORY
These functions first appeared in OpenSSL 1.0.0 and have been available since OpenBSD 4.9.