Chaindoc
Articles

Comment ouvrir un fichier .p7m ou un conteneur .asice que votre ordinateur refuse

Un fichier .p7m ou un conteneur .asice que votre ordinateur refuse d'ouvrir ? Ce que sont ces formats, comment en sortir le document et vérifier la signature.

Comment ouvrir un fichier .p7m ou un conteneur .asice que votre ordinateur refuse

Comment ouvrir un fichier .p7m ou .asice tout de suite

Quelqu'un vous a envoyé par e-mail un fichier nommé contrat.pdf.p7m ou accord.asice, et rien sur votre machine ne veut y toucher. Le double-clic ne fait rien d'utile, ou Windows vous propose gentiment d'aller chercher dans le store une application qui n'existe pas. Un fichier .p7m ne s'ouvre pas avec un lecteur PDF, et aucun double-clic n'y changera quoi que ce soit. Voici la version courte, puis l'explication.

Les deux fichiers sont des conteneurs. Quelque chose de parfaitement ordinaire est scellé dedans, en général un PDF, une facture XML ou un document Word, avec une signature numérique enroulée autour. Vous avez donc deux tâches distinctes : sortir le document, et savoir si la signature vaut quelque chose. La plupart des gens ne pensent qu'à la première.

Aiguillez le fichier d'après son extension

Regardez la fin du nom. Ce seul détail décide de tout ce qui suit.

  • Il se termine par .p7m ou .p7s ? C'est une enveloppe CMS portant une signature CAdES. Direction la vérification CAdES.
  • Il se termine par .asice, .sce, .asics ou .scs ? C'est un conteneur ASiC, et la vérification ASiC lit les quatre. Elle accepte aussi un simple .zip, ce qui couvre les fichiers ayant perdu leur extension en route.
  • Il se termine par .bdoc ? C'est le même conteneur qu'un .asice sous un ancien nom estonien. Renommez une copie en .asice ou .zip avant de la téléverser, car le filtre regarde l'extension et non le contenu.
  • Vous ne savez pas ce que vous tenez, ou le nom empile deux extensions ? La vérification de signature prend tous les formats dans un seul formulaire et s'en occupe elle-même.

Les fichiers jusqu'à 50 Mo passent. Vous confirmez votre adresse e-mail avec un code à usage unique avant d'obtenir le rapport, et le fichier que vous téléversez n'est jamais conservé.

Bien. Passons à ce qui explique pourquoi tout cela est nécessaire.

Ce qu'est vraiment un fichier .p7m

Un .p7m n'est pas un document. C'est une boîte scellée avec un document à l'intérieur.

Le format s'appelle Cryptographic Message Syntax, CMS en abrégé, défini par la RFC 5652 et descendant de PKCS#7. Cette ascendance explique que de vieux outils appellent encore ces fichiers des PKCS#7. Quand quelqu'un signe de cette façon, le logiciel calcule l'empreinte des octets d'origine, la chiffre avec une clé privée, puis range le document, la signature et le certificat du signataire dans un seul bloc binaire. Ensuite il accroche .p7m à la fin du nom de fichier original.

D'où des noms comme contrat.pdf.p7m et Fattura_0187.xml.p7m. L'extension intérieure vous dit ce qui est scellé dedans. L'extension extérieure vous dit que c'est scellé.

CAdES est la couche construite par-dessus. Abréviation de CMS Advanced Electronic Signatures et normalisée par ETSI EN 319 122, elle ajoute ce qui manque à une signature CMS nue : date de signature, politique de signature, horodatages, et les données de certificat et de révocation dont vous aurez besoin pour contrôler la chose dans quelques années.

La géographie explique la plupart des .p7m que vous croiserez. La firma digitale italienne s'appuie beaucoup sur CAdES : tout ce qui arrive d'un portail de l'administration italienne, d'un courriel certifié PEC ou d'une facture FatturaPA tend à être emballé ainsi. L'Espagne, le Portugal et une partie de l'Amérique latine l'utilisent aussi, simplement avec moins d'acharnement. Si l'un de vos fournisseurs est à Milan, vous verrez des fichiers .p7m jusqu'à la fin de votre carrière.

Ce qu'est un fichier .asice, et pourquoi il vient des pays baltes

Un fichier .asice est un fichier ZIP qui suit des règles.

