The Xentara Licence Server v1.0
User Manual
The Licence Server Certificate

Xentara communicates with the Xentara licence server using a secure, encrypted connection, and requires a server certificate to proove its identity to Xentara. The certificate is a special certificate and must be provided and signed by by embedded ocean GmbH. A regular certificate issued by another certification authority, or a self-signed certificate, will not work.

Certificate Private Key

The server certificate is accompanied by a private key. The private key of a certificate must be kept secret, and never given out to anyone. If the private key is leaked to an attacker, that attacker can impersonate the legitimate certificate holder, and the certificate is no longer of any use.

Floating licences issued by embedded ocean GmbH are tied to the private key of a particular certificate. If a certificate is renewed, the old private key will generally be reused. This eliminates the need to reissue all the floating licences. A new private key will only be issued if there is suspicion that the old key has been compromised.

The private key file should generally not be readable by anyone but the owner. Under Linux, this can be acheived by setting the file permissions to the value “0600”:

chmod 0600 xentara-licence-server.key.pem

Under Windows, private key files should be placed into a directory that is only readable by the user. This is generally the case for the user’s Home directory, so placing the private key file somewhere in the user’s Home directory is normally enough.

Warning
Do not share the private key belonging to the Xentara licence server certitificate with anyone.

Default Certificate Location

Unless a custom path has been specified, the Xentara licence server locates the server certificate by looking for a file named xentara-licence-server.pem in the normal Xentara licence server configuration directories. The file must be located in a subdirectory named certs. By default, the following locations are tried, in order:

Linux:

  • ${HOME}/.config/xentara-licence-server/certs/xentara-licence-server.pem
  • /etc/xdg/xentara-licence-server/certs/xentara-licence-server.pem

Windows:

  • %LOCALAPPDATA%\Xentara Licence Server\Config\certs\xentara-licence-server.pem
  • %ProgramData%\Xentara Licence Server\Config\certs\xentara-licence-server.pem

The private key belonging to the server certificate must be called xentara-licence-server.key.pem, and reside in a subdirectory named private. By default, the following locations are tried, in order:

Linux:

  • ${HOME}/.config/xentara-licence-server/private/xentara-licence-server.key.pem
  • /etc/xdg/xentara-licence-server/private/xentara-licence-server.key.pem

Windows:

  • %LOCALAPPDATA%\Xentara Licence Server\Config\private\xentara-licence-server.key.pem
  • %ProgramData%\Xentara Licence Server\Config\private\xentara-licence-server.key.pem

The private key file must be located under the same base directory as the certificate file. If the certificate is located under ${HOME}/.config, then the private key must also be located under ${HOME}/.config, for example. You cannot place the certificate file in ${HOME}/.config and the private key file in /etc/xdg, or vice versa. The same goes for %LOCALAPPDATA% and %ProgramData% under Windows.

Note
The search path can be modified using the command line option --config-dir (Linux) or -ConfigDir (Windows), or the environment variables XDG_CONFIG_HOME and XDG_CONFIG_DIRS (Linux only), as described in Standard Configuration Directories.

Custom Certificate Location

You can specify a different location for the certificate and private key files in the Xentara licence server config file. There are some special considerations regarding the relationship betwen the certificates and private key paths, however, as described below.

Specifying Absolute Paths

The paths of the certificate and private key files can be specified using absolute paths. If absolute paths are specified, the files are loaded from exactly those paths, and the configuration directories are not searched.

If either the certificate file path or the private key path is absolute, the other path must be absolute as well. You cannot specify an absolute certificate path and a relative private key path, or vice versa.

Specifying Relative Paths

The paths of the certificate and private key files can be specified using relative paths. If relative paths are specified, the path is appended to each of the corresponding search directories in turn, until the file is found. If one of the files is not found, an error is emitted.

Certificate files will be searched for in a subdirectory named certs under each of the configuration directories. By default, the following directories are searched for certificate files, in order:

Linux:

  • ${HOME}/.config/xentara-licence-server/certs
  • /etc/xdg/xentara-licence-server/certs

Windows:

  • %LOCALAPPDATA%\Xentara Licence Server\Config\certs
  • %ProgramData%\Xentara Licence Server\Config\certs

Private key files will be searched for in a subdirectory named private under each of the configuration directories. By default, the following directories are searched for private key files, in order:

Linux:

  • ${HOME}/.config/xentara-licence-server/private
  • /etc/xdg/xentara-licence-server/private

Windows:

  • %LOCALAPPDATA%\Xentara Licence Server\Config\private
  • %ProgramData%\Xentara Licence Server\Config\private

The private key file must be located under the same base directory as the certificate file. If the certificate is located under ${HOME}/.config, then the private key must also be located under ${HOME}/.config, for example. You cannot place the certificate file in ${HOME}/.config and the private key file in /etc/xdg, or vice versa. The same goes for %LOCALAPPDATA% and %ProgramData% under Windows.

If either the certificate file path or the private key path is relative, the other path must be relative as well. You cannot specify a relative certificate path and an absolute private key path, or vice versa.

Note
The search path can be modified using the command line option --config-dir (Linux) or -ConfigDir (Windows), or the environment variables XDG_CONFIG_HOME and XDG_CONFIG_DIRS (Linux only), as described in Standard Configuration Directories.