Set up managed automation for custom applications
DigiCert® Trust Lifecycle Manager's managed automation solution supports the most popular web server applications out of the box.
DigiCert also provides the flexibility to extend certificate management to custom Linux or Windows applications by using the Certbot ACME client in conjunction with your own custom automation scripts.
Follow these steps to start managing certificate lifecycles for a custom application directly from the Trust Lifecycle Manager web console.
Custom automations require an active DigiCert agent on the server. The agent coordinates automation requests received from the Trust Lifecycle Manager web console and calls your custom shell script to handle certificate lifecycle events for the custom application.
For detailed instructions about how to install and activate DigiCert agents on your servers, see Deploy and manage agents.
In addition to a DigiCert agent, the server must have Certbot installed. Your custom automation script invokes the Certbot ACME client to request certificates from Trust Lifecycle Manager and install them for your custom Linux or Windows application.
For detailed instructions about how to download and install the Certbot client, refer to the official Certbot instructions.
You need a shell script to drive certificate lifecycle events for your custom application. When a new certificate is needed, the DigiCert agent calls this shell script to invoke the Certbot client, which then requests the certificate through the Trust Lifecycle Manager ACME service.
The shell script contains the Certbot command to request and install certificates for your custom application using the parameters expected by the Trust Lifecycle Manager ACME service.
Below are examples of shell scripts to enable Trust Lifecycle Manager managed automation for custom Linux and Windows applications.
Variable definitions at the top of these shell scripts set the required ACME request parameters:
These must match up with the ACME arguments you configure for the custom application in Trust Lifecycle Manager.
During an automation event, values for these arguments are supplied to the shell script by the local DigiCert agent that calls it.
Commands used in the shell script:
Must include all mandatory parameters.
Must not exceed 512 characters.
Must not include special directives like
rm -rf
orrmdir
The shell script filename:
Must end with
.sh
or.bat
.Must not exceed 255 characters.
Store your custom automation shell script in the local DigiCert agent's user-scripts sub-directory on the server. Configure the details about it in the Trust Lifecycle Manager web console as follows:
From the Trust Lifecycle Manager main menu, select Discovery & automation tools > Agents.
From the More actions dropdown at top, select Add script.
Fill out the Add script form:
Name: Enter a user-friendly name to use when referencing the script.
Operating system: Select the applicable operating system (Linux or Windows).
Script type: Select Custom automation.
Script filename: Enter the script's filename in or path relative to the local agent's user-scripts sub-directory.
Linux: If your script is named "myscript.sh" and is stored directly in the agent's user-scripts sub-directory, enter myscript.sh here. If you stored the script within an additional sub-directory called "custom-apps" in the user-scripts sub-directory, enter custom-apps/myscript.sh instead.
Windows: If your script is named "myscript.bat" and is stored directly in the agent's user-scripts folder, enter myscript.bat here. If you stored the script within an additional sub-folder called "custom-apps" in the user-scripts folder, enter custom-apps\myscript.bat instead.
Warning
Make sure there are no spaces in the filename for either Linux or Windows. The script will fail if the path or filename has spaces in it.
Command-line arguments: Enter a space-separated list of general ACME parameters to use with your custom automation script.
For example:
{acmeDirectoryUrl} {hosts} {email} {key} {extActKid} {extActHmac}
Note that:
Each argument must be entered exactly as shown here.
The order of the arguments must match up with how they are used in your shell script.
When you submit a certificate automation request from Trust Lifecycle Manager, it supplies the required values for these parameters based on the certificate profile you select and request details you enter.
Explanation of ACME parameters used by DigiCert®:
{acmeDirectoryUrl}
: The ACME directory URL.{hosts}
: Domain name(s) for the certificate.{email}
: Add an email address to the certificate.{key}
: Key algorithm (RSA or ECC).{extActKid}
: External Account Binding (EAB) key identifier.{extActHmac}
: HMAC key for EAB.
Description (optional): Enter an optional description for the script to help identify it when working with DigiCert agents and agent-based automations in Trust Lifecycle Manager.
Select Add to save the custom automation script details in Trust Lifecycle Manager.
To complete the custom automation configuration, assign the script to any DigiCert agents that will coordinate certificate lifecycle automation events for the custom application:
From the Trust Lifecycle Manager main menu, select Discovery & automation tools > Agents.
Locate the local DigiCert agents on the systems where the custom application is running. Select each agent by name to view the details for it.
Select the pencil (edit) icon on the right of the agent details page to update the agent configuration.
In the IP/port targets section for the agent, locate any IP/port targets where the custom application is running and configure them as follows:
Application: Select Custom.
Custom automation script: Select the custom automation script by the name assigned to it in Trust Lifecycle Manager.
Select the Update button at bottom to save your changes.
What's next
After enabling managed automation for your custom application, you can schedule certificate lifecycle automation events for it as you would any other server application in Trust Lifecycle Manager.