Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…ntral-caplugin into readme
  • Loading branch information
dgaley committed Jun 6, 2024
2 parents 98de45a + a8b3f0b commit 0c2383f
Showing 1 changed file with 31 additions and 27 deletions.
58 changes: 31 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,41 +41,45 @@ In order to enroll for certificates the Keyfactor Command server must trust the
* If the manifest.json file or the Connectors folder do not exist, create them.
```json
{
"extensions": {
"Keyfactor.AnyGateway.Extensions.IAnyCAPlugin": {
"CertCentralCAPlugin": {
"assemblypath": "../DigicertCAPlugin.dll",
"TypeFullName": "Keyfactor.Extensions.CAPlugin.DigiCert.CertCentralCAPlugin"
}
}
}
"extensions": {
"Keyfactor.AnyGateway.Extensions.IAnyCAPlugin": {
"CertCentralCAPlugin": {
"assemblypath": "../DigicertCAPlugin.dll",
"TypeFullName": "Keyfactor.Extensions.CAPlugin.DigiCert.CertCentralCAPlugin"
}
}
}
}
```

4. Restart the AnyCA Gateway service

5. Navigate to the AnyCA Gateway REST portal and verify that the Gateway recognizes the DigiCert plugin by hovering over the ⓘ symbol to the right of the Gateway on the top left of the portal.
5. Navigate to the AnyCA Gateway REST portal and verify that the Gateway recognizes the DigiCert plugin by hovering over the ⓘ symbol to the right of the Gateway on the top left of the portal. CAPlugin Type should now be listed as CertCentralCA.


## Configuration

1. Follow the official AnyCA Gateway REST documentation to define a new Certificate Authority, using the following information to configure the CA Connection section:

* Enabled - whether the DigiCert gateway should be enabled or not. Should almost always be set to 'true'
* APIKey - the API key the Gateway should use to communicate with the DigiCert API. Can be generated from the DigiCert portal.
* Region - (Optional) The geographic region associated with your DigiCert account. Valid values are US and EU. If not provided, default of US is used.
* DivisionId - (Optional) If your CertCentral account has multiple divisions AND uses any custom per-division product settings, provide a division ID for the gateway to use for enrollment. Otherwise, omit this setting. NOTE: Division ID is currently only use for product type lookups, it will not affect any other gateway functionality
* RevokeCertificateOnly - (Optional) By default, when revoking a certificate through DigiCert, the entire order gets revoked. Set this value to 'true' if you want to only revoke individual certificates instead.
* SyncCAFilter - (Optional) If you list one or more issuing CA IDs here from DigiCert, the sync process will only return certs issued by one of those CAs. Leave this option out to sync all certs from all CAs.
* FilterExpiredOrders - (Optional) If set to 'true', syncing will apply a filter to NOT return certs that are not expired, or only recently expired. See the next configuration value to set that window. Setting this to 'false' will return all certs regardless of expiration.
* SyncExpirationDays - (Optional) Only used if FilterExpiredOrders is set to 'true'. Specifies the number of days in the past to sync expired certs. For example, a value of 30 means sync will continue to return certs that have expired within the past 30 days. The default value if not specified is 0, meaning sync would not return any certs expired before the current day.


2. Follow the official AnyCA Gateway REST documentation to define one or more Certificate Profiles. These are what will show up as Templates in Keyfactor Command. You need at least one profile for each product type you wish to be able to enroll for. It is recommended to include the product type in the profile name to make them easier to identify. Use the following information to configure each profile:

* LifetimeDays - (Optional) The number of days of validity to use when requesting certs. If not specified, the default of 365 will be used. NOTE FOR RENEWALS: If the LifetimeDays value is evenly divisible by 365, when a certificate is renewed, the lifetime will be treated as years instead of days, so the new certificate's expiration will be the same month and day as the original certificate (assuming you are renewing close enough to expiration that the new expiration date fits within the maximum validity)
* CACertId - (Optional) ID of issuing CA to be used by DigiCert. If not specified, the default for your account will be used.
* Organization-Name - (Optional) If specified, will override any organzation name provided in the subject of the cert request on enrollment. Useful for requests (such as ACME) that contain no subject.
* RenewalWindowDays - (Optional) The number of days from expiration that the gateway should do a reissue rather than a renewal. Default if not provided is 90, meaning any renewal request for certs that expired in more than 90 days will be treated as a reissue.
1. Follow the [official Keyfactor AnyCA Gateway REST documentation](https://software.keyfactor.com/Guides/AnyCAGatewayREST/Content/AnyCAGatewayREST/AddCA-Gateway.htm#Add_or_Edit_a_Certificate_Authority) to define a new Certificate Authority, using the following information to configure the CA Connection section:

SETTING | REQUIRED? | DESCRIPTION
--|--|--
Enabled | Yes | Enables the DigiCert gateway functionality. Should almost always be set to 'true'
APIKey | Yes | The API key the Gateway should use to communicate with the DigiCert API. Can be generated from the DigiCert portal.
Region | No | The geographic region associated with your DigiCert account. Valid values are US and EU. Default if not provided is US.
DivisionId | No | If your CertCentral account has multiple divisions AND uses any custom per-division product settings, provide a division ID for the gateway to use for product type lookups.
RevokeCertificateOnly | No | If set to 'true', revoke operations will only revoke the individual certificate in question rather than the entire DigiCert order. Default if not provided is 'false'.
SyncCAFilter | No | If you list one or more DigiCert issuing CA IDs here (comma-separated if more than one), the sync process will only return certs issued by one of those CAs. Leave this option empty to sync all certs from all CAs.
FilterExpiredOrders | No | If set to 'true', syncing will not return certs that are expired more than a specified number of days. The number of days is specified by the SyncExpirationDays config option. Default value is 'false'.
SyncExpirationDays | No | Only used if FilterExpiredOrders is 'true', otherwise ignored. Sets the number of days a cert has to be expired for the sync process to no longer sync it. For example, a value of 30 means sync will continue to return certs that have expired within the past 30 days, but not ones older than that. Default value is 0, meaning sync would not return any certs expired before the current day.

2. After saving the CA configuration, Follow the [official AnyCA Gateway REST documentation](https://software.keyfactor.com/Guides/AnyCAGatewayREST/Content/AnyCAGatewayREST/AddCP-Gateway.htm#Certificate_Profile) to define one or more Certificate Profiles.
3. Edit your newly configured CA, and you should now be able to modify the Templates tab. You need at least one template for each product type you wish to be able to enroll for. It is recommended to include the product type in the template name to make them easier to identify. Use the following information to configure the parameters for each template:

SETTING | REQUIRED? | DESCRIPTION
--|--|--
LifetimeDays | No | The number of days of validity to use when requesting certs. Default if not provided is 365. NOTE FOR RENEWALS: If the value of LifetimeDays is evenly divisible by 365, the expiration day and month of the new cert will be set to the same values as the old cert if possible, to avoid renewal date drift.
CACertId | No | The ID of the issuing CA to be used by DigiCert. If not specified, the default for your account will be used.
Organization-Name | No | If specified, this value will override any organization name provided in the subject of the cert request on enrollment. Useful for requests (such as ACME) that contain no subject.
RenewalWindowDays | No | The number of days from expiration that the gateway should do a reissue rather than a renewal. Default if not provided is 90, meaning any renewal request for certs that expire in more than 90 days will be treated as a reissue request.


0 comments on commit 0c2383f

Please sign in to comment.