Secure Socket Layer (SSL)
Secure Socket Layer (SSL) is a protocol for providing secure transactions between servers and clients. It uses a certificate to identify one or both ends of the transaction. It can be useful for database communications to protect any authentication information, such as usernames and passwords, as well as the actual data itself.
Some databases support SSL and some do not. To know if your database supports SSL, you need to study the documentation for your database and work with the administrator of the database. If your database can be configured to use SSL with JDBC, it is possible to configure DatabaseLink to communicate with the database using SSL.
One database that does support SSL is PostgreSQL, and it is possible for DatabaseLink to communicate with a PostgreSQL database using SSL. You will need to configure the database to provide SSL communications and generate a certificate. To do this you will need to work with the administrator of your database.
Next generate the truststore file based on the certificate. This can be done with the keytool executable that is part of a Java Runtime Environment (JRE). You can use the version included in the JRE that ships with the Wolfram Language. To generate the truststore file, execute the following in some type of shell (e.g. a command prompt on Windows).
The next stage is to modify your Java command line for J/Link to refer to the truststore file. This can be done by adding the following settings, in which you need to give the full pathname to the truststore file that was generated.
If you are running the Wolfram Language inside a web server, such as webMathematica, you will need to add these settings to the server that launches Java by following your server documentation. If you are running the Wolfram Language in a standalone fashion, you can add the settings to the options of Java by executing the following before you load DatabaseLink.