Цифровая подпись и валидность файлов —

Цифровая подпись и валидность файлов — Электронная цифровая подпись
Содержание
  1. Если сертификат у автора подписи — действующий и изменений в документ он не вносил, но проверку подпись не проходит. что делать в этом случае?
  2. Вариант №1. основной
  3. ​результаты проверки
  4. Бывают два типа таких ключей:
  5. Валидация электронных подписей на c# с использованием крипто про
  6. Виды электронной подписи
  7. Как госзаказчик сможет проверить подпись на котировочной заявке?
  8. Как пользователь может проверить электронно-цифровую подпись под документом pdf
  9. Как проверить подписанный электронно документ онлайн
  10. Как проверить электронную подпись на документе word или excel
  11. Как проверить эцп на работоспособность
  12. Как установить и задействовать криптопрограмму на пк
  13. Какие есть средства для проверки заверенных цифровой подписью файлов
  14. Методика верификации
  15. Можно ли в контур.крипто проверить подпись, поставленную в word?
  16. Не удалось проверить цифровую подпись этого файла: причины и способы решения проблемы
  17. Проверить подпись эцп онлайн с помощью контур.крипто
  18. Проверить цифровую подпись с помощью криптопровайдера и плагинов
  19. Проверить электронную подпись в программе «криптоарм»
  20. Проверить электронную подпись: зачем и когда это нужно
  21. Проверка электронной подписи и сертификата ключа на сайте «госуслуги»
  22. Разновидности эцп
  23. Резюме
  24. Сертификат эцп
  25. Статус: подпись не подтверждена
  26. Статус: подпись подтверждена
  27. Статус: подпись подтверждена, но на момент проверки срок действия сертификата истек
  28. Тонкости технологии
  29. Электронный автограф верифицируют по таким направлениям:
  30. Итоги

Если сертификат у автора подписи — действующий и изменений в документ он не вносил, но проверку подпись не проходит. что делать в этом случае?

Уточните у автора: правильный ли исходный документ и файл подписи он прикрепил при отправке? Если нет — запросите исходный документ и файл подписи у автора повторно. 

Вариант №1. основной

– В Проводнике выбираем требуемый файл и щелкаем правой кнопкой мышки (Рис. А, под номером 1).

– В выпадающем меню выбираем пункт “Свойства”(Рис. А, под номером 2).

Рис. А

– Переходим на вкладку “Цифровые подписи”(Рис. B).

Рис. B

– Выделяем указанную подпись.В данном случае Doctor Web Ltd. Эту запись выделить обязательно(Рис. С, под номером 1) иначе кнопка “Сведения” будет не активна.

Рис. С

– Нажимаем кнопку “Сведения” (Рис. А, под номером 2)

– После появится вердикт. Действительна ли подпись или нет (Рис. D).

Рис. D

​результаты проверки

Результаты проверки подписи будут отражены в протоколе, который можно сохранить или распечатать. Проверка может иметь следующий статус:

Бывают два типа таких ключей:

Закрытые ключи ЭЦП известны только их владельцам, представляют собой неповторимую комбинацию символов, предназначенных для подтверждения цифровой документации.

Открытые ключи связаны и напрямую взаимодействуют с закрытыми. Они доступны всем пользователям сети, передаются в Росреестр на сервер во время верификации достоверности цифрового автографа. С помощью открытого ключа можно проверить авторство файла, но не получить закрытый ключ или внести изменения в документ.

Валидация электронных подписей на c# с использованием крипто про

Продолжая разговор на тему электронных подписей (далее ЭП), надо сказать о проверке. В предыдущей стать я разбирал более сложную часть задачи — создание подписи. В этой статье всё несколько проще. Большая часть кода это адаптация примеров из КРИПТО ПРО .NET SDK. Проверять будем в первую очередь подписи по ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2021, для этого нам и нужен КРИПТО ПРО.

Задача для нас разбивается на 3 части: отделённая подпись, подпись в PDF и подпись в MS Word.

