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

Sécurité Java Discussion :

Récupérer l'empreinte SHA1 d'un certificat


Sujet :

Sécurité Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 72
    Par défaut Récupérer l'empreinte SHA1 d'un certificat
    Bonjour,

    Je rencontre quelques problèmes concernant la manipulation de certificats.

    Pour le besoin d'une application j'ai besoin de récupérer l'empreinte SHA1 d'un certificat comme le fait firefox (cf. le fichier attaché).

    Le certificat est importé dans dans un fichier de type keystore produit à l'aide de keytool.

    J'arrive à obtenir une signature qui contient la chaine présent dans firefox.

    Je me demande si l'empreinte afficher dans firefox correspond a un attribut spécifique du certificat?

    Ou tout simplement comment l'obtient on directement?

    Bien que ce premier post ne traite pas spécifiquement des api java. Par la suite il me faudra récupérer l'empreinte SHA1 du certificat client provenant du certificat ci-dessus.

    Merci d'avance.
    Images attachées Images attachées  

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Cette empreinte se fait en calculant le hash des raw data du certificat. Elle n'est pas un attribut du certificat mais est toujours calculée.
    Tu dois donc récupüérer le certificat sous forme de tableau de byte et en calculer la valeur de hash (vois cette discussion pour calculer le hash d'un tableau de byte http://www.developpez.net/forums/d60...paraison-ldap/)
    Si tu as un objet de type X509Certificate, cette valeur à hasher doit être celle retournée par la méthode getEncoded
    Bon courage
    Tschau

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 72
    Par défaut
    Merci pour ta réponse,

    Je suis arrivé à récupérer la chaine souhaitée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CMSProcessable content = new CMSProcessableByteArray(_cert.getEncoded());
    CMSSignedData signedData = _signGen.generate(content, null);
    byte[] signeddata = signedData.getEncoded();
    String _code = asHex(signeddata).substring(2594, 2598);
    Mais suis quand même obligé de d'utiliser un substring pour extraire les valeurs souhaités.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Euh je ne comprends pas ce que tu fais là...
    Tu signe ta donnée (certificat) et tu crées un objet cms, pourquoi ? Pourquoi ne pas faire la méthode que j'ai donnée en lien ?

Discussions similaires

  1. [NDK] Récupérer l'empreinte SHA-1 du certificat
    Par vegetacherif dans le forum Android
    Réponses: 4
    Dernier message: 12/06/2015, 17h21
  2. [WM17] Empreinte MD5 inutile, besoin de l'empreinte SHA1
    Par MiSTeRJMaN dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 17/08/2013, 07h19
  3. Collision empreinte SHA1
    Par bastien440 dans le forum Sécurité
    Réponses: 2
    Dernier message: 26/10/2012, 19h50
  4. Récupérer le CN d'une certificat X509
    Par sfaxi dans le forum Apache
    Réponses: 1
    Dernier message: 30/05/2007, 19h01
  5. [C#][VS2005]Récupérer les info d'un certificat avec FX 2.0
    Par virgul dans le forum Windows Forms
    Réponses: 12
    Dernier message: 31/01/2006, 08h52

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