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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей Писарев  
#11 Оставлено : 14 октября 2018 г. 13:17:53(UTC)
Андрей *

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

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

Сказал «Спасибо»: 492 раз
Поблагодарили: 2034 раз в 1578 постах
Прикладываю тестовый файл и ЭП к нему.

Значение хеша:
Цитата:
1807 79: SEQUENCE {
1809 9: OBJECT IDENTIFIER messageDigest (1 2 840 113549 1 9 4)
1820 66: SET {
1822 64: OCTET STRING
: 20 91 AC F5 8B 53 68 3A F2 95 8F EC 82 AA E9 7C
: A1 50 E2 12 11 33 FC 15 3D 97 07 FE 86 D3 89 8A
: D4 1F C4 58 54 C8 0B C0 83 A5 DF DD 84 3D 9A EF
: DC 5E DA 68 70 6C C1 5E 73 E3 1B 88 B5 80 9D 34
: }
: }

Для проверки:
https://www.gosuslugi.ru/pgu/eds/

Выбрать:
Подтверждение подлинности ЭП электронного документа.
ЭП — отсоединенная, в формате PKCS#7 по значению хэш-функции

Цитата:

Указать файл: 0000.sig
Указать хеш: 2091ACF58B53683AF2958FEC82AAE97CA150E2121133FC153D9707FE86D3898AD41FC45854C80BC083A5DFDD843D9AEFDC5EDA68706CC15E73E31B88B5809D34

ЭП: Верна.





Выбрать:
Подтверждение подлинности ЭП электронного документа.
ЭП — отсоединенная, в формате PKCS#7
Цитата:

документ для проверки: 0000
файл подписи для проверки: 0000.sig

ЭП: Верна.


0000.zip (2kb) загружен 8 раз(а).


Техническую поддержку оказываем тут
Наша база знаний
thanks 2 пользователей поблагодарили Андрей * за этот пост.
ivar.mikhailovich оставлено 14.10.2018(UTC), Alexw оставлено 29.09.2020(UTC)
Offline ivar.mikhailovich  
#12 Оставлено : 26 ноября 2018 г. 17:02:52(UTC)
ivar.mikhailovich

Статус: Участник

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

Сказал(а) «Спасибо»: 18 раз
Автор: Андрей Писарев Перейти к цитате
Автор: ivar.mikhailovich Перейти к цитате

Я так понимаю что алгоритм сертификата и алгоритм генерации хеша на сервере - должны совпадать?


Верно.

Пример файла с подписью:

Пример, хеш:
szOID_CP_GOST_R3411_12_512="1.2.643.7.1.1.2.3" // Функция хэширования ГОСТ Р 34.11-2012, длина выхода 512 бит


Значение хеша:
Цитата:

1663 12: SEQUENCE {
1665 8: Алгоритм: OBJECT IDENTIFIER '1 2 643 7 1 1 2 3'
1675 0: NULL
: }
1677 561: [0] {
1681 24: SEQUENCE {
1683 9: OBJECT IDENTIFIER contentType (1 2 840 113549 1 9 3)
1694 11: SET {
1696 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
: }
: }
1707 28: SEQUENCE {
1709 8: OBJECT IDENTIFIER '1 2 643 2 45 1 1 2'
1719 16: SET {
1721 14: BMPString '** . h a s h '
: }
: }
1737 28: SEQUENCE {
1739 9: OBJECT IDENTIFIER signingTime (1 2 840 113549 1 9 5)
1750 15: SET {
1752 13: UTCTime 12/10/2018 16:58:00 GMT
: }
: }
1767 44: SEQUENCE {
1769 8: OBJECT IDENTIFIER '1 2 643 3 182 1 3'
1779 32: SET {
1781 30: BMPString '****************** '
: }
: }
1813 79: SEQUENCE {
1815 9: OBJECT IDENTIFIER messageDigest (1 2 840 113549 1 9 4)
1826 66: SET {
1828 64: OCTET STRING
значение хеша:
: 0C 3D 3B 6A B7 0A 78 52 AD EB B5 A3 AE EA 76 65
: C7 53 7F 2F E1 C8 4A 94 AC CD 87 7B C4 34 38 99
: BE F3 29 8F D8 68 E8 50 C8 98 D4 69 B3 E6 7F 91
: 6F E6 94 86 75 58 AB 18 88 C7 91 23 78 AD D2 17

: }



Можно ли определить алгоритм сертификата из сертификата, чтобы на сервере сгенерировать хеш таким же алгоритмом? Т.к. алгоритм сертификата должен совпадать с алгоритмом хеша.
Offline two_oceans  
#13 Оставлено : 27 ноября 2018 г. 6:44:28(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Напрямую это сделать немного проблематично, но можно схардкодить перевод алгоритма открытого ключа в алгоритм хэша. Если точнее в сертификате или контексте сертификата (смотря что Вам удобнее) есть информация об открытом ключе, там 3 идентификатора и собственно сам открытый ключ. первый идентификатор - алгоритм открытого ключа; второй - параметры алгоритма хэширования (казалось бы "вот оно!" по параметрам однозначно определяется алгоритм хэширования, но не так все просто); третий - параметры алгоритма подписи.

К сожалению, параметры алгоритма хэширования нельзя использовать для однозначного определения алгоритма потому что в гост-2012 алгоритм хэша не имеет параметров и в это поле для гост-2012 256 бит заполняется всякая ерунда, чаще всего идентификатор параметров гост-2001. Поэтому приходится отправной точкой выбирать алгоритм открытого ключа или алгоритм параметров подписи. В общем случае, это притянуто за уши, так как хэш это одно, а ключ совсем другое, и нужно брать поле параметров алгоритма хэширования. Однако для алгоритмов гост все "верх дном" параметры хеширования заткнуты заглушкой, но есть однозначное соответствие между алгоритмом ключа и алгоритмами хэширования и подписи.

Отредактировано пользователем 27 ноября 2018 г. 6:48:40(UTC)  | Причина: Не указана

Offline ivar.mikhailovich  
#14 Оставлено : 27 ноября 2018 г. 11:30:20(UTC)
ivar.mikhailovich

Статус: Участник

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

Сказал(а) «Спасибо»: 18 раз
Автор: two_oceans Перейти к цитате
Напрямую это сделать немного проблематично, но можно схардкодить перевод алгоритма открытого ключа в алгоритм хэша. Если точнее в сертификате или контексте сертификата (смотря что Вам удобнее) есть информация об открытом ключе, там 3 идентификатора и собственно сам открытый ключ. первый идентификатор - алгоритм открытого ключа; второй - параметры алгоритма хэширования (казалось бы "вот оно!" по параметрам однозначно определяется алгоритм хэширования, но не так все просто); третий - параметры алгоритма подписи.

К сожалению, параметры алгоритма хэширования нельзя использовать для однозначного определения алгоритма потому что в гост-2012 алгоритм хэша не имеет параметров и в это поле для гост-2012 256 бит заполняется всякая ерунда, чаще всего идентификатор параметров гост-2001. Поэтому приходится отправной точкой выбирать алгоритм открытого ключа или алгоритм параметров подписи. В общем случае, это притянуто за уши, так как хэш это одно, а ключ совсем другое, и нужно брать поле параметров алгоритма хэширования. Однако для алгоритмов гост все "верх дном" параметры хеширования заткнуты заглушкой, но есть однозначное соответствие между алгоритмом ключа и алгоритмами хэширования и подписи.


Спасибо за информацию!


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