4D Blog

Home Product SSL/TLS: Support for ECDSA certificates

SSL/TLS: Support for ECDSA certificates

January 16, 2024

Product

4D uses SSL/TLS to secure client-server communication and HTTP requests. 4D is supporting RSA cryptography since more than a decade and with 4D v20R4 we are now adding ECDSA cryptography to our tool belt. It’s a good moment for me to speak a bit about security.

SSL/TLS is a protocol used to encrypt communications between a client and a server. It’s used worldwide for nearly 3 decades, it’s tough, unbreakable and fast. In 4D, you can use it mainly at 2 places: To encrypt the communication between a 4D Client and a 4D Server and to encrypt the requests to 4D web server. We strongly advise you to encrypt both your client-server communications and the requests to your web server, and as a matter of fact encrypting client-server communication has become the default setting since 4D v18.

Encrypt client-server communication

To activate the encryption of your client-server communications, you can open the client-server tab of the database settings and check the “Encrypt client-server communication” checkbox.

Note for the future: The QUIC network layer that we are currently implementing is based on the QUIC protocol which is necessarily encrypted. As such, if you select the QUIC layer the checkbox will not be displayed as the encryption is always activated.

Activating the SSL/TLS protocol is not enough to protect your communication, you also need to provide a certificate that 4D will use to encrypt the communication. 4D provides one that you can find in the Resources folder of 4D Server in the files named key.pem and cert.pem. As 4D provides the same certificate to all its customers, it is not recommended to use these files in production. You should replace it with your own certificate instead.

Encrypt HTTP requests

If you want to encrypt your web server communications, you need to use the HTTPS protocol, which is the secured version of the HTTP protocol. In the web tab of the database settings, you can activate HTTPS (it is activated by default).

blank

Once again, you’ll need to provide a certificate that 4D will use for the encryption (you can use the same certificate than for 4D Server if you wish). You need to put the files key.pem and cert.pem next to the project folder.

ECDSA certificates

So, let’s speak about certificates. There are 2 main encryption algorithms used by TLS/SSL: RSA and ECDSA. Both are unbreakable, stable and fast, so you can choose the one you prefer. RSA is the industry standard but ECDSA is becoming more and more common. As such, we have decided to handle ECDSA alongside RSA. For you, there’s no difference in how to use them, you just need to put your key.pem and cert.pem files in the correct location, whatever encryption algorithm your certificate is using.

If you want to know more about TLS/SSL and encryption, I can redirect you to 4D documentation. And if you have any question, don’t hesitate to ask on 4D official forum.

Discuss

Tags 21, 4D server, Client/Server, ECDSA, v20 R4

Latest related posts

  • June 16, 2025

    Generate, share and use web sessions One-Time Passcodes (OTP)

  • May 20, 2025

    Automatic Refresh of OEM Build Licenses

  • May 16, 2025

    New class to handle incoming TCP connections

Nicolas Brachfogel
Nicolas Brachfogel
Product Owner & Senior Developer - Nicolas Brachfogel joined 4D in 2017 as senior developer (4D Server and networking) and as Product Owner to manage the 4D version on Apple Silicon. He is tasked with the redaction of user stories and functional specifications, as well as the verification that the new features are in line with customers' needs. With a degree from Institut Supérieur d'Informatique Appliquée Paris (INSIA), Nicolas started his career as a software developer in 2001. After many years of development in Java and C++, he specialized himself in client-server development in the video game industry. As a developer/software architect, he worked on the server architectures of many games (Dofus Arena, Drakerz, Trivial Pursuit Go !).
  • Deutsch
  • Français
  • English
  • Português
  • Čeština
  • Español
  • Italiano
  • 日本語

Categories

Browse categories

  • 4D View Pro
  • 4D Write Pro
  • 4D for Mobile
  • Email
  • Development Mode
  • 4D Language
  • ORDA
  • User Interface / GUI
  • Qodly Studio
  • Server
  • Maintenance
  • Deployment
  • 4D Tutorials
  • Generic
  • 4D Summit sessions and other online videos

Tags

4D-Analyzer 4D for Android 4D for iOS 4D NetKit 4D Qodly Pro 4D View Pro 4D Write Pro 20 R8 20 R9 Administration Authentication Build application CI/CD Class Client/Server Code editor Collections Compatibility settings Formula Listbox Logs Mail Microsoft 365 Network Objects ORDA PDF Pictures Preemptive Programming Qodly Studio REST Scalability Security Session Source control Speed Spreadsheet Tutorial UI User Experience v20 vscode Web Word processor

Tags

4D-Analyzer 4D for Android 4D for iOS 4D NetKit 4D Qodly Pro 4D View Pro 4D Write Pro 20 R8 20 R9 Administration Authentication Build application CI/CD Class Client/Server Code editor Collections Compatibility settings Formula Listbox Logs Mail Microsoft 365 Network Objects ORDA PDF Pictures Preemptive Programming Qodly Studio REST Scalability Security Session Source control Speed Spreadsheet Tutorial UI User Experience v20 vscode Web Word processor
Subscribe to 4D Newsletter

© 2025 4D SAS - All rights reserved
Terms & Conditions | Legal Notices | Data Policy | Cookie Policy | Contact us | Write for us


Subscribe to 4D Newsletter

* Your privacy is very important to us. Please click here to view our Policy

Contact us

Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!

* Your privacy is very important to us. Please click here to view our Policy