EVP_MD-MD5-SHA1(7ossl)
π EVP_MD-MD5-SHA1(7ossl) β the MD5-SHA1 EVP_MD implementation π
okay bestie so welcome to the EVP_MD-MD5-SHA1 page (that's the 7ossl manual section, iykyk) β this is the little corner of OpenSSL that handles one very specific, very quirky digest. buckle up π
β¨ DESCRIPTION β¨
So this page is all about getting MD5-SHA1 digests computed through the EVP_MD API. that's the whole vibe.
MD5-SHA1 is, ngl, a rather special digest β and the reason it even exists is SSLv3. it's giving "historical artifact that we keep around on purpose" π
π¦ Identity
Okay so this implementation? it only ships with the default provider, periodt. and it answers to exactly one name:
"MD5-SHA1"
that's it, that's the name, no aliases, no nicknames π
πΈ Gettable Parameters
She supports all the usual common gettable parameters β you know the ones, they're documented over in EVP_MD-common(7). nothing extra, nothing spicy, just the standard set. go check that page for the deets β¨
π§ Settable Context Parameters
Now here's the main-character section π
this implementation supports the following OSSL_PARAM(3) entries, and you set them on an EVP_MD_CTX using EVP_MD_CTX_set_params(3):
"ssl3-ms"(OSSL_DIGEST_PARAM_SSL3_MS)<octet string>β so here's the tea π this one gets set by libssl, and the reason is that libssl needs to calculate a signature hash for an SSLv3 CertificateVerify message as per RFC6101. important detail: it's only set after all the handshake messages have already been digested viaOP_digest_update()calls. what the parameter actually hands over is the master secret value that needs to be added to the digest. the digest implementation should then calculate the complete digest as per RFC6101 section 5.6.8. and bestie, hear me β the next call after you set this parameter should beOP_digest_final(). that's the whole sequence, don't freestyle it π
lowkey important: this parameter is for the SSLv3 flow specifically. it's set by libssl, it's set late (after the updates), and OP_digest_final() is the very next move. no cap π
π SEE ALSO π
π«Ά COPYRIGHT π«Ά
Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
okay that's the page!! ππ sign-off time: this was OpenSSL 3.5.0, dated 2026-09-25, and this manual page is filed under EVP_MD-MD5-SHA1(7ossl) β go forth and digest responsibly, mwah πβ¨π
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms