Code review comment: If we consider security best practices, is it ok to have the `keyPassword` in error message and logs? @ldclakmal

Code under review:
public static Object decodePrivateKey(Object keyStoreValue, String keyAlias, String keyPassword) {
        MapValue<String, Object> keyStore = (MapValue<String, Object>) keyStoreValue;

        PrivateKey privateKey;

        File keyStoreFile = new File(CryptoUtils.substituteVariables(
                keyStore.get(Constants.KEY_STORE_RECORD_PATH_FIELD).toString()));
        try (FileInputStream fileInputStream = new FileInputStream(keyStoreFile)) {
            KeyStore keystore = KeyStore.getInstance(Constants.KEYSTORE_TYPE_PKCS12);
            try {
                keystore.load(fileInputStream, keyStore.get(Constants.KEY_STORE_RECORD_PASSWORD_FIELD).toString()
                        .toCharArray());
            } catch (NoSuchAlgorithmException e) {
                return CryptoUtils.createError("Keystore integrity check algorithm is not found: " + e.getMessage());
            }

            privateKey = (PrivateKey) keystore.getKey(keyAlias, keyPassword.toCharArray());
            
            if (privateKey.getAlgorithm().equals("RSA")) {
                MapValue<String, Object> privateKeyRecord = BallerinaValues.
                        createRecordValue(Constants.CRYPTO_PACKAGE_ID, Constants.PRIVATE_KEY_RECORD);
                privateKeyRecord.addNativeData(Constants.NATIVE_DATA_PRIVATE_KEY, privateKey);
                privateKeyRecord.put(Constants.PRIVATE_KEY_RECORD_ALGORITHM_FIELD, privateKey.getAlgorithm());
                return privateKeyRecord;
            } else {
                return CryptoUtils.createError("Not a valid RSA key");
            }
        } catch (FileNotFoundException e) {
            throw CryptoUtils.createError("PKCS12 key store not found at: " + keyStoreFile.getAbsoluteFile());
        } catch (KeyStoreException | CertificateException | IOException e) {
            throw CryptoUtils.createError("Unable to open keystore: " + e.getMessage());
        } catch (NoSuchAlgorithmException e) {
            return CryptoUtils.createError("Algorithm for key recovery is not found: " + e.getMessage());
        } catch (NullPointerException e) {
            return CryptoUtils.createError("Key cannot be recovered by using given key alias: [" + keyAlias +
                         "] and key password: [" + keyPassword + "]");
        } catch (UnrecoverableKeyException e) {
            return CryptoUtils.createError("Key cannot be recovered: " + e.getMessage());
        }
    }

Line commented on: "] and key password: [" + keyPassword + "]");

Revised code:
public static Object decodePrivateKey(Object keyStoreValue, String keyAlias, String keyPassword) {
        MapValue<String, Object> keyStore = (MapValue<String, Object>) keyStoreValue;

        PrivateKey privateKey;

        File keyStoreFile = new File(CryptoUtils.substituteVariables(
                keyStore.get(Constants.KEY_STORE_RECORD_PATH_FIELD).toString()));
        try (FileInputStream fileInputStream = new FileInputStream(keyStoreFile)) {
            KeyStore keystore = KeyStore.getInstance(Constants.KEYSTORE_TYPE_PKCS12);
            try {
                keystore.load(fileInputStream, keyStore.get(Constants.KEY_STORE_RECORD_PASSWORD_FIELD).toString()
                        .toCharArray());
            } catch (NoSuchAlgorithmException e) {
                return CryptoUtils.createError("Keystore integrity check algorithm is not found: " + e.getMessage());
            }

            privateKey = (PrivateKey) keystore.getKey(keyAlias, keyPassword.toCharArray());
            
            if (privateKey.getAlgorithm().equals("RSA")) {
                MapValue<String, Object> privateKeyRecord = BallerinaValues.
                        createRecordValue(Constants.CRYPTO_PACKAGE_ID, Constants.PRIVATE_KEY_RECORD);
                privateKeyRecord.addNativeData(Constants.NATIVE_DATA_PRIVATE_KEY, privateKey);
                privateKeyRecord.put(Constants.PRIVATE_KEY_RECORD_ALGORITHM_FIELD, privateKey.getAlgorithm());
                return privateKeyRecord;
            } else {
                return CryptoUtils.createError("Not a valid RSA key");
            }
        } catch (FileNotFoundException e) {
            throw CryptoUtils.createError("PKCS12 key store not found at: " + keyStoreFile.getAbsoluteFile());
        } catch (KeyStoreException | CertificateException | IOException e) {
            throw CryptoUtils.createError("Unable to open keystore: " + e.getMessage());
        } catch (NoSuchAlgorithmException e) {
            return CryptoUtils.createError("Algorithm for key recovery is not found: " + e.getMessage());
        } catch (NullPointerException e) {
            return CryptoUtils.createError("Key cannot be recovered by using given key alias: [" + keyAlias +
                         "] and key password");
        } catch (UnrecoverableKeyException e) {
            return CryptoUtils.createError("Key cannot be recovered: " + e.getMessage());
        }
    }