diff --git a/README.md b/README.md index 267b649..612f944 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- DigiCert CertCentral Gateway AnyCA Gateway REST Plugin + DigiCert CertCentral AnyCA Gateway REST Plugin

@@ -41,10 +41,10 @@ The Digicert CertCentral AnyCA REST plugin extends the capabilities of Digicert' ## Compatibility -The DigiCert CertCentral Gateway AnyCA Gateway REST plugin is compatible with the Keyfactor AnyCA Gateway REST 24.2.0 and later. +The DigiCert CertCentral AnyCA Gateway REST plugin is compatible with the Keyfactor AnyCA Gateway REST 24.2.0 and later. ## Support -The DigiCert CertCentral Gateway AnyCA Gateway REST plugin is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket with your Keyfactor representative. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com. +The DigiCert CertCentral AnyCA Gateway REST plugin is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket with your Keyfactor representative. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com. > To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab. @@ -56,7 +56,7 @@ An API Key within your Digicert account that has the necessary permissions to en 1. Install the AnyCA Gateway REST per the [official Keyfactor documentation](https://software.keyfactor.com/Guides/AnyCAGatewayREST/Content/AnyCAGatewayREST/InstallIntroduction.htm). -2. On the server hosting the AnyCA Gateway REST, download and unzip the latest [DigiCert CertCentral Gateway AnyCA Gateway REST plugin](https://github.com/Keyfactor/digicert-certcentral-caplugin/releases/latest) from GitHub. +2. On the server hosting the AnyCA Gateway REST, download and unzip the latest [DigiCert CertCentral AnyCA Gateway REST plugin](https://github.com/Keyfactor/digicert-certcentral-caplugin/releases/latest) from GitHub. 3. Copy the unzipped directory (usually called `net6.0` or `net8.0`) to the Extensions directory: @@ -67,11 +67,11 @@ An API Key within your Digicert account that has the necessary permissions to en Program Files\Keyfactor\AnyCA Gateway\AnyGatewayREST\net8.0\Extensions ``` - > The directory containing the DigiCert CertCentral Gateway AnyCA Gateway REST plugin DLLs (`net6.0` or `net8.0`) can be named anything, as long as it is unique within the `Extensions` directory. + > The directory containing the DigiCert CertCentral AnyCA Gateway REST plugin DLLs (`net6.0` or `net8.0`) can be named anything, as long as it is unique within the `Extensions` directory. 4. Restart the AnyCA Gateway REST service. -5. Navigate to the AnyCA Gateway REST portal and verify that the Gateway recognizes the DigiCert CertCentral Gateway 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 CertCentral plugin by hovering over the ⓘ symbol to the right of the Gateway on the top left of the portal. ## Configuration diff --git a/digicert-certcentral-caplugin/CertCentralCAPlugin.cs b/digicert-certcentral-caplugin/CertCentralCAPlugin.cs index 28f3311..3c337eb 100644 --- a/digicert-certcentral-caplugin/CertCentralCAPlugin.cs +++ b/digicert-certcentral-caplugin/CertCentralCAPlugin.cs @@ -1178,12 +1178,12 @@ private async Task ExtractEnrollmentResult(CertCentralClient c else // We should really only get here if there is a misconfiguration (e.g. set up for approval in DigiCert) { _logger.LogWarning($"Order {orderResponse.OrderId} did not return a CertificateId. Manual intervention may be required"); - if (orderResponse.Requests.Any(x => x.Status == CertCentralConstants.Status.PENDING)) + if (orderResponse.Requests.Any(x => x.Status == CertCentralConstants.Status.PENDING || x.Status == CertCentralConstants.Status.NEEDS_APPROVAL)) { _logger.LogTrace($"Attempting to approve order '{orderResponse.OrderId}'."); // Attempt to update the request status. - int requestId = int.Parse(orderResponse.Requests.FirstOrDefault(x => x.Status == CertCentralConstants.Status.PENDING).Id); + int requestId = int.Parse(orderResponse.Requests.FirstOrDefault(x => x.Status == CertCentralConstants.Status.PENDING || x.Status == CertCentralConstants.Status.NEEDS_APPROVAL).Id); UpdateRequestStatusRequest updateStatusRequest = new UpdateRequestStatusRequest(requestId, CertCentralConstants.Status.APPROVED); UpdateRequestStatusResponse updateStatusResponse = client.UpdateRequestStatus(updateStatusRequest); @@ -1200,7 +1200,7 @@ private async Task ExtractEnrollmentResult(CertCentralClient c } else { - status = (int)EndEntityStatus.FAILED; + status = (int)EndEntityStatus.EXTERNALVALIDATION; statusMessage = $"Approval of order '{orderResponse.OrderId}' failed. Check the gateway logs for more details."; } }