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 :

Difference entre 2 résultats (publicKey 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é
    Inscrit en
    Mars 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 63
    Par défaut Difference entre 2 résultats (publicKey d'un certificat)
    Bonjour et merci pour votre aide futur ,
    Bon j'ai un probleme un peu delicat .

    En fait, J'ai besoin d'extraire la clef publique d'un certificat
    J' ai executer 2 programmes , logiquement doivent donner la meme resultat, mais malheuresement c'est le contraire.
    Donc les voila:
    1. En utilisant un code java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PublicKey pkPublicKey = cert.getPublicKey();
    System.out.println("Valeur du clé publique est:"+pkPublicKey);
    resultat de ce programme:
    Valeur du clÚ publique est:com.sun.rsajca.JSA_RSAPublicKey@390b39
    2. En utilisant une commande openssl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    openssl x509 -in certificat.cer -pubkey
    Le resultat est plus logique que le précedent:
    -----BEGIN PUBLIC KEY-----
    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAziLA4kZ97DYoB1CW8qAz
    QIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ8BLPRoZzYLdufujAWGSuzbCtRRcM
    Y/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6zWYyN3L69wj1x81YyY7nDl7qPv4c
    oRQKFWyGhFtkZip6qUtTefWIonvuLwphK42yfk1WpRPs6tqSnqxEQR5YYGUFZvjA
    RL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7w2t6iPGwcswlWyCR7BYCEo8y6RcY
    SNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jcG8Y0f3/JHIJ6BVgrCFvzOKKrF11m
    yZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4kepKwDpUeb+agRThHqtdB7Uq3EvbX
    G4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43qlaegw1SJpfvbi1EinbLDvhG+LJGG
    i5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQQUxPKZgh/TMfdQwEUfoZd9vUFBzu
    gcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivUfslfrejrckzzAeVLIL+aplfKkQAB
    i6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826YreQQejdIOQpvGQpQsgi3Hia/0Ps
    mBsJUUtaWsJx8cTLc6nloQsCAwEAAQ==
    -----END PUBLIC KEY-----
    Donc , quel est le code que je dois l'utiliser???????????????????

    Merci bien d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    C'est un problème réucrrent en Java : la méthode toString par défaut retourne le type et l'adresse de l'objet dans la mémoire. Or cette méthode est implicitement appelée quand tu utilises System.out.println()
    Regarde les méthodes qui existent pour l'objet de type PublicKey, tu devrais trouver
    Tschau

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2009
    Messages
    220
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 220
    Par défaut
    salut,

    Vous voulez dire que, pour la deuxieme solution, le type publicKey est enregisté?
    Est ce que vous pouvez expliquer mieux, car c'est pas clair.

    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je comprends pas ce qui est pas clair... openssl te donne la clef publique, bien... mais ton code java quand tu veux afficher l'objet de type PublicKey, il utilise la méthode toString de l'objet. Si la méthode a pas été redéfinie pour la classe c'est celle héritée de Object. Enfin bref rien que du Java normal de base et pas spécifique à la crypto... Bref que veux tu faire avec cette clef publique ? Si tu veux l'utiliser dans ton programme Java, regarde la javadoc de la classe et tu verras les méthode dont tu as besoin

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2009
    Messages
    220
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 220
    Par défaut
    Je vais l'utiliser pour déchiffrer la signature d'un certificat

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ton but est de vérifier l'intégrité d'un certificat ? Il existe des méthodes permettant de ne pas le faire à la main, car c'est pas aussi simple qu'il y parait (notamment la vérification de la chaine de certificats jusquà une CA racine). De plus utilises tu bien la clef publique de la CA ayant signé le certificat pour vérifier la signature et pas la clef publique du certificat lui même (sauf s'il est auto signé) ? Qu'as tu déjà tenté de faire pour vérifier la signature ? Montre nous ton code et explique nous ton problème précisemment parce que là tu nous dis que tu veux faire ca, mais quel est ton problème ? ton affichage n'est pas vraiment un problème, il vient juste d'une mauvaise compréhension de comment marche println().... De plus openssl te donne la clef encodée en base 64, elle sera surement sous la forme d'un tableau d'octet en java (à toi de faire la conversion si tu veux voir la même chose que ce que donne openssl). Bref plein de questions mais surtout : que veux-tu faire et surtout qu'as tu déjà tenté ?

Discussions similaires

  1. WCF et certificat, difference entre SSL et x 509
    Par neoncyber dans le forum Services Web
    Réponses: 2
    Dernier message: 21/05/2011, 08h33
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. Difference entre fenetre et boite de dialog
    Par billyboy dans le forum Windows
    Réponses: 2
    Dernier message: 02/06/2003, 15h43
  4. [] Difference entre MSHFlexGrid et MSFlexGrid
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/04/2003, 08h48
  5. Difference entre types d'Adresse IP
    Par freud dans le forum Développement
    Réponses: 3
    Dernier message: 02/03/2003, 02h06

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