CERTMONGER(1)

πŸ’– NAME πŸ’–

getcert β€” yeah bestie, that's the whole name, that's her. The rekey-flavored one. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

getcert rekey [options]

✨ DESCRIPTION ✨

Okay so getcert rekey is the glow-up command. It tells certmonger to generate a whole new key pair, build a signing request for the public key, and yeet that signing request over to a CA so they can sign it β€” all so that both a certificate and its private key get replaced. Both halves, no crumbs, periodt. πŸ’…


πŸŽ€ SPECIFYING REQUESTS BY NICKNAME πŸŽ€

  • -i NAME, --id=NAME β€” The new key pair gets generated and the new certificate gets obtained for the tracking request that has this nickname. If you don't pass this option, and a tracking entry already exists that matches the key and certificate storage options you specified, that entry is the one that gets used. And if you don't specify it at all, you gotta say where the certificate lives β€” either with a combo of the -d and -n options, or with the -f option. 🫢

🌸 SPECIFYING REQUESTS BY CERTIFICATE LOCATION 🌸

  • -d DIR, --dbdir=DIR β€” The certificate is chillin' in the NSS database in the directory you named. πŸ’–
  • -n NAME, --nickname=NAME β€” The certificate in the NSS database named with -d has this nickname. Only valid with -d.
  • -t TOKEN, --token=TOKEN β€” If the NSS database has more than one token available, the certificate is stored in this token. Ngl you will rarely ever need to specify this. Only valid with -d.
  • -f FILE, --certfile=FILE β€” The certificate is stored in the file you named. πŸ“

πŸ”₯ KEY GENERATION OPTIONS πŸ”₯

  • -G TYPE, --key-type=TYPE β€” In case a new key pair needs to be generated, this says what type of keys to make. If you don't specify it, the current key type gets used. πŸ‘‘
  • -g BITS, --key-size=BITS β€” This one sets the size of the new key being generated. If you don't specify it, you get a key the same size as the existing one. πŸ¦‹

πŸ’œ ENROLLMENT OPTIONS πŸ’œ

  • -c NAME, --ca=NAME β€” Submit the new signing request to the CA you name, instead of the one that was previously associated with this certificate. The CA name should match one that getcert list-cas shows you. ✨
  • -T NAME, --profile=NAME β€” Ask for a certificate using the named profile, template, or certtype, from the CA you specified.
  • --ms-template-spec SPEC β€” Include a V2 Certificate Template extension in the signing request. This datum has an Object Identifier, a major version number (positive integer), and an optional minor version number. The format is: <oid>:<majorVersion>[:<minorVersion>]. πŸ’€
  • -X NAME, --issuer=NAME β€” Ask for a certificate using the named issuer from the CA you specified.
  • -I NAME, --new-id=NAME β€” Give this task the nickname you named, replacing the previous nickname. Iconic little rename moment. πŸŽ€

🌈 SIGNING REQUEST OPTIONS 🌈

  • -N NAME, --subject-name=NAME β€” Change the subject name that goes into the signing request.
  • -u keyUsage, --key-usage=keyUsage β€” Add an extensionRequest for the keyUsage you specified to the signing request. The keyUsage value is expected to be one of these names:
    • digitalSignature
    • nonRepudiation
    • keyEncipherment
    • dataEncipherment
    • keyAgreement
    • keyCertSign
    • cRLSign
    • encipherOnly
    • decipherOnly
  • -U EKU, --extended-key-usage=EKU β€” Change the extendedKeyUsage value specified in an extendedKeyUsage extension part of the extensionRequest attribute in the signing request. The EKU value is expected to be an object identifier (OID). 🧚
  • -K NAME, --ca=NAME β€” Change the Kerberos principal name specified as part of a subjectAltName extension part of the extensionRequest attribute in the signing request.
  • -E EMAIL, --email=EMAIL β€” Change the email address specified as part of a subjectAltName extension part of the extensionRequest attribute in the signing request.
  • -D DNSNAME, --dns=DNSNAME β€” Change the DNS name specified as part of a subjectAltName extension part of the extensionRequest attribute in the signing request.
  • -A ADDRESS, --ip-address=ADDRESS β€” Change the IP address specified as part of a subjectAltName extension part of the extensionRequest attribute in the signing request.
  • -l FILE, --challenge-password-file=NAME β€” Add an optional ChallengePassword value, read out of the file, to the signing request. A ChallengePassword is often required when the CA is accessed using SCEP. πŸ’…
  • -L PIN, --challenge-password=PIN β€” Add the argument value to the signing request as a ChallengePassword attribute. A ChallengePassword is often required when the CA is accessed using SCEP. πŸ’…

⭐ OTHER OPTIONS ⭐

  • -B COMMAND, --before-command=COMMAND β€” Whenever the certificate or the CA's certificates are saved to the specified locations, run this command as the client user before saving the certificates.
  • -C COMMAND, --after-command=COMMAND β€” Whenever the certificate or the CA's certificates are saved to the specified locations, run this command as the client user after saving the certificates.
  • -a DIR, --ca-dbdir=DIR β€” Whenever the certificate is saved to the specified location, if root certificates for the CA are available, save them to the specified NSS database.
  • -F FILE, --ca-file=FILE β€” Whenever the certificate is saved to the specified location, if root certificates for the CA are available, and when the local copies of the CA's root certificates get updated, save them to the file you named.
  • --for-ca β€” Ask for a CA certificate.
  • --not-for-ca β€” Ask for a non-CA certificate (this is the default, bestie).
  • --ca-path-length=LENGTH β€” Path length for CA certificate. Only valid with --for-ca.
  • -w, --wait β€” Wait for the new certificate to be issued and saved, or for the attempt to obtain one using the new key to fail. πŸ™ˆ
  • --wait-timeout=TIMEOUT β€” Maximum time to wait for the certificate to be issued.
  • -v --verbose β€” Be verbose about errors. Normally the details of an error received from the daemon get suppressed if the client can make a diagnostic suggestion.

πŸ’€ BUGS πŸ’€

Found one? Please file tickets at https://fedorahosted.org/certmonger/ β€” the maintainers will love you for it fr fr. 🫢


πŸ‘‘ SEE ALSO πŸ‘‘

certmonger(8) getcert(1) getcert-add-ca(1) getcert-add-scep-ca(1) getcert-list-cas(1) getcert-list(1) getcert-modify-ca(1) getcert-refresh-ca(1) getcert-refresh(1) getcert-remove-ca(1) getcert-request(1) getcert-start-tracking(1) getcert-status(1) getcert-stop-tracking(1) certmonger-certmaster-submit(8) certmonger-dogtag-ipa-renew-agent-submit(8) certmonger-dogtag-submit(8) certmonger-ipa-submit(8) certmonger-local-submit(8) certmonger-scep-submit(8) certmonger_selinux(8)


That's the whole page, bestie β€” this one's from the certmonger Manual, dated July 31, 2015, and it's filed under CERTMONGER(1). Go rekey something. Slay. πŸ’–βœ¨