Download PDF
Download page Configure and Enable Mutual TLS Authentication.
Configure and Enable Mutual TLS Authentication
Mutual TLS is a mutual authentication method that encrypts the traffic between the client and the server by authenticating each other using their public-private key pair.
In AppDynamics Controller, you can enable Mutual TLS to authenticate the Controller with third-party applications such as Slack, PagerDuty, and ServiceNow. This mutual authentication verifies that the alerts (HTTP request actions) sent to the third-party applications are from AppDynamics and not from a malicious entity.
Configuring mutual TLS authentication involves the following steps:
- Generate a Certificate Signing Request (CSR) for your TLS certificate
- Get the CSR signed from a Certificate Authority and upload the signed TLS certificate
- Enable mutual TLS authentication in HTTP request actions
By default, the Mutual TLS Configuration feature is only available in the AppDynamics Controller Tenant UI with the Account Owner role. You can also create a custom role and enable this feature. For more information about the roles, see Manage Custom Roles.
Generate a Certificate Signing Request
To configure mutual TLS authentication, you need to first generate a certificate signing request (CSR) to get your TLS certificate:
- In the AppDynamics Controller Tenant UI, click Alert & Respond > Mutual TLS Configuration.
- Click + New Certificate Signing Request (CSR).
- Enter the following details:
- Organization (Optional). The legal name of your organization.
- Department (Optional). The name of your department handling the certificate.
- Country. Select the country where your organization is located. By default, the country selected is the United States. Note that this field is mandatory and can’t be left blank.
- State (Optional). The name of the state where your organization is located.
- City (Optional). The name of the city where your organization is located.
- Click Generate CSR.
- Click Download CSR to download the
.csrfile. Note that you can also copy the content and save as a.csrfile.
When you generate a CSR, AppDynamics creates a public- private key pair. The public key is available with the CSR and the private key resides with AppDynamics in a secure key store.
Sign the CSR and Upload the Signed TLS Certificate
After downloading the CSR file, you must get it signed from a certificate authority (CA) of your choice. You can then upload the signed TLS certificate. AppDynamics Controller also supports certificate chain. A certificate chain consists of a leaf certificate and intermediate certificates.
The intermediate certificate must be created by using the .ext file provided by your certificate authority.
To upload the signed TLS certificate on your AppDynamics Controller:
- Click Upload New Client Certificate.
Upload the signed TLS certificate (
.pemfile) directly or copy and upload the Base64 encoded text from the TLS certificate.If you have a certificate chain, upload only the leaf and intermediate certificates as a single
.pemfile. Or copy and upload the Base64 encoded text of the the leaf and intermediate certificates. Do not upload the root certificate.
The following sample illustrates a certificate chain that consists of a leaf certificate and an intermediate certificate:
Certificate chain sample
-----BEGIN CERTIFICATE-----MIIEGTCCAgGgAwIBAgIJAL5ibUhpLjFHMA0GCSqGSIb3DQEBCwUAMB0xCzAJBgNVBAYTAklOMQ4wDAYDVQQDDAVJTlRFUjAeFw0yMzAzMjExMDMyMDdaFw0yNDAzMjAxMDMyMDdaMFIxCTAHBgNVBAcTADEJMAcGA1UECBMAMQswCQYDVQQGEwJJTjEJMAcGA1UECxMAMQkwBwYDVQQKEwAxFzAVBgNVBAMTDmxvY2FsaG9zdDo4MDgwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAweI7PCWPgGn0o2pN3vHuqaxfKFMDaR1HuluhVxyUaWP4FHZXnW796Qmebpmt6YSmCTjrTVtt/M5Nds+39PDuj62F8duCg/owQtN75MHdOTLm0c9x1r6o62pjmLPLlMJmCu28agI6uKJXYMXmz8CzKJaiBz/fj4JZyVd/Yn9GPXD7Exhul3aJX75Un7DvQBATQYfBo6BmqQz3PfeFkag6p94MjBlYx+qAL8KeamAwtYm2Qcp3QygU6I1KsDqFsd+UvaclrRRxaY4glfjxXUldZl9Ryk/PJAiSSaZ54uSbD9qwbcLPop2EzOcLKbR7WcZsy+k9R54x/GRXsVBP35lruQIDAQABoycwJTAOBgNVHQ8BAf8EBAMCBJAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggIBABGlU4RGHCLzPvsxz+QMImQ6qNuN0CbetIaMhh+aaWnGVXNef2W1xfzo+xOvFhHMcgJJmOrkawJQmXlBF/0nDOFuW5AjKabB0pMkGdRsfLuCY3Bqb8VYWh7K0XGwpk6kRmtGppWXVW0W3i6aHwyKiTuFRxDq3WWlzBeozkd1rbyrL0bLkvGS6uRkWzuzNNULM5pd+qbTV32SPHPzHxJijQwbIJeenkDHmazg9v7eJHUZFuyYrh77+2DgG4t7hwhaEhdFz4PFZ34NowWI9TzQ3y2L/xMHog2jSrz9xsG0YwhmXNY0CYj9eMRAbDzsGkzOsB6doN0R6+TnXlbxs6HqEXHf1MVCRKG405lS+qdO8Si6ZvENccNSktSOnHGIXWbYL8zPxbhAbdOQGqMwnZCOXnUjtXMg0mAE0Dr7RijS587m0PkX1Xh1LyU3xXtwd26v+i9Srh1kwmcJpItlKPcVMtdYRILVz0jGpd/J2CDcRuvHtzB1vHFqiUni9IWYYBhRsWZTFnh5qO1+yc9tWgx0k7fVPc4haslwTa9K6SDtBkfl7WGtRoW8nGXBmTA4rn8Zdow14C8c/zkaZCb6/6qUZFIq//Stnu+gJEjxG7tO6JFfTp/j/NvwyXpozI8FnKyFBTVTVCBDKPceI7Z7xRq7e95ARBT2dApXXisPmLW5bDP3-----END CERTIFICATE----------BEGIN CERTIFICATE-----MIIDzzCCAregAwIBAgIJALqp1BzVxWxiMA0GCSqGSIb3DQEBCwUAMBwxCzAJBgNVBAYTAklOMQ0wCwYDVQQDDARyb290MB4XDTIzMDMyMTEwMjgxOVoXDTI0MDMyMDEwMjgxOVowHTELMAkGA1UEBhMCSU4xDjAMBgNVBAMMBUlOVEVSMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0JZ/KXP4WyfYxLya5rMxTSVmHCVuWJeSYfsSVoxOHGpksIE54Tv/g0fAjEgKbb/k6+dIwzVH5odKS/bkaQdc13HAPsSsGi0rl/axjK+iqhbBEXFqmyvF7hmBuA83j93dQCPTj7lYUcQxS7Kf6lh6hs+UFSLLDRBtI1eyYbPnOljQ3jll0OdgH2MoeVXeKr/9+o2xtcXf1JfBVhMK0j8RRkNUfMn3lJJ8pUgu6/ARfwA1esPYg4dNXUFT6CNtM8zqZuTMGdBND0yVXPagQ/KKJzBevrSvl5PIlLEVnvwHEJtnc9sKUpK9SepAzvWdLAWhvsnaECo7tXosqF+tBHdv6J/XxhdYEjFngIz3dJ3cqbXwzOtfEaGbCoNKsYsHiw92L/wFRE9RZIiLqBZIEOHzXXNi98s54jDU1YDRA1Lc02Ie39vpvwiypfXEEUiuQOjbY8m4lcTiP+sahljFO3o9qoouoX4SV3YM3nSpy1U+sSZB3mh8UCgPoPKoPl7e5JGPguMCO0NBR4hFeqREDYlcmg+50ZHaj6qUx7MDhBi9B0p3w+fhgbyHdo0rDs75xja6M08PdHUs8Gu6D2+KLp5oyE1OaYGjcHwsdzlE5+SJuUUD73s26JLlhDJ7EY/09pyVwnrx2PbWoeF3Tc5qX1mqBlk+1LImF6AQTb+c1MSym3ECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAbIWhRxGN0KIQNwpn48FAXgiKeUWuNmPb+MqlifO0u/ko5Vh8xXQmUsrGCupIW/lhRJSsAXI4B5Ss680pne55QLOY+6dXINnsObP5Xlz6PErugfYFIxddM8OEjn06Qn/UhehtgBQlUbv34KSrdh1ylXIGLpS3YqeGWufTlMx1WJToVfnBbF6+QIiWjTSCpt5nkHMph/oQcqTXJoxyzY6qwPx5+fYNuNDKvIJeWbR/NX/ukR/mMTb0kEFZfbaQOslSWnFEk15Wk6tZzMkiZlOqf/8qjYbwr5QgXVFUHCw4F5bQKdJIelMlzQrUrOxA3GeUYyRbfeaE4l9De4geSrphAw==-----END CERTIFICATE-----
Points to consider:
Before uploading a new TLS certificate, ensure the following points are met:
- The certificate must be either in the
.pemor.crtformat. - The certificate encoding scheme must be Base64.
- The certificate must have a valid expiry date.
- The certificate must be a client certificate.
- The certificate must match with the corresponding CSR.
- For a certificate chain,:
- all the certificates must be uploaded by using a single
.pemfile. - the first certificate must be the leaf certificate and the subsequent certificates must be the intermediate certificates. Each certificate must be signed by the subsequent certificate.
- the leaf certificate must be a client certificate.
- the leaf certificate must have a valid expiry date.
- the leaf certificate must match the corresponding CSR.
- the length of the certificate chain must not be greater than the length specified in the flag
appdynamics.controller.alerting.mtls.max.certificate.chain.length. See Controller Setting for Certificate Chain Length.
- all the certificates must be uploaded by using a single
If you face any error while uploading the signed TLS certificate, refer Troubleshoot Mutual TLS Certificate Issues.
View the TLS Certificate
Click Alert & Respond > Mutual TLS Configuration to view the uploaded TLS certificate. You can also click Download Certificate to download the .pem file.
If you have generated a CSR that is not yet used, you can view and download the unused CSR.
Enable Mutual TLS in HTTP Request Actions
After uploading the TLS certificate, you can enable the mutual TLS authentication for HTTP request actions. AppDynamics fetches the TLS certificate and attaches it with the HTTP request actions (alerts). On third-party endpoints that are configured to receive alerts from AppDynamics, the certificate helps to verify that the alerts are from AppDynamics.
To enable the mutual TLS authentication:
- Click Alert & Respond > HTTP Request Templates.
- Do one of the following:
- Select an existing template for which you want to enable mutual TLS and click Edit.
- Click the + New icon to create a template. See Create or Modify an HTTP Request Template.
In the Authentication section, select the Also Turn on Mutual TLS option.
This option is enabled only if you have uploaded a TLS certificate.
- Click Save.
Controller Setting for Certificate Chain Length
The Cisco Accounts team can specify the maximum length of the certificate chain.
To change the length of the certificate chain:
Log in to the Controller administration console using the root user password.
http://<controller host>:<port>/controller/admin.jsp- Select Controller Settings.
- Locate the flag
appdynamics.controller.alerting.mtls.max.certificate.chain.lengthand update its value. The default value is 2. - Click Save.