Zymkey with Azure DPS

I am trying to get Zymkey to work with Azure Device Provisioning Service and a Raspberry Pi. I can get the Pi to work with Zymkey, and I can get the Azure IoT Edge Runtime to function on the Pi, but I’m at a loss of how to combine the two. I’m following this set of instructions from Microsoft:

The docs reference a Registration ID and an Endorsement Key. I can’t seem to find what those would correspond to in the Zymbit world, if even if this world has a corresponding set of properties.

@ns-midmark - we have a number of developers who have integrated Zymkey with the Azure stack - so we know it works. One was planning on publishing their code this week - we’ll try and put you in direct connection with them - standby.

1 Like

Thank you, @Phil_of_Zymbit ! That would be tremendously helpful in getting our project off the ground.

Hey @Phil_of_Zymbit, any movement on this? Just wondering if I need to start foraging or if a guiding light is on its way.

Thanks again,
Nathan

For sure there is a release on its way from one of our partner developers. Today they told us that it’s going through an internal review and they hope to post by 4/18.

I would like to be included in this thread if possible?

Sure… just sign up for notifications in this channel. We’ll post when the Azure code is released

Azure IoT SDK Support for Zymbit Security Module.

@ns-midmark @hansvandenakker

This was posted yesterday by Jelani Brandon at Microsoft. We understand from Jelani that there are still a few clean up items that he expects to resolve early next week. Check it out and share your feedback !

https://github.com/Azure/azure-iot-sdk-c/blob/secure_hsm_tutorial/provisioning_client/devdoc/secure_custom_hsm.md

Hello,

Thanks a lot for this documentation :slight_smile:

I tried to run this tutorial, but i have an issue, and i’m not sure it is a problem of azure sdk, openssl or the zymkey openssl engine.

When i launch the samples, the code just block at the line " ENGINE_init(e) "
it only print " Stack frame dump (0): ", then it never return (it use 100% of cpu).

I opened an issue on azure github : https://github.com/Azure/azure-c-shared-utility/issues/303

If you have any idea, it would be nice :slight_smile:

Thanks again,
J

Edit:
the 2 working threads are:

  Id   Target Id         Frame 
* 1    Thread 0x76fef5c0 (LWP 18862) "prov_dev_client" 0x76c37120 in poll () at ../sysdeps/unix/syscall-template.S:84
  2    Thread 0x7680e430 (LWP 18869) "prov_dev_client" 0x769a4cdc in ?? () from /usr/lib/libzk_app_utils.so

perhaps something in libzk_app_utils.so never return ?
openssl commands with -engine zymkey_ssl work correctly, by the way…

Edit2:
a more complete stack trace:

(gdb) bt
#0  0x76c37120 in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x769a5210 in waitOnRxThreadEvent () from /usr/lib/libzk_app_utils.so
#2  0x769a5464 in waitForCmdRspPassStatus () from /usr/lib/libzk_app_utils.so
#3  0x769a5714 in zkOpen () from /usr/lib/libzk_app_utils.so
#4  0x769fe1f4 in ?? () from /usr/lib/arm-linux-gnueabihf/engines-1.1/zymkey_ssl.so
#5  0x769fe1f4 in ?? () from /usr/lib/arm-linux-gnueabihf/engines-1.1/zymkey_ssl.so
#6  0x769fe1f4 in ?? () from /usr/lib/arm-linux-gnueabihf/engines-1.1/zymkey_ssl.so
#7  0x769fe1f4 in ?? () from /usr/lib/arm-linux-gnueabihf/engines-1.1/zymkey_ssl.so
#8  0x769fe1f4 in ?? () from /usr/lib/arm-linux-gnueabihf/engines-1.1/zymkey_ssl.so
#9  0x769fe1f4 in ?? () from /usr/lib/arm-linux-gnueabihf/engines-1.1/zymkey_ssl.so
[...]