Basic Concepts (Summary)

What is HTTPS?

HTTPS (HyperText Transfer Protocol Secure) is the secure version of HTTP. It uses SSL/TLS to encrypt the communication between client and server, ensuring:

    • Confidentiality – Data is encrypted and cannot be read by third parties.

    • Authenticity – Verifies that the server is who it claims to be.

    • Integrity – Ensures that data has not been modified in transit.

What is SSL/TLS?

SSL (Secure Sockets Layer) and its successor TLS (Transport Layer Security) are cryptographic protocols that:

    • Establish a secure channel between two endpoints.
    • Use asymmetric encryption to exchange a symmetric session key.

    • Require a digital certificate to prove the server’s identity.

What is a Digital Certificate?

A digital certificate is a file used to establish trust and enable encryption. It is:

    • Issued by a Certificate Authority (CA).

    • Used by the server to prove its identity to the client.

    • Typically stored in .pfx, .crt or .pem formats.

    • Contains the public key, server name, expiration date, and the CA signature.

Without a valid certificate, HTTPS cannot be established. The certificate must be installed and properly referenced in the server configuration.

Configuring HTTPS/SSL in the system

Components with SSL Support

ComponentPurposeSSL Configuration
TWebServicesServer for engineering access (Solution Manager, Designer, files)TWebServices.json
TServerRuntime server: modules, data, file accessTServer.json + "SSL" checkbox in Designer




JSON File Location and Structure

Configuration files are located at:

C:\Users\Public\Documents\FrameworX\MachineSettings\

Examples:

tRPCServer section example:

json:
"tRPCServer":

{

"CertFileName_3111": "C:\\Users\\Public\\Documents\\FrameworX\\MachineSettings\\https\\Certificate.pfx",

"CertPass_3111": "YourCertificatePassword"

}


Component Behavior Details

TWebServices

TServer


Configuration Steps

    1. Obtain or generate a valid digital certificate (.pfx format).

    2. Copy it to:

      C:\Users\Public\Documents\FrameworX\MachineSettings\https\

    3. Edit TWebServices.json and/or TServer.json to reference the certificate.

    4. For TServer, enable the SSL checkbox in Designer under Runtime Startup.

    5. Restart the relevant executables to apply changes.


Generating .pfx from .crt, .ca, .key, .csr

1. Concatenate certificate and CA chain:

cat your_cert.crt your_ca.crt > full_cert.crt

2. Generate .pfx:

openssl pkcs12 -export \ -out certificate.pfx \ -inkey private.key \ -in full_cert.crt \ -certfile your_ca.crt


This command will prompt for a password. Use that same password in your CertPass_<port> entry.


Client Access URLs (HTTP vs HTTPS)

Enabling SSL on a port does not disable non-SSL access on a different port. Each protocol must use its own port.

SmartClient

Port must be configured in TServer.json and defined as SSL Port in Designer.

HTML5 Client

Port must be configured in TServer.json and defined as SSL Port in Designer.



Best Practices



In this section...