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

Уведомление

Icon
Error

4 Страницы<1234>
Опции
К последнему сообщению К первому непрочитанному
Offline Анатолий Беляев  
#21 Оставлено : 13 февраля 2020 г. 15:22:03(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 941
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 161 раз в 142 постах
Обновили пример для работы с Net Core с поддержкой ГОСТ
https://github.com/Crypt.../DotnetCoreSampleProject
Так же выложили бету для скачивания
https://github.com/CryptoProLLC/corefx/releases
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline Ранис  
#22 Оставлено : 11 марта 2020 г. 11:21:18(UTC)
Ранис

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

Группы: Участники
Зарегистрирован: 11.03.2020(UTC)
Сообщений: 1

Пример подписания XML понятен. А есть пример подписания строки/данных из файла?
Offline Sergeyhold  
#23 Оставлено : 19 марта 2020 г. 12:34:43(UTC)
Sergeyhold

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

Группы: Участники
Зарегистрирован: 22.09.2016(UTC)
Сообщений: 6

Автор: Анатолий Беляев Перейти к цитате
Обновили пример для работы с Net Core с поддержкой ГОСТ
https://github.com/Crypt.../DotnetCoreSampleProject
Так же выложили бету для скачивания
https://github.com/CryptoProLLC/corefx/releases


Здравствуйте. Скачал бету, все завелось, благодарим.
Но дальше появилась проблема..
Вот такой код:
Цитата:
var signedData = "MIINjgYJKoZI..V1CzpYH";
SignedCms signedCms = new SignedCms();
signedCms.Decode(Convert.FromBase64String(signedData));
signedCms.CheckSignature(true);


Дает следующую ошибку:
Unknown algorithm '1.2.643.7.1.1.3.2'
Хотя на странице https://cpdn.cryptopro.r...___pro_c_s_p_ex_DP8.html он есть.

Если при отладке метода signedCms.CheckSignature остановиться в классе CmsSignature.cs в строке 68 и исправить значение параметра signatureAlgorithmOid на "1.2.643.7.1.1.1.1", то далее все пройдет успешно.
В signedCms.ContentInfo.ContentType.Value значение "1.2.840.113549.1.7.1" ("Данные PKCS 7")

Скажите как поступить? Это я что-то не пониманию или все же ошибка?

Спасибо

Отредактировано пользователем 19 марта 2020 г. 13:01:02(UTC)  | Причина: Не указана

Offline Анатолий Беляев  
#24 Оставлено : 19 марта 2020 г. 12:41:13(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 941
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 161 раз в 142 постах
А можете всю подпись приложить?
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline Sergeyhold  
#25 Оставлено : 19 марта 2020 г. 12:50:52(UTC)
Sergeyhold

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

Группы: Участники
Зарегистрирован: 22.09.2016(UTC)
Сообщений: 6

Автор: Анатолий Беляев Перейти к цитате
А можете всю подпись приложить?


Отправил в личку!
Offline Анатолий Беляев  
#26 Оставлено : 19 марта 2020 г. 15:34:44(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 941
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 161 раз в 142 постах
В вашей подписи в SignerInfo плохой oid стоит в SignatureAlgoritm.
Согласно RFC https://tools.ietf.org/html/rfc4490#page-5 https://tools.ietf.org/html/rfc4491#section-2.3.2 там должен стоят 1.2.643.7.1.1.1.1 а не 1.2.643.7.1.1.3.2
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline Sergeyhold  
#27 Оставлено : 19 марта 2020 г. 16:05:46(UTC)
Sergeyhold

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

Группы: Участники
Зарегистрирован: 22.09.2016(UTC)
Сообщений: 6

Автор: Анатолий Беляев Перейти к цитате
В вашей подписи в SignerInfo плохой oid стоит в SignatureAlgoritm.
Согласно RFC https://tools.ietf.org/html/rfc4490#page-5 https://tools.ietf.org/html/rfc4491#section-2.3.2 там должен стоят 1.2.643.7.1.1.1.1 а не 1.2.643.7.1.1.3.2


А почему если на 4-м Net'е проверять эту подпись, то все норм?
Offline Максим Коллегин  
#28 Оставлено : 19 марта 2020 г. 16:07:46(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,921
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 579 раз в 520 постах
А на какой ОС запускали пример с .NET Core?
Знания в базе знаний, поддержка в техподдержке
Offline Sergeyhold  
#29 Оставлено : 19 марта 2020 г. 16:14:56(UTC)
Sergeyhold

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

Группы: Участники
Зарегистрирован: 22.09.2016(UTC)
Сообщений: 6

Автор: Максим Коллегин Перейти к цитате
А на какой ОС запускали пример с .NET Core?


На win 10 Корпоративная (x64). .Net Core изложенную выше ошибку дает, а .Net 4 норм обрабатывает

Еще на Debian запускал, получал ошибку ту же самую "Unknown algorithm '1.2.643.7.1.1.3.2'"

