Search code examples
authenticationhomekit

How to do Homekit Software Authentication?


My company had developed his own smart home hardware which uses MQTT protocol. We can't use any Apple Authorization Coprocessor chip in our hardware. I have heard the apple had released Software Authentication for HomeKit.

But I searched a lot but not got how to do that.

I was using homebridge previously but that was a big trouble for supporting all devices. Can anyone please give me steps for how to do Software Authentication for HomeKit.**


Solution

  • Software or hardware authentication is used to verify with Apple that the accessory is an official "Made for iPhone" product. It's stands apart from the HomeKit Protocol that is specified here.

    When your company wished to make official HomeKit Accessories, you must enroll your company to the MFI Program. (This is different than the Developer Program for making apps). When you are enrolled, you'll also get all the documentation needed for the Software Authentication.

    Keep in mind that the software authentication is only an alternative so you don't have to use the hardware authentication chip. You still have to comply to all the requirements and rules of the HomeKit Protocol.

    You are stating that you are using MQTT. Officially this can't be used to control your accessories with HomeKit. HomeKit must communicate directly with it's own protocol to the accessory. When you are using something like a bridge (What Philips Hue is doing). Then you may only control non IP or Bluetooth devices with that bridge. Please see chapter bridges from the specification. At the time of writing this is chapter 2.5.3.2 from Non-Commercial version R1: Accessories that support IP transports, such as Wi-Fi, must not be bridged.