In ecflow 4.0 we had an option for SSL support. However, this was a compile-time decision.

It meant that the GUI could not look at SSL and non-SSL servers at the same time.

In ecflow 5  the default is to allow both to be used, providing the open SSL libraries were found.

Hence we can decide at run time.

Additionally, ecFlow_ui is changed, so that the add server dialog, will now prompt the user to signify an SSL enabled server.

To use SSL at the command line choose between:

  1. export ECF_SSL=1                            # search for server.crt otherwise <host>.<port>.crt
  2. export ECF_SSL=<host>.<port>    # Use server specific certificates <host>.<port>.***
  3. use --ssl                                           # argument on ecflow_client/ecflow_server, same as option 1. Typically ssl server can be started with ecflow_start.sh -s\n"
  4. Client.enable_ssl()                           # for python client

ecFlow expects the certificates to be in directory $HOME/.ecflowrc/ssl

The certificates can be shared if you have multiple servers running on the same machine. In this case use ECF_SSL=1, then ecflow_server expects the following files in $HOME/.ecflowrc/ssl

ecflow_client expects the following files in : $HOME/.ecflowrc/ssl

Alternatively you can have different setting for each server ECF_SSL=<host>.<port>, then server expect files of the type:

and client expect files of the type:

When ECF_SSL=1, the server/client will automatically check existence of both variants but will give preference to NON <host>.<port>.*** variants first


The following steps, show you how to create the certificate files.

This may need to be adapted if you want to use <host>.<port>.***