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

Langage Java Discussion :

Mise à jours certificats ?


Sujet :

Langage Java

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    C'est ta chaine de certification qui remonte jusqu'à Verisign.

    Tu peux l'observer depuis firefox.

    EDIT : Pour compléter, ta chaine remonte jusqu'à ce certificat racine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    OU = VeriSign Trust Network
    OU = "(c) 1998 VeriSign, Inc. - For authorized use only"
    OU = Class 3 Public Primary Certification Authority - G2
    O = "VeriSign, Inc."
    C = US
    Ce certificat est installé par défaut dans le magasin de ton navigateur et sur celui de ton système d'exploitation afin de pouvoir vérifier la chaine par toi même.
    j'ai encore un peu de lecture à faire avant de reprendre la discussion, je vous remercie d'ailleurs encore une fois de votre patience et de votre suivie.
    j'aimerais cependant revenir sur ce point.

    voila, ce que mon code retourne comme info quand je l'exécute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Authority type RSA
    AlgName = SHA1withRSA
    DateBefore = Thu Nov 19 01:00:00 CET 2009
    DateAfter = Fri Dec 10 00:59:59 CET 2010
    AlgName = MD2withRSA
    DateBefore = Mon Jan 29 01:00:00 CET 1996
    DateAfter = Wed Aug 02 01:59:59 CEST 2028
    AlgName = SHA1withRSA
    DateBefore = Mon May 18 02:00:00 CEST 1998
    DateAfter = Wed Aug 02 01:59:59 CEST 2028
    AlgName = SHA1withRSA
    DateBefore = Wed Jan 19 01:00:00 CET 2005
    DateAfter = Mon Jan 19 00:59:59 CET 2015
    AlgName = SHA1withRSA
    DateBefore = Wed Mar 25 01:00:00 CET 2009
    DateAfter = Mon Mar 25 00:59:59 CET 2019
    or moi ce qui m'intéresse, c'est cette date, comme vous pouvez l'avoir dans ce screenshot.

    alors ma question comment dois je faire pour dire à mon code retourne moi une seule date, qui est d'ailleurs pour moi la bonne date, je ne sais pas c'est quoi ces autres dates.
    voila 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
    15
    16
    17
    18
    19
    X509Certificate[] allCerts = getCertificatsInfos(urlPath);
            for (int i = 0; i < allCerts.length; i++) {
     
                X509Certificate cert1 = allCerts[i];
                try {
                    cert1.checkValidity();
                } catch (CertificateExpiredException e) {
                    e.printStackTrace();
                } catch (CertificateNotYetValidException e) {
                    e.printStackTrace();
                }
     
                Date dateAfter = cert1.getNotAfter();
                Date dateBefore = cert1.getNotBefore();
                System.out.println("AlgName = " + cert1.getSigAlgName());
                System.out.println("DateBefore = "+dateBefore );
                System.out.println("DateAfter = "+dateAfter);
            }
        }

  2. #22
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X509Certificate[] allCerts
    C'est une collection de certificats.

    Quand tu regardes les détails du certificat dans ton navigateur tu as un arbre avec plusieurs sous branches. Ce qui signifie que tu as plusieurs certificats.

    Ton screenshot correspond à un seul certificat et dans ton code tu parcours tous les certificats de la chaine de confiance et tu affiches successivement toutes les dates de validité de tous les certificats de la chaine.

    A toi de déterminer quel certificat est le bon.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Points : 67
    Points
    67
    Par défaut
    Marco je n'ai pas un arbre avec des branches, quand je regarde sur Firfoxe je n'ai qu'un seul certificat avec une seule date et une seule clef.
    voila le lien que je teste avec https://particuliers.secure.lcl.fr/index.html


    [edit]: je profite pour demander à george - si possible : -) - un lien détaillant le certificat server et le certificat CA.

    merci

  4. #24
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par glasgow Voir le message
    Marco je n'ai pas un arbre avec des branches, quand je regarde sur Firfoxe je n'ai qu'un seul certificat avec une seule date et une seule clef.
    voila le lien que je teste avec https://particuliers.secure.lcl.fr/index.html


    [edit]: je profite pour demander à george - si possible : -) - un lien détaillant le certificat server et le certificat CA.

    merci
    Tu vas sur le site.

    Tu cliques sur lcl.fr dans la barre d'adresse à gauche de https://

    Ca ouvre une petite fenêtre qui te dit que le certificat du site est vérifié par Verisign. Tu as un bouton "Plus d'informations".

    Clique dessus.

    Ensuite tu vas sur "Sécurité".

    Ensuite tu cliques sur "Afficher le Certificat"

    Ensuite tu vas sur l'onglet "Détails".

    Et sous le libellé "Hiérarchie des certificats" tu as toute la chaine de confiance sous la forme d'un arbre.
    Il y a 3 lignes car 3 certificats. C'est ceux que tu récupères dans ta collection de X509Certificate.

    Le certificat identifiant le site est le dernier de l'arbre : particuliers.secure.lcl.fr

    Il est émis (donc signé) par celui juste au dessus, qui est émis par celui juste au dessus, qui est lui même émis par un certificat de Verisign qui est une autorité racine et qui est déjà dans ton navigateur et ton système à l'installation de ton navigateur et de ton système. Et c'est comme ça que Firefox peut te dire que le certificat du site web a été vérifié quand tu es sur une page de ce site au travers de HTTPS.

    J'espère être plus clair.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Points : 67
    Points
    67
    Par défaut
    d'accord je comprend beaucoup mieux,
    cependant moi je le récupère autrement, voir l'image ci-dessous

    et mon navigateur me retourne une date et ce cette là que j'aimerais récupérer avec mon code java.

    merci

  6. #26
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Le certificat du site c'est celui ayant pour CN "particuliers.secure.lcl.fr".

    A toi de faire le test adéquat dans ta boucle pour retourner les dates de validité du certificat ayant pour CN "particuliers.secure.lcl.fr".

    Cette fonction de X509Certificate devrait t'y aider.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Le certificat du site c'est celui ayant pour CN "particuliers.secure.lcl.fr".

    A toi de faire le test adéquat dans ta boucle pour retourner les dates de validité du certificat ayant pour CN "particuliers.secure.lcl.fr".

    Cette fonction de X509Certificate devrait t'y aider.
    j'ai utilisé la méthode , elle m'a retourné cette chaine "CN=particuliers.secure.lcl.fr, OU=SILCA, O=Credit Agricole SA, L=La Defense, ST=Hauts de Seine, C=FR".
    j'ai regardé en vin sur le net pour savoir s'il y a une méthode qui me retourne seulement la CN.
    d'après vous y a t-il un moyen simple de retourner seulement la CN.
    ou il faut que je parse la chaine et lui soustraire la CN.

    merci

  8. #28
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Le certificat du site c'est celui ayant pour CN "particuliers.secure.lcl.fr".

    A toi de faire le test adéquat dans ta boucle pour retourner les dates de validité du certificat ayant pour CN "particuliers.secure.lcl.fr".

    Cette fonction de X509Certificate devrait t'y aider.
    j'ai utilisé la méthode getSubjectX500Principal , elle m'a retourné cette chaine "CN=particuliers.secure.lcl.fr, OU=SILCA, O=Credit Agricole SA, L=La Defense, ST=Hauts de Seine, C=FR".
    j'ai regardé en vin sur le net pour savoir s'il y a une méthode qui me retourne seulement la CN.
    d'après vous y a t-il un moyen simple de retourner seulement la CN.
    ou il faut que je parse la chaine et lui soustraire la CN.

    merci

  9. #29
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Parse la chaine.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  10. #30
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Parse la chaine.
    c'est fait, merci Marco.


    toujours dans le processus d'automatisation de mes certificats.

    Voila ce que je fais manuellement

    1. J’obtiens mon certificat avec un navigateur
    2. Je supprime le certificat périmé de mon keystore (keytool –delete)
    3. J’ajoute le nouveau certificat (keyttol –import)


    Ce que j’arrive à faire jusqu'à maintenant c'est de récupérer le certificat puis le manipuler un peu,.. pour voir par exemple sa date d’expiration ou lire son CN,..etc.
    Mais pour 2 & 3. Comment faire pour automatiser ces deux points.

    Merci encore et j’espère que je n’ai pas abusé de votre disponibilité.


    [EDIT] j'édite mon post pour poser une nouvelle question.
    Envoyé par Marco46 Voir le message
    Le certificat du site c'est celui ayant pour CN "particuliers.secure.lcl.fr".
    est ce que je peux vraiment me baser sur le CN pour récupérer le certificat qui m'intéresse? je pose ma question autrement est ce que le CN peut changer ou pas? sachant que je pointe toujours vers les mêmes liens.
    merci

  11. #31
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Le CN n'est pas censé changer. Si ton certificat était dans un annuaire LDAP c'est avec ces infos que tu le retrouverais. Ou alors c'est que l'hébergeur réorganise son système. Donc tu peux t'y fier à mon avis.

    Pour manipuler un keystore pas besoin de passer par un outil en ligne de commande, tu peux utiliser la classe KeyStore et les méthodes :
    deleteEntry(String alias) pour supprimer un certificat
    getCertificate(String alias) pour récupérer un certificat du magasin
    setCertificateEntry(String alias, Certificate cert) pour ajouter un certificat au magasin.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

Discussions similaires

  1. Mise à jour de certificats
    Par coulane dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 07/07/2012, 15h47
  2. [mise à jour]Comment procéder sans tout péter...
    Par FFF dans le forum Installation
    Réponses: 3
    Dernier message: 10/09/2003, 08h11
  3. Mise à jour de la version de MySQL
    Par jobstar dans le forum Administration
    Réponses: 8
    Dernier message: 18/08/2003, 10h45
  4. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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