# Server returned HTTP response code: 403

**URL:** <https://forum.inductiveautomation.com/t/server-returned-http-response-code-403/55370>\
**Category:** Ignition\
**Created:** [January 25, 2022, 6:40pm UTC](https://forum.inductiveautomation.com/t/server-returned-http-response-code-403/55370 "2022-01-25T18:40:01Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dion.botha](https://avatars.discourse-cdn.com/v4/letter/d/46a35a/32.png) [@dion.botha](https://forum.inductiveautomation.com/u/dion.botha)\
**Post date:** [January 25, 2022, 6:40pm UTC](https://forum.inductiveautomation.com/t/server-returned-http-response-code-403/55370/1 "2022-01-25T18:40:01Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 25, 2022, 6:55pm UTC](https://forum.inductiveautomation.com/t/server-returned-http-response-code-403/55370/2 "2022-01-25T18:55:53Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![dion.botha](https://avatars.discourse-cdn.com/v4/letter/d/46a35a/32.png) [@dion.botha](https://forum.inductiveautomation.com/u/dion.botha)\
**Post date:** [January 25, 2022, 7:55pm UTC](https://forum.inductiveautomation.com/t/server-returned-http-response-code-403/55370/3 "2022-01-25T19:55:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 25, 2022, 7:57pm UTC](https://forum.inductiveautomation.com/t/server-returned-http-response-code-403/55370/4 "2022-01-25T19:57:04Z")

</div>

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](https://stackoverflow.com/questions/63022464/jdk11-httpclient-mutual-tls)
