Use buffer of EVP_MAX_MD_SIZE bytes for digests

OpenSSL doesn't actually guarantee to only write to digest_size worth of
bytes in the output buffer. The examples and docs claim this constant is
the max.