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

API standards et tierces Java Discussion :

[BouncyCastle] PrivateKey pour déchiffrer un CMS


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut [BouncyCastle] PrivateKey pour déchiffrer un CMS
    Bonjour,

    j'essaie depuis quelques temps maintenant, de réaliser une librairie d'envoie de mails chiffrés vers un organisme précis, mais sans succès.
    A chaque fois, l'organisme me renvoie le message comme quoi le fichier envoyé est mal chiffré (crypté)

    je me base pourtant sur ce que j'ai pu lire ici :
    http://nyal.developpez.com/tutoriel/...ycastle/?#L5.2

    Dans ma manière de procéder, je n'ai que le certificat de mon destinataire (fournit par l'organisme en question), pas de fichier .p12 à ma disposition.
    D'après ce que j'ai pu lire sur cet article, ce fichier .p12 contiendrait un certificat et une clé privée, laquelle serait utile pour le CMS.

    Ma première question est, dans le 2em exemple du lien ci-dessus :
    La seconde méthode est bien plus performante et doit être préférée. La procédure est la suivante:

    * Création d'une clé qui permettra de chiffrer le fichier entier avec un algorithme à clé symétrique (DES, AES, blowfish,...)
    * Chiffrement du fichier avec la clé symétrique créée
    * Chiffrement de la clé symétrique avec la clé publique du destinataire
    je ne vois à aucun moment l'utilisation d'une clé privée pour chiffrer le message, est-ce que je me trompe si je suppose que l'objet CMS est capable de générer lui même une clé privée ?

    Ensuite, dans ce cas, comment puis-je faire pour décrypter à mon tour mon objet CMS, car dans ce même exemple, lors de l'étape de déchiffrement, l'exemple fait appel à une clé privée citée plus haut, mais qui n'est pas utilisée pour le chiffrement.
    Bref...j'aimerais à mon tour pouvoir déchiffrer ce que j'envoie à mon organisme pour être sûr de ne pas me tromper.

    Y aurait-il quelqu'un de caler sur cet article ? l'auteur ptet ?

    Merci d'avance

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Je t'ai répondu en MP suite à ton MP, mais pour que ceux tombant sur ton message puissent suivre :

    Une clef privée sert à déchiffrer un bloc de données chiffré avec la clef publique associée.

    Donc, si tu veux envoyer, tu récupères le certificat du destinataire et tu utilises la clef publique contenue dedans pour chiffrer les données.

    L'API BouncyCastle fonctionne très bien pour ça, couplée à Javamail ça marche très bien. Ce bouquin est quasi indispensable pour s'initier aux arcanes de cette API, la javadoc étant très mauvaise.

    Le processus décrit dans ton quote détaille ce qui se passe réellement en interne, c'est à dire que la clef publique chiffre avec l'algo RSA (généralement c'est celui là et c'est un algo asymétrique) la clef de session servant à chiffrer avec un algo symétrique les données.
    Donc en clair, une clef de session est générée par l'émetteur du message pour un algo symétrique (par exemple 3DES), les données sont chiffrées, puis la clef de session est chiffrée à son tour mais avec la clef publique du destinataire puis elle est associée aux données chiffrées à envoyer. Le tout est mis dans un CMS qui peut alors être envoyé par mail en tant que bodypart MIME standard.
    Le destinataire déchiffre alors la clef de session avec sa clef privée puis déchiffre les données avec la clef de session obtenue.

    Vala.

  3. #3
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Je t'ai répondu en MP suite à ton MP, mais pour que ceux tombant sur ton message puissent suivre :

    Une clef privée sert à déchiffrer un bloc de données chiffré avec la clef publique associée.

    Donc, si tu veux envoyer, tu récupères le certificat du destinataire et tu utilises la clef publique contenue dedans pour chiffrer les données.

    L'API BouncyCastle fonctionne très bien pour ça, couplée à Javamail ça marche très bien. Ce bouquin est quasi indispensable pour s'initier aux arcanes de cette API, la javadoc étant très mauvaise.

    Le processus décrit dans ton quote détaille ce qui se passe réellement en interne, c'est à dire que la clef publique chiffre avec l'algo RSA (généralement c'est celui là et c'est un algo asymétrique) la clef de session servant à chiffrer avec un algo symétrique les données.
    Donc en clair, une clef de session est générée par l'émetteur du message pour un algo symétrique (par exemple 3DES), les données sont chiffrées, puis la clef de session est chiffrée à son tour mais avec la clef publique du destinataire puis elle est associée aux données chiffrées à envoyer. Le tout est mis dans un CMS qui peut alors être envoyé par mail en tant que bodypart MIME standard.
    Le destinataire déchiffre alors la clef de session avec sa clef privée puis déchiffre les données avec la clef de session obtenue.

    Vala.

    Pour le Bouquin, j'avais prévu ce soir de l'acheter justement
    et pour tout ce que tu décris, j'ai bien compris, c'est juste comment le réaliser en fait ou y a un soucis
    tu as l'air d'avoir bien appréhender le soucis de ton coté non?

Discussions similaires

  1. [MySQL] Comment s'y retrouver pour modifier un CMS php/mysql
    Par ouache dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 31/10/2008, 09h26
  2. Besoin des conseils pour choix de CMS
    Par kira'an dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 18/09/2008, 14h10
  3. Quelques conseils pour déposer un cms
    Par gtraxx dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 14/02/2008, 22h38
  4. [Joomla!] niveau pour utiliser un CMS et surtout le personnaliser ?
    Par csszzen dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 26/03/2007, 22h49
  5. [VB.NET] besoin d'aide pour déchiffrer un code
    Par pcdj dans le forum Windows Forms
    Réponses: 10
    Dernier message: 27/06/2006, 11h32

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