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

Уведомление

Icon
Error

4 Страницы<1234>
Опции
К последнему сообщению К первому непрочитанному
Offline Санчир Момолдаев  
#21 Оставлено : 29 июля 2020 г. 7:46:45(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 226 раз в 213 постах
Автор: Августина Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
проверил и своим кодом и вашим ваш файл на разных php (5 и 7) проверяется успешно.
смотрите в сторону своей конфигурации


Какой именно конфигурации?
На какой операционной системе проверяли?


Код:
[root@5595eb7aac6f /]# cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)
[root@5595eb7aac6f /]# php -v
PHP 7.4.7 (cli) (built: Jul 19 2020 08:04:51) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
[root@5595eb7aac6f /]# cat /var/www/verify-ext2.php
<?php

$content = file_get_contents('/var/www/file.pdf.sig');
$SignedData = new CPSignedData();
$check = $SignedData->VerifyCades($content, 0x01, false);
?>
[root@5595eb7aac6f /]# php /var/www/verify-ext2.php
[root@5595eb7aac6f /]#
Техническую поддержку оказываем тут
Наша база знаний
Offline Августина  
#22 Оставлено : 29 июля 2020 г. 15:31:37(UTC)
Августина

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Санчир Момолдаев Перейти к цитате
Автор: Августина Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
проверил и своим кодом и вашим ваш файл на разных php (5 и 7) проверяется успешно.
смотрите в сторону своей конфигурации


Какой именно конфигурации?
На какой операционной системе проверяли?


Код:
[root@5595eb7aac6f /]# cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)
[root@5595eb7aac6f /]# php -v
PHP 7.4.7 (cli) (built: Jul 19 2020 08:04:51) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
[root@5595eb7aac6f /]# cat /var/www/verify-ext2.php
<?php

$content = file_get_contents('/var/www/file.pdf.sig');
$SignedData = new CPSignedData();
$check = $SignedData->VerifyCades($content, 0x01, false);
?>
[root@5595eb7aac6f /]# php /var/www/verify-ext2.php
[root@5595eb7aac6f /]#


Попробовала сделать на CentOS Linux release 7.8.2003 (Core) и с php 7.4.8
Получаю NULL, так и задумано?
Код:

[root@127f19a498a2 phpcades]# cat test.php 
<?php
ini_set("log_errors", 1);
ini_set ('display_errors', 1);
error_reporting (E_ALL);
try{
    $content = file_get_contents('/root/new.pdf.sig');
    $SignedData = new CPSignedData();
    $check = $SignedData->VerifyCades($content, 0x01, false);
    var_dump($check);
}
catch (Exception $e)
{
    printf($e->getMessage());
}
?>
[root@127f19a498a2 phpcades]# php test.php 
NULL


Offline Санчир Момолдаев  
#23 Оставлено : 29 июля 2020 г. 15:37:04(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 226 раз в 213 постах
ответ есть тут, только там опечатка. не присваивается значение, а возвращается
пример подписи и проверки тут видоизмените под свои нужды
Техническую поддержку оказываем тут
Наша база знаний
Offline Августина  
#24 Оставлено : 29 июля 2020 г. 15:43:50(UTC)
Августина

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Санчир Момолдаев Перейти к цитате
ответ есть тут, только там опечатка. не присваивается значение, а возвращается
пример подписи и проверки тут видоизмените под свои нужды


Я читала документацию на сайте, только я не понимаю, как в unix я могу использовать HRESULT, который предназначен для winapi.
Если у меня не выскакивает исключение, то всё ок?

Отредактировано пользователем 29 июля 2020 г. 15:51:11(UTC)  | Причина: Не указана

Offline Санчир Момолдаев  
#25 Оставлено : 29 июля 2020 г. 16:14:39(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 226 раз в 213 постах
Автор: Августина Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
ответ есть тут, только там опечатка. не присваивается значение, а возвращается
пример подписи и проверки тут видоизмените под свои нужды


Я читала документацию на сайте, только я не понимаю, как в unix я могу использовать HRESULT, который предназначен для winapi.
Если у меня не выскакивает исключение, то всё ок?


Да.
Чтобы полностью не переписывать провайдер, на линуксах нашими разработчиками был создан CapiLite - аналог Capi только на Linux

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

