...
Dans la structure de votre carte dans laquelle se trouve déjà par exemple votre applciation de contrôle d'accès, vous allez rajouter une nouvelle application ainsi :
Bloc de code | ||
---|---|---|
| ||
<!-- Application DEUINFO de la carte étudiante européenne nok A3 : ISO enbaled, 3 AES keys amks OA : configuration changeable, free directory list access without master key --> <bean class="org.esupportail.nfctag.beans.DesfireApplication" p:desfireAppId="F58840" p:amks="0B" p:nok="83"> <property name="files"> <util:list> <!-- ESCN File communicationSettings 00 : communication plain text for clear access accessRights E000 : - read access clear 'E' - write access '0' master key only - read/write access clear '0' - change acces rights '0' master key only - fileSize : 16bits -> 000010 -> 100000. --> <bean class="org.esupportail.nfctag.beans.DesfireFile" p:fileNumber="00" p:communicationSettings="00" p:accessRights="E000" p:tagWriteApi-ref="escnDeuInfoTagWriteEsupSgc" /> <!-- Signature (71 ou 72 octets) - taille variable --> <bean class="org.esupportail.nfctag.beans.DesfireFile" p:fileNumber="01" p:communicationSettings="00" p:accessRights="E000" p:tagWriteApi-ref="signatureDeuInfoTagWriteEsupSgc" /> <!-- Certificat - taille variable --> <bean class="org.esupportail.nfctag.beans.DesfireFile" p:fileNumber="02" p:communicationSettings="00" p:accessRights="E000" p:tagWriteApi-ref="certDeuInfoTagWriteEsupSgc"/> </util:list> </property> <property name="keys"> <util:list> <!-- master key of deuInfo application : private app master key of the university --> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="00" p:keyVer="00" p:key="00000000000000000000000000000000" /> <!-- deuinfo master key diversified with ESCN --> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="01" p:keyVer="00" p:desfireKeyService-ref="escnDeuInfoDiversifiedKeyService" /> <!-- deuinfo master key diversified with CSN --> <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="02" p:keyVer="00" p:desfireKeyService-ref="csnDeuInfoDiversifiedKeyService" /> </util:list> </property> </bean> |
La clef 00000000000000000000000000000000 pouvant être changé ici par ce que vous voulez (clef propre à l'université).
Pour que cela fonctionne vous devez en plus également ajouté 5 beans supplémentaires référencés dans cette configuration :
Bloc de code | ||
---|---|---|
| ||
<bean id="escnDeuInfoTagWriteEsupSgc" class="org.esupportail.nfctag.service.api.impl.TagWriteRestWs">
<property name="idFromCsnUrlTemplate" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/getEscDeuInfoEscn?csn={0}"/>
</bean>
<bean id="signatureDeuInfoTagWriteEsupSgc" class="org.esupportail.nfctag.service.api.impl.TagWriteRestWs">
<property name="idFromCsnUrlTemplate" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/getEscDeuInfoSignature?csn={0}"/>
</bean>
<bean id="certDeuInfoTagWriteEsupSgc" class="org.esupportail.nfctag.service.api.impl.TagWriteRestWs">
<property name="idFromCsnUrlTemplate" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/getEscDeuInfoCertificat?csn={0}"/>
</bean>
<bean id="csnDeuInfoDiversifiedKeyService" class="org.esupportail.nfctag.service.desfire.DesfireDiversificationService">
<property name="baseKey" value="11111111111111111111111111111111"/>
</bean>
<bean id="escnDeuInfoDiversifiedKeyService" class="org.esupportail.nfctag.service.desfire.DesfireDiversificationService">
<property name="baseKey" value="11111111111111111111111111111111"/>
<property name="tagWriteApi">
<bean class="org.esupportail.nfctag.service.api.impl.TagWriteRestWs">
<property name="idFromCsnUrlTemplate" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/getEscDeuInfoEscn?csn={0}"/>
</bean>
</property>
</bean> |
Ici la clef 11111111111111111111111111111111 est donnée 2 fois de suite et elle doit correspondre à la clef de base de diversification fourni par ESC. Cette clef est partagée par tous les établissements, il est important de faire en sorte de ne pas la divulguer !
Délégation d'applications Mifare Desfire EV2 (en cours d'implémentation)
...