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

Programmation et administration système Perl Discussion :

Envoi de mot passe par mail encrypté


Sujet :

Programmation et administration système Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Par défaut Envoi de mot passe par mail encrypté
    Bonjour,

    J'ai un script perl qui envoi les mots de passe modifié par mail. Je viens de me faire remonter les bretelles : ce genre de script n'était pas sécurisé car le mail envoyé n'est pas chiffré. Je viens donc de faire des test pour chiffrer le mail et j'ai écrit ceci :
    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
    23
    #!/usr/bin/perl
    use warnings;
    use strict;
     
    use MIME::Lite;
    use MIME::Base64;
     
    #Faire le message a encrypté
    my $data = encode_base64("Mon message encrytpé\n");
     
    my $msg = MIME::Lite-> new (
      From    =>'bot@acme.org',
      To      =>'user@acme.org',
      Subject =>'Test mail',
      Data => $data, 'Content-Transfer-Encoding' => 'base64');
     
    $msg->attr('Content-Disposition'        =>  'attachment');
    $msg->attr('Content-Disposition.filename'   =>  'smime.p7m');
    $msg->attr('Content-Type' => 'application/x-pkcs7-mime');
    $msg->attr('Content-Type.smime-type' => 'enveloped-data');
    $msg->attr('Content-Type.name' => 'smime.p7m');
     
    $msg-> send();
    Ce que je reçoit n'est pas mal mais j'ai un message d'erreur au prompt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Explicitly setting a MIME header field (content-transfer-encoding) is dangerous:
    use the attr() method instead.
     at ./test_mail.pl line 11
    C'est la ligne 11 c'est celle qui commence par my $msg.

    D’où 2 questions : utilises-je bien la bonne manière pour pseudo encoder mon message? Que veux dire ce type de message après l’exécution du script?

    Ceci dit je reçoit bien les mail envoyé.

    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Je ne connais pas bien ce module que je n'ai utilisé que deux ou trois fois, et ne peux donc pas vraiment t'aider, mais je voudrais juste dire qu'encoder un mot de passe en base64 peut difficilement passer pour du chiffrement, même faible. Le plus que l'on puisse dire est qu'il ne transite pas en clair (mais presque).

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Par défaut
    Merci Lolo,

    Entre temps j'ai corrigé le script pour le message d'erreur. J'avais trouvé la source sur le site stackoverflow
    En effet, comme le signale le message il faut mettre la syntaxe Content-Transfer-Encoding dans la fonction attr ()
    Le script devient comme ceci :
    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
    #!/usr/bin/perl 
    use warnings;
    use strict;
     
    use MIME::Lite;
     
    my $msg = new MIME::Lite
     
      From    =>'adm_bot@acme.org',
      To      =>'user@acme.org',
      Subject =>'Test mail',
      Data => "Mon message encrytpé\n";
     
    $msg->attr('Content-Transfer-Encoding' => 'base64');
    $msg->attr('Content-Disposition'        =>  'attachment');
    $msg->attr('Content-Disposition.filename'   =>  'smime.p7m');
    $msg->attr('Content-Type' => 'application/x-pkcs7-mime');
    $msg->attr('Content-Type.smime-type' => 'enveloped-data');
    $msg->attr('Content-Type.name' => 'smime.p7m');
     
    $msg-> send();
    Dans l’état, le script met le contenu de Data dans un fichier smine.p7m. Je ne sais pas si ce type de fichier s'ouvre sur tous les systèmes. J'ai donc commenté les lignes suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $msg->attr('Content-Transfer-Encoding' => 'base64');
    #$msg->attr('Content-Disposition'        =>  'attachment');
    #$msg->attr('Content-Disposition.filename'   =>  'Message.p7m');
    $msg->attr('Content-Type' => 'application/x-pkcs7-mime');
    $msg->attr('Content-Type.smime-type' => 'enveloped-data');
    #$msg->attr('Content-Type.name' => 'Message.p7m');
    Le cryptage s'observe dans la source du mail, où le contenu après "Content-Type" apparaît crypté. Je ne sais pas si cela est suffisant?
    Je ne sais pas si cela répond à un cryptage anti sniffer de mail comme mon utilisateur me l'a évoqué.
    J'ai trouvé ce module qui a l'air mieux : Crypt::SMIME - S/MIME message signing, verification, encryption and decryption
    Je sais que cela ne remplace jamais un paire de clés GPG et que le cryptage reste léger, et reste facile à décrypter.

    Merci pour vos avis sur les questions que je me pose.

Discussions similaires

  1. renvoi du mot de passe par mail
    Par goldy91 dans le forum Langage
    Réponses: 8
    Dernier message: 13/05/2009, 16h12
  2. Réponses: 3
    Dernier message: 10/06/2007, 15h53
  3. Envoi d'un Etat par mail au format pdf en vba
    Par johnygrey dans le forum IHM
    Réponses: 13
    Dernier message: 21/12/2006, 15h35
  4. [Mail] Envoie de caractère spéciaux par mail() ?
    Par Oberown dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 16h13
  5. Réponses: 1
    Dernier message: 15/07/2005, 11h21

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