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 :

Mail crypté : UnsupportedDataTypeException


Sujet :

Sécurité 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 Mail crypté : UnsupportedDataTypeException
    Bonjour,

    j'essaie de crypté un mail.
    mais j'ai une erreur qui empêche l'envoi du message (Transport.send()).
    L'erreur est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    javax.mail.MessagingException: IOException while sending message;
      nested exception is:
    	javax.activation.UnsupportedDataTypeException: no object DCH for MIME type Application/EDI-consent
    	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:676)
    L'idée du mail est la suivante.
    Je crée un mail normal, avec une pièce jointe et certains paramètres bien précis :

    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
    20
    21
    22
     
    public MimeMessage getMessage(string monfichiertemp) {
       MimeBodyPart attachment = new MimeBodyPart();
       DataSource source = new FileDataSource(monfichiertemp);
       attachment.setDataHandler(new DataHandler(source));
       attachment.setFileName("monfichier");
       attachment.setDescription(description);
       attachment.setHeader("Content-Transfer-Encoding", "BASE64");
       attachment.setHeader("Content-Type", "Application/EDI-consent");
     
       MimeMessage body = new MimeMessage(session);
       body.setSubject("sujet du message");
       body.setContent(attachment);
     
       body.setFrom(new InternetAddress("moi@free.fr"));
       body.addRecipient(Message.RecipientType.TO, new InternetAddress("moi@free.fr"));
       body.addRecipient(Message.RecipientType.BCC, new InternetAddress("moi@gmail.com"));
     
       body.saveChanges();
     
       return body;
    }
    ensuite j'encrypte ce message :
    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
     
    protected MimeBodyPart getSSMimeMessage(MimeMessage mimeMessage, X509Certificate certificate) {
       MimeBodyPart bodyPart = null;
       try {
          SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator();
          gen.addKeyTransRecipient(certificate);
          bodyPart = gen.generate(mimeMessage, SMIMEEnvelopedGenerator.DES_EDE3_CBC, 128, "BC");
       } catch (NoSuchAlgorithmException noSuchAlgorithm) {
          noSuchAlgorithm.printStackTrace();
       } catch (NoSuchProviderException noSuchProvider) {
          noSuchProvider.printStackTrace();
       } catch (SMIMEException smime) {
          smime.printStackTrace();
       }
     
       return bodyPart;
    }
    et enfin, cette nouvelle "pièce jointe" cryptée, je la joint a mon mail que je veux envoyer :

    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
     
    //1ERE VERSION
    //------------
     
    private void sendMimeMessage(String subject, MimeBodyPart bodypart) throws MessagingException, AddressException, IOException {
       MimeMessage body = new MimeMessage(session);
       body.setFrom(new InternetAddress("moi@free.fr"));
       body.addRecipient(Message.RecipientType.TO, new InternetAddress("moi@free.fr"));
       body.addRecipient(Message.RecipientType.BCC, new InternetAddress("moi@gmail.com"));
     
       body.setSubject(subject);
       body.setContent(bodypart.getContent(), bodypart.getContentType());
       body.saveChanges();
     
       Transport.send(body);
    }
    et donc, lors du "send", paf erreur.
    bon, en cherchant un peu, si je construit mon dernier mail de cette manière :

    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
     
    //2EME VERSION
    //------------
    private void sendMimeMessage(String subject, MimeBodyPart bodypart) throws MessagingException, AddressException, IOException {
       MimeMultipart multipart = new MimeMultipart();
       multipart.addBodyPart(bodypart);
     
       MimeMessage body = new MimeMessage(session);
       body.setFrom(new InternetAddress("moi@free.fr"));
       body.addRecipient(Message.RecipientType.TO, new InternetAddress("moi@free.fr"));
       body.addRecipient(Message.RecipientType.BCC, new InternetAddress("moi@gmail.com"));
     
       body.setSubject(subject);
       body.setContent(multipart);
       body.saveChanges();
     
       Transport.send(body);
    }
    la ca marche, mais mon destinataire n'arrive pas a décrypter mon message.
    et la première version est tiré des exemples "beg-crypto-examples" qui sont fournis avec BouncyCastle (je crois)

    avez vous une idée pour que ma première version du mail soit envoyée sans soucis ?

    Merci d'avance

  2. #2
    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
    je n'ai toujours pas trouvé de solution

Discussions similaires

  1. Mailing : certains sont cryptés à la réception
    Par Erazion dans le forum ASP.NET
    Réponses: 7
    Dernier message: 26/10/2011, 14h05
  2. Echenge de mail de façon crypté.
    Par jano_dave dans le forum Sécurité
    Réponses: 0
    Dernier message: 18/12/2009, 13h52
  3. crypté coordonés Mail
    Par dv-2008 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 28/04/2009, 13h02
  4. [Outlook] envoie de mail crypté
    Par swissmade dans le forum Outlook
    Réponses: 3
    Dernier message: 24/06/2008, 23h52
  5. [VB6] [Outlook] Imprimer un mail en VB
    Par der dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/09/2002, 14h20

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