Ce n'est pas une plaisanterie, et c'est le fait le plus utile à connaître sur ce format. ASiC signifie Associated Signature Container, spécifié par ETSI EN 319 162. Dedans se trouve une archive ZIP ordinaire contenant vos documents, un dossier META-INF avec les fichiers de signature, et un manifeste décrivant l'ensemble. Renommez une copie en .zip, ouvrez-la avec n'importe quel outil d'archive, et les documents sont simplement là.

Deux variantes existent. ASiC-S transporte exactement un objet de données et apparaît en .asics ou .scs ; ASiC-E en transporte plusieurs plus un manifeste et apparaît en .asice ou .sce. La plupart des fichiers que vous rencontrerez en pratique sont des ASiC-E.

Reste le .bdoc, qui fait trébucher plus de monde qu'il ne le devrait. Le logiciel DigiDoc estonien a écrit des conteneurs ASiC-E sous ce nom pendant des années, et structurellement c'est le même conteneur. Un validateur qui lit du .asice lira parfaitement les octets d'un .bdoc. Sauf que les filtres de téléversement regardent l'extension et non le contenu : un .bdoc est donc refusé avant que quoi que ce soit n'aille voir à l'intérieur. Renommez une copie en .asice ou .zip et cela passe sans discussion.

L'identité électronique balte explique leur présence dans votre boîte de réception. La carte d'identité estonienne, l'e-Residency et Smart-ID produisent tous des conteneurs .asice, et la Lettonie et la Lituanie fonctionnent sur la même lignée DigiDoc. Signez un contrat avec une société estonienne et c'est ce qui vous reviendra. Les systèmes nordiques et d'Europe centrale utilisent aussi l'ASiC, plus rarement de façon exclusive.

Renommer fonctionne pour l'un de ces formats et détruit l'autre. Un .asice est réellement un ZIP : en renommer une copie en .zip puis la décompresser est légitime et sans danger. Un .p7m n'est pas un PDF affublé d'un suffixe étrange : le document se trouve dans une structure CMS binaire, entouré de données de signature, si bien que retirer le .p7m de la fin vous donne un fichier corrompu et un message d'erreur incompréhensible. Travaillez sur des copies dans les deux cas, et gardez le fichier reçu exactement tel qu'il est arrivé.

Pourquoi votre ordinateur refuse ces deux fichiers

Rien n'est cassé. Votre système d'exploitation n'a simplement aucune idée de ce que sont ces fichiers.

Windows, macOS et Linux choisissent tous une application d'après l'extension ou le type MIME. Ni .p7m ni .asice n'arrivent avec un gestionnaire par défaut sur une machine grand public, parce qu'aucun des deux n'est un format grand public. Ils sortent de systèmes d'identité électronique nationaux et de logiciels de signature professionnels, et ceux qui en ont besoin quotidiennement installent des outils dédiés.

Les navigateurs se comportent pareil et ajoutent une contrariété bien à eux. Téléchargez un .p7m depuis un portail web et Chrome ou Safari peuvent le renommer discrètement, retirer l'extension, ou le livrer avec un type MIME qui pousse votre client de messagerie à réencoder la pièce jointe. Chacune de ces manipulations peut modifier les octets, ce qu'une signature est précisément faite pour remarquer.

Une seconde raison vaut pour le .p7m en particulier. Même une fois que vous savez de quel format il s'agit, le document intérieur ne se trouve pas en haut du fichier, là où un lecteur pourrait tomber dessus. Il est encapsulé dans une structure ASN.1 DER, aux côtés de la signature et du certificat. L'en sortir demande un logiciel qui comprend cette structure, pas un lecteur PDF qu'on prie gentiment.

Ce que signifie chaque extension et où la contrôler

ExtensionDe quoi il s'agitPeut-on la décompresser ?Où la vérifier
.p7m

Enveloppe CMS, signature CAdES enveloppante

Non, c'est une structure binaire DER

Vérification CAdES

.p7s

Signature CMS détachée, aucun document dedans

Non, et il n'y a rien à en extraire

Vérification CAdES, plus le fichier original

.asice / .sce

Conteneur ASiC-E, plusieurs fichiers et un manifeste

Oui, renommez une copie en .zip

Vérification ASiC

.asics / .scs

Conteneur ASiC-S, un seul objet de données

Oui, renommez une copie en .zip

Vérification ASiC

.bdoc

ASiC-E sous l'ancien nom estonien

