Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline Евгений Коротков  
#11 Оставлено : 8 ноября 2019 г. 11:58:09(UTC)
Евгений Коротков

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.11.2019(UTC)
Сообщений: 7
Российская Федерация
Откуда: Кузбасс

Автор: Андрей Писарев Перейти к цитате
Проверка подписанного сообщения
Пример 3
Проверка совмещенной подписи.
после проверки обратиться к Content


Да, вроде бы то, что нужно, но при использовании метода получаю:

Ошибка при вызове метода контекста (Verify)
Результат = oSignedData.Verify(Сообщение, Ложь);
по причине:
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): В ASN1 встречен неожиданный конец данных.

Использую плагин из под 1С: Предприятие 8.

Полный текст:

// Читаем файл

fso = Новый COMОбъект("Scripting.FileSystemObject");
Поток = fso.OpenTextFile("c:\temp\Otchet_NBKI_Shifr1.p7s", 1);
Сообщение = Поток.ReadAll();

// Пробуем проверить подпись

oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
Результат = oSignedData.Verify(Сообщение, Ложь);

Данные = oSignedData.Content;

Использую COMОбъект("Scripting.FileSystemObject") для чтения файла, поскольку есть подозрение, что 1С может терять спец-символы.

При проверке файла КРИПТО АРМ подпись снимается корректно хоть и выдает сообщение "Подписи математически корректны, но нет полного доверия к одному или нескольким сертификатам подписи".

Offline Андрей Писарев  
#12 Оставлено : 8 ноября 2019 г. 12:21:46(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Прочитайте как бинарный файл.

Цитата:
InStream=new ActiveXObject("ADODB.Stream");
InStream.Type=1; // binary data
InStream.Mode=3; // read/write
InStream.Open();
InStream.LoadFromFile(FileName);
InData=InStream.Read(-1);



OpenTextFile - но p7s не "текстовый" у Вас.
Техническую поддержку оказываем тут
Наша база знаний
Offline two_oceans  
#13 Оставлено : 8 ноября 2019 г. 12:22:51(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 394 раз в 366 постах
Автор: Евгений Коротков Перейти к цитате
Использую COMОбъект("Scripting.FileSystemObject") для чтения файла, поскольку есть подозрение, что 1С может терять спец-символы.

При проверке файла КРИПТО АРМ подпись снимается корректно хоть и выдает сообщение "Подписи математически корректны, но нет полного доверия к одному или нескольким сертификатам подписи".
fso.OpenTextFile не особенно поможет сохранить спецсимволы в двоичном файле подписи, так как создает текстовый стрим. Вообще я бы посоветовал читать через ADODB.Stream там есть двоичный режим.

UPD: Вот уже ответили с примером, я бы еще на всякий случай добавил что-то вроде Instream.Position=0 перед Read, так как не помню после загрузки будет ли стрим в начале или в конце. Был курьезный случаи когда записал в стрим и попытался считать, а стрим оказался в конце после записи и ничего не считал.

