Luckily Apex will have the ability to store quite a large number of keys (>100) if you allow enough storage space and don’t fill it up with other stuff. Each resident key will take up about 250 bytes more or less, so you can do some basic math on that.
The fido2 applet code also does not define slots but instead parses available memory. If no memory is available it returns CTAP error KEY_STORE_FULL.
Fidesmo is working on a workaround. Basically the issue is apple iPhone… they limit an NFC session to a very short amount of time. This means large data transfers will time out. They have tried to break deployment up into smaller chunks but some chunks can ot be split.
Basically this is an Apple problem. The solution may just be to borrow and Android phone to do deployment.
I’m also looking at the FIDO2 app on the Apex right now, but I just couldn’t install it anymore. Can you tell me what percentage of free memory I need? If I enter some data in applets I don’t seem to have enough memory for the FIDO2 applet anymore.
Yeah the Fido app is rather large. It supports a number of optional elements of the fido2 spec including U2F fallback, so you need at least 48% free space to install it. If you use passkeys or resident keys with the applet you’ll need space for those as well but keys are pretty small.
We are working on a way to profile the applets and give a better experience for assessing memory requirements in Apex Manager.
I see, just tested it with the empty version. Later removed it because it is not certified right now. When I installed and set up the other applets I currently use I realized I couldn’t install it anymore but forgot to look how much space it needs.
Pretty cool by the way that for NDEF the needed amount of space can be set per byte manually.
Another cool little feature is if you decide to deploy the application and set your data during deployment, and then also opt to make it read only as part of the deployment, the system will automatically collapse your actual NDEF record size to the exact amount of bytes necessary for the data your programming. You could tell it you want a 4K container but if you’re only riding 152 bytes, if you set read only to true during deployment then your container will be 152 bytes.
I guess SmartPGP, Satokeeper and FIDO2 is what I want, hope with the newer version of the FIDO2 applet I can fit it on the Apex
FIDO2 is taking a lot more time to be seen as auth. mechanism in the wild for internet application I guess. But I could see it for physical locking systems. Maybe also the HMAC-SHA1 not sure. But I guess I have to build my locking system by myself anyway, to get an NFC enable lock soon
Not sure maybe will also order an Vivokey demo kit (and some swag ) to have look an Spark(2) and its API.