I'm looking into utilizing the Universal Device Driver (UDD) for getting data from a REST API, however the API I need to communicate with is on a secure port requiring https. I've found two articles that specifically say TLS is not currently supported by UDD:
Since the UDD profile is user-defined, I'm still curious if there's a way to implement TLS into the connection via the Javascript profile. Here are my questions I'm looking to get answered:
Solved! Go to Solution.
Hi @Ascherer17 ,
You’re correct, the Universal Device Driver (UDD) in Kepware doesn’t currently support native TLS/HTTPS communication. It only supports unencrypted HTTP and raw TCP/UDP sockets. The JavaScript execution engine used inside UDD runs within Kepware’s sandbox and doesn’t expose any secure socket or HTTPS libraries.
To answer your questions directly:
No, HTTPS/TLS can’t be implemented natively through UDD or the JavaScript profile; it lacks access to https modules or encryption APIs.
The Script Engine runs locally within Kepware, making direct calls via the internal networking stack. All traffic goes out as plain HTTP.
It doesn’t use any system libraries (like Windows SChannel or OpenSSL).
TLS support for UDD is not currently on the Kepware roadmap as of the latest releases.
Workarounds:
Use an external middleware (Node-RED, Python, or a small REST proxy) that handles HTTPS requests and exposes a local HTTP endpoint for UDD to consume.
Or, if the target REST API supports it, enable a local unencrypted endpoint (HTTP) inside your trusted network, then isolate encryption at the network perimeter.
This is the most reliable approach until Kepware adds native HTTPS support for UDD.
Thanks,
Hi @Ascherer17 ,
You’re correct, the Universal Device Driver (UDD) in Kepware doesn’t currently support native TLS/HTTPS communication. It only supports unencrypted HTTP and raw TCP/UDP sockets. The JavaScript execution engine used inside UDD runs within Kepware’s sandbox and doesn’t expose any secure socket or HTTPS libraries.
To answer your questions directly:
No, HTTPS/TLS can’t be implemented natively through UDD or the JavaScript profile; it lacks access to https modules or encryption APIs.
The Script Engine runs locally within Kepware, making direct calls via the internal networking stack. All traffic goes out as plain HTTP.
It doesn’t use any system libraries (like Windows SChannel or OpenSSL).
TLS support for UDD is not currently on the Kepware roadmap as of the latest releases.
Workarounds:
Use an external middleware (Node-RED, Python, or a small REST proxy) that handles HTTPS requests and exposes a local HTTP endpoint for UDD to consume.
Or, if the target REST API supports it, enable a local unencrypted endpoint (HTTP) inside your trusted network, then isolate encryption at the network perimeter.
This is the most reliable approach until Kepware adds native HTTPS support for UDD.
Thanks,
