此内容没有您所选择的语言版本。
13.9. Configuration for Server-Side Key Generation for Certificate Enrollment using the CA EE Portal
This section describes how to configure Server-Side Key Generation for Certificate Enrollment using the CA EE Portal.
13.9.1. Installation Configuration 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Note
A KRA instance is required in addition to the CA for setting up Server-Side Keygen.
Note
In case the CA and KRA are sharing a Tomcat instance, you do not need to execute the above step to import the transport certificate.
After installing the CA and KRA instances, in case of stand-alone Tomcat web server instances, you would need to add the KRA transport certificate to the nssdb of the CA.
- First, stop the CA:
systemctl stop pki-tomcatd@ca_instance_name.service
# systemctl stop pki-tomcatd@ca_instance_name.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For example:systemctl stop pki-tomcatd@pki-ca.service
# systemctl stop pki-tomcatd@pki-ca.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Find and export the KRA transport certificate into a file:
grep "kra.transport.cert=" /var/lib/pki/kra_instance_name/kra/conf/CS.cfg | sed 's/kra.transport.cert=//' > kra transport cert file
# grep "kra.transport.cert=" /var/lib/pki/kra_instance_name/kra/conf/CS.cfg | sed 's/kra.transport.cert=//' > kra transport cert file
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For example:grep "kra.transport.cert=" /var/lib/pki/pki-kra/kra/conf/CS.cfg | sed 's/kra.transport.cert=//' > /tmp/kraTransport.cert
# grep "kra.transport.cert=" /var/lib/pki/pki-kra/kra/conf/CS.cfg | sed 's/kra.transport.cert=//' > /tmp/kraTransport.cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Import the KRA transport certificate into the nssdb of the CA, using the nickname specified in the CA's
CS.cfg
file:- List the transport certificate nickname:
grep "ca.connector.KRA.transportCertNickname" /var/lib/pki/ca_instance_name/ca/conf/CS.cfg
grep "ca.connector.KRA.transportCertNickname" /var/lib/pki/ca_instance_name/ca/conf/CS.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For example:grep "ca.connector.KRA.transportCertNickname" /var/lib/pki/pki-ca/ca/conf/CS.cfg
# grep "ca.connector.KRA.transportCertNickname" /var/lib/pki/pki-ca/ca/conf/CS.cfg ca.connector.KRA.transportCertNickname=KRA transport cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Import the certificate using the nickname listed from the previous step:
certutil -d /var/lib/pki/ca_instance_name/alias -A -t “,,” -n transportNickName -i kra transport cert file
certutil -d /var/lib/pki/ca_instance_name/alias -A -t “,,” -n transportNickName -i kra transport cert file
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For example:certutil -d /var/lib/pki/pki-ca/alias -A -t “,,” -n "KRA transport cert" -i /tmp/kraTransport.cert
# certutil -d /var/lib/pki/pki-ca/alias -A -t “,,” -n "KRA transport cert" -i /tmp/kraTransport.cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Start the CA:
systemctl start pki-tomcatd@ca_instance_name.service
# systemctl start pki-tomcatd@ca_instance_name.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For example:systemctl start pki-tomcatd@pki-ca.service
# systemctl start pki-tomcatd@pki-ca.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.9.2. Profile Configuration 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Two default profiles,
caServerKeygen_UserCert
and caServerKeygen_DirUserCert
, are provided by default to allow for certificate enrollments where keys are generated on the server side. However, any profile with the right input, output, and policy set could be turned into a server-side keygen profile.
A Server-Side Keygen profile must contain the following components.
Input
input.i1.class_id=serverKeygenInputImpl
input.i1.class_id=serverKeygenInputImpl
Output
output.o1.class_id=pkcs12OutputImpl
output.o1.class_id=pkcs12OutputImpl
Policyset
Key type and key size parameters can be configured as exemplified below:
Authentication
The two default server-side keygen enrollment profiles differ in the authentication mechanism, where
- caServerKeygen_UserCert.cfgcontains an empty value to "auth.class_id=", meaning that enrollment requests through this profile will require approval from a CA agent.
- caServerKeygen_DirUserCert.cfgcontains "auth.instance_id=UserDirEnrollment", meaning that the user is required to pass LDAP uid/password authentication; such authentication mechanism is considered as an automatic certificate issuance as it does not require per-request approval from a CA agent.Automatic approval could be configured by setting the auth.instance_id directive to any compatible authentication plugin class, as examplified in the caServerKeygen_DirUserCert.cfg profile mentioned above. Here is an example of such a configuration in the
CS.cfg
file:Copy to Clipboard Copied! Toggle word wrap Toggle overflow