getcert-request - Man Page
getcert
Synopsis
getcert request [options]
Description
Tells certmonger to use an existing key pair (or to generate one if one is not already found in the specified location), to generate a signing request using the key pair, and to submit them for signing to a CA.
Key and Certificate Storage Options
- -d DIR, --dbdir=DIR
Use an NSS database in the specified directory for storing this certificate and key.
- -n NAME, --nickname=NAME
Use the key with this nickname to generate the signing request. If no such key is found, generate one. Give the enrolled certificate this nickname, too. Only valid with -d.
- -t TOKEN, --token=TOKEN
If the NSS database has more than one token available, use the token with this name for storing and accessing the certificate and key. This argument only rarely needs to be specified. Only valid with -d.
- -f FILE, --certfile=FILE
Store the issued certificate in this file. For safety's sake, do not use the same file specified with the -k option.
- -k FILE, --keyfile=FILE
Use the key stored in this file to generate the signing request. If no such file is found, generate a new key pair and store them in the file. Only valid with -f.
Key Encryption Options
- -p FILE, --pinfile=FILE
Encrypt private key files or databases using the PIN stored in the named file as the passphrase.
- -P PIN, --pin=PIN
Encrypt private key files or databases using the specified PIN as the passphrase. Because command-line arguments to running processes are trivially discoverable, use of this option is not recommended except for testing.
Key Generation Options
- -G TYPE, --key-type=TYPE
In case a new key pair needs to be generated, this option specifies the type of the keys to be generated. If not specified, a reasonable default (currently RSA) will be used.
- -g BITS, --key-size=BITS
In case a new key pair needs to be generated, this option specifies the size of the key. If not specified, a reasonable default (currently 2048 bits) will be used. See certmonger.conf(5) for configuration of the default.
Tracking Options
- -r, --renew
Attempt to obtain a new certificate from the CA when the expiration date of a certificate nears. This is the default setting.
- -R, --no-renew
Don't attempt to obtain a new certificate from the CA when the expiration date of a certificate nears. If this option is specified, an expired certificate will simply stay expired.
- -I NAME, --id=NAME
Assign the specified nickname to this task. If this option is not specified, a name will be assigned automatically.
Enrollment Options
- -c NAME, --ca=NAME
Enroll with the specified CA rather than a possible default. The name of the CA should correspond to one listed by getcert list-cas.
- -T NAME, --profile=NAME
Request a certificate using the named profile, template, or certtype, from the specified CA.
- --ms-template-spec SPEC
Include a V2 Certificate Template extension in the signing request. This datum includes 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
Request a certificate using the named issuer from the specified CA.
Signing Request Options
If none of -N, -U, -K, -E, and -D are specified, a default group of settings will be used to request an SSL server certificate for the current host, with the host Kerberos service as an additional name.
The options -K, -E, -D and -A may be provided multiple times to set multiple subjectAltName of the same type.
- -N NAME, , --subject-name=NAME
Set the subject name to include in the signing request. The default used is CN=hostname, where hostname is the local hostname.
- -u keyUsage, --key-usage=keyUsage
Add an extensionRequest for the specified keyUsage 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
Add an extensionRequest for the specified extendedKeyUsage to the signing request. The EKU value is expected to be an object identifier (OID), but some specific names are also recognized. These are some names and their associated OID values:
id-kp-serverAuth 1.3.6.1.5.5.7.3.1
id-kp-clientAuth 1.3.6.1.5.5.7.3.2
id-kp-codeSigning 1.3.6.1.5.5.7.3.3
id-kp-emailProtection 1.3.6.1.5.5.7.3.4
id-kp-timeStamping 1.3.6.1.5.5.7.3.8
id-kp-OCSPSigning 1.3.6.1.5.5.7.3.9
id-pkinit-KPClientAuth 1.3.6.1.5.2.3.4
id-pkinit-KPKdc 1.3.6.1.5.2.3.5
id-ms-kp-sc-logon 1.3.6.1.4.1.311.20.2.2
- -K NAME, --principal=NAME
Add an extensionRequest for a subjectAltName, with the specified Kerberos principal name as its value, to the signing request.
- -E EMAIL, --email=EMAIL
Add an extensionRequest for a subjectAltName, with the specified email address as its value, to the signing request.
- -D DNSNAME, --dns=DNSNAME
Add an extensionRequest for a subjectAltName, with the specified DNS name as its value, to the signing request.
- -A ADDRESS, --ip-address=ADDRESS
Add an extensionRequest for a subjectAltName, with the specified IP address as its value, to the signing request.
- -l FILE, --challenge-password-file=FILE
Add an optional ChallengePassword value, read from 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
When ever the certificate or the CA's certificates are saved to the specified locations, run the specified command as the client user before saving the certificates.
- -C COMMAND, --after-command=COMMAND
When ever the certificate or the CA's certificates are saved to the specified locations, run the specified command as the client user after saving the certificates.
- -a DIR, --ca-dbdir=DIR
When ever 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
When ever 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 are updated, save them to the specified file.
- --for-ca
Request a CA certificate.
- --not-for-ca
Request a non-CA certificate (the default).
- --ca-path-length=LENGTH
Path length for CA certificate. Only valid with --for-ca.
- -w, --wait
Wait for the certificate to be issued and saved, or for the attempt to obtain one 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 will be suppressed if the client can make a diagnostic suggestion.
- -o OWNER, --key-owner=OWNER
After generation set the owner on the private key file or database to OWNER.
- -m MODE, --key-perms=MODE
After generation set the file permissions on the private key file or database to MODE.
- -O OWNER, --cert-owner=OWNER
After generation set the owner on the certificate file or database to OWNER.
- -M MODE, --cert-perms=MODE
After generation set the file permissions on the certificate file or database to MODE.
Bus Options
- -s, --session
- Connect to certmonger on the session bus rather than the system bus.
- -S, --system
Connect to certmonger on the system bus rather than the session bus. This is the default.
Notes
Locations specified for key and certificate storage need to be accessible to the certmonger daemon process. When run as a system daemon on a system which uses a mandatory access control mechanism such as SELinux, the system policy must ensure that the daemon is allowed to access the locations where certificates and keys that it will manage will be stored (these locations are typically labeled as cert_t or an equivalent). More SELinux-specific information can be found in the selinux.txt documentation file for this package.
Bugs
Please file tickets for any that you find at https://fedorahosted.org/certmonger/
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-rekey(1) getcert-remove-ca(1) getcert-resubmit(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)
Referenced By
certmonger(8), certmonger-ipa-submit(8), certmonger-local-submit(8), getcert(1), getcert-add-ca(1), getcert-add-scep-ca(1), getcert-list(1), getcert-list-cas(1), getcert-modify-ca(1), getcert-refresh(1), getcert-refresh-ca(1), getcert-rekey(1), getcert-remove-ca(1), getcert-resubmit(1), getcert-start-tracking(1), getcert-status(1), getcert-stop-tracking(1), ipa-getcert(1), local-getcert(1), selfsign-getcert(1).