Server returned HTTP response code: 403

Hello,

I first communicated with a new system via response = system.net.httpPost(interface_url, "text/xml", message) where interface_url was using http.

The system allows you to configure it to communicate SSL (install a cert we provide on its server and check require SSL and Require Client certificates in IIS Manager) and I would like to try getting this working as they describe (to lock down who can communicate with this system to only those with the correct client cert).

If I configure their system’s IIS Manager to ‘Require SSL’ and switch my calls to https, it works but not if you select Require client certificates.

I have a client cert and we can communicate with the system (outside of Ignition) if it is installed on the machine we are communicating from.

Looking at the Ignition documentation for the system.net.httpPost call, I don’t think there is a spot where I can specify the location of the client cert… or perhaps I should try installing the client cert on the Ignition server?

There is no mechanism to use client certificates in the system.net.http* calls.

I will submit to ideas portal. In the meantime do I have any other options?

You can use pure Java APIs.

If you’re on Ignition 8 it’s gonna be something like what is detailed here: java - JDK11 HttpClient mutual tls - Stack Overflow

2 Likes