Отредактировано пользователем 8 ноября 2019 г. 12:29:50(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#14 Оставлено : 8 ноября 2019 г. 12:29:24(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
two_oceans оставлено 08.11.2019(UTC)
Offline Андрей Писарев  
#15 Оставлено : 8 ноября 2019 г. 12:43:14(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
у меня такой вопрос...
Стало известно, что пишите под 1с, т.е. примеры js\vbs - Вам необходимо переписывать под 1С...

Разве в 1С нет проверки подписи и сохранения подписанных данных в файл?
Менеджер криптографии...
Техническую поддержку оказываем тут
Наша база знаний
Offline Евгений Коротков  
#16 Оставлено : 8 ноября 2019 г. 12:48:01(UTC)
Евгений Коротков

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.11.2019(UTC)
Сообщений: 7
Российская Федерация
Откуда: Кузбасс

Автор: Андрей Писарев Перейти к цитате
у меня такой вопрос...
Стало известно, что пишите под 1с, т.е. примеры js\vbs - Вам необходимо переписывать под 1С...

Разве в 1С нет проверки подписи и сохранения подписанных данных в файл?
Менеджер криптографии...


Менеджер криптографии есть, но его возможности увы, оставляют желать лучшего, работы с встроенными подписями там нет.
Подписать для НБКИ файл могу, а для ЭквиФакса уже нет, так как 1С не поддерживает нужный для него формат подписания.
Вот и приходится использовать внешние компоненты.
Offline Евгений Коротков  
#17 Оставлено : 8 ноября 2019 г. 13:06:07(UTC)
Евгений Коротков

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.11.2019(UTC)
Сообщений: 7
Российская Федерация
Откуда: Кузбасс

Автор: two_oceans Перейти к цитате

OpenTextFile - но p7s не "текстовый" у Вас.


Я делал по примеру " fso.OpenTextFile(FileName, ForReading) " вроде бы тут как текст открывают.

Переделка на "ADODB" не помогла:
Ошибка при вызове метода контекста (Verify)
Результат = oSignedData.Verify(InData, Ложь);
по причине:
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Объект или свойство не найдено.
В InData сидит COMSafeArray, правильный ли это тип параметра для метода?
Offline Евгений Коротков  
#18 Оставлено : 8 ноября 2019 г. 13:15:56(UTC)
Евгений Коротков

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.11.2019(UTC)
Сообщений: 7
Российская Федерация
Откуда: Кузбасс

Было бы здорово для бедных 1Сников запилить возможность передачи подписанного сообщения как BASE64Строку.
При подписании такая возможность есть, а при проверке совмещенной подписи почему то нет.
Offline GeSSer  
#19 Оставлено : 6 февраля 2020 г. 13:46:05(UTC)
GeSSer

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.02.2020(UTC)
Сообщений: 6
Российская Федерация
Откуда: Мск

Сказал(а) «Спасибо»: 2 раз
Добрый день!

Пытаюсь снять подпись с xml документа НБКИ на виртуальной машине Debian GNU/Linux 9 (stretch):

Цитата:

/opt/cprocsp/bin/amd64/cryptcp -verify -nochain -norev -f testbki.der.cer nbki/5e3811e9e3ef9.p7s ready.xml
CryptCP 5.0 (c) "Crypto-Pro", 2002-2019.
Command prompt Utility for file signature and encryption.

The following certificate will be used:
RDN:СГКО НБКИ ТЕСТ 2019-11, RU, Регион, Город, "ПАО ""Тестбанк""", 0101BB, support@nbki.ru
Valid from 14.11.2019 08:08:43 to 14.02.2020 08:18:43

Folder 'nbki/':
nbki/5e3811e9e3ef9.p7s... Signature verifying...
Signer: СГКО НБКИ ТЕСТ 2019-11, RU, Москва, support@nbki.ru
Skipping the signature due to signer certificate is not in certificate criterion.
Error: Signature.
/dailybuildsbranches/CSP_5_0r0/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:863: 0x200001F9
[ErrorCode: 0x200001f9]



И соответственно, файл без подписи ready.xml не создаётся!
Подскажите, с чем может быть связана ошибка?



Файлы:
5e3811e9e3ef9.p7s.zip (7kb) загружен 3 раз(а).
testbki.der.cer.zip (2kb) загружен 3 раз(а).

P.S. В Windows в КриптоПро возникает warning но снятие подписи проходит.
Offline Александр Лавник  
#20 Оставлено : 6 февраля 2020 г. 13:52:07(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,383
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 776 раз в 718 постах
Автор: GeSSer Перейти к цитате
Добрый день!

Пытаюсь снять подпись с xml документа НБКИ на виртуальной машине Debian GNU/Linux 9 (stretch):

Цитата:

/opt/cprocsp/bin/amd64/cryptcp -verify -nochain -norev -f testbki.der.cer nbki/5e3811e9e3ef9.p7s ready.xml
CryptCP 5.0 (c) "Crypto-Pro", 2002-2019.
Command prompt Utility for file signature and encryption.

The following certificate will be used:
RDN:СГКО НБКИ ТЕСТ 2019-11, RU, Регион, Город, "ПАО ""Тестбанк""", 0101BB, support@nbki.ru
Valid from 14.11.2019 08:08:43 to 14.02.2020 08:18:43

Folder 'nbki/':
nbki/5e3811e9e3ef9.p7s... Signature verifying...
Signer: СГКО НБКИ ТЕСТ 2019-11, RU, Москва, support@nbki.ru
Skipping the signature due to signer certificate is not in certificate criterion.
Error: Signature.
/dailybuildsbranches/CSP_5_0r0/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:863: 0x200001F9
[ErrorCode: 0x200001f9]



И соответственно, файл без подписи ready.xml не создаётся!
Подскажите, с чем может быть связана ошибка?



Файлы:
5e3811e9e3ef9.p7s.zip (7kb) загружен 3 раз(а).
testbki.der.cer.zip (2kb) загружен 3 раз(а).

P.S. В Windows в КриптоПро возникает warning но снятие подписи проходит.

Здравствуйте.

Сертификат, который Вы передаете, и сертификат, которым подписан файл, разные.

Попробуйте так:

Код:
/opt/cprocsp/bin/amd64/cryptcp -verify -nochain -norev -f nbki/5e3811e9e3ef9.p7s nbki/5e3811e9e3ef9.p7s ready.xml
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Александр Лавник за этот пост.
GeSSer оставлено 12.02.2020(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы<123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.