On this page:
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.
SSL (Secure Sockets Layer) and its successor TLS (Transport Layer Security) are cryptographic protocols that:
Use asymmetric encryption to exchange a symmetric session key.
Require a digital certificate to prove the server’s identity.
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.
Component | Purpose | SSL Configuration |
---|---|---|
TWebServices | Server for engineering access (Solution Manager, Designer, files) | TWebServices.json |
TServer | Runtime server: modules, data, file access | TServer.json + "SSL" checkbox in Designer |
Configuration files are located at:
C:\Users\Public\Documents\FrameworX\MachineSettings\
Examples:
TWebServices.json
TServer.json
tRPCServer
section example:json:"tRPCServer":
{
"CertFileName_3111": "C:\\Users\\Public\\Documents\\FrameworX\\MachineSettings\\https\\Certificate.pfx",
"CertPass_3111": "YourCertificatePassword"
}
CertFileName_<port>
/ CertPass_<port>
: Define the certificate for a specific port. (3111 is just a port example)
Recommended: Use port-specific entries to ensure only specific ports are secured.
Avoid using CertFileName
without a port suffix unless you intend to secure all ports.
Handles access to engineering tools and shared resources.
Runs once per machine, not suitable for multi-port setups.
To enable HTTPS:
Configure TWebServices.json
with your certificate.
Configure Solution Location in Solution Manager → Server Information tab to use "https://...
."
Manages runtime data, file access, modules, and client communication.
Supports multiple instances, each listening on a different port.
Allows enabling SSL per port, suitable for running multiple secured and unsecured projects simultaneously.
Obtain or generate a valid digital certificate (.pfx
format).
Copy it to:
C:\Users\Public\Documents\FrameworX\MachineSettings\https\
Edit TWebServices.json
and/or TServer.json
to reference the certificate.
For TServer, enable the SSL checkbox in Designer under Runtime Startup.
Restart the relevant executables to apply changes.
.pfx
from .crt
, .ca
, .key
, .csr
cat your_cert.crt your_ca.crt > full_cert.crt
.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.
Enabling SSL on a port does not disable non-SSL access on a different port. Each protocol must use its own port.
Without SSL:
http://127.0.0.1:3101/smartclient
With SSL:
https://127.0.0.1:3111/smartclient
Port must be configured in TServer.json
and defined as SSL Port in Designer.
Without SSL:
http://127.0.0.1:3101/html5
With SSL:
https://127.0.0.1:3111/html5
Port must be configured in TServer.json
and defined as SSL Port in Designer.
Use port-specific certificate configuration.
Always deploy SSL in production environments.
Keep .pfx
backups and store passwords securely.
Validate certificate installation.