Техническую поддержку оказываем тут
Наша база знаний
Offline Августина  
#26 Оставлено : 29 июля 2020 г. 17:06:16(UTC)
Августина

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Санчир Момолдаев Перейти к цитате
Автор: Августина Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
ответ есть тут, только там опечатка. не присваивается значение, а возвращается
пример подписи и проверки тут видоизмените под свои нужды


Я читала документацию на сайте, только я не понимаю, как в unix я могу использовать HRESULT, который предназначен для winapi.
Если у меня не выскакивает исключение, то всё ок?


Да.
Чтобы полностью не переписывать провайдер, на линуксах нашими разработчиками был создан CapiLite - аналог Capi только на Linux


Поняла.
Пытаюсь сейчас получить информацию по сертификатам, смотрела посты https://www.cryptopro.ru...aspx?g=posts&t=12895 и https://www.cryptopro.ru...spx?g=posts&t=17675.
Использую следующий код.
Код:

[root@127f19a498a2 phpcades]# cat test.php 
<?php
ini_set("log_errors", 1);
ini_set ('display_errors', 1);
error_reporting (E_ALL);
try{
        $content = file_get_contents('/root/new.pdf.sig');
        $SignedData = new CPSignedData();
        $SignedData->set_Content($content);
        $SignedData->VerifyCades($content, 0x01, false);
}
catch (Exception $e){
   printf($e->getMessage());
}
try{
        $signObject = $SignedData->get_Signers();
        $sObj = $signObject->get_Item(1);
        $cert = $sObj->get_Certificate();
        $issuerName = $cert->get_IssuerName();
        $fromDate = $cert->get_ValidFromDate();
        $toDate = $cert->get_ValidToDate();
        $serialNumber = $cert->get_SerialNumber();
        $subjectNameFull = $cert->get_SubjectName();
        echo "\n";
        echo $issuerName;
        echo "\n";
        echo $fromDate;
        echo "\n";
        echo $toDate;
        echo "\n";
        echo $serialNumber;
        echo "\n";
        echo $subjectNameFull;
}
catch (Exception $e){
   printf($e->getMessage());
}
?>

Всё работает.
Подскажите, пожалуйста, где я могу документацию на эти функции посмотреть -- не могу найти.
Offline Санчир Момолдаев  
#27 Оставлено : 29 июля 2020 г. 17:10:34(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 226 раз в 213 постах
PHPcades полностью аналогичен COM интерфейсу Browser Plug-in
смотрите на cpdn.cryptopro.ru
ссылка на сам COM
Техническую поддержку оказываем тут
Наша база знаний
Offline Августина  
#28 Оставлено : 30 июля 2020 г. 19:17:49(UTC)
Августина

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

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

Сказал(а) «Спасибо»: 2 раз
В итоге мне удалось запустить на своей машине (до этого разворачивала докер с такой же конфигурацией, на нём всё работало).
В чем конкретно заключалась проблема я так и не поняла, внизу привожу трейс дебага

Потом поискала на форуме и нашла такую команду, которую выполнила, и всё заработало.
Код:
 /opt/cprocsp/sbin/amd64/cpconfig -ini \\config\\apppath -add string libcurl.so /usr/lib64/libcurl.so.4

Как я понимаю, эта команда указала CSP, какую библиотеку использовать.
Почему работало в докере, но не работало у меня -- по-прежнему загадка.
Offline Августина  
#29 Оставлено : 31 июля 2020 г. 16:16:00(UTC)
Августина

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Санчир Момолдаев Перейти к цитате
PHPcades полностью аналогичен COM интерфейсу Browser Plug-in
смотрите на cpdn.cryptopro.ru
ссылка на сам COM


Здравствуйте. Пытаюсь получить подписанные атрибуты из подписи.
Смотрела следующую докуентацию:
https://cpdn.cryptopro.r..._1_i_c_p_attribute2.html
https://cpdn.cryptopro.r...1_1_i_c_p_attribute.html

Код:

