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 :

Certificat en JAVA : recupération date de validité du certificat de l'AC


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 27
    Points : 13
    Points
    13
    Par défaut Certificat en JAVA : recupération date de validité du certificat de l'AC
    Bonjour,

    je travaille actuellement sur un projet en JAVA devant manipuler des certificats.
    J'ai réussi à récuperer les informations de mon certificat (serial number, date de validité, issuer name ,....) et quelques infos de l'authorité de certification(serial number, crl) mais je ne sais pas comment récuperer les dates de validités du certificat de l'AC de mon certificat.

    Pouvez vous me renseigner sur ce point.

    merci pour vos réponse

  2. #2
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 104
    Points
    104
    Par défaut
    Si tu a réussi a récupérer le serial number et le point d'entré des crl, c'est que tu a bien le certificat de l'autorité

    Pour les dates ce n'est pas plus compliqué

    tu a les fonction getNoteBefore et getNoteAfter si je me souviens bien ?

    permet de récuperer le debut de validité et la date de fin de validité tout cela disponible dans java.security.cert.X509Certificate

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Effectivement j'utilise bien l'objet X509Certificate. C'est grâce à lui que j'arrive à récupérer les informations de mon certificat (date de validité du certificat, serial number, etc).
    Ensuite dans l'objet X509Certificate, on peut acceder à l'objet AuthorityKeyIdentifier contenu dans les extensions de mon certificat qui comprend le serial number de mon authorité. Et c'est également dans les extensions que je peux réccupérer la liste des CRL.
    Cependant je ne vois pas comment je peux faire pour réccuperer les dates de validités du certificat de l'AC.

    Via windows, lorsque j'ouvre mon certificat je vois bien la date de validité de mon certificat. Puis en allant dans l'onglet "chemin de certification", je peux ouvrir le certificat de l'AC et ainsi voir les dates de validité du certificat de l'AC.

    En java, je ne vois pas comment faire....

  4. #4
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 104
    Points
    104
    Par défaut
    ok je comprend mieux, tu ne récupère pas directement le certificat de ton autorité ce sont juste les information contenu dans les extension de ton certificat

    Sinon a la base ton certificat tu l'obtient comment ?

    tu a juste ton fichier certificat (.crt,.cert, ...) ou tu l'obtient a partir d'un keystore (P12 par exemple) ?

    Si tu a uniquement ton certificat, oui tu peut voir le chemin qui part d'une AC root jusqu'a ton propre certificat (en passant par des AC intermédiaire si elles existes)

    Le fait que tu les vois dans la chaine de certification signifie a ce moment que les autorités sont installer dans le keystore, c'est pour cela que tu peut voir les information sur l'AC. (magasin systeme pour windows, ou keystore perso pour Firefox par exemple) Si elle n'était pas présente, tu aurait une croix rouge au niveau de la chaine de certification car on ne pourrai reconnaitre d'où est émis ton certificat.

    Maintenant pour en revenir a ta question, si tu a juste ton certificat, il ne me semble pas que tu puisse obtenir les date de validité de l'AC dans les extension de ton certificat la seul solution serait d'avoir le certificat de ton AC

    Par contre si tu passe par un keystore, tu peut l'obtenir en combinant certaine fonction de la class KeyStore pour obtenir les certificat de la chaine de certification (sous reserve qu'il soit livré avec)

    Après, reste a savoir ce que tu veux faire avec les information de tes differents certificat

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    tout d'abord merci deglingo592003 pour ton aide.

    Sinon pour en revenir à mon sujet, j'ai uniquement mon fichier certificat(fichier .cer).

    En fait, je suis en train de créer une application dans laquelle on me fournit un certificat auquels j'extrais certaines infos que je stock dans une base oracle. Mais avant cela j'effectue quelques contrôles sur la validité de celui-ci. Pour cela je contrôle notamment sa date de validité. Mais j'aurais voulu vérifier également l'élément précédent dans la chaine de certification et donc la validité du certificat de l'AC. Pour cela il me faut les dates de validité du certificat de l'AC.

    Si je comprend bien ta réponse, le seul moyen pour cela est de récupérer directement le certificat de l'AC. Mais j'ai cherché et je ne vois pas comment le récupéré. Je suppose qu'il doit bien être fourni avec vu que sous windows j'y accède.
    Petite précision supplémentaire, dans mon programme je n'utilise pas le magasin systeme de windows étant donné que mon application fonctionnera à terme sous Linux.

  6. #6
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 104
    Points
    104
    Par défaut
    ok donc en plus sous linux tu gèrera ton propre keystore car contrairement a Windows et MAC qui possèdent leur propre magasin de certificat, sous linux c'est un peu chacun fait comme il veux :p

    Pour ton cas, a ma connaissance, il n'y a pas moyen de connaitre les date de validation de ton AC si tu ne possède pas le certificat

    pour faire le test, si tu va dans la mmc de windows, dans la partie des autorité racine, si tu supprime cette racine dont tu me parlais dans les post précédent, lorsque tu revérifia la chaine de certification de ton certificat, tu verra que celle ci n'est plus valide (enfin a moin que l'autorité soit intégré au système et que tu ne l'as pas mise toi même car sinon windows les réinstalle immédiatement :p)

    c'est parce que l'AC est installé dans le magasin système que tu peux vérifier ta chaine, mais avec uniquement ton certificat utilisateur, je ne penses pas que tu puisse faire plus de chose que de vérifier la validité ou la révocation de ce certificat utilisateur.

    tu serait me dire le nom de l'autorité racine concerné ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    ok je te remercie pour ta réponse. Pour le nom de l'autorité que j'utilise c'est VeriSign mais c'était juste un certificat que j'utilisais pour mes tests.

    Sinon dans les faits, est-il possible d'avoir une date de validité valide pour mon certificat et non valide pour le certificat de mon AC? Ou alors lorsque l'AC délivre mon certificat, elle est obligé de donner des dates de validités comprises dans le date de validité de son propre certificat?

  8. #8
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 104
    Points
    104
    Par défaut
    il me semble qu'a partir du moment ou l'autorité racine n'est plus valide, tout les certificat qui en découle sont considéré comme non valide (la chaine de certification ne sera plus respecté) enfin il me semble que c'est comme cela que ça se passe (et cela me parait être le plus logique aussi)

    De plus il faut regarder les PC de l'AC aussi si tu les trouve

    Car il me semble aussi (la je suis un peu moins sur). Si l'AC peut émettre des Certificat d'une durée de trois ans par exemple

    Si l'AC expire en 2015 par exemple, et bien elle n'a plus le droit d'émettre de certificat de trois ans, trois ans avant (donc en gros a partir de 2012 l'AC ne publie plus de certificat, il faut que l'autorité généré une nouvelle AC qui prend le relais comme cela l'ancienne AC peut continuer a assurer que les certificat sont valide pendant ces trois dernière années de vie, et pendant ce temps les nouveau certificats sont émis par la nouvelle AC)

    Fiouu si simple a comprendre mais si difficile a expliquer :p

    Donc au final, si ton certificat n'est pas expiré ni révoqué, l'AC qui l'a émis est normalement valide aussi.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    ok merci deglingo592003.

    C'est justement ce que je voulais savoir. Donc si ce que tu me dis est juste (et je n'en doute pas) et que j'ai bien compris, la vérification des dates de validité du certificat de l'AC ne sert à rien si les dates de validité de mon certificat sont valides.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [oracle & java] recupérer date+heure
    Par ensemien dans le forum JDBC
    Réponses: 2
    Dernier message: 07/02/2013, 11h02
  2. [WD14] ne pas vérifier la date de validité d'un certificat
    Par therealmancool dans le forum WinDev
    Réponses: 8
    Dernier message: 23/06/2010, 09h31
  3. [MFC] recupération date modif fichier
    Par Gothico dans le forum MFC
    Réponses: 7
    Dernier message: 21/01/2005, 18h47
  4. [java.sql.Date] format compatible tout sgbd ?
    Par djskyz dans le forum JDBC
    Réponses: 8
    Dernier message: 15/09/2004, 11h28
  5. Réponses: 4
    Dernier message: 06/02/2004, 16h23

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