This document provides details steps to setup AutoSys 24.1.0 or higher scheduler and agent with two way SSL handshake HTTPS communication
AutoSys 24.1.0 +
This is a document to help set up Autosys 24.1+ Scheduler and Agent to use TWO-WAY SSL HTTPS certificates using
The Certificate generation tools are provided on the Autosys 24.1.0+ ISO
Provide two systems for use in this example
1) Create a 24.1.0 + Scheduler machine
2) Create a 24.1.0 + Agent machine
Remote Agent machine initial setup
1) Download the Autosys 24.1.0+ ISO and transfer it to the Agent machine
2) Install the Agent setup to use TCP only first to validate the setup with the scheduler before moving to HTTPS
NOTE:
1. In this example, we used the ./modules/Agent/setup.bin to install the agent
2. Used an agent name of HTTPS_AGENT rather than the default WA_AGENT
3) Set up the Java environment for root and the user you SSH into the machine with export JAVA_HOME=/opt/CA/WorkloadAutomationAE/SystemAgent/HTTPS_AGENT/wla_jre export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin/ echo "export JAVA_HOME=/opt/java/jdk" >> ~/.bashrc echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin/" >> ~/.bashrc
4) Create a Certificate directory mkdir /opt/CA/WorkloadAutomationAE/TLSCerts/ mkdir /opt/CA/WorkloadAutomationAE/TLSCerts/Agent
5) Add the machine definition to the scheduler and run a test job to validate the Agent Scheduler setup.
Scheduler Setup for HTTPS
1) Set up the Java environment for the autosys user and root export JAVA_HOME=/opt/CA/WorkloadAutomationAE/jre export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin/ echo "export JAVA_HOME=/opt/java/jdk" >> ~/.bashrc echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin/" >> ~/.bashrc
4) Create a Certificate directory mkdir /opt/CA/WorkloadAutomationAE/TLSCerts/ mkdir /opt/CA/WorkloadAutomationAE/TLSCerts/Agent mkdir /opt/CA/WorkloadAutomationAE/TLSCerts/Manager
NOTE: We will be installing a secondary HTTPS Agent on the scheduler.
5) Copy the TLSCertificates directory to the WorkloadAutomationAE cp -r /tmp/labforge/autosys/modules/TLSCertificates /opt/CA/WorkloadAutomationAE/TLSCertificates
6) Edit the /opt/CA/WorkloadAutomationAE/TLSCertificates/cert-config.properties for the manager setup
7) Make the following suggested changes
- set the generate root CA to trueGENERATE_ROOT_CA=true
- set the manager hostnameMGR_HOSTNAME=<Scheduler-Hostname>
- set the manager FQDN (user both internal and external DNS namesMGR_FQDN=<Scheduler-Hostname>.<DOMAIN>.com
- Set the manager IP addressMGR_IP=127.0.0.1,<XXX.XXX.XXX.XXX>
- Set the agent host name
(Note: this example first run will be used for the second HTTPS agent installed on the scheduler)AGENT_HOSTNAME=<Scheduler-Hostname>
- Set the Agent FQDN ( This is for the local agent)AGENT_FQDN=<Scheduler-Hostname>.<DOMAIN>.com
- Set the agent IP addressAGENT_IP=127.0.0.1,<XXX.XXX.XXX.XXX>
8) Save and exit
9) Run the manager certificate generation
(NOTE: all passwords are changeit)java -jar ManagerCertificateGenerator.jar
10) Copy the manager certs to the final destination
cp
-p
/opt/CA/WorkloadAutomationAE/TLSCertificates/manager-generated-certs-20251001-101448/*.*
/opt/CA/WorkloadAutomationAE/TLSCerts/Manager
(NOTE: the manager-generated-certs- folder name will be changed as the last two parts are date and time stamps)
11) Edit the /opt/CA/WorkloadAutomationAE/TLSCertificates/cert-config.properties for the local agent setup
- set the generate root CA to falseGENERATE_ROOT_CA=false
- set the existing root cert locationEXISTING_ROOT_CA_PATH=./manager-generated-certs-20251001-101448/internalRootCA.p12
(Note: the manager directory name will change based on the date and time created)
12) Run the agent certificate generator
(NOTE: all passwords are changeit)java -jar AgentCertificateGenerator.jar
13) Copy the agent Certs to the final destination
cp -p
/opt/CA/WorkloadAutomationAE/TLSCertificates/agent-generated-certs-20251001-102710/*.*
/opt/CA/WorkloadAutomationAE/TLSCerts/Agent
(NOTE: the agent-generated-certs- folder name will be changed as the last two parts are date and time stamps)
Install Secondary HTTPS agent on the primary scheduler.
1) Use the agent installed to install a TCP secondary agent on the primary scheduler
(NOTE: used an agent name of HTTPS_AGENT rather than the default WA_AGENT)
2) Add the agent to the Scheduler and validate that the agent can run jobs.
Set up the Scheduler to use SSL
1) Use Autosys_secure to create the encrypted password for your keystore /certificates
(In this example, changeit was the password used. )
2) Edit the /opt/CA/WorkloadAutomationAE/auotuser.<INSTANCE>/sslconfig.<INSTANCE>
Example:/opt/CA/WorkloadAutomationAE/autouser.DEV/sslconfig.DEV
3) Update the root certificate pathRootCACertificatePath=/opt/CA/WorkloadAutomationAE/TLSCerts/Manager/internalRootCA.crt
4)Update the Server certificate pathServerCertificatePath=/opt/CA/WorkloadAutomationAE/TLSCerts/Manager/manager-server.crt
5)Update the Server private Key path ServerPrivateKeyPath=/opt/CA/WorkloadAutomationAE/TLSCerts/Manager/manager-server.key
6) Set the encrypted Server Private Passphrase created with Autosys_secureServerPrivateKeyPassphrase=<Encrypted Password>
7) Leave the TLSCipherSuites empty
8) Set the ServerCertificateVerification to trueServerCertificateVerification=true
9) Set the ClientCertificateVerification to trueClientCertificateVerification=true
10) Set the ServerCertificateVerifyHostname to trueServerCertificateVerifyHostname=true
11) Set the ClientCertificateVerifyHostname to trueClientCertificateVerifyHostname=true
12) Set the client certificate pathClientCertificatePath=/opt/CA/WorkloadAutomationAE/TLSCerts/Manager/manager-client.crt
13) Set the manager client's Private keyClientPrivateKeyPath=/opt/CA/WorkloadAutomationAE/TLSCerts/Manager/manager-client.key
14) Set the encrypted Client Private Passphrase created with Autosys_secureClientPrivateKeyPassphrase=<Encrypted Password>
15) Save and exit
16) Edit the $AUTOUSER/config.<instance> file to add the HTTPS listening portsSchedAuxiliaryHTTPSListeningPort=11443 AppSrvAuxiliaryHTTPSListeningPort=12443
17) Save and exit
18) Restart the Autosys services
19) Check the $AUTOUSER/out/as_server and event_demo logs for startup messages such as:
as_Server Log{10/01/2025 11:56:30] CAUAJM_I_10176 AutoSys Application Server operational on auxiliary agent HTTPS listener port 12443.[10/01/2025 11:56:30] CAUAJM_I_20366 AutoSys Application Server operational on agent listener port 49159.[10/01/2025 11:56:30] CAUAJM_I_20367 AutoSys Application Server operational on auxiliary agent listener port 7500.[10/01/2025 11:56:31] CAUAJM_I_10485 CA EEM security session initialized with server <<XXX.XXX.XXX.XXX>>.
event_demo logs[10/01/2025 11:56:45] CAUAJM_I_10655 System is running in single server mode. Event server: AEDB.[10/01/2025 11:56:48] CAUAJM_I_10176 AutoSys Scheduler operational on auxiliary agent HTTPS listener port 11443.[10/01/2025 11:56:48] CAUAJM_I_20366 AutoSys Scheduler operational on agent listener port 49215.[10/01/2025 11:56:48] CAUAJM_I_20367 AutoSys Scheduler operational on auxiliary agent listener port 7507.
Change the Scheduler HTTPS agent to use HTTPS
1) Use the password utility to encrypt the cert and keystore password for the agent
(NOTE: In this case, we used changeit for all passwords)
2) Edit the /opt/CA/WorkloadAutomationAE/SystemAgent/HTTPS_AGENT/agentparm.txt
3) Add the below sections:
#
# Communications
#
#communication.inputport=7521
communication.inputport=10444
communication.receiver.socket.main=https
communication.receiver.https.keystoretype=PKCS12
communication.receiver.https.keystorefilepath=/opt/CA/WorkloadAutomationAE/TLSCerts/Agent/agent-server.p12
communication.receiver.https.keystorepassword=<Encrypted Password>
communication.receiver.https.truststorefilepath=/opt/CA/WorkloadAutomationAE/TLSCerts/Agent/truststore.p12
communication.receiver.https.truststorepassword=<Encrypted Password>
communication.receiver.https.clientauthrequired=true
communication.receiver.https.hostnameverifier=true
communication.receiver.https.tls.protocols=TLSv1.3
communication.transmitter.https.keystoretype=PKCS12
communication.transmitter.https.keystorefilepath=/opt/CA/WorkloadAutomationAE/TLSCerts/Agent/agent-client.p12
communication.transmitter.https.keystorepassword=<Encrypted Password>
communication.transmitter.https.truststorefilepath=/opt/CA/WorkloadAutomationAE/TLSCerts/Agent/truststore.p12
communication.transmitter.https.truststorepassword=<Encrypted Password>
communication.transmitter.https.verify.peer.certificate=true
communication.transmitter.https.hostnameverifier=true
communication.transmitter.https.tls.protocols=TLSv1.3
4) Save and exit
5) Restart the agent
6) Update the Scheduler local agent machine definition
- Change the protocol from TCP to HTTPS
- update the Agent URI with the proper stringhttps://<Scheduler-Hostname>:10444/.<DOMAIN>.com
7) Check the receiver and transmitter logs for startup messages
receiver logs10/01/2025 13:43:24.833-0400 5 TCP/IP Controller Plugin.Thread-7.CybHttpsReceiverListener.a[:160] - Starting HTTPs listener10/01/2025
13:43:25.129-0400 5 TCP/IP Controller
Plugin.Thread-7.CybHttpsReceiverListener.a[:231] - HTTPS server started
on port 10444 with TLS protocols TLSv1.3 with HostNameVerifier true
Create SSL Certs for the remote agent
1) on the manager, edit the /opt/CA/WorkloadAutomationAE/TLSCertificates/cert-config.properties
2) Make the following suggested changes
- set the generate root CA to false (Should already be set)GENERATE_ROOT_CA=false
- set the existing root cert location (Should already be set)EXISTING_ROOT_CA_PATH=./manager-generated-certs-20251001-101448/internalRootCA.p12
(NOTE: the manager directory name will change based on the date and time created)
- set the Agent HOSTNAME ( This is for the Remote agent)AGENT_HOSTNAME=<Agent-Hostname>
- set the Agent FQDN ( This is for the Remote agent)AGENT_FQDN=<Agent-Hostname>.<DOMAIN>.com
- set the agent IP addressAGENT_IP=127.0.0.1,<XXX.XXX.XXX.XXX>
3) Save and exit
4) Tar the certificate and transfer to the Remote agent machine
5) Unzip the files into the /opt/CA/WorkloadAutomationAE/TLSCerts/Agent
example:
/opt/CA/WorkloadAutomationAE/TLSCerts/Agent
[<user>@<Agent-Hostname> Agent]#
[<user>@<Agent-Hostname> Agent]# ls -la
total 36
drwxr-xr-x. 2 <user> <Group> 176 Oct 1 14:42 .
drwxr-xr-x. 4 <user> <Group> 117 Oct 1 14:41 ..
-rw-r--r--. 1 <user> <Group> 5092 Oct 1 14:25 agent-client.p12
-rw-r--r--. 1 <user> <Group> 1589 Oct 1 14:25 agent-server.crt
-rw-r--r--. 1 <user> <Group> 1704 Oct 1 14:25 agent-server.key
-rw-r--r--. 1 <user> <Group> 5092 Oct 1 14:25 agent-server.p12
-rw-r--r--. 1 <user> <Group> 1295 Oct 1 14:25 internalRootCA.crt
-rw-r--r--. 1 <user> <Group> 2776 Oct 1 14:25 internalRootCA.p12
-rw-r--r--. 1 <user> <Group> 1286 Oct 1 14:25 truststore.p12
6) Edit the /opt/CA/WorkloadAutomationAE/SystemAgent/HTTPS_AGENT/agentparm.txt
7) Update the following sections:## Communications##communication.inputport=7521communication.inputport=10444communication.receiver.socket.main=httpscommunication.receiver.https.keystoretype=PKCS12communication.receiver.https.keystorefilepath=/opt/CA/WorkloadAutomationAE/TLSCerts/Agent/agent-server.p12communication.receiver.https.keystorepassword=<Encrypted Password>communication.receiver.https.truststorefilepath=/opt/CA/WorkloadAutomationAE/TLSCerts/Agent/truststore.p12communication.receiver.https.truststorepassword=<Encrypted Password>communication.receiver.https.clientauthrequired=truecommunication.receiver.https.hostnameverifier=truecommunication.receiver.https.tls.protocols=TLSv1.3communication.transmitter.https.keystoretype=PKCS12communication.transmitter.https.keystorefilepath=/opt/CA/WorkloadAutomationAE/TLSCerts/Agent/agent-client.p12communication.transmitter.https.keystorepassword=<Encrypted Password>communication.transmitter.https.truststorefilepath=/opt/CA/WorkloadAutomationAE/TLSCerts/Agent/truststore.p12communication.transmitter.https.truststorepassword=<Encrypted Password>communication.transmitter.https.verify.peer.certificate=truecommunication.transmitter.https.hostnameverifier=truecommunication.transmitter.https.tls.protocols=TLSv1.3
8) Save and exit
9) Restart the agent
10) Update the agent machine definition
- Change the protocol from TCP to HTTPS
- update the Agent URI with the proper stringhttps://<Agent-Hostname>:10444/.<DOMAIN>.com
11) Check the receiver and transmitter logs for startup messages
receiver logs10/01/2025 14:54:05.301-0400 2 main.MainThread.CybReceiverScheduler.<init>[:106] - Creating the processor pools[2]10/01/2025 14:54:05.519-0400 5 TCP/IP Controller Plugin.Thread-7.CybHttpsReceiverListener.a[:160] - Starting HTTPs listener10/01/2025
14:54:05.991-0400 5 TCP/IP Controller
Plugin.Thread-7.CybHttpsReceiverListener.a[:231] - HTTPS server started
on port 10444 with TLS protocols TLSv1.3 with HostNameVerifier true
The configuration is now complete