Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
smartcards [Le 23/06/2017, 19:14] 86.200.65.4 [Utilisation avec Eclipse] |
smartcards [Le 21/03/2024, 17:42] (Version actuelle) Jean-Dom [javax.smartcardio] Fôte de Gramère |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
Les Cartes à puce (smart cards en anglais) sont des cartes intelligentes qui embarquent un microcontrôleur ou un microprocesseur. Le nombre d'applications est illimité. | Les Cartes à puce (smart cards en anglais) sont des cartes intelligentes qui embarquent un microcontrôleur ou un microprocesseur. Le nombre d'applications est illimité. | ||
- | Les exemples les plus populaires de carte à puce sont les cartes de paiement, les cartes vitales, les cartes de transport ou encore les cartes de fidélité distribuées en grandes surfaces.\\ | + | Les exemples les plus populaires de carte à puce sont les cartes de paiement, les cartes Vitale, les cartes de transport ou encore les cartes de fidélité distribuées en grandes surfaces.\\ |
L'utilisation d'une carte à puce requiert l'installation sur la machine d'un lecteur de carte et une d'interface de communication. | L'utilisation d'une carte à puce requiert l'installation sur la machine d'un lecteur de carte et une d'interface de communication. | ||
Cette page traite de deux type de cartes, les cartes PC/SC et les cartes de type [[#javax.smartcardio]]. | Cette page traite de deux type de cartes, les cartes PC/SC et les cartes de type [[#javax.smartcardio]]. | ||
Ligne 40: | Ligne 40: | ||
==== Utilisation ==== | ==== Utilisation ==== | ||
- | Pour vérifier que tout fonctionne, vous pouvez utiliser les outils du paquet **[[apt>pcsc-tools]]** : | + | Pour vérifier que tout fonctionne, vous pouvez utiliser les outils du paquet **[[apt>pcsc-tools]]** : |
* **pcsc_scan** : un petit script d'exemple qui détecte les périphériques et leurs cartes : <code>pcsc_scan</code> | * **pcsc_scan** : un petit script d'exemple qui détecte les périphériques et leurs cartes : <code>pcsc_scan</code> | ||
* **gscriptor** : un petit logiciel avec interface graphique qui permet d'envoyer des commandes APDU. | * **gscriptor** : un petit logiciel avec interface graphique qui permet d'envoyer des commandes APDU. | ||
Ligne 49: | Ligne 49: | ||
L'API Java Smart Card I/O défini par la JSR 268 est une API pour le langage Java permettant la communication avec les smart cards en utilisant l'ISO/IEC 7816-4 APDUs. Elle permet ainsi la lecture et l'écriture des cartes et fonctionne avec le lecteur PC/SC. | L'API Java Smart Card I/O défini par la JSR 268 est une API pour le langage Java permettant la communication avec les smart cards en utilisant l'ISO/IEC 7816-4 APDUs. Elle permet ainsi la lecture et l'écriture des cartes et fonctionne avec le lecteur PC/SC. | ||
- | Un des ses atouts majeurs et que couplé à une applet Java, elle permet l'utilisation des cartes directement depuis le navigateur Web. | + | Un des ses atouts majeurs est que, couplée à une applet Java, elle permet l'utilisation des cartes directement depuis le navigateur Web. |
Cette API a été introduit depuis Java 1.6 et est disponible et fonctionnelle avec les [[:java]] et [[:openJDK]]. | Cette API a été introduit depuis Java 1.6 et est disponible et fonctionnelle avec les [[:java]] et [[:openJDK]]. | ||
Ligne 127: | Ligne 127: | ||
==== Utilisation avec Eclipse ==== | ==== Utilisation avec Eclipse ==== | ||
- | Généralement, sous Eclipse vous obtiendrez sur les classes de l'API un message d'erreur de ce type : | + | Généralement, sous Eclipse vous obtiendrez sur les classes de l'API un message d'erreur de ce type : |
<note important>Access restriction: The type TerminalFactory is not accessible due to restriction on required library /usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar</note> | <note important>Access restriction: The type TerminalFactory is not accessible due to restriction on required library /usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar</note> | ||
- | Pour palier ce problème, il faut lever les restrictions d'Eclipse sur la JVM. | + | Pour pallier ce problème, il faut lever les restrictions d'Eclipse sur la JVM. |
* Clic droit sur votre projet puis **Properties** | * Clic droit sur votre projet puis **Properties** | ||
* Dans la section **Java Build Path**, onglet **Librairies**, choisissez la ligne **Access rules** puis bouton **Edit**. | * Dans la section **Java Build Path**, onglet **Librairies**, choisissez la ligne **Access rules** puis bouton **Edit**. | ||
Ligne 140: | Ligne 140: | ||
==== Problème de détection des cibles ==== | ==== Problème de détection des cibles ==== | ||
- | Si votre cible est correctement détectée avec pcsc_scan mais pas avec Java, ceci est du à un [[https://bugs.launchpad.net/ubuntu/+source/sun-java6/+bug/378294|bug]] dans Ubuntu (ou Java au choix). | + | Si votre cible est correctement détectée avec pcsc_scan mais pas avec Java, ceci est du à un [[https://bugs.launchpad.net/ubuntu/+source/sun-java6/+bug/378294|bug]] dans Ubuntu (ou Java au choix). |
Par défaut, l'API Java cherche **libpcsclite.so** dans les dossiers ///usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64//. Cependant, sous Ubuntu, elle se situe dans le dossier ///lib//. | Par défaut, l'API Java cherche **libpcsclite.so** dans les dossiers ///usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64//. Cependant, sous Ubuntu, elle se situe dans le dossier ///lib//. | ||
Ligne 162: | Ligne 162: | ||
===== Liens externes ===== | ===== Liens externes ===== | ||
* [[https://wiki.debian.org/fr/Smartcards|liste des cartes reconnues sous debian avec leur pilote respectif]], | * [[https://wiki.debian.org/fr/Smartcards|liste des cartes reconnues sous debian avec leur pilote respectif]], | ||
- | * [[http://www.unixgarden.com/index.php/securite/gestion-des-smartcards-sous-linux| Article de Linux Magazine sur les Smart Cards]], | ||
* [[http://www.springcard.com/solutions/pcsc.html| Liste d'outils PCSC recensé par SpringCard]]. | * [[http://www.springcard.com/solutions/pcsc.html| Liste d'outils PCSC recensé par SpringCard]]. | ||