try{
    
    $signObject = $SignedData->get_Signers();
    for ($i = 1; $i <= $signObject->get_Count(); $i++) {
        $sObj = $signObject->get_Item($i);
        $attrs = $sObj->get_AuthenticatedAttributes();
        for ($i = 1; $i <= $attrs->get_Count(); $i++) {
            $attr = $attrs->get_Item($i);
            $attr->set_ValueEncoding(0);
            var_dump($attr->get_Name());
            var_dump($attr->get_Value());
        }
        
        $cert = $sObj->get_Certificate();
        $certInfo = [];
        $certInfo['issuerName'] = $cert->get_IssuerName();
        $certInfo['fromDate'] = $cert->get_ValidFromDate();
        $certInfo['toDate'] = $cert->get_ValidToDate();
        $certInfo['serialNumber'] = $cert->get_SerialNumber();
        $certInfo['subjectNameFull'] = $cert->get_SubjectName();
        array_push($certificates, $certInfo);
    }
}
catch (\Exception $e){
    echo $e->getMessage();
} 


После выполнения получаю следующее, тут правильная только дата:
Код:
int(4294967295)
string(16) "BgkqhkiG9w0BBwE="
int(0)
string(19) "31.07.2020 09:18:58"
int(4294967295)
string(32) "HhQEHgQ3BD0EMAQ6BD4EPAQ7BDUEPQ=="
int(4294967295)
string(44) "Hh4AMQAuADIALgA2ADQAMwAuADYALgAzAC4AMQAuADI="
int(4294967295)
string(48) "BCAwsTyrA4GmnByGxR4/O3lok3RLWO15PSESZTUuuxYaGw=="
int(4294967295)
string(56) "MCgeAgAgHgIAIB4eADEALgAyAC4ANgA0ADMALgA2AC4AMwAuADEALgAy"
int(4294967295)
string(776) "MIICQTCCAj0wggI5MAoGCCqFAwcBAQICBCAhB/e0w8RLPqj1o1PnvgIhafCBlxq+GTvYwAqfDnu+ZDCCAgcwggHwpIIB7DCCAegxGzAZBgkqhkiG9w0BCQEWDGNhQHNlcnR1bS5ydTEYMBYGBSqFA2QBEg0xMTE2NjczMDA4NTM5MRowGAYIKoUDA4EDAQESDDAwNjY3MzI0MDMyODELMAkGA1UEBhMCUlUxMzAxBgNVBAgMKjY2INCh0LLQtdGA0LTQu9C+0LLRgdC60LDRjyDQvtCx0LvQsNGB0YLRjDEhMB8GA1UEBwwY0JXQutCw0YLQtdGA0LjQvdCx0YPRgNCzMVIwUAYDVQQJDEnRg9C70LjRhtCwINCj0LvRjNGP0L3QvtCy0YHQutCw0Y8sINC0LiAxMywg0LvQuNGC0LXRgCDQkCwg0L7RhNC40YEgMjA5INCRMWwwagYDVQQKDGPQntCx0YnQtdGB0YLQstC+INGBINC+0LPRgNCw0L3QuNGH0LXQvdC90L7QuSDQvtGC0LLQtdGC0YHRgtCy0LXQvdC90L7RgdGC0YzRjiAi0KHQtdGA0YLRg9C8LdCf0YDQviIxbDBqBgNVBAMMY9Ce0LHRidC10YHRgtCy0L4g0YEg0L7Qs9GA0LDQvdC40YfQtdC90L3QvtC5INC+0YLQstC10YLRgdGC0LLQtdC90L3QvtGB0YLRjNGOICLQodC10YDRgtGD0Lwt0J/RgNC+IgIRAsxN4ADxq5+jQ2KTFiJJlGw="



Если делаю base64_decode, то всё равно получаю непонятные сииволы.
Код:
int(4294967295)
string(9) "*†H†÷
"
int(0)
string(26) "11.06.1601 23:28:55.568395"
int(4294967295)
string(20) "7=0:><;5="
int(4294967295)
string(30) "


Через метод get_SigningTime ( https://cpdn.cryptopro.r...1_1_i_c_p_attribute.html ) удаётся получить время подписи документа.
Есть ли какой-то метод для получения атрибутов и их названий в читаемом виде?

Отредактировано пользователем 31 июля 2020 г. 17:30:45(UTC)  | Причина: Не указана

Offline two_oceans  
#30 Оставлено : 3 августа 2020 г. 5:53:51(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 394 раз в 366 постах
Автор: Августина Перейти к цитате
Если делаю base64_decode, то всё равно получаю непонятные сииволы.
Похоже, что после base64_decode получаются нераскодированные ASN1 данные, следующая строка после даты означает Ознакомлен если ее base64_decode, а затем загрузить в ASN1 редактор.

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