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

Уведомление

Icon
Error

4 Страницы123>»
Опции
К последнему сообщению К первому непрочитанному
Offline Алексей Вдовин  
#1 Оставлено : 22 мая 2024 г. 7:56:08(UTC)
Алексей Вдовин

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

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

Сказал(а) «Спасибо»: 78 раз
Поблагодарили: 1 раз в 1 постах
Прорабатываю серверное подписание на php с тестовым сертификатом.
Само подписание работает, но верификация не проходит, а так же не работает получение данных с отсоединённой подписи.

verifyCades() возвращает ошибку

Цитата:

Ошибка получения сертификатов подписи. Invalid Signature.
(0x80090006)



и сам объект CryptoProChecker пустой

Цитата:

CryptoProChecker Object
(
[signerParams:Fk\Sign\signer\CryptoProChecker:private] => Array()

[subjectName:CryptoProChecker:private] => INN=0, E=your_email, CN=Common_name, O=Org_name, S=State_name, C=RU
[issuerName:CryptoProChecker:private] => null
[fromDate:CryptoProChecker:private] => null
[toDate:CryptoProChecker:private] => null
[serialNumber:CryptoProChecker:private] => null
[thumbPrint:CryptoProChecker:private] => null
[subject:CryptoProChecker:private] => null
[signingTime:CryptoProChecker:private] => null
[isValid:CryptoProChecker:private] => null
[extensionName:CryptoProChecker:private] => php_CPCSP
)



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


PS

Сертификат создавался такой командой
Цитата:

sudo -E -u bitrix /opt/cprocsp/bin/amd64/cryptcp -creatcert -provtype 80 -provname 'Crypto-Pro GOST R 34.10-2012 KC1 CSP' -rdn "C=RU, ST=State_name,O=Org_name,CN=Common_name,E=your_email,INN=0" -both -cont '\\.\HDIMAGE\PHP' -certusage 1.3.6.1.5.5.7.3.2 -ku -du -ex -ca http://cryptopro.ru/certsrv

Offline Андрей *  
#2 Оставлено : 22 мая 2024 г. 10:38:56(UTC)
Андрей *

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

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

Сказал «Спасибо»: 554 раз
Поблагодарили: 2249 раз в 1755 постах
Автор: GTAlex Перейти к цитате
Прорабатываю серверное подписание на php с тестовым сертификатом.
Само подписание работает, но верификация не проходит, а так же не работает получение данных с отсоединённой подписи.

verifyCades() возвращает ошибку

Цитата:

Ошибка получения сертификатов подписи. Invalid Signature.
(0x80090006)




Ошибка в коде, что передаётся для verifyCades проверять.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Алексей Вдовин оставлено 22.05.2024(UTC)
Offline Алексей Вдовин  
#3 Оставлено : 22 мая 2024 г. 11:34:07(UTC)
Алексей Вдовин

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

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

Сказал(а) «Спасибо»: 78 раз
Поблагодарили: 1 раз в 1 постах
передаётся путь к файлу и подпись (подпись была создана тестовым сертификатом буквально пару строчками выше по коду)

если "подсунуть" файл и подпись, созданную реальным сертификатом - verifyCades() отрабатывает более менее корректно (более менее - потому, что выкидывает исключение про временной штамп, но данные сертификата заполняются корректно, ну не суть - сейчас меня интересует получение данных из подписи, созданной с использованием тестового сертификата )

т.е. проблема именно в подписи созданной тестовым сертификатом



в verifyCades всего два параметра - больше и передавать то нечего

Отредактировано пользователем 22 мая 2024 г. 11:35:14(UTC)  | Причина: Не указана

Offline Андрей *  
#4 Оставлено : 22 мая 2024 г. 11:40:29(UTC)
Андрей *

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

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

Сказал «Спасибо»: 554 раз
Поблагодарили: 2249 раз в 1755 постах
Автор: GTAlex Перейти к цитате
передаётся путь к файлу и подпись (подпись была создана тестовым сертификатом буквально пару строчками выше по коду)

