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.1.0 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 a 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>.***