Arborescence des pages

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=614990172) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 2) afficher la version suivante »

applicationContext-desfire.xml

Dans le ficher applicationContext-desfire.xml on trouve la structure et les données qui seront écrites sur la carte lors de l’encodage.

Un premier objet DesfireTag décrit la carte en elle même :

  • p:formatBeforeWrite précise si la carte doit être formatée avant l'encodage
  • p:key 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é

La clé p:key="0000000000000000" p:keyType="DES" p:keyVersion="00"  est la clé PICC par défaut pour une carte Desfire. Avec cette clé la carte reste formatable .

<bean id="desfireComueTagEsupSgc" class="org.esupportail.nfctag.beans.DesfireTag" p:tagWriteApi-ref="idp2sTagWriteEsupSgc" p:formatBeforeWrite="false" p:key="0000000000000000" p:keyType="DES" p:keyVersion="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>

 

L'objet DesfireTag peut contenir une liste de DesfireApplication.

Voici la structure d’une application DesfireApplication:

<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 AB0123, elle est configurée avec p:nok  à 84 qui indique 4 clés AES  

L'application  peut contenir des fichiers de type DesfireFile et des clés DesfireKey

Dans notre cas l'application possède un fichier numéro "00" et 4 clés de type AES.

Le ficher est paramétré avec les autorisations suivantes :

  • 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".

La valeur à écrire dans le fichier est définie par p:tagWriteApi-ref

Il faut configurer l’url qui permet de récupérer cette valeur (ici c'est esup-sgc qui fournit la donnée) :

<bean id="idp2sTagWriteEsupSgc" class="org.esupportail.nfctag.service.api.impl.TagWriteRestWs">
 <property name="idFromEppnInitUrl" value="https://esup-sgc-test.univ-rouen.fr/wsrest/nfc/idFromEppnInit"/>
</bean>

applicationContext-custom.xml

Ajout d'une configuration NFC pour une autentification en DESFIRE

 

<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>

 

Avec cet exemple le client ira lire le fichier 00 de l'application desfire desfireAppId : AB0123 présente sur la carte à l'aide de la clé desfireKey : 00000000000000000000000000000000. Esup-nfc-tag-server enverra le contenu du fichier desfire ainsi que le desfireAppName : si-service (dans notre cas) à l'application TagIdCheck paramétrée dans esup-nfc-tag-server.

Ajout d'une application d' affichage du verso de la carte

 

 

    <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.

  • Aucune étiquette