LCP2_CRTPOL(8)

πŸ’– LCP2_CRTPOL πŸ’– (section 8 of the user manuals, bestie)

okay so bestie, welcome to lcp2_crtpol β€” the little icon that makes an Intel TXT Launch Control Policy ✨. Yes, the whole manual page, section 8, and yes I'm gonna walk you through every single flag because I love you and I want you to slay.


🌸 NAME 🌸

lcp2_crtpol β€” create an Intel TXT Launch Control Policy. That's it, that's the whole vibe. πŸŽ€


✨ SYNOPSIS ✨

lcp2_crtpol <--create|--show|--help> [--brief] [--verbose] --alg alg
--type <any|list> [LISTFILES] [--minver <ver>] [--rev
<counter1>[,counterN]] [--ctrl <pol_ctrl>] --pol <POLICY FILE> [--data
<POLICY DATA FILE>] [--mask mask] [--auxalg alg] --sign alg [--polver
version]

Like, yes, it's a lot. But we're gonna go through it together, one flag at a time, no cap. 🫢


🌈 DESCRIPTION 🌈

So here's the tea: lcp2_crtpol is the tool you use to create a TXT LCP policy (and, if you want, policy data too), which you can later write to the TPM. It's giving glow up your boot chain energy.

And the best part? This tool lets you create policies for TPM 1.2 and TPM 2.0 β€” versatile queen behavior, honestly. πŸ‘‘

The policy format you get is decided by the --polver option, so keep that in mind, iykyk.


πŸ’… COMMANDS πŸ’…

  • --create β€” creates a policy. Boom, done, new policy, slay. ✨
  • --show β€” shows you the contents of a policy file, a policy data file, or both. If you pass one file it has to be either a policy file or a policy data file. If you pass two files, one of them must be a policy file and the other a policy data file. Like, the math has to math, bestie. πŸ™ˆ
  • --help β€” shows the help text. We love a supportive king. πŸ’–
  • --version β€” shows the tool version. Simple. Iconic. Periodt. ⭐

πŸŽ€ OPTIONS πŸŽ€

  • --brief β€” use brief format for output. short n sweet, lowkey minimalism. ✨
  • --verbose β€” use verbose format for output. the opposite vibe, highkey chatty. πŸ—£οΈ
  • --alg alg β€” specify the algorithm for the LCP. Supported values are sha1, sha256 or sm3. pick your fighter. 🌸
  • --type <any|list> β€” specify the type of the policy. If --type is list, you specify a comma-separated list of up to 8 policy list files (created with the lcp2_crtpollist command). eight!! that's the cap, bestie, don't push it. πŸ¦‹
  • --minver version β€” specify minimum allowed SINIT module version number (SINITMinVersion). 🧚
  • --max_sinit_min version β€” specify maximum allowed value of the minimal SINIT module version number (MaxSinitMinVersion). yes it's a mouthful, no I'm not renaming it, it's literally the name. πŸ’œ
  • --rev <counter1>[,counterN] β€” specify a comma-separated list of revocation counters. bye bye to the old stuff πŸ‘‹πŸ’€
  • --ctrl <pol ctrl> β€” specify the PolicyControl value. The default is 0 (LCP_DEFAULT_POLICY_CONTROL). default queen, no notes. 🌟
  • --pol <POLICY FILE> β€” specify the output file for the policy. the main character file, fr fr. πŸ‘‘
  • --data <POLICY DATA FILE> β€” specify the output file for the policy data. the sidekick, but a very important sidekick. 🫢
  • --mask mask β€” specify the policy hash algorithm mask. Supported values are sha1, sha256, sha384, sha512 or sm3. This option can be used multiple times to specify several allowed algorithms. ⚠️ Policy versions 2.0-2.4 only support SHA1 β€” that's not a suggestion, that's just how it is, bestie.
  • --auxalg alg β€” specify the AUX hash algorithm. Supported values are sha1, sha256, sha384, sha512 or sm3. You can also specify a raw value in hex β€” and it must start with "0x", no exceptions. This option is only valid for policy versions 3.0 or 3.1. πŸ‘€
  • --sign alg β€” specify the allowed LCP signature algorithm mask. Supported values are: rsa-2048-sha1, rsa-2048-sha256, rsa-3072-sha256, rsa-3072-sha384, ecdsa-p256, ecdsa-p384 sm3. This option can be used multiple times to specify several allowed algorithms. stack 'em up πŸ”₯
  • --polver version β€” specify LCP policy version. Supported values are 2.0-2.4 (for TPM 1.2) and 3.0-3.2 (for TPM 2.0). If you don't specify it, this option defaults to 3.0. ✨

πŸ¦‹ EXAMPLES πŸ¦‹

here's one, copy it, run it, feel powerful:

lcp2_crtpol --create --type list --pol list.pol --alg sha256 --data list.data --sign 0x8 list.lst

look at her go πŸ˜­πŸ’–


🌈 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

and also, go read your sisters:


and that's the whole page, bestie!! πŸ’–βœ¨ this one came to you from tboot, dated 2020-05-10 β€” so yeah, it's giving vintage but make it slay. go make a policy, you got this. periodt. πŸŽ€πŸ¦‹πŸ’…πŸŒˆβ­πŸ‘‘πŸ«Ά