...
L'application est ainsi construite suivant ce schéma :
View file | ||||
---|---|---|---|---|
|
Mise en oeuvre
La mise en oeuvre de l'encodage de l'application DEUINFO se fait principalement côté esup-nfc-tag-server. De même esup-nfc-tag-server permet également de lire et vérifier l'ensemble des mécanismes d'une DEUINFO.
...
Au préalable, vous aurez suivi la procédure ESC permettant de générer vos clefs et certificats d'établissements propres à la DEUINFO. Vous aurez également récupéré la clef de base ESC (clef partagée entre établissement mais qui doit restée secrète) permettant la diversification des clefs selon ESCN et UID.
...
ESUP-
...
SGC
Dans applicationContext-crous.xml, modifiez le bean escDeuInfoService pour le décommenter au besoin et faire pointer la clef et certificat vers la clef et certificat récupéré depuis la procédure ESC :
Bloc de code |
---|
<bean id="escDeuInfoService" class="org.esupportail.sgc.services.esc.EscDeuInfoService"> <property name="deuInfoPrivateKey" value="classpath:META-INF/security/esc/ca.intermediate.key.der"/> <property name="deuInfoPublicKey" value="classpath:META-INF/security/esc/ca.intermediate.cert.der" /> </bean> |
La récupération éventuelle des certificats des établissements partenaires lors de la lecture et validation de la DEUINFO d'une carte partenaire utilise l'API europeanStudentCardService déjà paramétré. Aussi rien d'autre n'est à paramétré côté ESUP-SGC
ESUP-NFC-TAG
Ecriture
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> |
Délégation d'applications Mifare Desfire EV2 (en cours d'implémentation)
...