2.3 EVP_MD的辅助信息获取
EVP_MD_***
int EVP_MD_block_size(const EVP_MD *md) { return md->block_size; }
int EVP_MD_type(const EVP_MD *md) { return md->type; }
int EVP_MD_pkey_type(const EVP_MD *md) { return md->pkey_type; }
int EVP_MD_size(const EVP_MD *md) { return md->md_size; }
unsigned long EVP_MD_flags(const EVP_MD *md) { return md->flags; }
#define EVP_MD_nid(md) EVP_MD_type(md)
#define EVP_MD_name(md) OBJ_nid2sn(EVP_MD_nid(md))
EVP_MD_CTX_***
EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx) { return ctx->digest; }
#define EVP_MD_CTX_size(ctx) EVP_MD_size(EVP_MD_CTX_md(ctx))
#define EVP_MD_CTX_block_size(ctx) EVP_MD_block_size(EVP_MD_CTX_md(ctx))
#define EVP_MD_CTX_type(ctx) EVP_MD_type(EVP_MD_CTX_md(ctx))