Smart IT requires the Remedy Application Service (RAS) Password to connect with AR Server. If for some reason the RAS password changed, how can the new password be encrypted before updating it in Smart IT's 'SmartIT_System.CONFIGURATION_PARAMETER' and 'SmartIT_System.PROVIDER_SETTINGS' tables? |
This knowledge article may contain information that does not apply to version 21.05 or later which runs in a container environment. Please refer to Article Number 000385088 for more information about troubleshooting BMC products in containers. For Smart IT versions up until 19.08:
Use the Smart IT Maintenance Tool utility to encrypt the RAS password - this utility is available on the Smart IT Server under '<SmartIT InstallDirectory>/SmartIT/SmartITMaintTool'. Once encrypted, copy the contents of the Encrypted Password field and place it in below locations of the Smart IT database:
For Smart IT version 20.02 and above: The Smart IT Maintenance Tool should no longer be used to encrypt the password. The utility still has the 'Encrypt'-tab as in the screenshot above, but pressing the 'Encrypt' button does not result in an encoded password in the 'Encrypted Password' field. If you would start the utility from the command line, you would see this error when using the Encrypt button: Encrypt Exception : java.security.InvalidKeyException: No installed provider supports this key: (null)
You should also not use the Maintenance Tool of a lower Smart IT version to encrypt the password. For Smart IT 20.02, the new Password Encryption Utility should be used to encrypt the RAS password. This utility can be found on the Smart IT Server in the following location: <SmartIT InstallDirectory>\SmartITCustomizationUtil\password-encryption-9.1.10.000-BUILD-SNAPSHOT\password-encryption
Example command line for Windows: passwordencryptdecrypt.bat "DATABASE_VALUE" "SMARTIT_DB_HOST_NAME" "SMARTIT_DB_PORT" "SMARTIT_DB_NAME" "SMARTIT_DB_SYSTEM_USER" "SMARTIT_DB_SYSTEM_PASSWORD" "ALWAYS_ON" "PASSWORD_TO_ENCRYPT_OR_DECRYPT" "ENCRYPT/DECRYPT"
Where:
DATABASE_VALUE : Database type - select from (mssql/oracle/postgres)
SMARTIT_DB_HOST_NAME : Smart IT Database Hostname or IP address SMARTIT_DB_PORT : Database port SMARTIT_DB_NAME : Smart IT Database name SMARTIT_DB_SYSTEM_USER : Name of System user for Smart IT SMARTIT_DB_SYSTEM_PASSWORD : System User password ALWAYS_ON : Applicable to MS SQL only (Provide Yes/No) - for other DB types, this setting is ignored but a value must still be provided (see notes below) PASSWORD_TO_ENCRYPT_OR_DECRYPT : Provide the password you want to encrypt or decrypt ENCRYPT/DECRYPT : Provide value ENCRYPT for encryption and DECRYPT for decryption Notes:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at com.bmc.smartit.EncryptDecryptPassword.main(EncryptDecryptPassword.java:51)
Error: "JAVA_HOME environment variable is not defined"
!! Password Encryption Utility when Windows Authentication is used for the Smart IT database !!
The Password Encryption Utility needs to connect to the Smart IT database to retrieve the encryption key (stored in the 'SmartIT_System.CONFIGURATION_PARAMETER' table) to use during the encryption. The current version of the encryption utility does not support databases using Windows Authentication and you may see the following error when running the encryption command: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'SmartIT_System'. ClientConnectionId:68a22f8a-3707-499a-b1ac-f1b58564c1f6
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217) .. .. at com.bmc.smartit.EncryptDecryptPassword.main(EncryptDecryptPassword.java:96) Error getting connection plase check db parameters An Enhancement request is raised for this to have the Password Encryption Utility support Databases with Windows Authentication. How to overcome this current limitation of the utility for Windows Authentication?
|