cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

ThingWorx Navigate is now Windchill Navigate Learn More

Translate the entire conversation x

HTTPS in Kepware Universal Device Driver?

Ascherer17
15-Moonstone

HTTPS in Kepware Universal Device Driver?

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: 

  • Has anyone successfully implemented TLS/HTTPS calls via UDD?
  • How does the back-end Script Engine make the calls to the remote host? 
  • Does the Script Engine use a particular library for the calls? 
  • Is TLS support on the UDD roadmap?
ACCEPTED SOLUTION

Accepted Solutions

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:

  1. 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.

  2. 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,

Shashi Preetham,
+91 8099838001 | shashi@psptechhub.com,
PSPTechHub  ||  World of PTC Thingworx  ||  LinkedIn

View solution in original post

1 REPLY 1

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:

  1. 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.

  2. 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,

Shashi Preetham,
+91 8099838001 | shashi@psptechhub.com,
PSPTechHub  ||  World of PTC Thingworx  ||  LinkedIn
Announcements


Top Tags