Отредактировано пользователем 19 марта 2020 г. 16:15:56(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#30 Оставлено : 19 марта 2020 г. 16:22:40(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,921
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 579 раз в 520 постах
Microsoft издревле довольно вольно относится к некорректным сообщениям.
Знания в базе знаний, поддержка в техподдержке
Offline Sergeyhold  
#31 Оставлено : 23 марта 2020 г. 18:55:15(UTC)
Sergeyhold

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

Группы: Участники
Зарегистрирован: 22.09.2016(UTC)
Сообщений: 6

Автор: Максим Коллегин Перейти к цитате
Microsoft издревле довольно вольно относится к некорректным сообщениям.


А если на госуслугах эту подпись проверить (https://www.gosuslugi.ru/pgu/eds/), то все хорошо.. Я в замешательстве)
Offline Максим Коллегин  
#32 Оставлено : 24 марта 2020 г. 8:31:59(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,921
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 579 раз в 520 постах
А что странного, Госуслуги не могут использовать Microsoft?
Знания в базе знаний, поддержка в техподдержке
Offline KDA  
#33 Оставлено : 25 марта 2020 г. 10:03:15(UTC)
KDA

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.10.2009(UTC)
Сообщений: 32

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 4 раз в 4 постах
Прошу прощения, но но хотелось бы уточнений, почему использование oid 1.2.643.7.1.1.3.2 CMS подписи является некорректным?

Кам мне видится:

1. Для Microsoft основное - rfc 3852/5652, а там: signatureAlgorithm identifies the signature algorithm, and any
associated parameters, used by the signer to generate the digital
signature. Кажется, 1.2.643.7.1.1.3.2 - это алгоритм подписи. И регистрируется при установке CSP в OC Windows именно с таким типом.

2. В приведенных Анатолием Беляевым ссылках на RFC 4490/4491 нет ни слова про алгоритмы ГОСТ-2012.

3. Из самых свежих документов есть официальный документ Р 1323565.1.025—2019 - Форматы сообщений, защищенных
криптографическими методами. А там - интересный текст: "Идентификаторы  объектов  АСН.1,  параметры,  битовое  представление  в  точности  совпадает  с 
представлением подписи в сертификате, описанном в [2]." [2] - Это ссылка на документ TK26 по ИОК (Надо заметить, что он тоже перебивается более поздним стандартом)

Замечу, что Microsoft издревле осуществляет приличный объем работ по сохранению совместимости. Отчасти, вольное отношение к некорректностям - это следствие.
Что касается темы данной ветки, то тут, очевидно, как раз и имеем вопрос по совместимости. Отламывается так или иначе работающий функционал,
и очень хочется выяснить, почему.

Заранее спасибо

Отредактировано пользователем 25 марта 2020 г. 10:17:12(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#34 Оставлено : 25 марта 2020 г. 10:14:38(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,921
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 579 раз в 520 постах
Берём таймаут.
Знания в базе знаний, поддержка в техподдержке
Offline Максим Коллегин  
#35 Оставлено : 25 марта 2020 г. 10:48:26(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,921
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 579 раз в 520 постах
Запросил у коллег последний проект стандарта. В нём такая же расплывчатая формулировка, зато есть примеры в которых в SignatureAlgoritm - алгоритм ключа, как и используется во всём мире.
Код:
MIIDAQYJKoZIhvcNAQcCoIIC8jCCAu4CAQExDDAKBggqhQMHAQECAjA7BgkqhkiG
9w0BBwGgLgQsyu7t8vDu6/zt++kg7/Do7OXwIOTr/yDx8vDz6vLz8PsgU2lnbmVk
RGF0YS6gggH3MIIB8zCCAaCgAwIBAgIEAYy6gjAKBggqhQMHAQEDAjA4MQ0wCwYD
VQQKEwRUSzI2MScwJQYDVQQDEx5DQSBUSzI2OiBHT1NUIDM0LjEwLTEyIDI1Ni1i
aXQwHhcNMDEwMTAxMDAwMDAwWhcNNDkxMjMxMDAwMDAwWjA7MQ0wCwYDVQQKEwRU
SzI2MSowKAYDVQQDEyFPUklHSU5BVE9SOiBHT1NUIDM0LjEwLTEyIDI1Ni1iaXQw
aDAhBggqhQMHAQEBATAVBgkqhQMHAQIBAQEGCCqFAwcBAQICA0MABECWKQ0TYllq
g4GmY3tBJiyzpXUN+aOV9WbmTUinqrmEHP7KCNzoAzFg+04SSQpNNSHpQnm+jLAZ
huJaJfqZ6VbTo4GFMIGCMGEGA1UdAQRaMFiAFIDZDPeZ+GZNk1OJjsCecS2npzES
oTowODENMAsGA1UEChMEVEsyNjEnMCUGA1UEAxMeQ0EgVEsyNjogR09TVCAzNC4x
MC0xMiAyNTYtYml0ggQBjLqBMB0GA1UdDgQWBBTRnChHSWbQYwnJC62n2zu5Njd0
3zAKBggqhQMHAQEDAgNBAB41oijaXSEn58l78y2rhxY35/lKEq4XWZ70FtsNlVxW
ATyzgO5Wliwnt1O4GoZsxx8r6T/i7VG65UNmQlwdOKQxgaIwgZ8CAQEwQDA4MQ0w
CwYDVQQKEwRUSzI2MScwJQYDVQQDEx5DQSBUSzI2OiBHT1NUIDM0LjEwLTEyIDI1
Ni1iaXQCBAGMuoIwCgYIKoUDBwEBAgIwCgYIKoUDBwEBAQEEQC6jZPA59szL9FiA
0wC71EBE42ap6gKxklT800cu2FvbLu972GJYNSI7+UeanVU37OVWyenEXi2E5HkU
94kBe8Q=
Знания в базе знаний, поддержка в техподдержке
Offline KDA  
#36 Оставлено : 25 марта 2020 г. 12:26:08(UTC)
KDA

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.10.2009(UTC)
Сообщений: 32

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 4 раз в 4 постах
В стандарте другой пример, только с подписанными атрибутами.

Тем не менее, в ТК26 CMS была другая формулировка, с явным требованием использования алгоритма открытого ключа, в окончательном стандарте она изменена (с отсылкой на алгоритмы подписей в сертификатах).
Поэтому при противоречии основного текста и пример надо определиться, чему отдавать приоритет (может, пример тупо перекочевал из проектов в ТК26).
Я лично отдаю общему случаю (текст).
А пример, возможно, справедлив только для конкретного значения messageDigest, поскольку нигде не оговаривается обратное :)))

