Use an independent keystore to encrypt passwords in external adapter configuration files, and to tell the Server to decrypt the encrypted value at runtime.
Java external adapter configuration files contain an encryption algorithm that the Server uses to authorize decryption.
$JAVA_HOME/bin/java -cp jar/adapterapi.jar:jar/commons-codec-1.3.jar com.sybase.esp.adapter.api.CryptUtils encrypt <password> <alias/user> RSA <keystorepath>/keystore.jks <keystorepassword>
ilNkDIv7MK99CvRHkVmDunuAvErHEyNdGZ+VTe63PBMEbyZ2CfZf6iHhCtDXD6fR9jPYIT/3FcyHmX2VL5xEeDL29KJP4xPS6d9/TUIozJvJb9YhA8yyHUGv9iGUmtJdcN4vvQ1XJPSGHD84vIKSHQOfz8UlZKl07uJl54b47JXi+hIt1X3hZtGAaKuNt9BDo3KIgD4McehJFH2eT0vYmLHjWAL+JoO4V0/+e9ZlgF4hzjpVkYaO5zik7WyWbvVzLcv4sT4A77CGq4/uo+ZsJlGdBQ/qlSXDBUKBacHhmYBV1j5xZgxLPu2feEl1OGP/+27126/Lz0M/JVeShDOw==
<espPassword encrypted="true">ilNkDIv7MK99CvRHkVmDunuAvErHEyNdGZ+VTe63PBMEbyZ2CfZf6iHhCtDXD6fR9jPYIT/3FcyHmX2VL5xEeDL29KJP4xPS6d9/TUIozJvJb9YhA8yyHUGv9iGUmtJdcN4vvQ1XJPSGHD84vIKSHQOfz8UlZKl07uJl54b47JXi+hIt1X3hZtGAaKuNt9BDo3KIgD4McehJFH2eT0vYmLHjWAL+JoO4V0/+e9ZlgF4hzjpVkYaO5zik7WyWbvVzLcv4sT4A77CGq4/uo+ZsJlGdBQ/qlSXDBUKBacHhmYBV1j5xZgxLPu2feEl1OGP/+27126/Lz0M/JVeShDOw==</espPassword>
<!-- Event Stream Processor settings --> <esp> <espConnection> <espHost>localhost</espHost> <espPort>22000</espPort> <!-- <espProjectUri>esp://localhost:19011/ws1/p1</espProjectUri> --> </espConnection>
Authentication Type | Required Value |
---|---|
Kerberos | user_password |
LDAP | user_password |
keystore, keystore password | server_rsa |
none | Connect without authentication |
Example using the Kerberos authentication value:
<espAuthType>user_password</espAuthType>
Regardless of authentication type, if the password is encrypted, you must define values for espRSAKeyStore and espRSAKeyStorePassword.
<!-- <espRSAKeyFile>/keyfilepath/espuser.private.der</espRSAKeyFile> --> <espRSAKeyStore>/keystore/keystore.jks</espRSAKeyStore> <espRSAKeyStorePassword>Sybase123</espRSAKeyStorePassword> <espEncryptionAlgorithm>RSA</espEncryptionAlgorithm>