LCP_MLEHASH(8)

πŸ’– LCP_MLEHASH πŸ’–

okay bestie, gather round, because we're talking about lcp2_mlehash β€” the little cutie from the tboot manual pages that hashes your TXT MLE binary and yells the result at STDOUT as text. no cap, she's a whole vibe πŸ’…


✨ NAME ✨

lcp2_mlehash β€” generate a hash of a TXT MLE binary file and print it to STDOUT as text. that's it, that's the job, and she does it flawlessly πŸŽ€


🌸 SYNOPSIS 🌸

lcp2_mlehash [--create] [--cmdline cmdline] [--alg hashalg] [--help]
[--verbose] mle-file

literally just hand her a file and some flags and she'll handle the rest 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea, bestie β˜• β€” lcp2_mlehash generates a hash of the portion of an executable file that contains the Intel(R) TXT measured launched environment (MLE). iconic, right?

and the way it knows which portion? in the MLE binary file, the portion of the file to be used as the MLE is specified in the MLE header structure. she reads the header, she finds the slice, she hashes it. main character energy fr fr πŸ‘‘

oh and pookie, listen β€” if verbose mode is not used, the output is suitable for use as the mle-file to the lcp2_crtpolelt command. so like, no extra chatter, just a clean little hash you can pass straight along. that's the whole point ✨


πŸ’… OPTIONS πŸ’…

  • mle-file β€” the file name of the MLE binary. and okay here's a fun one: if it's a gzip file then it will be un-zipped before hashing πŸ“ she's not gonna hash a compressed blob, she's gonna unwrap it first. thoughtful queen.
  • --create β€” create a hash. that's the whole flag. short, sweet, slay.
  • --cmdline cmdline β€” specify quote-delimited command line. and bestie this one is IMPORTANT 🚨 it is important to specify the command line that is used when launching the MLE or the hash will not match what is calculated by SINIT. like, mismatch city. do not skip this. i'm not being dramatic, the manpage said it first 😭
  • --alg hashalg β€” specify the hash algorithm to use. supported values are sha1, sha256, sha384 and sha512. pick your fighter πŸ’–
  • --help β€” print out the help message. when in doubt, ask her, she'll tell you πŸŽ€
  • --verbose β€” verbose mode, display progress indications. perfect if you're the kind of girl who needs to see the little progress moments πŸ¦‹ (just remember what we said up in DESCRIPTION about the output not being the clean pass-it-to-lcp2_crtpolelt version when you do this, iykyk)

🌈 EXAMPLES 🌈

here's the moment you've all been waiting for, the demo, the serve, the MOMENT:

lcp2_mlehash --create --cmdline "logging=memory,serial,vga" --alg sha1 /boot/tboot.gz > mle-hash

look at her go. --create, a quoted --cmdline, --alg sha1, and the file /boot/tboot.gz piped right into mle-hash. ate that up, no crumbs πŸ”₯


πŸ‘‘ SEE ALSO πŸ‘‘

full documentation of MLE, Intel(R) TXT and LCP is available in Intel(R) TXT Measured Launch Environment Deleveloper's Guide, available at:

http://www.intel.com/content/www/us/en/software-developers/intel-txt-software-development-guide.html

also go say hi to her sisters πŸ’œ:


and that's the whole page, bestie!! 🫢 this one came to you from the tboot manual pages, dated 2020-05-10, and she's still out here hashing and slaying. mwah πŸ’‹ go generate something iconic βœ¨πŸŽ€πŸ’–