Source:How to Replace the REST Server HTTPS Certificate and Private Key

From SEPsesam
Revision as of 18:26, 26 May 2020 by Sta (talk | contribs) (Draft in progress.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Copyright © SEP AG 1999-2024. All rights reserved.

Any form of reproduction of the contents or parts of this manual is allowed only with the express written permission from SEP AG. When compiling and designing user documentation SEP AG uses great diligence and attempts to deliver accurate and correct information. However, SEP AG cannot issue a guarantee for the contents of this manual.

Draft.png WORK IN PROGRESS
This article is in the initial stage and may be updated, replaced or deleted at any time. It is inappropriate to use this document as reference material as it is a work in progress and should be treated as such.
Docs latest icon.png Welcome to the latest SEP sesam documentation version 4.4.3 Beefalo/4.4.3 Beefalo V2. For previous documentation version(s), check documentation archive.


Overview

By default, SEP sesam uses a self-signed SSL certificate and private key for its REST Server and Web UI access. It is created in the system's temporary folder when the REST Server is started, unless you have configured another HTTPS certificate to be used by REST services.

You can improve security of the REST Server for use with HTTPS by adding your company official certificate or another trusted certificate signed by a certification authority (CA). To change the SSL certificate used by SEP sesam REST services to access Web UI, you will need to use an administrator command line.

How certificate checks work

When the REST server starts, it performs the following certificate checks to find custom HTTPS certificates:

  1. If a certificate and the corresponding private key are specified via the command-line options ([-z|--sslCertificate] <absolute file name certificate>, [-k|--sslPrivateKey> <absolute file name private key>), the REST Server attempts to use the specified files first.
  2. Then it will look in the default location <SESAM_VAR>/ini/ssl (see Directory Layout for details) through a list of default file names: [sesam.https.crt and sesam.https.key].
  3. If a variable gv_ro_ssl exists in the SEP sesam Server configuration file <SESAM_VAR>/ini/sm.ini (section PATHES), this location is probed next using the default file names.
  4. If a variable gv_ro_ssl_https exists in the <SESAM_VAR>/ini/sm.ini (section PATHES), this location is probed next using the default file names.
  5. If a certificate and the corresponding private key are specified via the global environment variables (SESAM_SSL_CERT=<absolute file name certificate>, SESAM_SSL_KEY=<absolute file name private key>), the REST Server attempts to use the specified files.

If none of the attempts to find a certificate are successful, the HTTPS server is set up using a self-signed certificate when the REST Server is started.

Prerequisites

You must have SEP sesam administrator privileges to run SEP sesam CLI commands and use the command prompt as an administrator. All commands are run from the <SESAM_ROOT>/bin/sesam/ directory. If you want to execute SEP sesam commands globally (and not from the actual run directory), set the SEP sesam profile as described in What happens when I set a profile?.

Steps

  1. Log in to the SEP sesam Server console and enter the following command to stop the REST Server:
  2. sm_main stop rmi
  3. The certificate and the private key file must be provided as two separate files and placed into a directory that is accessible by the REST server. The REST server must have read access to those files.
  4. Type the following command to install the certificate file:
  5. - sm_java server --sslCertificate <absolute file name of certificate> --sslPrivateKey <absolute file name of private key>
  6. Restart the REST Server:
  7. Type the following command to install the certificate file:
  8. - sm_java server --sslCertificate <absolute file name of certificate> --sslPrivateKey <absolute file name of private key>
  9. Restart the REST Server:
  10. sm_main start rmi


Damit sollte man a) sehen was der Server tut und b) ob es jetzt mal funktioniert. -> I need more information on what what the server does and how to check whether it works? Maybe: Verify that the REST server is able to handle a HTTPS request.

Proceed as follows to make sure that the system environment variables are correctly set when the REST server starts as a (Windows) service:

  1. Stop the REST Server again:
  2. sm_main stop rmi
  3. Configure the REST server to use your certificate and private key pair files by specifying the following environment variables:
  4. SESAM_SSL_CERT = <absolute file name of certificate> SESAM_SSL_KEY = <absolute file name of private key>
  5. Start the REST Server:
  6. sm_main start rmi
SEP Tip.png Tip
You can enable authentication to make sure that you are providing access to your SEP sesam environment to the right recipients and not to the unknown users. For details, see About Authentication and Authorization.