2 encodeurs sont disponibles dans ESUP-SGC, ils se lancent via JavaWebStart (JWS) depuis un fichier JNLP téléchargeable depuis le serveur esup-sgc. Pour que cela fonctionne, et vis à vis des contrôles de sécurité Java, les jar pointés par les fichiers JNLP doivent être signés.
La signature du jar est appelée dans la tâche maven sign (intégrée au packaging mvn package). Dans le fichier pom.xml de esup-sgc-client (et esup-sgc-client-zxp3) vous trouvez la configuration suivante :
<configuration> <keystore>src/etc/keystore.jks</keystore> <alias>server</alias> <storepass>leocarte</storepass> <keypass>leocarte</keypass> </configuration> |
Le fichier src/etc/keystore.jks doit contenir un certificat de signature de code.
Au travers de Renater, notre communauté a accès à ce type de certificats via https://www.digicert.com/secure/ . Ce certificat est donné à une personne pour signer du code, cette personne peut demander un tel certificat via https://www.digicert.com/secure/ .
Pour le constituer un certain nombre d'étapes sont à réaliser.
Vous devez premièrement générer un keystore :
keytool -genkeypair -dname "CN=Université de Rouen, L=MONT SAINT AIGNAN, C=FR" -alias mykeystore -keyalg RSA -keysize 2048 -keystore keystore.jks -validity 3650 -storetype JCEKS |
Ici on tapera esupesup comme mot de passe à chaque fois.
Vous générez ensuite un CSR :
keytool -certreq -alias mykeystore -keyalg RSA -file keystore.csr -keystore keystore.jks -storetype JCEKS |
Une fois le CSR obtenu et depuis l'interface digicert https://www.digicert.com/secure/ vous pouvez demander un 'Code Signing Certificate'. Cette demande se fait par formulaire dans lequel on vous demande le CSR préalablement généré.
Une fois obtenu, validé, vous pouvez télécharger le certificat (ou plutôt les) sous forme d'un (seul) fichier p7b (Best format for Sun Java).
Vous importez ce fichier dans votre keystore :
keytool -importcert -alias mykeystore -trustcacerts -file universit___de_rouen.p7b -keystore keystore.jks -storetype JCEKS |
Si vous avez suivi ces instructions, votre fichier pom.xml doit être modifié pour avoir cette configuration :
<configuration> <keystore>src/etc/keystore.jks</keystore> <alias>mykeystore</alias> <storepass>esupesup</storepass> <keypass>esupesup</keypass> </configuration> |
Esup-sgc-client est l'application permettant d'encoder les cartes Mifare Desfire EV1 dans le cadre du Système de gestion de carte ESUP-SGC. Le client s’appuie aussi sur la plateforme ESUP-NFC-TAG qui calcule les commandes (APDU) à transmettre à la carte.
L'application est packagée sous la forme d'un jar comprenant les dépendances : esupsgcclient-1.0-SNAPSHOT-jar-with-dependencies.jar. Le jar destinée à être lancé en mode java web start (jws) depuis l'application web Esup-sgc
Lors du lancement de l'application via ESUP-SGC -> Apps -> Encodeur (ou Encodeur - robot ZXP3) ESUP-SGC crée automatiquement un périphérique dans ESUP-NFC-TAG.
L'application nécessite :
La webcam est placée pour filmer le lecteur de carte (procéder à la mise au point si besoin). Lorsqu'une carte est posée sur le lecteur de carte, la webcam détecte le QR code et la procédure d'encodage démarre
Documentation de mise en œuvre ESUP-SGC / ESUP-NFC-TAG#SGC/ESUP-NFC-TAG-Installationmaterielle
git clone https://github.com/EsupPortail/esup-sgc-client.git |
Dans le dossier esup-sgc-client executer :
mvn clean package |
A la fin de la compilation le jar esupsgcclient-1.0-SNAPSHOT-jar-with-dependencies.jar va être signé (l'application doit être signée car elle demande une élévation de droits au lancement). Le keystore pour la signature est déclaré dans le pom.xml :
<configuration> <keystore>src/etc/keystore.jks</keystore> <alias>server</alias> <storepass>leocarte</storepass> <keypass>leocarte</keypass> </configuration> |
Copier le fichier esupsgcclient-1.0-SNAPSHOT-jar-with-dependencies.jar à la racine de votre webapp esup-sgc ou dans vos sources sous src/main/webapp/ avant de compiler esup-sgc
Esup-sgc-client-zxp3 est l'application permettant d'encoder les cartes Mifare Desfire dans le cadre du Système de gestion de carte Esup-sgc. Elle est identique à Esup-sgc-client mais elle utilise une imprimante Zebra ZXP3 pour automatiser l'encodage.
L'application nécessite :
La webcam est placée dans l'imprimante (qui reste ouverte) pour filmer le lecteur de carte. Il faut donc placer quelque chose dans le capteur de fermeture du couvercle. voir : https://www.esup-portail.org/wiki/pages/viewpage.action?pageId=613384398
Via les outils du driver (sous windows "Propiétés de l'imprimante > Device Settings > Tools > Command to send to printer") lancer la commande : +OS 0
réponse : 0 <ACK>
Pour communiquer avec la Zebra ZXP3 esup-sgc-client-zxp3 utilise le SDK Zebra. Pour fonctionner il est installé en tant que depot maven local.
Le sdk se récupère à cette adresse : https://www.zebra.com/fr/fr/products/software/barcode-printers/link-os/link-os-sdk.html
Après l'installation du mpsdk-installer il faut copier les deux jar présents dans le dossier link_os_sdk/PC-Card/v2.12.3968/lib
ZSDK_API.jar, renomé ZSDK_API-2.12.3968.jar, dans le dossier src/lib/com/zebra/sdk/comm/ZSDK_API/2.12.3968/
ZSDK_CARD_API.jar, renomé ZSDK_CARD_API-2.12.3968.jar, dans le dossier src/lib/com/zebra/sdk/common/card/ZSDK_CARD_API/2.12.3968/
Il faut, de plus, copier les dll ZebraNativeUsbAdapter_32.dll et ZebraNativeUsbAdapter_64.dll dans c:\Windows\System32 du poste client
documentation du SDK : http://techdocs.zebra.com/link-os/2-12/
Dans le dossier esup-sgc-client executer :
mvn clean package |
A la fin de la compilation le jar esupsgcclient-r2d2-1.0-SNAPSHOT-jar-with-dependencies.jar va être signé (l'application doit être signée car elle demande une élévation de droits au lancement) Le keystore pour la signature est déclaré dans le pom.xml :
<configuration> <keystore>src/etc/keystore.jks</keystore> <alias>server</alias> <storepass>leocarte</storepass> <keypass>leocarte</keypass> </configuration> |
Copier le fichier esupsgcclient-r2d2-1.0-SNAPSHOT-jar-with-dependencies.jar vers esupsgcclient-r2d2.jar à la racine de votre webapp esup-sgc ou dans vos sources sous src/main/webapp/ avant de compiler esup-sgc