# Telehealth URL encryption

**URL:** <https://devforum.zoom.us/t/telehealth-url-encryption/19856>\
**Category:** API and Webhooks\
**Created:** [June 1, 2020, 6:56pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856 "2020-06-01T18:56:38Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrisyo](https://avatars.discourse-cdn.com/v4/letter/c/58f4c7/32.png) [@chrisyo](https://devforum.zoom.us/u/chrisyo)\
**Post date:** [June 1, 2020, 6:56pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/1 "2020-06-01T18:56:38Z")

</div>

Hi, my organization is trying to Integrate telehealth. It is purchasedan a JWT is active. Working on getting custCreate enabled. I followed the medium article, and will most likely do encryption of URL using C# in an SSIS package. The issue is the encryption. The key we have been given is 36 bytes, way to long for AES 128 specified in the article. As such, I am having trouble even testing the encryption. The website used for encryption in the article is the only site that accepts a key of that length. Is the nonce part of the key? Has the AES-GCM change altered the process? Do we have examples on the encryption? I have seen references to GitHub/zoom/zoomUtils and that is now a dead link. Please help!

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [June 4, 2020, 10:04pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/2 "2020-06-04T22:04:08Z")

</div>

Hey @chrisyo,

> [@chrisyo](#):
>
> Has the AES-GCM change altered the process?

Good question. For the [Telehealth integration](https://medium.com/zoom-developer-blog/integrating-zoom-into-your-emr-platform-692d112def40), we only support AES 128 bit encryption.

> [@chrisyo](#):
>
> The key we have been given is 36 bytes, way to long for AES 128 specified in the article.

Are you referring to the API Key? Make sure it is from a [JWT App](https://marketplace.zoom.us/docs/guides/build/jwt-app).

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![chrisyo](https://avatars.discourse-cdn.com/v4/letter/c/58f4c7/32.png) [@chrisyo](https://devforum.zoom.us/u/chrisyo)\
**Post date:** [June 8, 2020, 6:10pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/3 "2020-06-08T18:10:50Z")

</div>

Hi Tommy thanks.  
I think I figured it out. Using the AES site linked in the medium article I looked at the actual code. It truncates the key. Doing this, I rewrote the code in C# for my workflow and was able to decrypt using their java example.  
One question I have is :  
Should we be calling applications.zoom in the URL or just [zoom.us](http://zoom.us)? The former gives an API key error and the latter gives a decrypt error.  
Secondly,  
I have emailed isv@zoom twice with no response to get custCreate enabled. Can you help with that? I can PM you our enterprise/telehealth info, just let me know.  
Thanks!

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [June 12, 2020, 5:51pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/4 "2020-06-12T17:51:30Z")

</div>

Hey @chrisyo,

Happy to hear you figured it out!

> [@chrisyo](#):
>
> Should we be calling applications.zoom in the URL or just [zoom.us](http://zoom.us)? The former gives an API key error and the latter gives a decrypt error.

It should be [applications.zoom.us](http://applications.zoom.us). Do you have a [Zoom healthcare account](https://zoom.us/healthcare) with ISV enabled?

Apologies for the delayed responses from the ISV team, they are very backed up and working as fast as they can to support everyone.

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![vmelik](https://avatars.discourse-cdn.com/v4/letter/v/da6949/32.png) [@vmelik](https://devforum.zoom.us/u/vmelik)\
**Post date:** [August 4, 2020, 11:07pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/5 "2020-08-04T23:07:18Z")

</div>

Hi @chrisyo, did you use AES-GCM encryption mode? Is there an online tool that we can use? For the encryption key, did you use firstv32 bytes of the API secret? Thanks.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 5, 2020, 9:58pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/6 "2020-08-05T21:58:54Z")

</div>

Hey @vmelik,

Have you tried using the online tool mentioned in the article?

> **[Integrating Zoom Into Your EMR Platform](https://medium.com/zoom-developer-blog/integrating-zoom-into-your-emr-platform-692d112def40)**
>
> Zoom has recently come out with a new and improved version of the Epic integration which can be found in Zoom’s Marketplace. This…

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![vmelik](https://avatars.discourse-cdn.com/v4/letter/v/da6949/32.png) [@vmelik](https://devforum.zoom.us/u/vmelik)\
**Post date:** [August 13, 2020, 4:17pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/7 "2020-08-13T16:17:41Z")

</div>

Thanks @tommy. We have finally got this working after we found the right combination of encryption type, mode and padding.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 13, 2020, 5:54pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/8 "2020-08-13T17:54:41Z")

</div>

Great! Thanks for the follow up, and thanks for building with Zoom! 🙂

-Tommy

---

<div class="post-metadata">

**Author:** ![hkhatri](https://avatars.discourse-cdn.com/v4/letter/h/d78d45/32.png) [@hkhatri](https://devforum.zoom.us/u/hkhatri)\
**Post date:** [February 23, 2021, 11:59am UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/9 "2021-02-23T11:59:11Z")

</div>

Hi @vmelik, Can you please give me right combination of encryption type, mode and padding to encrypt data.

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [February 23, 2021, 4:05pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/10 "2021-02-23T16:05:09Z")

</div>

Hey @hkhatri,

Let us know if you have any questions we can assist with!

Best,  
Will

---

<div class="post-metadata">

**Author:** ![hkhatri](https://avatars.discourse-cdn.com/v4/letter/h/d78d45/32.png) [@hkhatri](https://devforum.zoom.us/u/hkhatri)\
**Post date:** [February 24, 2021, 4:59am UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/11 "2021-02-24T04:59:22Z")

</div>

Hi, @will.zoom i am facing issue with data encryption.

Error: Data decryption failed

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/7/2/72cc9eb018d30fe488fbd9783ba5c05a598294d2.png)

I followed below article, but it didn’t help me.

> **[Integrating Zoom Into Your EMR Platform](https://medium.com/zoom-developer-blog/integrating-zoom-into-your-emr-platform-692d112def40)**
>
> Zoom has recently come out with a new and improved version of the Epic integration which can be found in Zoom’s Marketplace. This…

So can you please give me right way to encrypt data.

Like, Right combination of encryption type, mode and padding to encrypt data.

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [February 24, 2021, 3:10pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/12 "2021-02-24T15:10:54Z")

</div>

Hi @hkhatri,

Can you ensure that you’ve handled the following:

- You’ve AES encrypted (128 bit) your string using the Zoom API secret as the plain-text key and SHA1 as the hash
- You’ve then URL encoded the encrypted string
- You’re on a Pro or higher plan
- You’ve had custCreate enabled for your Zoom Account

Please double check each of these settings and let me know.

Thanks,  
Will

---

<div class="post-metadata">

**Author:** ![hkhatri](https://avatars.discourse-cdn.com/v4/letter/h/d78d45/32.png) [@hkhatri](https://devforum.zoom.us/u/hkhatri)\
**Post date:** [February 24, 2021, 6:00pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/13 "2021-02-24T18:00:54Z")

</div>

Hi @Eddie_Soliman

Can you please give me right data AES encryption sample code to encrypt data.  
Because it giving me “Data decryption failed” error.

---

<div class="post-metadata">

**Author:** ![hkhatri](https://avatars.discourse-cdn.com/v4/letter/h/d78d45/32.png) [@hkhatri](https://devforum.zoom.us/u/hkhatri)\
**Post date:** [February 24, 2021, 6:03pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/14 "2021-02-24T18:03:48Z")

</div>

> [@will.zoom](#):
>
> - You’ve AES encrypted (128 bit) your string using the Zoom API secret as the plain-text key and SHA1 as the hash
> - You’ve then URL encoded the encrypted string
> - You’re on a Pro or higher plan
> - You’ve had custCreate enabled for your Zoom Account

I am on pro version and already request for custCreate enabled for my Zoom Account.  
But still giving me “Data decryption failed” error.

Can you please give me right data AES encryption sample code to encrypt data.

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [February 25, 2021, 3:57pm UTC](https://devforum.zoom.us/t/telehealth-url-encryption/19856/15 "2021-02-25T15:57:29Z")

</div>

Hi @hkhatri,

Thanks for confirming these details. I’ve just private messaged you for some details around what values you’re passing in your encrypted URL so that we can further investigate.

Please reply back to my message with those additional details.

Thanks,  
Will