Oui, renommez une copie en .zip

Vérification ASiC, après renommage en .asice ou .zip

.xsig / .xml signé

Signature XAdES portée dans le XML lui-même

Non, c'est du XML avec la signature dedans

Vérification XAdES

Sortir le document original du conteneur

Si c'est un conteneur ASiC, décompressez-le

Copiez le fichier, renommez la copie en .zip, et ouvrez-la avec l'Explorateur Windows, l'utilitaire d'archive de macOS, 7-Zip, ou unzip en ligne de commande. Vos documents sont à la racine de l'archive. Les signatures sont dans META-INF.

C'est vraiment tout, ce qui a le don d'agacer les gens qui viennent de passer une heure à chercher un logiciel spécial.

Si c'est un .p7m, il vous faut quelque chose qui comprend CMS

Aucune astuce de renommage ici. Sur macOS ou Linux avec OpenSSL installé, ceci en extrait le document :

openssl cms -verify -noverify -in document.pdf.p7m -inform DER -out document.pdf

L'option -noverify saute le contrôle de confiance, parce que pour l'instant vous ne voulez que le contenu. Retirez-la et OpenSSL tentera aussi de valider la chaîne de certificats, ce qui échoue en général face à une autorité de certification nationale européenne dont votre système n'a jamais entendu parler. Cet échec ne dit absolument rien sur la validité réelle de la signature, et c'est exactement là que la plupart des gens concluent que quelque chose ne va pas alors que tout va bien.

Une remarque pratique : si la commande se plaint du format d'entrée, remplacez -inform DER par -inform PEM. Une minorité de fichiers .p7m sont encodés en PEM plutôt qu'en DER binaire. Ne vous contentez pas de supprimer l'option : OpenSSL suppose alors du S/MIME et échoue sur une erreur de type de contenu déroutante.

Les lecteurs de bureau constituent l'autre voie. Le client DigiDoc4 estonien gère les conteneurs ASiC et lit également les fichiers .p7m, et les autorités de certification italiennes livrent des lecteurs gratuits pour les fichiers de firma digitale. Les deux fonctionnent bien. Les deux supposent aussi que vous vivez déjà dans l'écosystème du pays concerné, ce qui tombe mal quand une facture italienne par trimestre constitue toute votre exposition au format.

Ce que ces outils ne font pas

Autant être clair, cela vous épargnera un après-midi. Les outils de vérification de Chaindoc contrôlent des signatures : ils rendent compte des signatures présentes dans le fichier, de qui a signé, et de la solidité du résultat. Ce ne sont pas des extracteurs de fichiers. Si ce qu'il vous faut est le PDF lui-même, décompressez le conteneur ou lancez la commande OpenSSL ci-dessus. Vérifier et extraire sont deux tâches différentes, et il vaut mieux les garder séparées dans sa tête.

Deux collègues cherchant comment ouvrir un fichier p7m et un conteneur .asice que leur ordinateur refuse de lire

Décider vers quel validateur envoyer un fichier prend quelques secondes une fois l'extension connue. Deviner, ou renommer au hasard en espérant, voilà ce qui consume l'après-midi.

Enveloppée ou détachée : quand un .p7s réclame un second fichier

Deux fichiers presque identiques peuvent se comporter de façon complètement différente, et c'est là que les gens abandonnent.

Une signature enveloppante porte le document à l'intérieur. Le .p7m en est l'exemple quotidien : un seul fichier, autonome, contrôlable seul. Les conteneurs ASiC sont autonomes pour la même raison, puisque les documents et leurs signatures voyagent ensemble dans le même ZIP.

Une signature détachée ne contient aucun document. C'est la signature, le certificat, et rien d'autre. Le .p7s en est la version CAdES courante, et le même schéma se retrouve avec un .xml ou un .xsig détaché du côté XAdES. Téléversez-en un tout seul et le validateur se retrouve avec une signature sans rien à quoi la comparer : vous obtenez donc un résultat indéterminé. Cela ressemble à un échec. Ce n'en est pas un.

La solution consiste à fournir les deux fichiers. Sur les formulaires de Chaindoc, sélectionner un fichier susceptible d'être détaché (.p7s, .xml ou .xsig) fait apparaître un second champ pour le document signé. Joignez-y l'original et l'empreinte peut enfin être recalculée puis comparée.

Un avertissement sur cet original. Il doit s'agir des octets exacts qui ont été signés, pas d'une copie passée par une GED, réenregistrée ou remise en forme par une passerelle de messagerie. Un seul octet changé casse l'empreinte. Donc quand une signature détachée échoue, soupçonnez votre copie du document avant de soupçonner la signature.

Les doubles extensions sont une fonctionnalité, pas une erreur. contrat.pdf.p7m signifie qu'un PDF a été signé puis emballé ; Fattura_0187.xml.p7m qu'il s'agissait d'une facture XML. Lire l'extension intérieure vous dit ce que vous trouverez une fois l'emballage retiré, ce qui est utile avant de choisir un outil. Cela vous dit aussi avec quelle application ouvrir le contenu ensuite, et vous évite le grand classique qui consiste à extraire un fichier XML puis à s'étonner que le lecteur PDF fasse la tête.

Vérifiez la signature avant de faire confiance au document

Téléversez un .p7m ou un .p7s et Chaindoc valide la signature CAdES avec la bibliothèque EU DSS : intégrité de l'empreinte, chaîne de certificats, état de révocation et horodatages embarqués, le tout confronté à la liste de confiance de l'UE. Fichiers jusqu'à 50 Mo. Un .p7s détaché fait apparaître un second champ pour le document original. Vous confirmez votre adresse e-mail avec un code à usage unique, et le fichier que vous téléversez n'est jamais conservé.

Quel lecteur p7m sur Windows, macOS et Linux

Chercher un lecteur p7m remonte trois familles de réponses, et elles ne se valent pas.

Les clients d'identité électronique nationaux

DigiDoc4 en Estonie, et les lecteurs gratuits que les autorités de certification italiennes fournissent avec leurs kits de firma digitale. Ce sont les outils autour desquels les formats ont été conçus, ils sont gratuits, et ils traitent correctement les cas particuliers locaux. L'inconvénient, c'est qu'ils supposent votre appartenance à l'écosystème du pays, et plusieurs réclament votre lecteur de carte et ses pilotes avant de faire quoi que ce soit d'intéressant.

La ligne de commande

OpenSSL pour le .p7m, n'importe quel utilitaire de décompression pour le .asice. Gratuit, déjà présent sur la plupart des machines macOS et Linux, et parfaitement indifférent au pays d'origine du fichier. Les utilisateurs Windows peuvent obtenir OpenSSL via WSL ou une version native. Très bien, à condition qu'un terminal ne vous rebute pas.

Les validateurs en ligne

Rien à installer, ce qui compte quand vous manipulez un de ces fichiers par mois et n'avez pas envie d'héberger à demeure sur votre portable le client d'identité électronique d'un pays étranger.

Alors, quel lecteur p7m vaut vraiment l'installation ?

Réponse honnête : pour des fichiers occasionnels, un lecteur de bureau est démesuré. Pour du volume quotidien dans un seul pays, installez le client de ce pays et cessez d'y penser. C'est le milieu inconfortable, celui où des fichiers signés arrivent de trois pays dans des formats que personne ne vous a demandé de choisir, qui justifie un validateur indifférent au format.

Quelle que soit la voie retenue, méfiez-vous des téléchargements d'« ouvreur p7m gratuit » qui remplissent les résultats de recherche. Vous confieriez un document juridique signé à un binaire inconnu venu d'un site dont vous n'avez jamais entendu parler. Mauvais échange pour cinq minutes gagnées.

Ouvrir un fichier .p7m n'est pas le vérifier

Afficher le document à l'écran répond à la question ennuyeuse. La question intéressante, c'est de savoir si la signature autour signifie quelque chose.

Voici ce que les gens ratent : extraire le contenu ne prouve rien. Un .p7m peut porter une signature faite avec un certificat expiré, avec un certificat révoqué, avec le certificat de quelqu'un d'autre que celui que vous imaginez, ou une signature portant sur un contenu modifié depuis. Décompressez-le et le PDF s'ouvrira magnifiquement dans chacun de ces cas, parce que le document, lui, va bien. Ce qui est cassé, c'est l'affirmation sur son approbation.