Проверка отделённой подписи:

            //dataFileRawBytes - массив байт подписанного файла
            ContentInfo contentInfo = new ContentInfo(dataFileRawBytes);
            SignedCms signedCms = new SignedCms(contentInfo, true);
            //signatureFileRawBytes - массив байт подписи
            signedCms.Decode(signatureFileRawBytes);

            if (signedCms.SignerInfos.Count == 0)
            {
                //обработка в случае отсутствия подписей
            }

            foreach (SignerInfo signerInfo in signedCms.SignerInfos)
            {
                //получаем дату подписания
                DateTime? signDate =
                    (signerInfo.SignedAttributes
                            .Cast<CryptographicAttributeObject>()
                            .FirstOrDefault(x => x.Oid.Value == "1.2.840.113549.1.9.5")
                            ?.Values[0]
                        as Pkcs9SigningTime)?.SigningTime;
                bool valid;
                try
                {
                    signerInfo.CheckSignature(true);
                    valid = true;
                }
                catch (CryptographicException exc)
                {
                    valid = false;
                }

                //получаем сертификат для проверки. Пригодится при проверке сертификата
                X509Certificate2 certificate = signerInfo.Certificate;

Комментарии все в коде, обращу только ваше внимание на получение сертификата, он нам понадобиться далее, т.к. сертификат мы будем проверять отдельно.

Ну и не забываем оборачивать всё в try-catch и прочие using. В примере я этого намеренно не делаю, что бы сократить объём

Валидация подписи в PDF. Тут нам понадобиться iTextSharp (актуальная версия на момент написания 5.5.13):

            using (MemoryStream fileStream = new MemoryStream(dataFileRawBytes))
            using (PdfReader pdfReader = new PdfReader(fileStream))
            {
                AcroFields acroFields = pdfReader.AcroFields;
                //получаем названия контейнеров подписей
                List<string> signatureNames = acroFields.GetSignatureNames();
                if (!signatureNames.Any())
                {
                    //обработка отсутствия ЭП
                }

                foreach (string signatureName in signatureNames)
                {
                    //далее следует магия получения подписи из контейнера
                    PdfDictionary singleSignature = acroFields.GetSignatureDictionary(signatureName);
                    PdfString asString1 = singleSignature.GetAsString(PdfName.CONTENTS);
                    byte[] signatureBytes = asString1.GetOriginalBytes();

                    RandomAccessFileOrArray safeFile = pdfReader.SafeFile;

                    PdfArray asArray = singleSignature.GetAsArray(PdfName.BYTERANGE);
                    using (
                        Stream stream =
                            new RASInputStream(
                                new RandomAccessSourceFactory().CreateRanged(
                                    safeFile.CreateSourceView(),
                                    asArray.AsLongArray())))
                    {
                        using (MemoryStream ms = new MemoryStream((int)stream.Length))
                        {
                            stream.CopyTo(ms);
                            byte[] data = ms.GetBuffer();
                            ContentInfo contentInfo = new ContentInfo(data);
                            SignedCms signedCms = new SignedCms(contentInfo, true);
                            signedCms.Decode(signatureBytes);
                            bool checkResult;
                            //получили подпись и проверяем её, без проверки сертификата
                            try
                            {
                                signedCms.CheckSignature(true);
                                checkResult = true;
                            }
                            catch (Exception)
                            {
                                checkResult = false;
                            }

                            foreach (SignerInfo signerInfo in signedCms.SignerInfos)
                            {
                                //получаем дату подписания
                                DateTime? signDate = (signerInfo.SignedAttributes
                                        .Cast<CryptographicAttributeObject>()
                                        .FirstOrDefault(x =>
                                            x.Oid.Value == "1.2.840.113549.1.9.5")
                                        ?.Values[0]
                                    as Pkcs9SigningTime)?.SigningTime;
                                //получаем сертификат
                                X509Certificate2 certificate = signerInfo.Certificate;
                            }
                        }
                    }
                }
            }

Комментировать опять же особенно нечего. Разве что надо сказать о Oid «1.2.840.113549.1.9.5» — это Oid даты подписания.

И последний в нашем списке это docx, пожалуй самый простой вариант:

            using (MemoryStream fileStream = new MemoryStream(dataFileRawBytes))
            using (Package filePackage = Package.Open(fileStream))
            {
                PackageDigitalSignatureManager digitalSignatureManager =
                    new PackageDigitalSignatureManager(filePackage);
                if (!digitalSignatureManager.IsSigned)
                {
                    //обрабатываем ситуацию отсутствия подписей
                }

                foreach (PackageDigitalSignature signature in
                    digitalSignatureManager.Signatures)
                {
                    DateTime? signDate = signature.SigningTime;
                    bool checkResult = signature.Verify() == VerifyResult.Success;
                    //обратите внимание на способ получения сертификата
                    X509Certificate2 certificate =
                        new X509Certificate2(signature.Signer);
                }
            }

Теперь будем разбирать сертификат и валидировать всю цепочку сертификатов. Поэтому сборка должна работать из под пользователя, у которого есть доступ в сеть.

Читайте также:  открытая и закрытая часть эцп: как сделать экспорт |

И тут начинается ад, т.к. я не знаю как получить информацию о владельце сертификата через Oid, поэтому буду парсить строку. Смейтесь громче: цирк начинается.

А если серьёзно, то милости прошу в комменты тех, кто знает как сделать это через Oid-ы:

        private static void FillElectronicSignature(X509Certificate2 certificate)
        {
            foreach (KeyValuePair<string, string> item in ParseCertificatesSubject(certificate.Subject))
            {
                switch (item.Key)
                {
                    case "C":
                        string certificatesCountryName =
                            item.Value;
                        break;
                    case "S":
                        string certificatesState =
                            item.Value;
                        break;
                    case "L":
                        string certificatesLocality =
                            item.Value;
                        break;
                    case "O":
                        string certificatesOrganizationName =
                            item.Value;
                        break;
                    case "OU":
                        string certificatesOrganizationalUnitName =
                            item.Value;
                        break;
                    case "CN":
                        string certificatesCommonName =
                            item.Value;
                        break;
                    case "E":
                        string certificatesEmail =
                            item.Value;
                        break;
                    case "STREET":
                        string certificatesStreet =
                            item.Value;
                        break;
                    //тут интересный момент, если Window русскоязычный, то КРИПТО ПРО вернёт ИНН, а если англоязычный, то INN
                    //именно тут начиналась не пойми что после deploy на тестовый стенд
                    //локально работает, на тестовом - нет
                    case "ИНН":
                    case "INN":
                    case "1.2.643.3.131.1.1":
                        string certificatesInn =
                            item.Value;
                        break;
                    //аналогично предыдущему
                    case "ОГРН":
                    case "OGRN":
                    case "1.2.643.100.1":
                        string certificatesOgrn =
                            item.Value;
                        break;
                    //аналогично предыдущему
                    case "СНИЛС":
                    case "SNILS":
                    case "1.2.643.100.3":
                        string certificatesSnils =
                            item.Value;
                        break;
                    case "SN":
                        string certificatesOwnerLastName =
                            item.Value;
                        break;
                    case "G":
                        string certificatesOwnerFirstName =
                            item.Value;
                        break;
                    //тут рекомендую добавить блок default и всё что не удалось определить ранее писать в лог
                }
            }
            DateTime certificateNotBefore =
                certificate.NotBefore;
            DateTime certificateNotAfter =
                certificate.NotAfter;
            string certificatesSerialNumber =
                certificate.SerialNumber;

            
            if (!certificate.Verify())
            {
                //строим цепочку сертификатов
                using (X509Chain x509Chain = new X509Chain())
                {
                    x509Chain.Build(certificate);
                    //получаем все ошибки цепочки
                    X509ChainStatus[] statuses = x509Chain.ChainStatus;
                    //собираем все флаги ошибок в один int, так проще хранить
                    int certificatesErrorCode =
                        statuses.Aggregate(X509ChainStatusFlags.NoError,
                            (acc, chainStatus) => acc | chainStatus.Status, result => (int)result);
                }
            }
        }

        /// <summary>
        /// Разобрать строку с данными о владельце сертификата
        /// </summary>
        private static Dictionary<string, string> ParseCertificatesSubject(string subject)
        {
            Dictionary<string, string> result = new Dictionary<string, string>();

            //количество двойных кавычек, для определения конца значения
            int quotationMarksCount = 0;
            //признак что сейчас обрабатывается "ключ или значение"
            bool isKey = true;
            //переменная для сбора ключа
            string key = string.Empty;
            //Переменная для сбора значения
            string value = string.Empty;

            for (int i = 0; i < subject.Length; i  )
            {
                char c = subject[i];
                if (isKey && c == '=')
                {
                    isKey = false;

                    continue;
                }
                if (isKey)
                    key  = c;
                else
                {
                    if (c == '"')
                        quotationMarksCount  ;

                    bool isItemEnd = (c == ',' && subject.Length >= i   1 && subject[i   1] == ' ');
                    bool isLastChar = subject.Length == i   1;

                    if ((isItemEnd && quotationMarksCount % 2 == 0) || isLastChar)
                    {
                        if (isItemEnd)
                            i  ;
                        if (isLastChar)
                            value  = c;
                        isKey = true;
                        if (value.StartsWith(""") && value.EndsWith("""))
                            value = value.Substring(1, value.Length - 2);
                        value = value.Replace("""", """);
                        result.Add(key, value);
                        key = string.Empty;
                        value = string.Empty;
                        quotationMarksCount = 0;

                        continue;
                    }
                    value  = c;
                }
            }

            return result;
        }

Код максимально сокращён, для лучшего понимания сути.

В общем это всё, жду комментариев по получению Oid-ов из сертификата и любой аргументированной критики.

Виды электронной подписи

ЭП представляет собой информацию в цифровом виде, которая прикрепляется к визируемому электронному документу. Существует электронная подпись двух видов:

  1. Простая. Создается с помощью кодов и паролей, проверить ее подлинность не представляется возможным, поскольку она поддается взлому. По этой причине ее используют при утверждении внутренних корпоративных документов, в деловой переписке, а также при оказании государственных услуг.
  2. Усиленная. Она формируется с помощью метода криптографического шифрования и надежно защищена от несанкционированного вмешательства. Делится на два типа: неквалифицированную и квалифицированную. Первая по сфере применения мало чем отличается от простой ЭП, но ее нельзя использовать при получении госуслуг. Вторая создается с помощью устройств, прошедших сертификацию в ФСБ РФ, ее можно использовать при подаче документов в официальные контролирующие органы, а также для участия в электронных торгах. Потому усиленные электронные подписи требуют проверки на подлинность.

Как госзаказчик сможет проверить подпись на котировочной заявке?

Можно порекомендовать госзаказчику сделать это в сервисе Контур.Крипто. Кроме того, проверку подписи можно выполнить в любой другой программе, которая позволяет проверять подписи, хранящиеся в отдельном файле.

Как пользователь может проверить электронно-цифровую подпись под документом pdf

В приложениях Adobe Reader/Acrobat проверка осуществляется автоматически. В верхней части открытого документа появляется сообщение о статусе ключевого сертификата. Если документация подписана усиленной КЭП, приложение сможет распознать сертификат только при наличии модуля «КриптоПро PDF» и криптопровайдера.

  1. Для инсталляции загруженного плагина откройте программу, перейдите в «Установки» (раздел «Редактирование») и нажмите «Подписи». В появившемся окне кликните «Подробнее» напротив строки «Проверка».Цифровая подпись и валидность файлов —
  2. В окне «Установки для подтверждения» выберите «КриптоПро PDF» («Всегда использовать метод по умолчанию»).
  3. Чтобы посмотреть подробные сведения, нажмите «Signatures» (ярлык в виде бумаги с ручкой) в верхнем левом углу.Цифровая подпись и валидность файлов —
  4. Кликните правой клавишей мыши по названию ЭП, а затем нажмите «Validate Signature».

Как проверить подписанный электронно документ онлайн

Основное преимущество онлайн-сервисов проверки ЭЦП — доступность с любого устройства, на котором есть браузер (ПК, мобильный девайс).

Общий для большинства соответствующих онлайн-сервисов механизм проверки ЭЦП предполагает:

1. Загрузку веб-страницы, на которой будет осуществляться проверка электронной подписи онлайн.

Это может быть, к примеру, страница на сайте удостоверяющего центра, выдавшего электронную подпись, посредством которой заверен проверяемый документ.

2. Загрузка через специальные онлайн-формы файлов, которые могут быть представлены:

  • проверяемым документом с прикрепленной ЭЦП;
  • проверяемым документом отдельно от ЭЦП, после — файла ЭЦП.

3. Ожидание результата проверки подлинности электронной подписи.

Рассмотрим то, как удостоверяется подлинность ЭЦП в режиме онлайн на примере портала «Госуслуги».

Как проверить электронную подпись на документе word или excel

Для просмотра информации о КЭП или НЭП необходимо использовать ту же (или совместимую) версию Word/Excel, которая применялась при подписании файла. Обязательное условие — наличие криптопровайдера «КриптоПро CSP» (версия 3.0 или 3.6)

Читайте также:  Рисование графиков. Python. Tkinter / Хабр

Статус ЭП можно посмотреть в открытом документе, кликнув правой клавишей мыши на символ Цифровая подпись и валидность файлов — в строке состояния (рядом с названием языка).

Как проверить эцп на работоспособность

Подключите ключевой носитель к ПК и запустите «КриптоПро CSP». Зайдите во вкладку «Сервис» и кликните «Протестировать контейнер закрытого ключа». В появившемся окне выберите контейнер, нажав «Обзор».

Мастер предоставит подробный отчет, в котором будут указаны типы ошибок. Скопируйте его в буфер обмена с помощью соответствующей кнопки, чтобы в дальнейшем отправить в службу техподдержки вашего УЦ.

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

Проверить электронную подпись можно и с помощью криптопрограмм, инсталлируемых на ПК. Стоит отметить, что соответствующий тип ПО для проверки ЭЦП так или иначе использует онлайн-каналы, то есть доступ к интернету у пользователя должен быть.

Но рассматриваемый способ имеет ряд преимуществ по сравнению с онлайн-схемой в чистом виде. А именно:

  • возможность проверять файлы через «Проводник», используя контекстные меню, групповое выделение;
  • задействование во многих случаях более надежного канала передачи данных (файлы, передаваемые через браузер, могут быть с высокой вероятностью перехвачены вирусом);
  • во многих случаях более высокая отказоустойчивость интерфейсов (доступ на сайт может быть по каким-либо причинам осложнен, например в случае обновления скриптов на веб-страницах).

Собственно, для того чтобы задействовать в целях проверки подписи ЭЦП криптопрограмму, нужно получить ее дистрибутив в удостоверяющем центре, выдавшем подпись, которой заверен проверяемый документ, а затем установить программу на ПК. Данный дистрибутив может прислать по просьбе проверяющего лица и человек, подписавший документ и приславший его на проверку.

Наличия собственной ЭЦП и сертификата к ней, оформленных в соответствующем удостоверяющем центре, у проверяющего лица может не потребоваться, поскольку в данном случае проверка файлов будет осуществляться с задействованием открытого ключа.

Многие криптопрограммы после инсталляции оказываются способными автоматически распознавать файлы электронных подписей, размещенные на дисках компьютера (как правило, данные файлы имеют расширение .SIG). В этом случае всё, что нужно пользователю для практического задействования ПО для проверки цифровой подписи, — открыть папку с проверяемым файлом, а затем щелкнуть на нужном файле двумя кликами, а криптопрограмма сама откроет нужные интерфейсы для проверки ЭЦП.

Какие есть средства для проверки заверенных цифровой подписью файлов

Осуществлять проверку подлинности ЭЦП можно разными способами. В числе самых распространенных:

  • проверка ЭЦП через онлайн-сервисы (например, те, что доступны на сайте «Госуслуги»);
  • проверка ЭЦП через криптопрограммы, установленные на ПК.

Рассмотрим соответствующие механизмы проверки ЭЦП онлайн и на ПК подробнее.

Методика верификации

Действующая нормативно-правовая база чётко определяет правовое поле и устанавливает порядок того, как происходит подтверждение подписи. Законодательством регулируется само право использования СКПЭП. Как будет осуществляться проверка электронной подписи участники электронных сделок, ЭДО решают сами.

Существует несколько методик проверки подлинности цифровой подписи. Самыми простыми из них являются проверки:

Проверка ЭЦП, параметры

Закон 63-ФЗ разрешил использовать «компактный» термин — «электронная подпись» (ЭП).

Можно ли в контур.крипто проверить подпись, поставленную в word?

Пока технические возможности сервиса позволяют проверить подпись, поставленную только в специальных программах, предназначенных для подписания документов и создающих подпись в отдельном файле.

Не удалось проверить цифровую подпись этого файла: причины и способы решения проблемы

Вы подписали документ и отправили его адресату, но ему не удалось проверить цифровую подпись этого файла. Ошибка может быть вызвана различными причинами, в числе которых отсутствие необходимого ПО, некорректная настройка рабочего места, несовместимость программ. В данном случае посоветуйте получателю установить приложения и/или плагины, о которых мы рассказали в этой статье.

Проблема может возникнуть не только из-за технических «недочетов» со стороны получателя. Возможно, причиной сбоя послужило повреждение данных или неправильная настройка сертификата. Распространенные причины ошибок:

  1. Отправитель исправлял содержимое документа после подписания (в этом случае ЭП автоматически становится недействительной). Следует повторно поставить подпись.
  2. Сертификат поврежден или установлен некорректно. Необходимо провести тестирование в приложении «КриптоПро CSP».
  3. Сертификат отозван или срок его действия истек. Следует обратиться в УЦ и перевыпустить подпись.

Подробнее стоит рассмотреть, как проверить ЭЦП на работоспособность, если она распознается как недействительная или при ее проверке появляется ошибка.

Проверить подпись эцп онлайн с помощью контур.крипто

Портал госуслуг позволяет узнать информацию только о квалифицированной ЭЦП, тогда как сервис Контур.Крипто дает возможность проверить любую подпись ЭЦП онлайн (как КЭП, так и НЭП).

Криптографические операции можно проводить только с отсоединенными ЭП от разных УЦ (даже тех, которые не имеют лицензии Минкомсвязи). Существует ограничение на максимальный вес архива — 100 Мб.Все функции, включая подписание, шифровку и расшифровку документов, будут доступны после регистрации.

Проверить цифровую подпись с помощью криптопровайдера и плагинов

Приложения Word, Excel, Adobe Acrobat/Reader распознают только обычные подписи, которые защищают содержимое документа от изменений, но не придают ему юридической силы. Для «чтения» усиленных КЭП или НЭП в файлах .doc/.docx, .xls/.xlsx и .pdf нужны вспомогательные программы, отвечающие требованиям ГОСТ Р 34.10-2001, — СКЗИ «КриптоПро CSP» и специальные плагины.

Для работы с Word/Excel загрузите и установите на ПК утилиту КриптоПро Office Signature. Поскольку дистрибутив имеет формат Windows Installer, процесс осуществляется автоматически. Утилита платная, но есть возможность загрузить бесплатную ознакомительную версию с ограниченным сроком действия.

Читайте также:  Как поставить эцп криптопро

Проверить цифровую подпись сертифицирующую на документации формата PDF можно в Adobe Reader или в Adobe Acrobat с модулем КриптоПро PDF. Утилита позволяет выполнять любые криптографические операции с помощью СКЗИ «КриптоПро CSP». Вы можете использовать ПО (плагин и криптопровайдер) бесплатно, но только для проверки. После покупки лицензий откроется доступ к остальным функциям.

Проверить электронную подпись в программе «криптоарм»

Если вы являетесь владельцем ЭЦП и/или регулярно получаете подписанную документацию, имеет смысл установить программу «КриптоАРМ». С ее помощью можно проверить электронную подпись (КЭП или НЭП), а также подписать, зашифровать и отправить документ по e-mail. Приложение позволяет выполнять операции с папками и архивами, что существенно экономит время.

Проверить электронную подпись: зачем и когда это нужно

Владелец ключевого сертификата подписывает документ присоединенной или отсоединенной подписью. В первом случае вы получаете один файл, во втором два — обычный и в формате .sig. Проверка позволяет убедиться в том, что ЭЦП выдана аккредитованным удостоверяющим центром, и срок ее действия еще не истек. Вы узнаете реквизиты автора и получите подтверждение, что после подписания содержимое файла не менялось.

Для расшифровки ЭП нужны специальные программы или веб-сервисы, с помощью которых можно узнать серийный номер, срок действия и статус сертификата (действителен или недействителен), а также реквизиты владельца и издателя. Отчет может быть представлен в таком виде:

Вы можете получить и такой отчет:

То, каким будет результат, зависит от типа ЭП и возможностей установленного на ПК программного обеспечения.

Проверка электронной подписи и сертификата ключа на сайте «госуслуги»

Для того чтобы проверить электронную подпись на Госуслугах, нужно:

Разновидности эцп

По законодательству РФ, в предпринимательской деятельности используются такие виды ЭЦП:

Для создания неквалифицированной ЭЦП нужен особый ключ (ряд символов определённой последовательности). Такая подпись определяет внесение изменений в документ, позволяет удостоверять своего собственника.

Квалифицированная подпись имеет такие же свойства, что и предшественница, но её выдают только аккредитованные центры, организации. Норма 63-ФЗ от 06.04.2021 уравняла собственноручную и цифровую подписи. Последняя имеет юридическую силу, если:

усилена электронным ключом;

подтверждена её подлинность;

используется по назначению (соответствовать данным, которыми владеет сертификат).

Существуют различные методики валидации ЭЦП по этим параметрам.

Резюме

Электронная подпись применяется для придания виртуальным документам юридической силы. Она бывает простой и усиленной. Установить подлинность первой невозможно, а для проверки второй удостоверяющими центрами выдается сертификат, который содержит ключ проверки ЭП.

Определить аутентичность электронной подписи можно несколькими способами. Основными являются: применение специального программного обеспечения, использование сайта госуслуг или других интернет-сервисов.

Если вы столкнулись с подделанной или взломанной ЭП, обратитесь к нашим профессиональным юристам. Они подскажут, что надо делать в такой ситуации.

Сертификат эцп

СКПЭП подтверждает соответствие ЭЦП лишь одному уникальному собственнику. СКПЭП создаёт на платной основе квалифицированный и сертифицированный орган — удостоверяющий центр (УЦ).

  • порядковый, уникальный номер;
  • дату актуальности (время начала/окончания использования);
  • персональные данные физлица — Ф. И. О.;
  • подтверждение для юрлица — название, место регистрации компании;
  • проверочный код;
  • стандарты, которым соответствуют код проверки и код ЭЦП, или название используемой ЭЦП;
  • название УЦ;
  • редусматривает 63-ФЗ.

Законодательством РФ предусмотрены случаи прекращения сертификатом своей деятельности. Например, связанные с истечением срока актуальности, на основе заявления владельца (уполномоченного лица), при аннулировании его в УЦ (вследствие нарушений или сбоев, когда электронный ключ был продублирован в Росреестре в другом, более раннем СКПЭП).

Статус: подпись не подтверждена

Возможные причины, по которым электронная подпись не прошла проверку:

  • Подпись не соответствует документу. Был выбран неправильный документ либо файл подписи был создан для другого документа. Необходимо проверить соответствие файлов, которые вы выбираете с диска. При необходимости запросите у автора правильные документы.
  • Документ был модифицирован. После создания проверяемой подписи в документ были внесены изменения. Для устранения данной причины необходимо исключить возможность модификации исходного документа после создания подписи для него.
  • Сертификат был отозван. 

Статус: подпись подтверждена

Успешная проверка электронной подписи означает:

  • Подпись соответствует исходному документу.
  • Документ не модифицирован. После создания подписи в него не вносились никакие изменения.
  • Сертификат не был отозван. 

Статус: подпись подтверждена, но на момент проверки срок действия сертификата истек

Сервис Контур.Крипто не может проверить, что на момент подписания файла сертификат отправителя был действующим. Поэтому автору документа необходимо продлить сертификат или получить новый и заново выслать подписанный документ.

Тонкости технологии

Сертификаты проверки ключа электронной подписи (или СКПЭП) могут быть выданы как обычное бумажное удостоверение или электронный файл, подтверждающий право предъявителя на подпись, её проверочный код.

Ключ, используемый для установления корректности ЭЦП, всегда связан с непосредственным кодом ЭЦП.

Электронный автограф верифицируют по таким направлениям:

Чтобы проверить ЭЦП на валидность, нужно вставить его носитель, например «РУТокен» или любой другой, в порт компьютера. В браузере ввести адрес специального портала проверки (некоторые операторы имеют такой). Выполнив там верификацию, можно получить доступ к используемой площадке (например, электронным торгам) и начать работу.

Необходимо учитывать тот факт, что ЭП может быть не только в теле файла с документом, часто она прикрепляется отдельно. Её данные могут не отображаться или визуализироваться как картинка/ряд цифр (зависит от алгоритма создания).

Использование программы «Крипто АРМ»

Когда нужна оперативная проверка подлинности электронной подписи, выбирают комплекс «Крипто АРМ». Это платное приложение, имеющее демонстрационную версию («Старт»), которую можно загрузить с портала разработчика.

Как только верификация завершена, появится соответствующее окно с результатом. Программой «Крипто АРМ» можно подтвердить достоверность даже квалифицированных ЭП. Уточнение ЭП напоминает графологическую экспертизу, но не требует длительных лабораторных исследований.

Итоги

Проверка документов, подписанных с помощью ЭЦП, может осуществляться с применением онлайн-сервисов или же дистрибутивов криптопрограмм, устанавливаемых на ПК. Инструменты первого типа могут быть предпочтительнее с точки зрения универсальности, вторые — иметь преимущества в аспекте безопасности передачи данных, отказоустойчивости интерфейсов, удобства работы с файлами.

Оцените статью
ЭЦП Эксперт
Добавить комментарий