2.3. Configuring Profiles to Enable Renewal
2.3.1. About Renewal
2.3.1.1. The Renewal Process

Figure 2.1. Renewal Flow
Example 2.2. Certificate Request Entry
dn: cn=54,ou=certificateRepository, ou=ca, dc=server.example.com-pki-ca objectClass: top objectClass: certificateRecord serialno: 0254 metaInfo: inLdapPublishDir:true metaInfo: profileId:caUserCert metaInfo: requestId:58 notBefore: 20090624082117Z notAfter: 20091221072117Z duration: 1115552000000 subjectName: UID=jsmith,E=jsmith@example.com,CN=John Smith,OU=engineering,OU=content,OU=services,OU=people,C=US publicKeyData:: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOhd4g9Fluurl3mtUzEKmilsGolBKr/sEvGpPZecPpcFxfkxwfvfjl6ycEUcxXJXEhdSQ+ZPdCUwakSBhn15Uz8CAwEAAQ== extension: 1.3.6.1.5.5.7.1.1 extension: 2.5.29.37 extension: 2.5.29.35 extension: 2.5.29.17 extension: 2.5.29.15 userCertificate;binary:: MIIDXzCCAkegAwIBAgIBNjANBgkqhkiG9w0BAQUFADBAMR4wHAYD VQQKExVSZWRidWRjb21wdXRlciBEb21haW4xHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0 eTAeFw0wOTA2MjQxMzIxMTdaFw0wOTEyMjExMzIxMTdaMIGrMQswCQYDVQQGEwJVUzEPMA0GA1UE CxMGcGVvcGxlMREwDwYDVQQLEwhzZXJ2aWNlczEQMA4GA1UECxMHY29udGVudDEUMBIGA1UECxML ZW5naW5lZXJpbmcxFDASBgNVBAMTC0Rlb24gTGFja2V5MSEwHwYJKoZIhvcNAQkBFhJkbGFja2V5 QHJlZGhhdC5jb20xFzAVBgoJkiaJk/IsZAEBEwdkbGFja2V5MFwwDQYJKoZIhvcNAQEBBQADSwAw SAJBAOhd4g9Fluurl3mtUzEKmilsGolBKr/sEvGpPZecPpcFxfkxwfvfjl6ycEUcxXJXEhdSQ+ZP dCUwakSBhn15Uz8CAwEAAaOBvzCBvDAfBgNVHSMEGDAWgBS7F3+uS3y2ZNesUZLcB/ZTwo9LIjBL BggrBgEFBQcBAQQ/MD0wOwYIKwYBBQUHMAGGL2h0dHA6Ly93aWxidXIucmVkYnVkY29tcHV0ZXIu bG9jYWw6OTE4MC9jYS9vY3NwMA4GA1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYI KwYBBQUHAwQwHQYDVR0RBBYwFIESZGxhY2tleUByZWRoYXQuY29tMA0GCSqGSIb3DQEBBQUAA4IB AQB1Jig+3mucNrvhl009ZWshzKSZN7d1rGP+SsYCNTk9KzEhU/lCkQnOLbrAMDE7gBKLkDvpm+4y ud5qzHC6+tCR+L0H6JCm1Gufv5VE4yIN+dLPcO4Wr8ZCIgt2Rr3aR3FqE0tqUXh2RDmq+EvfxBza FOTQpwz2EW1ppIXjKNZpi9+3enjMg0rc/CsT+c1rKeXJzo5mD6n+VmET8ZilvSgyq6jt9KgqeVfM Cfl+ypQ2u9EW6a0sYflw+vPOkcXqRUnKfKjn1lq8CALrGDG71pAlHzXQNMB0YWlKKywhdMfbHPN8 FdFHC6Ro5Ny01DDRBF+y3Iqc3flLFJt1Ya3c8hEc version: 2 algorithmId: 1.2.840.113549.1.1.1 signingAlgorithmId: 1.2.840.113549.1.1.5 dateOfCreate: 20090624082244Z dateOfModify: 20090624082244Z certStatus: VALID autoRenew: ENABLED issuedBy: admin cn: 54
Note
2.3.1.2. Renewal Types in Certificate System
- Agent-based renewal, where the agent manually approves the request
- Directory-based renewal, where the requester authenticates to an LDAP directory
- Certificate-based renewal, where the certificate stored in the browser's database is used to authenticate the requester
Note
2.3.2. Creating Custom Renewal Profiles
Note
2.3.2.1. Default Renewal Profiles
Table 2.3. Renewal Profiles
| Renewal Profile | Type |
|---|---|
| caDirUserRenewal.cfg | Directory-based |
| caManualRenewal.cfg | Agent-based |
| caSSLClientSelfRenewal.cfg | Certificate-based |
| caTokenUserAuthKeyRenewal | Smart card |
| caTokenUserEncryptionKeyRenewal | Smart card |
| caTokenUserSigningKeyRenewal | Smart card |
2.3.2.2. Creating the Renewal Profile
true:
renewal=true
input.i1.class_id=serialNumRenewInputImpl
auth.instance_id parameter is empty.
Example 2.3. Agent-Based Renewal Profile
desc=This certificate profile is for renewing certificates to be approved manually by agents. visible=true enable=true enableBy=adminrenewal=trueauth.instance_id=name=Renew certificate to be manually approved by agents input.list=i1input.i1.class_id=serialNumRenewInputImploutputlist=o1 output.o1.class_id=certOutputImpl
auth.instance_id parameter must be set to use directory authentication.
Example 2.4. Directory-Based Renewal Profile
desc=This certificate profile is for renewing a certificate by serial number by using directory based authentication. visible=true enable=true enableBy=adminrenewal=trueauth.instance_id=UserDirEnrollmentauthz.acl=user_origreq="auth_token.uid" name=Directory-Authenticated User Certificate Self-Renew profile input.list=i1input.i1.class_id=serialNumRenewInputImploutput.list=o1 output.o1.class_id=certOutputImpl
Note
UidPwdDir plug-in has optional fields set to configure things such as the connection or the DN pattern. This is described in Section 8.2.1, “Setting up Directory-Based Authentication”.
auth.instance_id=SSLclientCertAuth
Example 2.5. Certificate-Based Renewal Profile
desc=This certificate profile is for renewing SSL client certificates. visible=true enable=true enableBy=adminrenewal=trueauth.instance_id=SSLclientCertAuthname=Self-renew user SSL client certificates output.list=o1 output.o1.class_id=certOutputImpl
2.3.2.3. Setting a Renewal Grace Period in an Enrollment Profile
/var/lib/pki/instance_name/ca/profiles/enrollment_profile.cfg file:
policyset.userCertSet.list=1,10,2,3,4,5,6,7,8,9 ... policyset.userCertSet.10.constraint.class_id=renewGracePeriodConstraintImpl policyset.userCertSet.10.constraint.name=Renewal Grace Period Constraint policyset.userCertSet.10.constraint.params.renewal.graceBefore=30 policyset.userCertSet.10.constraint.params.renewal.graceAfter=30 policyset.userCertSet.10.default.class_id=noDefaultImpl policyset.userCertSet.10.default.name=No Default

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.