JMS Password Encryption

When you run a JMS integration using the Business Service Simulator, you must provide either a plain text or an encrypted password (as needed for the integration). The EAI JMS Transport Service tries to decrypt the supplied password. If it can't decrypt it, it knows the password is plain text. If you're running a JMS integration through any other means than the Business Service Simulator, the password is encrypted as in the below process.

Note: The encryptstring utility is in the BIN directory of your installation of the Siebel server. You don't have to run this utility manually as it's called as part of the Encryptjndi.bat or Encryptjndi.sh script shown below. For more information, see Siebel Security Guide.

To successfully use encrypted passwords in the JMS Transport Business Service

  1. Open a sample jndi.properties file. If you don't have a jndi.properties file, create one like the one below:
    //java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory
    java.naming.provider.url = t3://100.108.185.230:7004
    java.naming.security.principal=weblogic
    java.naming.security.credentials=Weblogic1
    
  2. Use the Encryptjndi.bat or Encryptjndi.sh file to encrypt the password.
    EncryptJndi.bat <JNDI file name> <Encryption seed> <Gateway Server Name> <Gateway Server Port> <Siebel Enterprise> <Username> <Password> <Named Subsystem>

    Description of Parameters

    Parameter Description

    JNDI file name

    Full path of the jndi file which is to be encoded.

    Encryption seed

    Encryption seed for encoding the jndi.properties credentials.This can be any string.

    Gateway Server Name

    Name of the gateway server.

    Gateway Server Port

    Port used for the gateway server.

    Siebel Enterprise

    Name of the Siebel enterprise.

    User name

    Name of the user who connects to the gateway server.

    Password

    Password for the user who connects to the gateway server.

    Named subsystem

    Name of the named subsystem to set the seed for decryption.

    Example:

    C:\2023_08_PRE\ses\siebsrvr\BIN> EncryptJndi.bat C:\JMS\jndi.properties SADMIN phoenix201029.appsdev1.fusionappsdphx1.oraclevcn.com 4330 siebel sadmin ****** MyJMSConnSubsys

  3. Configure SIEBEL_ROOT environment variable.
    1. Set SIEBEL_ROOT = C:/2023_08_PRE/siebsrvr
    2. Export SIEBEL_ROOT= <path to Siebel server directory>
  4. Configure JAVA_HOME environment variable.
    1. Set JAVA_HOME=C:\Program Files\Java\jre-1.8
    2. Export JAVA_HOME=<path to java>
  5. Connect to the server manager and set the parameter JNDIEncryptionCheck to true (This is the default value.)
  6. Run EncryptJndi.bat to encrypt the jndi.properties file.
  7. Open the file to ensure the password is encrypted.
  8. Open the application and go to Administration-Business Service.
  9. Select EAI JMS Transport as the Business Service and Send as the method.
  10. Include the parameter ConnectionSubsystem along with other required parameters such as value, queue name and so on.
  11. Send a request and confirm that the message was successfully sent.