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 :

Signature d'une chaine de caractère avec RSASSA-PKCS1 (RSA & SHA1)


Sujet :

Sécurité Java

  1. #1
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Signature d'une chaine de caractère avec RSASSA-PKCS1 (RSA & SHA1)
    Bonjour tout le monde,

    je suis nouveau sur le forum, ce qui ne m'a pas empêché de faire une recherche avant de crier à l'aide, mais sans grand succès.

    Je dois signer une chaine de caractère avec RSASSA-PKCS1-v1_5 ce qui, apparemment, voudrait dire qu'il faut signer en RSA2048 un hash SHA-1.
    Je dois donc récupérer la signature ainsi que son ID (j'avoue ne pas trop comprendre de quoi il s'agit)

    C'est la 1ère fois que je touche à la cryptographie, donc soyez indulgent et commencez pas à me parler hébreu

    Bref... j'ai vu avec mon admin et on a créé une clef privée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ openssl genrsa -out private.pem 2048
    puis une clef publique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ openssl rsa -in private.pem -pubout public.pub
    Voilà, ensuite, et depuis ce matin, je cherche sur mon ami Google comment faire ce que je veux et je suis totalement perdu.

    Si une âme charitable pouvait m'expliquer comment faire ?

  2. #2
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Voilà ce que j'ai commencé à faire (oui, je sais, il n'y a aucune gestion des exception digne de ce nom, mais je veux d'abord faire marcher le truc !!):

    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
    public static String signRSASHA1(String data) throws Exception {
            File keyFile = new File("private.pem");
            byte[] encodedKey = new byte[(int) keyFile.length()];
            new FileInputStream(keyFile).read(encodedKey);
     
            KeyFactory fac = KeyFactory.getInstance("RSA");
            EncodedKeySpec spec = new PKCS8EncodedKeySpec(encodedKey);
            PrivateKey privateKey = fac.generatePrivate(spec);
     
            Signature signer = Signature.getInstance("SHA1withRSA");
            signer.initSign(privateKey);
            signer.update(data.getBytes("UTF-8"));
            byte[] signatureBytes = signer.sign();
            signatureBytes = Base64.encodeBase64(signatureBytes);
            return new String(signatureBytes, "UTF-8");
        }
    Mais j'ai une exception InvalidKeySpecException qui se lève lors de l'exécution de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fac.generatePrivate(spec)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 220
    Points : 77
    Points
    77
    Par défaut
    Dans le code java ci dessus, quelle est l'utilité de l'UTF-8?

    Merci d'avance.

  4. #4
    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 : 43
    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 Renaud13 Voir le message
    Si une âme charitable pouvait m'expliquer comment faire ?
    Non c'est trop compliqué, ya trop de notions à maitriser. Il faudrait écrire tout un chapitre de livre.

    D'ailleurs ya un mec qui a déjà fait ça :

    David Hook, "Beginning Cryptography with Java" si tu souhaites utiliser BouncyCastle.

    Sinon tu as toujours la documentation de Sun :

    http://java.sun.com/j2se/1.5.0/docs/...ryptoSpec.html

    Cette partie devrait t'être utile :
    http://java.sun.com/j2se/1.5.0/docs/...pec.html#SigEx

    Sinon pour générer des certificats avec les clefs qui vont bien ya ce topic sur le forum de Sun :
    http://forums.sun.com/thread.jspa?fo...hreadID=782806

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

    Informations forums :
    Inscription : Février 2009
    Messages : 220
    Points : 77
    Points
    77
    Par défaut
    Merci pour vous avec les liens que vous avez me l'envoyez, j'ai résolu mon pb.

    Merci encore.

Discussions similaires

  1. Comment concaténer une chaine de caractères avec un espace ?
    Par blanchonvincent dans le forum MATLAB
    Réponses: 6
    Dernier message: 07/04/2007, 21h53
  2. [RegEx] Prélever une chaine de caractères avec contraintes
    Par Voodu dans le forum Langage
    Réponses: 5
    Dernier message: 17/03/2007, 23h36
  3. Dégradé sur une chaine de caractères avec 3 a 4 couleurs
    Par avogadro dans le forum Composants VCL
    Réponses: 6
    Dernier message: 31/03/2006, 13h21
  4. Lecture d'une chaine de caractère avec fgets
    Par mayoouketchup dans le forum Langage
    Réponses: 9
    Dernier message: 22/12/2005, 16h17
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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