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

Langage Perl Discussion :

[Manipulation Archive Zip] Tester le chiffrement d'une archive


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Par défaut [Manipulation Archive Zip] Tester le chiffrement d'une archive
    Bonjour a tous !

    J'ai un petit souci que je ne parviens à résoudre seul...
    Dans un script Perl, je parse un dossier dans lequel je récupère la listedes archives Zips que j'y trouve.
    Je voudrais pouvoir m'assurer que les archives (au format .zip) sont bien chiffrées, et sans pour autant connaitre le mot de passe..

    Merci pour votre aide

    Arnaud.

  2. #2
    Membre chevronné Avatar de cmcmc
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 316
    Par défaut
    Bonjour,

    note que ce ne sont pas les archives qui sont chiffrées mais leurs membres.

    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
    24
    Taisha:~/perl/forum $ echo "public" > public.txt
    Taisha:~/perl/forum $ zip public.zip public.txt
      adding: public.txt (stored 0%)
    Taisha:~/perl/forum $ echo "secret" > secret.txt
    Taisha:~/perl/forum $ zip -e secret.zip secret.txt
    Enter password:
    Verify password:
    updating: secret.txt (stored 0%)
    Taisha:~/perl/forum $
    Taisha:~/perl/forum $ perl -E '
    use strict;
    use warnings;
    use utf8;
    use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
    for my $zipfile (@ARGV) {
      my $zip = Archive::Zip->new();
      $zip->read($zipfile) == AZ_OK or die "$zipfile: read error";
      for my $member ($zip->members()) {
        say "le membre ", $member->fileName(), " de $zipfile ", ($member->isEncrypted() ? "est" : "n\047est pas"), " chiffré"
      }
    }' secret.zip public.zip
    le membre secret.txt de secret.zip est chiffré
    le membre public.txt de public.zip n'est pas chiffré
    Taisha:~/perl/forum $
    Note également que la sécurité offerte par le chiffrage est très relative. Comme le conteneur lui même n'est pas chiffré, on peut accéder à la liste des membres et en ajouter ou enlever... Au minimum il faut chiffrer deux fois (de façon à ce que le conteneur externe n'ait qu'un et un seul membre). Voir par exemple ici.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Par défaut
    Merci pour beaucoup pour ta réponse et les infos supplémentaires
    Je vais tester ca.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Par défaut
    Bonsoir,

    Pour information ca marche parfaitement, merci encore

    J'ai une autre question, est il possible de faire l'équivalent pour un fichier .PGP chiffré avec une clé privée appliquée via Kleopatra ?

    Merci.

    Cdt.

  5. #5
    Membre chevronné Avatar de cmcmc
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 316
    Par défaut
    Citation Envoyé par lekokiri Voir le message
    est il possible de faire l'équivalent pour un fichier .PGP chiffré avec une clé privée appliquée via Kleopatra ?
    Tu peux essayer de le lire avec Crypt::OpenPGP sans fournir de clé. Il y a des chances qu'un fichier non PGP génère l'erreur No packets found in message. Un fichier PGP génèrera sans doute une erreur différente.

    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
    Taisha:~/perl/forum $ perl -E'
    use Crypt::OpenPGP;
    for (@ARGV) {
      my $pgp = Crypt::OpenPGP->new;
      if (defined $pgp->handle( Filename => $_ )) {
        die "succes inattendu lors du traitement de $_";
      } else {
        my $err = $pgp->errstr;
        if ($err =~ /No packets found in message/) {
          print "$_ ne semble pas etre un fichier PGP\n";
        } else {
          $err =~ s/[\r\n]+/ /g;
          print "a ce stade le statut de $_ n\047est pas completement clair ($err)\n";
        }
      }
    }' hello.pl
    hello.pl ne semble pas etre un fichier PGP
    Taisha:~/perl/forum $

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Par défaut
    Bonjour!

    A priori Crypt::OpenPGP intègre une fonction verify() donc je vais voir ce que ca donne, merci.

    Par contre j'aimerai aussi pouvoir le faire pour un GPG, et Crypt::GPG n'a pas l'air de fonctionner pareil et je ne trouve pas de méthode permettant de checker un fichier GPG...
    Si jamais vous avez une piste, je suis preneur


    Merci.

    Cdt.

Discussions similaires

  1. Manipuler une archive zip ou rar
    Par will97 dans le forum Général Python
    Réponses: 1
    Dernier message: 29/09/2007, 08h41
  2. Créer une archive zip
    Par shaun_the_sheep dans le forum Administration système
    Réponses: 3
    Dernier message: 31/03/2007, 22h19
  3. [Zip] Extraire une archive zip sur le serveur
    Par troxsa dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/03/2007, 11h15
  4. [Zip] Décompresser une archive zip ou .gz
    Par Invité(e) dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/02/2007, 07h33
  5. [C#] [WinForms] Lecture d'un fichier dans une archive ZIP
    Par aegypius dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/12/2004, 17h15

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