# Will Photon support outbound HTTPS?

**URL:** <https://community.particle.io/t/will-photon-support-outbound-https/11028>\
**Category:** Firmware\
**Created:** [April 1, 2015, 6:21pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028 "2015-04-01T18:21:39Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jdr](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/jdr/32/3435_2.png) [@jdr](https://community.particle.io/u/jdr)\
**Post date:** [April 1, 2015, 6:21pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/1 "2015-04-01T18:21:39Z")

</div>

Been using Cores for a year - love 'em in my projects. Waiting for my Photons to ship (hope that’s soon!). In the Core, you couldn’t do outbound HTTPS calls because of RAM limitations (HTTPS is only available to/from the Spark Cloud). Given the larger RAM in the Photon (128KB), does this mean the Firmware will now support outbound HTTPS to other sites?

I am aware of the recent (awesome) new feature around Webhooks. Even so… I do not think this replaces the desire to just directly make HTTPS calls from the device. Any input/info on this? Or maybe you think Webhooks are the one true way to handle this, even on the Photon? Didn’t see this Q asked elsewhere on the Community, so apologies if it was buried somewhere else.

Related, I am pushing data from my Core/Photon to a local Raspberry Pi node.js server on my LAN, but I want to secure that communication. I am aware of this proposed solution ([http://community.spark.io/t/aes-encryption-demo-and-secure-tcpclient-usage/6092/7](http://community.spark.io/t/aes-encryption-demo-and-secure-tcpclient-usage/6092/7)), but I’d rather just make an HTTPS call to my Raspberry Pi server and save myself the hackery on encrypting the TCP socket.

Thanks!  
Joe

---

<div class="post-metadata">

**Author:** ![Dave](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/dave/32/181_2.png) [@Dave](https://community.particle.io/u/Dave)\
**Post date:** [April 1, 2015, 10:33pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/2 "2015-04-01T22:33:06Z")

</div>

Hi @jdr,

Good question! As far as I know, HTTPS requests should be possible on the Photon, but it’s not something I’ve tried personally yet!

Thanks,  
David

---

<div class="post-metadata">

**Author:** ![jdr](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/jdr/32/3435_2.png) [@jdr](https://community.particle.io/u/jdr)\
**Post date:** [April 8, 2015, 6:41pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/3 "2015-04-08T18:41:36Z")

</div>

Any update here? I should be receiving my pre-ordered Photons in the next few weeks and I’m trying to plan out a whole chunk of additional work around my IoT projects. It’s basically a choice between waiting for a Photon that can just do real HTTPS calls to a server on my LAN (handling all the TLS/cert stuff in RAM), or, if that’s not gonna be possible, I need to write my own TCP client/server that does a light version of key exchange/signing.

I assume when customers have Photons, Spark will need to “fork” or label its documentation so that it’s clear what firmware capabilities apply to original Cores (I have 2 of these) and what new functionality is available only on Photons (I am receiving 2 of these soon). Updating your TCP Client documentation would be included in this, I’d assume.

Joe

---

<div class="post-metadata">

**Author:** ![IOTrav](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/iotrav/32/7707_2.png) [@IOTrav](https://community.particle.io/u/IOTrav)\
**Post date:** [May 11, 2015, 6:17pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/4 "2015-05-11T18:17:41Z")

</div>

Bump to this question! HTTPS would be so cool!

---

<div class="post-metadata">

**Author:** ![aj8uppal](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/aj8uppal/32/3522_2.png) [@aj8uppal](https://community.particle.io/u/aj8uppal)\
**Post date:** [May 25, 2015, 3:18am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/5 "2015-05-25T03:18:12Z")

</div>

I am trying HTTPS on the Photon I snagged at the MF but it does not work. It could be that I am doing something wrong in building the request.  
So, for the request to [http://www.google.com](http://www.google.com), I use the TCPClient object and  
client.connect(server, 80) and everything works fine.

But when I replace port 80 with 443 it does not work.  
Curl to [https://www.google.com](https://www.google.com) works fine from a shell on my Mac.

Help!

AJ

---

<div class="post-metadata">

**Author:** ![mdma](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mdma/32/1924_2.png) [@mdma](https://community.particle.io/u/mdma)\
**Post date:** [May 25, 2015, 3:32am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/6 "2015-05-25T03:32:43Z")

</div>

HI @aj8uppal!

Just in case you’re not aware, HTTPS is a lot more than just a change of port - it must run over secure sockets (SSL/TLS) at the transport layer. At present secure sockets is not available on the photon although we would very much like it to be supported in a future release.

When support is available, it’s not something that will happen automatically, but must be specifically requested by your code, such as by changing `TCPClient` to `SSLClient` or similar.

I hope that helps!  
mat.

---

<div class="post-metadata">

**Author:** ![frlobo](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/frlobo/32/1279_2.png) [@frlobo](https://community.particle.io/u/frlobo)\
**Post date:** [May 25, 2015, 4:20am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/7 "2015-05-25T04:20:23Z")

</div>

+1 on HTTPS Support!

---

<div class="post-metadata">

**Author:** ![aj8uppal](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/aj8uppal/32/3522_2.png) [@aj8uppal](https://community.particle.io/u/aj8uppal)\
**Post date:** [May 25, 2015, 5:18am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/8 "2015-05-25T05:18:53Z")

</div>

Thanks Mat. I figured I was doing something wrong.

Native HTTPS support would be great. I am using tempoiq and it does not allow HTTP posts, so I need to insert an intermediary (am using a Raspberry Pi), but it would be great if I can eliminate the extra device. I guess I should look into Webhook in the interim but it looks like there are posting limitations.

AJ

---

<div class="post-metadata">

**Author:** ![aaltieri](https://avatars.discourse-cdn.com/v4/letter/a/4af34b/32.png) [@aaltieri](https://community.particle.io/u/aaltieri)\
**Post date:** [August 3, 2015, 12:47am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/9 "2015-08-03T00:47:12Z")

</div>

Sorry to nag. But any update on this?

If not, I understand that there is a secure socket connection made from the Photon to the Particle Cloud. Any way to modify that to connect to another server?

I’m in a similar boat to AJ. I can send HTTP posts all day long, but my servers require HTTPS. And being able to send directly to them without the intermediary would be bloody spectacular. Especially since it rather sounds like something the hardware can handle?

Thanks!

–anthony

---

<div class="post-metadata">

**Author:** ![aj8uppal](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/aj8uppal/32/3522_2.png) [@aj8uppal](https://community.particle.io/u/aj8uppal)\
**Post date:** [August 3, 2015, 5:51am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/10 "2015-08-03T05:51:48Z")

</div>

+1 again for https support.

At the SolidCon event in SF, I saw the WolfSSL booth - would such a solution work ? It said it was for IOT…

thx,

A.J.

---

<div class="post-metadata">

**Author:** ![JumpMaster](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/jumpmaster/32/6332_2.png) [@JumpMaster](https://community.particle.io/u/JumpMaster)\
**Post date:** [August 3, 2015, 6:51am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/11 "2015-08-03T06:51:41Z")

</div>

I don’t see SSL support happening anytime soon. It’s very complicated, very CPU/memory intensive, and needed by very few people. The photon is a new device and still has a lot of bugs to fix and basic features to implement.

If you need it desperately maybe you should try to make it yourself? I can’t find anything for the Arduino (bad sign). This topic describes some of the issues…

> <https://stackoverflow.com/questions/15830333/arduino-due-https-support>

  

> <https://arduino.stackexchange.com/questions/4/how-to-get-https-on-arduino>

---

<div class="post-metadata">

**Author:** ![byroncoetsee](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/byroncoetsee/32/6413_2.png) [@byroncoetsee](https://community.particle.io/u/byroncoetsee)\
**Post date:** [August 13, 2015, 8:01am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/12 "2015-08-13T08:01:33Z")

</div>

+1 for HTTPS support… [Parse.com](http://Parse.com) requires HTTPS connection and they have an Arduino SDK (which unfortunatly I cant get working on the Photon because the IDE doesnt jump or show which file contains the errors)

---

<div class="post-metadata">

**Author:** ![peekay123](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/peekay123/32/810_2.png) [@peekay123](https://community.particle.io/u/peekay123)\
**Post date:** [August 13, 2015, 12:17pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/13 "2015-08-13T12:17:15Z")

</div>

@byroncoetsee, have you considered using webhooks? They were designed specifically to give Particle devices access to HTTPS sites.

---

<div class="post-metadata">

**Author:** ![byroncoetsee](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/byroncoetsee/32/6413_2.png) [@byroncoetsee](https://community.particle.io/u/byroncoetsee)\
**Post date:** [August 14, 2015, 7:49am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/14 "2015-08-14T07:49:57Z")

</div>

I have and am using webhooks… Problem with that is the data goes from Photon -\> Server -\> Parse -\> Server -\> Photon. Rather long winded and the data is very time sensitive. Also, webhooks return a Bool (I think?) when I need full on data…

---

<div class="post-metadata">

**Author:** ![mdma](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/mdma/32/1924_2.png) [@mdma](https://community.particle.io/u/mdma)\
**Post date:** [August 14, 2015, 4:06pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/15 "2015-08-14T16:06:02Z")

</div>

It’s our intent that the photon will eventually support outbound HTTPS. TLS is part of WICED and I believe they have an example HTTPS app.

---

<div class="post-metadata">

**Author:** ![rymo](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rymo/32/6714_2.png) [@rymo](https://community.particle.io/u/rymo)\
**Post date:** [September 2, 2015, 10:19pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/16 "2015-09-02T22:19:42Z")

</div>

Understand this is on the roadmap - that’s great! Just want to share my use-case: authenticating to a guest wi-fi portal. I plan to use `SYSTEM_MODE(SEMI_AUTOMATIC);` and a quick POST to an HTTPS gateway url prior to `Spark.connect();` If it works this gives me more places for my internet gadgets to live. Performance here isn’t critical; even if it took a handful of seconds for the TLS handshake, it will only happen at startup. This simply isn’t something that can be achieved with a webhook!

---

<div class="post-metadata">

**Author:** ![edwintam](https://avatars.discourse-cdn.com/v4/letter/e/3d9bf3/32.png) [@edwintam](https://community.particle.io/u/edwintam)\
**Post date:** [September 3, 2015, 3:06am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/17 "2015-09-03T03:06:22Z")

</div>

+1 for HTTPS support. It’s value is getting more and more important in the IoT world and very soon it would become a differentiation tool. Many purchase decisions will be heavily influenced by the availability of this feature. No joking.

---

<div class="post-metadata">

**Author:** ![anlek](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/anlek/32/5083_2.png) [@anlek](https://community.particle.io/u/anlek)\
**Post date:** [September 15, 2015, 12:43am UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/18 "2015-09-15T00:43:19Z")

</div>

+1 here as well.

---

<div class="post-metadata">

**Author:** ![jersey99](https://avatars.discourse-cdn.com/v4/letter/j/eb8c5e/32.png) [@jersey99](https://community.particle.io/u/jersey99)\
**Post date:** [September 24, 2015, 9:19pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/19 "2015-09-24T21:19:17Z")

</div>

Hey All,

We decided to take a stab at it, and made a version of httpsclient. Have a look and most importantly feel free to ask questions and contribute.

> [@HTTPS client is here for the Photon! - by the glowfi.sh Team](https://community.particle.io/t/https-client-is-here-for-the-photon-by-the-glowfi-sh-team/15934):
>
> Hey Community, We have been working hard at glowfi.sh to deliver an HTTPS client for the Particle community and I am happy to say we are ready to release it thanks to all the work by glowfi.sh engineer @jersey99. Our client is built from matrixSSL, and you can check out our documentation, specs, and examples in our glowfishAPI repo for Particle [here](https://github.com/glowfishAPI/httpsclient-particle). Again, we are super excited to release this and welcome any comments, feedback, pull requests, etc.! Thanks Mike and the glowfi.sh Team [Sign u…](https://api.glowfi.sh/register)

Pinging people on this thread here: @jdr @mdma @aj8uppal @frlobo@JumpMaster @peekay123 @ScruffR

---

<div class="post-metadata">

**Author:** ![dougM](https://avatars.discourse-cdn.com/v4/letter/d/b38774/32.png) [@dougM](https://community.particle.io/u/dougM)\
**Post date:** [December 2, 2015, 5:52pm UTC](https://community.particle.io/t/will-photon-support-outbound-https/11028/20 "2015-12-02T17:52:42Z")

</div>

Can you provide a simple example to get a page from an https server?

[Next page](https://community.particle.io/t/will-photon-support-outbound-https/11028.md?page=2)
