EVP_MD-MD5-SHA1(7ossl)

πŸ“¦ version 3.5.0, in opensuse-leap 16.0

πŸ’– 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 via OP_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 be OP_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 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