#include <openssl/x509.h> X509_REQ *d2i_X509_REQ(X509_REQ **a, const unsigned char **pp, long length); int i2d_X509_REQ(X509_REQ *a, unsigned char **pp); X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **x); X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **x); int i2d_X509_REQ_bio(BIO *bp, X509_REQ *x); int i2d_X509_REQ_fp(FILE *fp, X509_REQ *x);
Othewise these behave in a similar way to d2i_X509() and i2d_X509() described in the d2i_X509(3) manual page.