:| Apparently OpenSSL doesn't lock individual hash contexts so we have to do it ourselves?