Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Technical requirements

Java 11 (JDK 11)

Maven

Tomcat 8.5 and superior

Postgres 12 and superior

Reader : Any PC/SC with correct drivers

LDAP or an another database (MySQL for exemple for the users)

Apache shibboleth is required for a production intallation but as the authentication will not be used in a test environment, no need to configure any of this.

These environment involves 3 blocks (+ the campus card app) :

  • the card management system : ESUP-SGC
  • the reader system : ESUP Nfc tag Server
  • the service where the reader is connected : ESUP NFC Tag desktop or ESUP NFC Tag keyboard or ESup-emargement

Installation

Install Esup SGC solutions : Source provides for ESUP-SGC and Esup-nfc-tag-server

Follow the installation and configuration instructions.

Desfire Configuration

In esup-SGC :

Add the configuration for the recognition of the app as a card service : here called for exemple si-service in src/main/resources/META-INF/spring/applicationContext-services.xml

<bean id="cardIdsService" class="org.esupportail.sgcs.cardid.CardIdsService">  
    <property name="cardIdServices">  
	    <list>  
		    <bean class="org.esupportail.sgcs.cardid.HCECardIdService">  
			    <property name="appName" value="si-service"/>  
          <property name="postgresqlSequence" value="card_sequence"/-->  
		    </bean>  
	    </list>  
    </property>  
</bean>

In esup-nfc-tag-server :

Add the test DESFIRE application configuration in the applicationContext-custom.xml (src/main/resources/META-INF/spring/applicationContext-custom.xml)

<bean id="desfireAuthEcarte" class="org.esupportail.nfctag.api.impl.DesfireReadConfig">  
    <property name="desfireKeyNumber" value="01"/>  
    <property name="desfireFileNumber" value="00"/>  
    <property name="desfireAppId" value="112233"/>  
    <property name="desfireIsoId" value="000185000076D2"/> <!--"000185000076D2"/-->  
    <property name="desfireAppName" value="si-service"/>  
    <property name="desfireFileOffset" value="000000"/> <!--10-->  
    <property name="desfireKey" value="FF112233445566778899AABBCCDDEEFF"/>  
    <property name="description" value="Authentification Desfire SI Service"/>  
</bean>

In the applicationContext-desfire.xml

<bean class="org.esupportail.nfctag.beans.DesfireApplication" p:desfireAppId="112233" p:amks="0B" p:nok="83"> <!--p:isoId="000185000076D2" p:desfireAppId="112233"-->  
    <property name="files">  
	    <util:list>  
		    <bean class="org.esupportail.nfctag.beans.DesfireFile" p:fileNumber="00" p:communicationSettings="03" p:accessRights="1FFF" p:tagWriteApi-ref="eCardTagWriteEsupSgc"/>  
		    <bean class="org.esupportail.nfctag.beans.DesfireFile" p:fileNumber="01" p:communicationSettings="03" p:accessRights="2FFF" p:tagWriteApi-ref="eCardTagWriteEsupSgc"/>  
	    </util:list>  
    </property>  
    <property name="keys">  
	    <util:list>  
		    <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="00" p:keyVer="01" p:key="FF112233445566778899AABBCCDDEEFF"/>  
		    <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="01" p:keyVer="01" p:key="FF112233445566778899AABBCCDDEEFF"/>  
		    <bean class="org.esupportail.nfctag.beans.DesfireKey" p:keyNo="02" p:keyVer="01" p:key="FF112233445566778899AABBCCDDEEFF"/>  
	    </util:list>  
    </property>  
</bean>

Added a devRemoteUser="eppnOfTheChosenUser " in the src/main/resources/META-INF/spring/security.properties to by-pass authentication in a test environmnent.

Test the reading with the ESUP NFC reader system

clone and install esup-nfc-tag-desktop (https://github.com/EsupPortail/esup-nfc-tag-desktop)

Java FX is needed

Follow the installation & configuration. (https://www.esup-portail.org/wiki/display/ESUPNFC/ESUP-NFC-TAG-DESKTOP *

Most of all define the esup-nfc-tag instance url in src/main/resources/esupnfctag.properties esupNfcTagServerUrl = https://hostnameOrIpToEsupNFCTagServer

We make sure that the test DesfireKey is the same in the mobile app :

FF112233445566778899AABBCCDDEEFF

Connect the reader.

Configure a Phone with the campuscardapp authenticated by any way you want ; the only requirement is : the user has to be present in the esup SGC database or LDAP configured.

Configure a test room to tag and tag with the test eCard app.

Test the reading with the ESUP NFC keyboard Emulator

clone and install https://www.esup-portail.org/wiki/display/ESUPNFC/ESUP-NFC-TAG-KEYBOARD *

Sources : https://github.com/EsupPortail/esup-nfc-tag-keyboard

Configure the properties in src/main/resources/esupnfctagkeyboard.properties

port = 33333
esupNfcTagServerUrl = https://esup-nfc-tag-dev.normandie-univ.fr
noResponseMessage = -
numeroIds = keyboard-secondary-id, keyboard-csn, keyboard-eppn, keyboard-email
emulateKeyboard = true
forceCsn = false
lineFeed = true
redirect = false
redirectUrlTemplate = https://esup-sgc-dev.normandie-univ.fr/manager/{0}
prefix =
suffix  =
timeBetweenSameCard = 3000
cardReadSleepTime = 1000
onErrorSleepTime = 3000
beforeNextCardSleepTime = 1500

Test the reading with the ESUP attendencies app :

https://esup-emargement-dev.normandie-univ.fr/ (soon available)

Specification : https://www.esup-portail.org/wiki/display/EMARGEMENT *

sources : https://github.com/EsupPortail/esup-emargement

* use right click and trasnlate with your Chrome favorite language

Important Note

You can test without installing the full system and use instead our instancies :

https://esup-nfc-tag-dev.normandie-univ.fr and https://esup-sgc-dev.normandie-univ.fr

Make sure you use the test user with this fields in the mobile app :

  • lastname : Demo
  • surname : Robert
  • birthday: 1982-02-28
  • LibraryId : HUHS0123453

Milestone 1.5 and 1.6

  • Esup-SGC the french open source card management system with eCard comptibility
  • Esup-NFC Tag readers system compatibility with the eCard
  • Compatible services with esup-NFC-Tag : Library(esup nfc keaboard emulation), Culture pass (non open source app), Print (Papercut), Attendance list (Esup-Emargement)