Custom Certificates for API

Maybe this should go under support but I haven’t found anything yet about being able to use your own certificates for the API so I guess it’s more of a feature request? Anyway…

I realized just now that I can use the API paired with iOS Shortcuts to easily send items to my inbox with Siri, but I ran into a hurdle. The iOS Shortcuts app apparently has a zero tolerance policy for invalid certificates, and the cert used for the API is a random self-signed cert that doesn’t have the hostname or IP of the Everdo instance I’m using as the server. There’s also no option in the Shortcuts app to just say “ignore this cert error” to get around it.

Of course ignoring the cert error would just be for a proof of concept and is not an ideal long term solution security-wise, so now I’m skipping straight ahead to the part where I try to use a cert issued for my internal domain as the cert for the Everdo API. Anyone know if that’s possible or have done it before?

Update: Yes this is totally doable lol.

After you enable the API you’ll find cert.pem and key.pem files in the Everdo folder. Just replace those with the the cert and key files you’ve issued yourself and restart Everdo. Should spin right up without any issue.

If you’ll be doing what I did and accessing this with an iOS device you may want to review these certificate requirements Apple has had in place since iOS 13/macOS 10.15. Nothing too complex, just don’t forget to also install an MDM profile with the root cert and then trust it as detailed here.

As for the iOS Shortcut it’s very easy, just use the Get Content from URL module and set it to POST, then enter in the header and request body. You can use dictated text for the request body fields and there’s your Siri integration.

I don’t see any need to add any GUI for this or anything since most people won’t bother and those that do will have no trouble accessing the file system to do it, so guess it wasn’t a feature request after all.

Edit: moved from Feature Requests to Usage Questions.