Что касается используется во всем мире: возможно, это дань совместимости с pkcs #7, где использовался термин digest encryption algorithm, а не signature algorithm.
В rfc на CMS, мне кажется, неспроста это поменяли. Как и в стандарте.
Пример из коробки: explorer.exe из windows 10 1909 имеет цифровую подпись с oid RSA в основной подписи и sha256RSA - в timestamp, т.е. встретить подпись
in the wild с таким сочетанием алгоритмов - ненулевая. И, повторюсь, rfc этого не запрещает.

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

И, кажется, в в подготовке текста стандарта принимали участие сотрудники КриптоПро. Вероятно, они могли бы внести ясность.

Отредактировано пользователем 25 марта 2020 г. 12:28:23(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#37 Оставлено : 25 марта 2020 г. 12:31:20(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,921
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 579 раз в 520 постах
Мы постараемся исправить документ ТК и внести ясность.

А какими средствами вы формируете подобные странные PKCS#7?

Кстати подпись в сертификате и подпись в CMS всё-таки разные вещи. Не вполне понял пример про iexplore.
С форматами штампов в authenticode вообще зоопарк.

Отредактировано пользователем 25 марта 2020 г. 12:34:11(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline KDA  
#38 Оставлено : 25 марта 2020 г. 13:04:08(UTC)
KDA

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.10.2009(UTC)
Сообщений: 32

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 4 раз в 4 постах
Автор: Максим Коллегин Перейти к цитате
Мы постараемся исправить документ ТК и внести ясность.

К сожалению, текст документа уже утвержден, и, кажется, новый будет выкатить непросто и долго.

Цитата:
А какими средствами вы формируете подобные странные PKCS#7?

Ну, в разработанном мной ПО формирование CMS пакета - собственными силами, и там возможны варианты. В частности, какой алгоритм использовать.
Поскольку лично у меня до сих пор нет ясности, должен ли, в общем случае, digestAlgorithm, обязательно соответствовать signatureAlgorithm.
Это по формулировкам rfc, не росстандарта. А ПО работатает не только с КриптоПро и не только с российскими гостами.
А вот для проверки ЭП как раз поддерживаются оба варианта. Поскольку ЭП может формироваться сторонними средствами. На текущий момент это ПО пережило уже пару успешных сертификаций в компетентных органах. К этому моменту пока замечаний не было.

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

Цитата:
Кстати подпись в сертификате и подпись в CMS всё-таки разные вещи.

Да, и тем не менее, в росстандарте - ссылка на подпись в сертификате. В отличие от ТК.

Цитата:
Не вполне понял пример про iexplore.

Формально атрибут timestamp - это signedData. И в rfc на TSP, кажется, нет указаний на какие-то особые условия заполнения поля SignerInfo.signatureAlgorithm.
Т.е. тут формально действует основной rfc, а в explorer.exe мы наблюдаем его конкретную реализацию.

C зоопарком, в основном попадалось только, что до сих пор часто используется countersignature.

Отредактировано пользователем 25 марта 2020 г. 13:08:08(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил KDA за этот пост.
Максим Коллегин оставлено 25.03.2020(UTC)
Offline Максим Коллегин  
#39 Оставлено : 25 марта 2020 г. 15:23:16(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 5,921
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 579 раз в 520 постах
KDA, спасибо за комментарии.
Мы приняли решение поддержать подобные идентификаторы и в .NET Core.
И постараемся внести ясность в документ ТК.
Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.
KDA оставлено 25.03.2020(UTC)
Offline KDA  
#40 Оставлено : 25 марта 2020 г. 16:56:30(UTC)
KDA

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.10.2009(UTC)
Сообщений: 32

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 4 раз в 4 постах
Спасибо, будем ждать релиза :)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
4 Страницы<1234>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.