Issuing User Certificate with CMC Shared Token - dogtagpki/pki GitHub Wiki
This page describes the process to issue a user certificate using CMC shared token authentication.
It assumes that:
-
The CA admin has created an issuance protection certificate.
-
The CA admin has configured CMC shared token authentication.
-
The CA admin has generated a CMC shared token for the user.
To generate a key pair in the user’s NSS database:
$ pki nss-key-create --output-format json | tee output $ KEY_ID=$(jq -r '.keyId' output)
Create a certificate request with the key pair and an SKI extension (e.g. /usr/share/pki/tools/certs/testuser.conf):
$ pki \
nss-cert-request \
--key-id $KEY_ID \
--subject "uid=testuser" \
--ext testuser.conf \
--csr testuser.csr
To create a CMC request prepare a CMCRequest configuration file (e.g. /usr/share/pki/tools/examples/cmc/testuser-cmc-request.cfg) and store the key ID in the request.privKeyId property:
$ cp \
/usr/share/pki/tools/examples/cmc/testuser-cmc-request.cfg \
testuser-cmc-request.cfg
$ sed -i \
-e "s/^\(request.privKeyId\)=.*/\1=$KEY_ID/" \
testuser-cmc-request.cfg
Then execute the following command:
$ CMCRequest testuser-cmc-request.cfg
To submit the CMC request prepare an HttpClient configuration file (e.g. /usr/share/pki/tools/examples/cmc/testuser-cmc-submit.cfg), then execute the following command:
$ HttpClient testuser-cmc-submit.cfg
To process the CMC response:
$ CMCResponse \
-d /root/.dogtag/nssdb \
-i testuser.cmc-response \
-o testuser.p7b
To import the certificate chain into the user’s NSS database:
$ pki pkcs7-import --pkcs7 testuser.p7b testuser