This PR implements multiple identity support for the NK Start. Identities are changed with ccid command 0x85 (or tool/set_identity.py). The card serial number is different for each identity, each identity has its own keys, data objects, and cert-DOs. All identities are identical in functionality, with the exception of identity 2, where the cert-DO is limited in size to 1 page (1kb) rather than 2kb like in identities 0 and 1. Factory reset currently resets the current identity only. The firmware update key is global to all identities. Changing identity resets the device and causes a USB re-enumeration.
This PR implements multiple identity support for the NK Start. Identities are changed with ccid command 0x85 (or tool/set_identity.py). The card serial number is different for each identity, each identity has its own keys, data objects, and cert-DOs. All identities are identical in functionality, with the exception of identity 2, where the cert-DO is limited in size to 1 page (1kb) rather than 2kb like in identities 0 and 1. Factory reset currently resets the current identity only. The firmware update key is global to all identities. Changing identity resets the device and causes a USB re-enumeration.