IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Recherche sur javax.smartcardio


Sujet :

Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Recherche sur javax.smartcardio
    Bonjour amis passionné du java,

    Diplômé depuis juin passé (wouhou) je continue à développer le logiciel mis au point pour mon TFE (un logiciel de gestion de bibliothèque), j'essaye d'y inclure la lecture des données d'une carte d'identité afin que les champs données d'un lecteurs se remplisse automatiquement avec la carte id.

    Cependant, car oui j'aime bien me lancer des petits défi, je me refuse à passé par une libraire toute faite comme,par exemple, beidlib (carte d'identité belge). Je veux arriver à le coder moi même et je m'en sort pas trop mal jusque là en utilisant "javax.smartcardio. ... ".

    Mais, je bloque complètement sur la récupération de l'adresse (rue et numéro), il ne me manque plus que ça ... mais j'ai beau explorer la puce byte par byte je ne trouve pas ces infos là...

    Voici les infos que j'arrives à récupérer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
                byte PRENOM = (byte) 0x08;
                byte NOM = (byte) 0x07;
                byte NUMERO_NATIONAL = (byte) 0x06;
                byte DATE_NAISSSANCE = (byte) 0x0C;
                byte NUMERO_CARTE_ID = (byte) 0x01;
                byte DEBUT_VALIDITE = (byte) 0x03;
                byte FIN_VALIDITE = (byte) 0x04;
                byte LOCALITE = (byte) 0x05;
                byte INITIALE_PRENOM3 = (byte) 0x09;
                byte NATIONALITE = (byte) 0x0A;
                byte LIEU_NAISSANCE = (byte) 0x0B;
                byte SEXE = (byte) 0x0D;
    si l'un d'entre vois sais où ce cache la rue et le numéro , merci beaucoup

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    La diapo #10 dans la présentation Belgian eID Card Technicalities indique qu'il s'agit d'un autre fichier sur la carte différent de celui contenant l'identité de la personne. Idem sur The Belgian eID card, page 7 et Belgian eID cards & ePassports, page 11.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Merci pour cette réponse qui me donne une nouvelle piste de travail

    Mais du coup je ne vois pas quels paramètre rentrer à ma commande ADPU afin de sélectionner cette autre fichier, voici celle que j'utilise pour lire le fichier dont je parlais précédament

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CommandAPDU selectFileApdu = new CommandAPDU(0x00, 0xA4, 0x08, 0x0C, FICHIERS_CARTE_ID);
                reponse = channel.transmit(selectFileApdu);
    en sachant que FICHIERS_CARTE_ID vient de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    byte[] FICHIERS_CARTE_ID = new byte[] {
                        (byte) 0x3F,
                        (byte) 0x00,
                        (byte) 0xDF,
                        (byte) 0x01,
                        (byte) 0x40,
                        (byte) 0x31
                };
    Encore merci du coup de pouce

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Ça aucune idée
    Comment as-tu trouvé l'info permettant pour toi de connaitre ce que tu devais mettre dans FICHIERS_CARTE_ID ? Cette source ne donnait pas d'indication supplémentaire pour du contenu annexe ? L'API JavaCard (que je n'ai jamais utilisé) ne permet pas de retourner une liste / set / tableau des ids du contenu de la carte d'une manière ou d'une autre ?
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    J'ai fini par me résoudre à utiliser la libraire beidlib mais problème d'entrée... bah oui sinon c'est pas drôle...

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import be.belgium.eid.*;
     
    public class scanidwithlib {
        public static void main(String[] args) {
            BEID_Long beLong = new BEID_Long();
            BEID_Status CardStatus;
     
            CardStatus = eidlib.BEID_Init(null,0,0,beLong);
            if(CardStatus.getGeneral() == 0)
                System.out.println("La carte est connectée");
            else
                System.out.println("Connection échouée !");
        }
    }
    et le message d'erreur qui va avec :'(

    Exception in thread "main" java.lang.UnsatisfiedLinkError: be.belgium.eid.eidlibJNI.new_BEID_Long()J
    at be.belgium.eid.eidlibJNI.new_BEID_Long(Native Method)
    at be.belgium.eid.BEID_Long.<init>(BEID_Long.java:41)
    at scanidwithlib.main(scanidwithlib.java:11)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
    en gros il me renvois une erreur que je ne vois pas comment résoudre :'(

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    En général cette erreur est levée en cas d’échec de chargement d'un DLL mais apparemment ce n'est pas le cas ici. Il semble que le DLL invoqué ne contient pas la définition d'une méthode qui a été déclarée native dans le code Java (ou c'est le constructeur C/C++ qui plante entrainant une erreur Java ? ).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  7. #7
    Membre averti

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Points : 441
    Points
    441
    Par défaut
    Bonjour,
    Jette un œil sur ce github, tu y trouveras peut-être des réponses à ta question : https://github.com/e-Contract/common...ons-eid-client
    J'ai lu rapidement le code et ça semble correspondre à ce que tu recherches

Discussions similaires

  1. Recherche sur tous les fichiers d'un projet
    Par Kaorichan dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/04/2005, 11h28
  2. Recherche sur mots de 3 lettres
    Par mamizo dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/02/2005, 14h59
  3. Réponses: 2
    Dernier message: 30/11/2004, 09h42
  4. Réponses: 8
    Dernier message: 10/09/2004, 17h30
  5. Recherche sur champ calculé
    Par srvremi dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/07/2004, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo