Независим наръчник — не сме доставчик на удостоверителни услуги
esign.bg Наръчник за електронен подпис и е-услуги Проверка на подпис
Софтуер и проблеми

Файл .p7s или .p7m: какво е и как да го отворите

Какво е файл .p7m и .p7s, защо не се отваря с двоен клик, как да извадите подписания документ и да проверите подписа в браузъра, с OpenSSL или с DSS.

От Редакция на esign.bg Публикувано: 4 мин. четене

Получихте документ, който завършва на .p7m или идва заедно с файл .p7s, и не знаете как да го отворите. Това са подписи по един и същ стандарт: CMS (Cryptographic Message Syntax, RFC 5652), а в ЕС профилът му за електронни подписи се нарича CAdES (ETSI EN 319 122-1). Разликата е само в това дали документът е вътре в подписа или до него.

Разликата между .p7m и .p7s

.p7m .p7s
Какво съдържа подписа и самия документ само подписа
Как се казва прикрепен подпис (enveloping) отделен подпис (detached)
Как изглежда dogovor.pdf.p7m dogovor.pdf + dogovor.pdf.p7s
Какво ви трябва, за да проверите цялостта само файлът .p7m и двата файла

Подписът по стандарта съдържа сертификата на подписващия, време на подписване (ако програмата го е записала), понякога и печат за време от доставчик. При прикрепения подпис документът е в полето „съдържание“ на структурата и може да бъде извлечен непроменен, байт по байт.

Защо не се отваря с двоен клик

Windows познава разширенията .p7m и .p7s като „криптографски“ файлове и показва сертификата, а не документа. Adobe Acrobat Reader не отваря .p7m, защото не е PDF, а обвивка около PDF (или около Word, XML, ZIP). Затова първо трябва да извадите документа, а след това да го отворите с обичайната програма.

Как да извадите документа и да проверите подписа

В браузъра, без да качвате файла

Отворете проверката на подпис и изберете файла:

  • .p7m: ще видите кой е подписал и кога, дали документът е променян, дали сертификатът е квалифициран и дали издателят е в доверителния списък. Бутонът „Запазете подписания документ“ връща оригиналния файл.
  • .p7s: изберете .p7s, а под „Отделен подпис .p7s? Добавете и оригиналния файл“ добавете и документа. Без него се вижда кой е подписал, но не и дали документът е същият.

Проверката става изцяло във вашия браузър; файлът не се изпраща никъде.

С OpenSSL (Windows, macOS, Linux)

OpenSSL е безплатна програма с отворен код. Командата cms с опцията -verify проверява подписа и записва съдържанието във файла от -out (документация):

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

-noverify казва на OpenSSL да не проверява веригата на сертификата: той няма списък с българските удостоверяващи органи, а без опцията командата спира с грешка за непознат издател. Проверката на подписа над съдържанието остава: при променен файл OpenSSL пише „Verification failure“. За отделен подпис добавете оригинала с -content:

openssl cms -verify -inform DER -in dogovor.pdf.p7s -content dogovor.pdf -noverify -out /dev/null

Под Windows вместо /dev/null напишете NUL.

Ако файлът започва с -----BEGIN, сменете -inform DER с -inform PEM.

С проверката на Европейската комисия (DSS)

DSS е софтуерът с отворен код, с който Европейската комисия показва как се валидират подписи по eIDAS. В демонстрацията качвате подписания файл (и оригинала при .p7s) и получавате отчет с проверката срещу доверителните списъци на всички държави от ЕС. Имайте предвид, че там файлът се качва на сървъра на Комисията; за поверителни документи предпочетете проверка на вашия компютър.

С програмата на вашия доставчик

Доставчиците дават свои програми за подписване на файлове; например StampIT DSTool създава .p7m и .p7s. Кой софтуер има всеки доставчик, вижте в софтуер и драйвери за КЕП.

Как да създадете .p7m или .p7s

Почти всяка програма за подписване на доставчиците пита какъв подпис искате: „прикрепен“ (.p7m) или „отделен“ (.p7s). За PDF обикновено е по-удобен подписът вътре в самия PDF (PAdES), защото получателят го отваря и проверява в Acrobat Reader без допълнителни стъпки: вижте как да подпишете PDF. .p7m и .p7s са подходящи за файлове, които нямат собствено място за подпис: ZIP, изображения, таблици, файлове за обмен с институции.

Чести въпроси

Подписът в .p7m валиден ли е като подписа в PDF?

Да. И двата са електронни подписи по стандарти на ЕС; правната сила зависи от вида на подписа (квалифициран или не) и от удостоверението, а не от формата на файла. Квалифицираният подпис има силата на саморъчен (какво е КЕП).

Мога ли просто да преименувам dogovor.pdf.p7m на dogovor.pdf?

Не. Файлът .p7m е обвивка: в началото има структура с подписа и сертификата, а PDF-ът е вътре. Преименуван, той няма да се отвори. Извадете документа по един от начините по-горе.

Получих .p7s без оригинала. Какво мога да видя?

Кой е подписал, с какъв сертификат и кога, ако времето е записано. Не можете да разберете какво е подписано: за това подателят трябва да ви изпрати и документа.

Защо проверката казва „Непълна проверка“?

Най-често защото в подписа няма печат за време от доставчик, а само часа на компютъра на подписващия. Тогава няма надеждна дата, към която да се провери валидността на сертификата. Обяснението е на страницата на проверката на подпис.

Източници

  1. RFC 5652: Cryptographic Message Syntax (CMS)
  2. ETSI EN 319 122-1: CAdES digital signatures
  3. OpenSSL: openssl-cms
  4. Европейска комисия: DSS, демонстрация на валидиране

Вижте и това

Редакция на esign.bg

esign.bg е малък екип, който работи от София, България. Пишем практично за електронния подпис и е-управлението и посочваме официалния източник на всяка стъпка. Не издаваме и не продаваме удостоверения.

За нас · Как работим · Всички материали

Текстът е на Редакцията на esign.bg. Стъпките са по официалните източници, посочени под материала. esign.bg не е доставчик на удостоверителни услуги. Редакционна политика · Забелязахте грешка? Пишете ни на kontakt@esign.bg.