Thanks, that works for me; please install it into gnulib when you have the time.
I do have some minor stylistic suggestions, but they're not crucial:
+GL_OPENSSL_INLINE void
+GL_CRYPTO_FN(_init_ctx) (struct _gl_ctx *ctx)
+ { (void) OPENSSL_FN(_Init) ((_gl_CTX *) ctx); }
Space before paren, here and elsewhere.
+GL_OPENSSL_INLINE void*
"void *", not "void*", here and elsewhere.
+ { return OPENSSL_FN() ((const unsigned char *)buf, len, res); }
Space between ")" and "buf".
