chip_authenticity.
La lecture se fait dans une application native. Les navigateurs ne savent pas lire ces puces (Web NFC ne lit que les étiquettes NDEF, et n’existe pas sur iPhone). La carte d’identité papier du Niger n’a pas de puce.
Comment ça marche
La puce ne s’ouvre qu’avec le numéro du document, la date de naissance et la date d’expiration, imprimés dans la MRZ : l’application les lit à la caméra ou les fait saisir. Le téléphone ne décide de rien : il transmet les fichiers tels quels (EF.SOD, EF.DG1, EF.DG2), et c’est VerifNer qui les authentifie. Une application modifiée ne peut donc pas faire passer une fausse puce.
Le champ chip
Ajoutez chip au corps JSON de POST /v1/sessions/{id}/verify (ou de POST /v1/verify), en base64 :
dg2 (le portrait, 15 à 30 Ko, quelques secondes de lecture) est facultatif mais recommandé : la comparaison faciale se fait alors avec le portrait signé. En multipart/form-data, envoyez le même objet en texte JSON dans un champ chip. Un chip mal formé est refusé en 400 invalid_request.
Dans votre application
La lecture de la puce est intégrée aux SDK mobiles de VerifNer. Elle est désactivée par défaut : chaque SDK explique comment l’activer. React Native (@verifner/react-native) : une propriété sur le parcours guidé.
verifner_flutter) : ChipReader().read(key) renvoie les fichiers de la puce, à joindre à l’envoi dans le champ chip.
Sur Android, la puce est ouverte en PACE quand elle le propose, sinon en BAC. Sur iOS (iOS 15, iPhone 7 et suivants), l’application doit déclarer :
- la capacité Near Field Communication Tag Reading (droit
com.apple.developer.nfc.readersession.formats=TAG) ; - dans
Info.plist,NFCReaderUsageDescriptionetcom.apple.developer.nfc.readersession.iso7816.select-identifierscontenantA0000002471001.
La clé de la puce
La puce ne s’ouvre qu’avec trois valeurs de la MRZ. Pour éviter de les faire saisir, envoyez la photo qui montre la MRZ (la page du passeport, le verso d’une carte) àPOST /v1/sessions/{id}/mrz, avec le jeton client, en multipart/form-data dans le champ image :
{ "key": null }, et l’application demande les trois valeurs à la personne. Rien n’est conservé ni facturé. Le SDK React Native le fait pour vous.
Ce que la puce prouve, et ce qu’elle ne prouve pas
- Prouvé : les données de la puce n’ont pas été modifiées depuis que l’État les a écrites, et elles correspondent au document photographié.
- Prouvé si l’État est enregistré : le signataire appartient bien à l’État émetteur. Sinon le contrôle reste en
warn. - Non prouvé : que la puce n’est pas une copie d’une puce authentique. La photo, le selfie et les autres contrôles continuent de compter.