NAME

pki --issue - Issue a certificate using a CA certificate and key

SYNOPSIS

[ --in file ] [ --type type ] --cakey~file|--cakeyid~hex --cacert~file [ --dn subject-dn ] [ --san subjectAltName ] [ --lifetime days ] [ --not-before datetime ] [ --not-after datetime ] [ --serial hex ] [ --flag flag ] [ --digest digest ] [ --ca ] [ --crl uri [--crlissuer issuer] ] [ --ocsp uri ] [ --pathlen len ] [ --nc-permitted name ] [ --nc-excluded name ] [ --policy-mapping mapping ] [ --policy-explicit len ] [ --policy-inhibit len ] [ --policy-any len ] [ --cert-policy oid [--cps-uri uri[--user-notice text] ] [ --outform encoding ] [ --debug level ] --options~file -h | --help

DESCRIPTION

This sub-command of pki(1) is used to issue a certificate using a CA certificate and private key.

OPTIONS

-h, --help
Print usage information with a summary of the available options.
-v, --debug level
Set debug level, default: 1.
-+, --options file
Read command line options from file.
-i, --in file
Public key or PKCS#10 certificate request file to issue. If not given the key/request is read from STDIN.
-t, --type type
Type of the input. Either pub for a public key, or pkcs10 for a PKCS#10 certificate request, defaults to pub.
-k, --cakey file
CA private key file. Either this or --cakeyid is required.
-x, --cakeyid hex
Key ID of a CA private key on a smartcard. Either this or --cakey is required.
-c, --cacert file
CA certificate file. Required.
-d, --dn subject-dn
Subject distinguished name (DN) of the issued certificate.
-a, --san subjectAltName
subjectAltName extension to include in certificate. Can be used multiple times.
-l, --lifetime days
Days the certificate is valid, default: 1095. Ignored if both an absolute start and end time are given.
-F, --not-before datetime
Absolute time when the validity of the certificate begins. The datetime format is defined by the --dateform option.
-T, --not-after datetime
Absolute time when the validity of the certificate ends. The datetime format is defined by the --dateform option.
-D, --dateform form
strptime(3) format for the --not-before and --not-after options, default: %d.%m.%y %T
-s, --serial hex
Serial number in hex. It is randomly allocated by default.
-e, --flag flag
Add extendedKeyUsage flag. One of serverAuth, clientAuth, crlSign, or ocspSigning. Can be used multiple times.
-g, --digest digest
Digest to use for signature creation. One of md5, sha1, sha224, sha256, sha384, or sha512. Defaults to sha1.
-f, --outform encoding
Encoding of the created certificate file. Either der (ASN.1 DER) or pem (Base64 PEM), defaults to der.
-b, --ca
Include CA basicConstraint extension in certificate.
-u, --crl uri
CRL distribution point URI to include in certificate. Can be used multiple times.
-I, --crlissuer issuer
Optional CRL issuer for the CRL at the preceding distribution point.
-o, --ocsp uri
OCSP AuthorityInfoAccess URI to include in certificate. Can be used multiple times.
-p, --pathlen len
Set path length constraint.
-n, --nc-permitted name
Add permitted NameConstraint extension to certificate.
-N, --nc-excluded name
Add excluded NameConstraint extension to certificate.
-M, --policy-mapping issuer-oid:subject-oid
Add policyMapping from issuer to subject OID.
-E, --policy-explicit len
Add requireExplicitPolicy constraint.
-H, --policy-inhibit len
Add inhibitPolicyMapping constraint.
-A, --policy-any len
Add inhibitAnyPolicy constraint.

Certificate Policy

Multiple certificatePolicy extensions can be added. Each with the following information:
-P, --cert-policy oid
OID to include in certificatePolicy extension. Required.
-C, --cps-uri uri
Certification Practice statement URI for certificatePolicy.
-U, --user-notice text
User notice for certificatePolicy.

EXAMPLES

To save repetitive typing, command line options can be stored in files. Lets assume pki.opt contains the following contents:


  --cacert ca_cert.der --cakey ca_key.der --digest sha256
  --flag serverAuth --lifetime 1460 --type pkcs10

Then the following command can be used to issue a certificate based on a given PKCS#10 certificate request and the options above:


  pki --issue --options pki.opt --in req.der cert.der

SEE ALSO

pki(1)