если "подсунуть" файл и подпись, созданную реальным сертификатом - verifyCades() отрабатывает более менее корректно (более менее - потому, что выкидывает исключение про временной штамп, но данные сертификата заполняются корректно, ну не суть - сейчас меня интересует получение данных из подписи, созданной с использованием тестового сертификата )

т.е. проблема именно в подписи созданной тестовым сертификатом



в verifyCades всего два параметра - больше и передавать то нечего


показывайте тогда тестовый фай\подпись.

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Алексей Вдовин оставлено 22.05.2024(UTC)
Offline Андрей *  
#5 Оставлено : 22 мая 2024 г. 11:48:25(UTC)
Андрей *

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

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

Сказал «Спасибо»: 554 раз
Поблагодарили: 2249 раз в 1755 постах
Автор: GTAlex Перейти к цитате

т.е. проблема именно в подписи созданной тестовым сертификатом



в verifyCades всего два параметра - больше и передавать то нечего


ошибка указывает, что подпись некорректна.
Про пути не видел еще API, обычно работа идет с памятью.
Соответственно - смотреть что в файле эп, может там присоединенная эп?
Или неправильно передаются входящие данные (base64 без указания на это).

Цитата:

HRESULT VerifyCades (
BSTR SignedMessage,
CADESCOM_CADES_TYPE CadesType,
VARIANT_BOOL bDetached
);
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Алексей Вдовин оставлено 22.05.2024(UTC)
Offline Алексей Вдовин  
#6 Оставлено : 22 мая 2024 г. 11:50:53(UTC)
Алексей Вдовин

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

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

Сказал(а) «Спасибо»: 78 раз
Поблагодарили: 1 раз в 1 постах
содержимое файла test.txt



содержимое файла test.txt.sig

Отредактировано пользователем 22 мая 2024 г. 11:52:55(UTC)  | Причина: Не указана

Offline Андрей *  
#7 Оставлено : 22 мая 2024 г. 11:54:15(UTC)
Андрей *

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

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

Сказал «Спасибо»: 554 раз
Поблагодарили: 2249 раз в 1755 постах
Автор: GTAlex Перейти к цитате
содержимое файла test.txt



содержимое файла test.txt.sig



всё успешно проверяется.

+
корневой - CRYPTO-PRO Test Center 2 - установлен в хранилище mroot?
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Алексей Вдовин оставлено 22.05.2024(UTC)
Offline Андрей *  
#8 Оставлено : 22 мая 2024 г. 11:55:23(UTC)
Андрей *

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

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

Сказал «Спасибо»: 554 раз
Поблагодарили: 2249 раз в 1755 постах
итого
смотреть, что на входе, как читается файл, что указывается в вызовах.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Алексей Вдовин оставлено 22.05.2024(UTC)
Offline Андрей *  
#9 Оставлено : 22 мая 2024 г. 12:05:56(UTC)
Андрей *

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

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

Сказал «Спасибо»: 554 раз
Поблагодарили: 2249 раз в 1755 постах
$detached=1
$data = base64_encode(file_get_contents($DirFiles.'file.jpg'));
//$sgn = base64_encode(file_get_contents($DirFiles.'file.DER.p7s'));
$sgn = file_get_contents($DirFiles.'file.base64.p7s');

//в $data и $sgn - закодированные в base64 исходные (бинарные) данные.

$SignedData = new \CPSignedData();
$SignedData->set_ContentEncoding(BASE64_TO_BINARY);
$SignedData->set_Content($data);
$SignedData->VerifyCades($sgn, 0x01, $detached);
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Алексей Вдовин оставлено 22.05.2024(UTC)
Offline Алексей Вдовин  
#10 Оставлено : 22 мая 2024 г. 12:06:12(UTC)
Алексей Вдовин

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

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

Сказал(а) «Спасибо»: 78 раз
Поблагодарили: 1 раз в 1 постах
скорее всего дело в этом

Цитата:
корневой - CRYPTO-PRO Test Center 2 - установлен в хранилище mroot?


думаю что нет - я не ставил

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