...
- p:formatBeforeWrite précise si la carte doit être formatée avant l'encodage
- p:key keyStart spécifie la PICC Master Key qui sera appliquée à la fin de l'encodage
- p:keyType le type de clé (DES ou ASE)
- p:keyVersion la version de la clé
...
- utilisée pour s'authentifier sur la carte avant l'encodage
- p:keyTypeStart est le type de la clé (DES ou AES) pré-positionnée sur la carte avant l'encodage
- p:keyFinish spécifie la PICC Master Key qui sera positionnée sur la carte après l'encodage (si pas de changement de clé, il faut saisir la même valeur de pour p:keyStart)
- p:keyTypeFinish est le type de la clé (DES ou AES) positionnée sur la carte après encodage (si pas de changement de clé, il faut saisir la même valeur de pour p:keyTypeStart)
- p:keyVersionFinish est le numéro de version attribué à la nouvelle clé en fin d'encodage (n'a aucune incidence sur le fonctionnement de la carte mais peut permettre de s'assurer que l'encodage est bien complet)
Info |
---|
Une clé de type p:keyStart |
...
="0000000000000000" p: |
...
keyTypeStart="DES" |
...
est une clé PICC par défaut pour une carte Desfire. Avec cette clé la carte reste formatable facilement à l'aide d'un smartphone par exemple. |
Bloc de code | ||
---|---|---|
| ||
<bean id="desfireComueTagEsupSgc" class="org.esupportail.nfctag.beans.DesfireTag" p:formatBeforeWrite="false" p:keyStart="0000000000000000" p:keyTypeStart="DES" p:keyVersionStart="00":keyFinish="0000000000000000" p:keyTypeFinish="DES" p:keyVersionFinish="00"> <property name="applications"> <util:list> <bean class="org.esupportail.nfctag.beans.DesfireApplication" p:desfireAppId="AB0123" p:amks="0B" p:nok="84"> <property name="files"> <util:list> <bean class="org.esupportail.nfctag.beans.DesfireFile" p:fileNumber="00" p:communicationSettings="03" p:accessRights="1223" p:fileSize="1F0000" p:tagWriteApi-ref="idp2sTagWriteEsupSgc"/> </util:list> </property> <property name="keys"> <util:list> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="00" p:keyVer="01" p:type="AES" p:key="00000000000000000000000000000000"/> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="01" p:keyVer="01" p:type="AES" p:key="00000000000000000000000000000000"/> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="02" p:keyVer="01" p:type="AES" p:key="00000000000000000000000000000000"/> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="03" p:keyVer="01" p:type="AES" p:key="00000000000000000000000000000000"/> </util:list> </property> </bean> </util:list> </property> </bean> |
...
Bloc de code | ||
---|---|---|
| ||
<bean class="org.esupportail.nfctag.beans.DesfireApplication" p:desfireAppId="AB0123" p:amks="0B" p:nok="84"> <property name="files"> <util:list> <bean class="org.esupportail.nfctag.beans.DesfireFile" p:fileNumber="00" p:communicationSettings="03" p:accessRights="1223" p:fileSize="1F0000" p:tagWriteApi-ref="idp2sTagWriteEsupSgc"/> </util:list> </property> <property name="keys"> <util:list> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="00" p:keyVer="01" p:type="AES" p:key="00000000000000000000000000000000"/> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="01" p:keyVer="01" p:type="AES" p:key="00000000000000000000000000000000"/> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="02" p:keyVer="01" p:type="AES" p:key="00000000000000000000000000000000"/> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="03" p:keyVer="01" p:type="AES" p:key="00000000000000000000000000000000"/> </util:list> </property> </bean> |
Dans cet exemple, l'application a pour identifiant AB0123identifiant p:desfireAppId="AB0123", elle est configurée avec p:nok à 84 qui indique 4 clés AES
...
Dans notre cas l'application possède un fichier numéro "00" et 4 clés de type AES.(p:fileNumber="00")
Le ficher est paramétré avec les autorisations suivantes suivantes p:accessRights="1223" :
clé 1 pour la lecture
clé 2 pour l’écriture
clé 2 pour lecture et écriture
clé 3 pour le changement d’autorisations
La clé 0 est la Master Key de l'application, dans l’exemple toutes les clés sont à zéro et insérées en tant que version "01"." (p:keyVer="01")
Info |
---|
Il n'est plus nécessaire de préciser le type de clé au niveau des beans DesfireKey, celui-ci est déterminé par la valeur de l'attribut p:nok de la DesfireApplication :
L'attribut p:type doit etre supprimé au niveau des clés |
La valeur à écrire dans le fichier est définie par p:tagWriteApi-ref
...
applicationContext-custom.xml
Ajout d'une configuration NFC pour une autentification en DESFIRE (NfcAuthConfig)
Bloc de code | ||
---|---|---|
| ||
<bean id="desfireAuthSiServices" class="org.esupportail.nfctag.service.api.impl.DesfireReadConfig">
<property name="desfireKeyNumber" value="01"/>
<property name="desfireFileNumber" value="00"/>
<property name="desfireAppId" value="AB0123"/>
<property name="desfireAppName" value="si-service"/>
<property name="desfireFileSize" value="1F0000"/>
<property name="desfireFileOffset" value="000000"/>
<property name="desfireKey" value="00000000000000000000000000000000"/>
<property name="description" value="Authentification SI Service COMUE"/>
</bean> |
...
Info |
---|
L'attribut desfireFileSize n'est plus nécessaire, il doit etre supprimé. |
Ajout d'une application d' affichage du verso de la carte (AppliExtApi)
Bloc de code | ||
---|---|---|
| ||
<bean id="esupSgcVersoExtApi" class="org.esupportail.nfctag.service.api.impl.AppliExtRestWs"> <property name="isTagableUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/isTagable"/> <property name="validateTagUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/validateTag"/> <property name="getLocationsUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/locationsVerso"/> <property name="displayUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/verso"/> <property name="description" value="Web Service Verso"/> </bean> |
La nouvelle propriété displayUrl permet de définir l'emplacement des données qui seront affichées suite à la validation d'un tag. Esup-sgc peut retourner le verso en fonction du csn via cette adresse https://esup-sgc-test.univ-ville.fr/wsrest/nfc/verso.