Un contrôle sérieux répond à quatre questions distinctes :

  • Intégrité. L'empreinte correspond-elle toujours aux octets signés ? Tout ce qui a changé après la signature échoue ici.
  • Chaîne. Le certificat de signature remonte-t-il jusqu'à une racine que le validateur reconnaît ? Chaindoc prend la liste de confiance de l'UE comme ancre principale, avec les grandes autorités de certification commerciales à côté.
  • Révocation. Le certificat était-il valable au moment de la signature, et non aujourd'hui ? Un fichier de 2023 signé avec un certificat expiré en 2024 est parfaitement valide.
  • Horodatage. Existe-t-il un horodatage de confiance fixant le moment de la signature ? Sans lui, la question de la révocation n'a aucune réponse fiable.

Et une dernière qu'aucun outil ne tranche à votre place : le signataire est-il bien celui que vous croyez ? Ouvrez le sujet du certificat, lisez le nom de l'organisation et l'identifiant fiscal, puis comparez les deux à celui dont vous pensez avoir reçu le fichier. Une signature cryptographiquement irréprochable émanant de la mauvaise société est la forme que prend l'essentiel de la fraude à la facture. Notre guide sur la vérification d'une facture signée traite ce contrôle en détail.

Savoir si une signature compte comme qualifiée au sens d'eIDAS relève encore d'une autre consultation, face à une liste nationale de confiance et non face à la cryptographie. eIDAS et la liste de confiance de l'UE explique comment cette consultation fonctionne, et le guide de la signature électronique qualifiée explique ce que l'étiquette vous apporte réellement en droit.

Lancez le contrôle quand le fichier arrive, pas quand quelqu'un le conteste. Les autorités de certification ferment, les répondeurs de révocation cessent de répondre, et les algorithmes d'empreinte partent à la retraite : une signature qui se valide proprement aujourd'hui peut devenir réellement difficile à valider dans huit ans sans que personne n'ait rien fait de mal. Conservez le rapport de validation à côté du conteneur d'origine. Cette paire répondra plus tard à des questions auxquelles le souvenir d'un « on l'a ouvert, ça avait l'air bon » ne répondra jamais.

Les erreurs qui cassent le fichier définitivement

Quatre habitudes, toutes courantes, toutes évitables.

Renommer un fichier P7M pour atteindre le document. Retirer l'extension ne déballe rien. Vous obtenez un fichier corrompu, et si c'était votre seul exemplaire, vous venez de détruire une preuve dont vous pourriez avoir besoin dans des années.

Réenregistrer après ouverture. Ouvrez le PDF extrait, ajoutez un commentaire, enregistrez, et les octets ne correspondent plus à ce qui a été signé. Le contrôle face au conteneur d'origine fonctionne toujours, ce qui est toute la raison de le conserver. Face à votre copie modifiée, il ne fonctionnera jamais.

Faire suivre à travers des systèmes qui touchent au fichier. Les passerelles de messagerie réencodent les pièces jointes. Les GED normalisent les espaces dans le XML. Les portails régénèrent les PDF au téléchargement. Chacun de ces gestes peut casser une signature sans modifier un seul caractère visible : quand un fichier échoue, demandez donc à l'expéditeur de le renvoyer en pièce jointe directe avant de présumer la mauvaise foi.

Jeter l'emballage une fois le document récupéré. Compréhensible, et coûteux. L'original signé est la preuve ; le PDF extrait n'est qu'une copie de confort. Archivez les deux.

Tout cela reste plus simple que les formats ne le laissent croire. Un fichier P7M est une boîte scellée, un fichier .asice est un ZIP avec des règles, et les deux contiennent un document ordinaire accompagné d'une affirmation sur son signataire. Sortez le document comme il vous arrange. Puis contrôlez l'affirmation, parce que cette réponse devient plus chère à obtenir chaque mois où vous la remettez à plus tard.

Un seul formulaire pour tout fichier signé

Vous ne savez pas si vous tenez du CAdES, du XAdES, du PAdES ou un conteneur ASiC ? La vérification de signature Chaindoc détermine le format elle-même et contrôle l'intégrité, la chaîne de certificats, la révocation et les horodatages face à la liste de confiance de l'UE. Les signatures détachées acceptent le document original à côté. Vous confirmez votre adresse e-mail avec un code à usage unique, le fichier que vous téléversez n'est jamais conservé, et le contrôle est gratuit.

Étiquettes

#eidas#digital-verification#document-security#digital-signing#legal-validity#eu-regulation
FAQ

Questions fréquentes

Trouvez les réponses essentielles sur Chaindoc et la signature sécurisée de documents.