Knowledge Base

Showing results for 
Search instead for 
Did you mean: 

How do I use Password Encryption with Extensions?

Preparing extensions for password encryption

Most of our extensions support password encryption. To use this service, please follow these steps exactly as specified. Once done, you will have to uncomment the encryptionKey and encryptedPassword and update them with the ones that you generate in the config.yml file.


Table of Contents

Generating the encrypted password

Configuring config.yml with the encrypted password:


Generating the encrypted password

In this case, we will take Cassandra Monitoring Extension as an example.


  1. Navigate to your Machine Agent installation folder, then head to the “monitors” folder.



  1. Now enter your Extension folder, or in our case, “CassandraMonitor” and copy the name of the jar file (here, “cassandra-monitoring-extension.jar”)

  2. Open your terminal and navigate to the CassandraMonitor folder.

    machine Agent_CassandraMonitor-example.png

  1. In the folder within terminal, make sure the jar file is present  (i.e., cassandra-monitoring-extension.jar).

  2. Once you’ve verified all the details, run the following command. This command will give you your encrypted password.

    java -cp "cassandra-monitoring-extension.jar" com.appdynamics.extensions.crypto.Encryptor myKey myPassword


The “myKey” in the command can be any random key that you'd like to use to encrypt the password.


The “myPassword” is the plaintext password that you normally use to log in to your product. This is the password that you are trying to encrypt.


Note: If you have special characters in your plaintext password or your encryption key, you need to escape the special characters with a backslash (\) in the above command. 

For example, if the plaintext password is myPa$$word, the encryption command should look like this:

java -cp "cassandra-monitoring-extension.jar" com.appdynamics.extensions.crypto.Encryptor myKey myPa\$\$word

  1. Once you run the command, here is how the encrypted password will be generated:

    The value under “Encrypted String” above corresponds to your encrypted password.


  1. Save the values for your encryptionKey and Encrypted String in a text editor so that you don’t lose them.


Configuring config.yml with the encrypted password:

  1. In the config.yml of the extension, insert the encryptionKey and Encrypted String.

  2. The value forencryptionKey field is the random encryption key that was used in the command. For example, in the example above we used myKey as the encryption key.

The value of encryptedPassword is the result of the above command.


Once you complete all the steps in this article, your extension will be ready to use the newly generated encrypted password.

Version history
Revision #:
10 of 10
Last update:
‎12-18-2019 05:39 PM
Updated by:
Labels (1)

Found this article helpful? Click the Thumbs Up button.
Have an additional comment? Post it below.



I see that the tags include 4.3, 4.4 and 4.5. Can anyone confirm if password encryption is compatible with the machine agent?



Hi Todd,

This does work with older versions of the Machine Agent as well.



Hahaha not sure how I missed it - perhaps it wansn't in the particular extension doc before (it is now) but found the clues in the source code of ext :)


So I assume this applies to all "AppDynamics supported" extensions?

Do you have plans to make implementation of encryption mandatory for "vendor supported" as well?

Hi Konrad,


As of now, we don't have any plans to enforce encryption. But yes, since it is going to be part of our library, vendors can always use it. 



What do you do with the regular password field (where we provide clear text password)?


Do we comment/remove it from config.yml file or set it to empty/null/""


password: ""




remove it altogether.

Hi Manoj,


You can just comment it out if you have the encryptedPassword defined.