SSL Configuration:
To configure SSL for DataOps Server, we need a Java KeyStore (.jks) file that contains SSL certificate and private key you want to use to secure the DataOps Server.
create jks file using crt and key files
It is not feasible to convert ".crt and .key" files to ".jks" directly because .crt and .key are individual components.
I) Create a PFX using .crt and .key files
Combine the ".crt and .key" files into a PFX file using OpenSSL.
By default, "openssl" will be configured. Open the terminal and execute the below command.
openssl pkcs12 -export -in </path/to/hostname.crt> -inkey </path/to/hostname.key> -out </path/to/hostname.pfx> -name "datagaps"
Replace the following in the above command.
/path/to/hostname.crt: Path of the ".crt" file
/path/to/hostname.key: Path of the ".key" (private key) file
/path/to/hostname.pfx: Path to generate the ".pfx" file.
II) Convert PFX to JKS
Use the "keytool" command to import the PFX file into a JKS keystore.
Navigate to /opt/datagaps/DataOpsServer/files/jdk/bin/keytool and open the terminal and execute the below command.
keytool -importkeystore -srckeystore </path/to/hostname.pfx> -srcstoretype PKCS12 -destkeystore </path/to/hostname.jks> -deststoretype JKS
replace the following in the above command.
/path/to/hostname.pfx: Path of the ".pfx" file generated in the previous step
/path/to/hostname.jks: Path to generate the ".jks" file
By following these steps, you'll successfully create a JKS file that contains both the certificate and private key.
Procedure for configuring SSL for DataOps Server
1)Copy the JKS file to DataOps Server "conf" folder
/opt/datagaps/DataOpsServer/conf
2) Edit the "server.xml" file of DataOps Server
go to below path open server .xml file
/opt/datagaps/DataOpsServer/conf
comment below http code
<! --- <Connector port="6055" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="6443"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents=".MSIE 6."
useSendfile="false"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xml"
/>
---!>
Uncomment the below code and edit the server.xml file
change the "certificateKeystoreFile" name and "certificateKeystorePassword".
add required JKS file name and password
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents=".MSIE 6."
useSendfile="false"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xml"
scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
>
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/hostName.jks"
certificateKeystorePassword="password"
type="RSA" />
</SSLHostConfig>
</Connector>
3) Add the certificate (.crt) to Java truststore (cacerts)
Add the certificate (.crt) to Java truststore (cacerts) as it is crucial to identify the server's identity for ensuring secure communication between the client and the DataOps Server.
</path/to/keytool> -trustcacerts -keystore </path/to/cacerts> -storepass changeit -importcert -alias <Alias_Name> -file </path/to/hostname.crt>
Replace the following in the above command.
/path/to/keytool: Path of the "keytool" binary
/opt/datagaps/DataOpsServer/files/jdk/bin/keytool
/path/to/cacerts: Path of the "cacerts" file
Alias_Name:An alias name
4) Add 8443 port in firewall
After all changes restart dataops server using below command
sudo systemctl restart dataops
After restart server try to below https url
https://<hostname or IP >:8443/datagaps-ui-ng