#0
by Help1с
Добрый день. Как я понял нельзя в 1с понять файл содержит подпись или нет. Может кто подскажет как должен работать механизм проверки подписанного файла в 1С?
#0
by Help1с
Добрый день. Как я понял нельзя в 1с понять файл содержит подпись или нет. Может кто подскажет как должен работать механизм проверки подписанного файла в 1С?
#0
by Help1с
Добрый день. Как я понял нельзя в 1с понять файл содержит подпись или нет. Может кто подскажет как должен работать механизм проверки подписанного файла в 1С?
#1
by Help1с
Мое видение процесса: 1. Получаем файл от контрагента. 2. В конфигурации должен быть регистр соответствия Сертификатов конкретному Контрагенту. 3. Методом перебора всех сертификатов и проверкой наличия данного сертификата в полученном файле узнаем что это за контрагент. 4. Проверяем действительность сертификата. Пункт 3 не нравится. Пункт 4 не знаю как реализовать.
#2
by Fedor-1971
Для начала ответь на вопрос: каким ПО криптографии собираешься пользоваться? Avest, Copicom или нечто другое. Как определишься - выясняешь методы работы выбранной системы. В идеале, работа с шифрованными данными выглядит так: 1. Получили файл 2. Скормили его системе шифрования, на предмет определения есть подпись или нет 3. Попросили расшифровать, если подпись есть Вполне вероятно, что п.2 и п.3 выполняются за одно действие. Не изобретай велосипед, там где он не нужен. До тебя уже всё сделали и придумали как хранить сертификаты (выпуск, отзыв, обмен, локальное хранилище, обмен с выше стоящим УЦ), как проверять их актуальность, как использовать в шифровании/дешифровании данных и проч.
#3
by Help1с
посмотреть бы этот велосипед. :) про первый вопрос - вообще думал что КриптоПро буду использовать и МенеджерКриптографии.
#4
by Fedor-1971
вот и почитай как работает, где хранит ключи, как получает сертификат, какие функции доступны для программного использования. Как минимум на сайте производителя. На сколько я помню, там целая система замкнутая на носитель контейнера, вроде всё на нём и хранится.
#5
by Help1с
дело в том, что у нас контейнера быть не может. мы же просто получаем подписанный файл.
#6
by Fedor-1971
о на как! Тогда о каких сертификатах идёт речь? "подписанный файл" - по сути проходит двойное шифрование, сначала шифруется область подписи, т.е. с используется шифрование на основе закрытого ключа отправителя (для проверки именно отправителя), потом шифруется всё сообщение твоим открытым ключом. По получении расшифровываем своим закрытым ключом всё сообщение и проверяем подпись используя открытый ключ отправителя. Могу ошибаться в деталях, но общая идеология именно такая. Изучил бы для начала предметную область. А без минимальных знаний в оной вопросы "Как должна работать проверка подписи в 1С" аналогичны "Есть ли жизнь на Марсе?"
#8
by Гость из Мариуполя
офигеть ты загнул. сходи на сайт bus.gov.ru выбери любое учреждение. перейди в раздел "Подробная информация" открой там "Документы" о чудо! все документы подписаны ЭЦП! ЭЦП можно посмотреть. Документы можно скачать. При этом моего ключа ни открытого, ни закрытого нету и в помине. Нету у меня ключа вообще. А ЭЦП у документов, размещенных на сайте, есть. И я эту ЭЦП вижу. Во, к примеру, первый попавшийся: Открывай "Документы" и любуйся на "Подпись". ситуация точь в точь как в . Так что предметнаяобласть - она тоже.. разная.. И кой-кому тоже бы не помешало ее подучить. :)
#9
by Borteg
шифруется сообщение при передаче от одного пользователя к другому, чтобы при перехвате сообщение не могли открыть, а только конечный получатель своим закрытым ключом. Если они лежат в открытым доступе значит расшифровка уже была произведена, электронную подпись ты тоже видишь, не имея сертификата открытого ключа ты не сможешь проверить подлинность этой электронной подписи, так как не сможешь сформировать хэш документа и сверить его с хэшем в электронной подписи.
#10
by Borteg
+ с первого апреля этого года, проверка хэша в электронной подписи является обязательным условием для юридической значимости документа, если подпись не хранит хэш - документ не имеет силы
#11
by Гость из Мариуполя
Я согласен, что шифруется и т.д. и т.п. Для двухстороннего обмена. Но.. не надо.. смешивать шифрование и подпись. Для признания юридической значимости документ не обязательно шифровать. Котировочные заявки на госзакупках, электронные аукционы, госконтракты по их итогам т.д.и т.п. Я для кого bus.gov.ru привел? могу еще на zakupki.gov.ru отправить. В общем. ситация схожая с - сплошь и рядом. Так что для двухстороннего обмена - одно дело. Можно и шифровать, и обменяться открытыми ключами и т.д. Для документов же, выложенных в публичный доступ, можно использовать, к примеру - там и про хэширование, и крипто.net упомянут а также можно посмотреть, к примеру, вот сюда
#19
by Help1с
нашел вот такой код: где лучше хранить подпись? у нас не будет файла. это я про свои пункты 2 и 3 из - не нравится мне такая схема.
#20
by Help1с
Как лучше и как правильно связать подпись с контрагентом? когда мы получаем файл мы не знаем кто его отправил. нужно все имеющиеся подписи проверить? может есть более красивый вариант?
#21
by Help1с
Делаю: МенеджерКриптографии.ПроверитьСертификат(Сертификат); Выходит ошибка: Сертификат не предназначен для указанного использования что это?
#27
by Garykom
ТСу продавть СП еще не предлагали? СертификатКриптографии.ОткрытыйКлюч (CryptoCertificate.PublicKey) СертификатКриптографии (CryptoCertificate) ОткрытыйКлюч (PublicKey) Использование: Только чтение. Описание: Тип: ДвоичныеДанные. Содержит данные открытого ключа. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
#28
by Serginio1
Что из этого тебе не нужно КриптоПро .NET - программный продукт, позволяющий использовать средство криптографической защиты информации (СКЗИ) КриптоПро CSP на платформе Microsoft .NET Framework. КриптоПро .NET является новой версией существовавшего ранее программного продукта КриптоПро Sharpei и реализует набор интерфейсов для доступа к криптографическим операциям .NET Cryptographic Provider: MAC; генерация ключей и т.д.
#29
by Help1с
сертификаты в системе я вижу. вопрос как прочитать сертификат и подпись в документе ексель.
#30
by Garykom
"Подпись" (ЭП/ЭЦП) это хеш файла (который подписываем) зашифрованный приватным (или открытым) ключем (из пары ключей открытый/приватный) "Проверка подписи" это берется изначальный файл и считается его хеш снова. Затем берется зашифрованный хеш, расшифровывается нужным ключем (вторым к тому которым был зашифрован). И сверяется 2 хеша на совпадение.
#31
by Garykom
+ Если хеш файла был зашифрован приватным ключем контрагента (которого у вас понятно нет он чужой). То проверять подпись нужно открытым ключем контрагента (взять его из сертификата ключа контрагента)
#33
by Garykom
эээ, вам бы сферу деятельности сменить... точно знаю что дикая нехватка кадров есть в рабочих сферах
#35
by Garykom
Обычно то что называют "подписанным файлом" это по сути просто зашифрованный изначальный файл (возможно к которому добавили его хеш) и зашифровали приватным ключем. Поэтому если расшифровать открытым ключем то и получится "исходный файл". Смотреть по размеру этого "подписанного" если он всегда одинаковый и не зависит от размера исходного то это только хеш с подписью. Если большой то сам файл исходный внутри.
#37
by Garykom
+ И чтобы было понятно то шифрованный файл это когда подписывают открытым ключем получателя. Тогда только зная приватный ключ (получателя) можно расшифровать. Проверки подписи в этом смысле нет потому что открытый ключ получателя много кому известен.
#42
by Help1с
+1 Дано: Файл Эксель подписанный контрагентом. Сертификат контрагента у нас отсутствует. Необходимо: Выполнить проверку действительности подписи, если подпись действительна, то выполняем операции с файлом. Еще нужно по полученному сертификату найти контрагента.
#43
by tank_25
Понятно. Нет бы честно признаться, что средствами встроенного языка это сделать нельзя. Начинаются тут отмазки.
#44
by Help1с
как я понял это можно сделать СОМ объектом, типа КапиКом, но он снят с поддержки, и у меня не получилось.
#45
by Garykom
>Сертификат контрагента у нас отсутствует. У вас нет образца подписи совсем (в переводу на ручную). Что с чем вы собираетесь сверять?
#46
by Garykom
+ смените работу... пока вам ее принудительно не предложили поменять с такими знаниями
#50
by Help1с
контрагент подписал файл эксель. нужно получить из этого эксель подпись, из подписи получить сертификат(ы) и проверить его на актуальность.
#53
by Garykom
>контрагент подписал файл эксель. нужно получить из этого эксель подпись, из подписи получить сертификат(ы) и проверить его на актуальность. Если вы сумеете это сделать то нобелевка за вскрытие криптографии вам обеспечена!
#54
by Garykom
+ причем сделать без использования отдельно переданного/полученного сертификата подписи контрагента (с открытым ключом внутри его)
#57
by Help1с
в чем проблема? я же визуально из экселя вижу подпись файла, могу провалиться в сертификат, сохранить его как файл. теперь это нужно сделать в 1с, чтобы пользователь не проверял наличие подписи визуально.
#58
by Help1с
это не то. визуально ручками посмотреть подпись можем без проблем. как бы это автоматизировать.
#62
by DGorgoN
Шифрование бывает асинхронным, когда для проверки подавленности может быть 1 доступный публичный ключ, а вот для подписания документа уже закрытый.
#63
by Serginio1
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ по проверке заявок участников размещения заказов, направляемых заказчикам, уполномоченным органам в форме электронных документов, подписанных ЭЦП, для участия в открытых конкурсах и запросах котировок
#67
by Garykom
если сертификат включен в подписанный файл то знаю, если не включен то никак 500 руб в час
#78
by Help1с
я скину подписанный файл, нужно эту подпись прочитать и получить сертификат. желательно бесплатными средствами. договорились?
#80
by Help1с
как перевести на 1с следующий код: Set oSignedData = CreateObject("CAdESCOM.CadesSignedData") ' Загрузка подписанных данных для проверки. я вот так делаю: выходит ошибка: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (Verify) по причине: Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Встречено неверное значение тега ASN1.
#86
by Serginio1
Попробуй 7, пока в теме молчание Использование классов .Net в 1С для новичков Использование классов .Net в 1С для новичков
#87
by Help1с
я так и пытаюсь сейчас сделать. вот это мне нужно как COMОбъект подключить. пока не нашел как.
#89
by Serginio1
PackageDigitalSignatureManager=Врап.ПолучитьТипИзСборки("System.IO.Packaging.PackageDigitalSignatureManager","WindowsBase.dll");
#91
by Help1с
Ошибка при вызове конструктора (COMОбъект) врап=новый COMОбъект("NetObjectToIDispatch45"); по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
#96
by Help1с
пока не могу понять как с этим объектом работать. как ему передать подписанный файл для проверки
#97
by Garykom
Каким именно объектом? "NetObjectToIDispatch45" просто позволяет классы .net использовать из 1С. Не зная (не изучив) C# и .Net оно чем поможет?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Механизм создания движений по регистрам Учет Затрат (РАУЗ)
- Свертка базы БП 8,2 . Неверное начальное сальдо
- ЗУП 3.0 ввод начальных остатков по декретным отпускам
- Распечатать Акт приема Передачи, Бухгалтерия Базовая на платформе 8.3
- Применение оплат платежными картами в 1с Розница 2.2
- УТ 11 ошибка доступа справочник варианты отчетов
- Неверно отображается структура подчиненности
- Закрытие 20 счета с давальческим сырьем
- регистр сведений Ставка рефинансирования в Бух 3.0
- Получить значение плана видов характеристик
- v7: Вопрос по работе с перечислениями
- v7: 1с++ Получение документа из регистра, недопустимое имя столбца "IDDoc".
- v7: Неожиданное решение проблемы 'Нарушена структура 1Sjourn.dbf'
- Противоречивая связь в запросе
- Чтение mxl в табличный документ на экране
- Как настроить Префикс (Клавиша F7) в ТСД
- v7: 1C 7.7 ЗиК вопрос по 6-НДФЛ
- Нужны рекомендации по обрезанию нескольких лет в УПП
- Розница 2.2.2.14 Документ "Вскрытие тары ЕГАИС"
- Ошибка выполнения запроса при проведении безвозмездного поступления ОС. Помогите