How to set up Standard ERP HTTPS with self-signed certificate

HTTPS is HTTP over SSL or TLS, or simply speaking, – a secure and encrypted option for HTTP protocol. You might want to set this up mainly for:

  • secure web-shop operation, so that all the information – such as passwords, credit card details etc. – is encrypted between the end user and the server;
  • REST API connection using OAuth protocol, that is possible only over HTTPS as login tokens are sent in the HTTP requests and, thus, are sensitive.

Encryption is provided using a pair of keys – a private and a public key. These keys can be:

  1. signed or approved by a Certification Authority such as Global Sign, Comodo, Verisign or others ensuring that the end user will be able to make sure that the server or website is actually who they say they are (this is usually a fairly expensive service, but also comparably convenient and secure);
  2. issued and signed using letsencrypt.com free service;

    If you would like to use this option, follow the instructions in our HTTPS or SSL setup guide. 

  3. self signed or issued by yourself which is good enough if you wish to create HTTPS connection only for known parties, such as your server and a known third party, e.g. REST API resource consumer.

This how-to guide will describe the last option of issuing self-signed certificates as the actual setup of Standard ERP is the same for all three options.

Step-by-step guide

  1. There are many articles on the internet describing in detail how to issue a self-signed certificate. For example, you can follow this article from heroku.com.
  2. As a result you will get a private key e.g. server.key and a certificate e.g. server.crt. Move them to your Standard ERP server folder and place them in folder ssl.

    You can do that either by tools such as sftp or rsync (if you have direct access to your server) or via File Manager in mystandard.hansaworld.com

  3. Open Technics >> Register >> Program Mode in your Standard ERP client.
  4. In the tab 'Web', enter the HTTPS port and add it in your firewall to the allowed IP addresses (or all the internet) and check the 'Use HTTPS' checkbox.

    Default port for HTTPS is 443, but any other port can be used if you prefer so. Please look at the note about setting ports below

  5. Enter ssl/server.crt in the field Certificate.
  6. Enter ssl/server.key in the field Private Key.
  7. Additionally you can set other options, e.g. disabling insecure versions of HTTPS SSL 2.0, SSL 3.0 and TLS 1.0.
     
  8. Restart your server and you should see something like this in your hansa.log on the server:

    2018-03-06 23:23:05 Listening on port: 1200
    2018-03-06 23:23:05 Listening on port: 80
    2018-03-06 23:23:05 Listening on port: 443

    These ports might be set by the Technics > Register > Program Mode (especially if you are hosted on premises), but could be overridden also by settings in mystandard.hansaworld.com, so please check MyStandard option 'Change Server Date' to set up the right ports in that case.