=pod =head1 NAME d2i_X509_ALGOR, i2d_X509_ALGOR, X509_ALGOR_dup, X509_ALGOR_set0, X509_ALGOR_get0, X509_ALGOR_set_md, X509_ALGOR_cmp - AlgorithmIdentifier functions. =head1 SYNOPSIS #include X509_ALGOR *d2i_X509_ALGOR(X509_ALGOR **a, unsigned char **pp, long length); int i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **pp); X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *alg); int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, X509_ALGOR *alg); void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); =head1 DESCRIPTION The functions d2i_X509() and i2d_X509() decode and encode an B structure which is equivalent to the B structure. Otherwise they behave in a similar way to d2i_X509() and i2d_X509() described in the L manual page. X509_ALGOR_dup() returns a copy of B. X509_ALGOR_set0() sets the algorithm OID of B to B and the associated parameter type to B with value B. If B is B the parameter is omitted, otherwise B and B have the same meaning as the B and B parameters to ASN1_TYPE_set(). All the supplied parameters are used internally so must B be freed after this call. X509_ALGOR_get0() is the inverse of X509_ALGOR_set0(): it returns the algorithm OID in B<*paobj> and the associated parameter in B<*pptype> and B<*ppval> from the B B. X509_ALGOR_set_md() sets the B B to appropriate values for the message digest B. X509_ALGOR_cmp() compares B and B and returns 0 if they have identical encodings and non-zero otherwise. =head1 SEE ALSO L =head1 HISTORY TBA =cut