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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline vvrr  
#11 Оставлено : 17 декабря 2021 г. 13:01:34(UTC)
vvrr

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Александр Лавник Перейти к цитате
Код:
env|grep CSP

?


Пусто.
Сейчас на ноутбуке попытался с нуля все поставить, на нем небыло в принципе Криптопро.
Та же ошибка и тоже пустой вывод env
Offline Александр Лавник  
#12 Оставлено : 17 декабря 2021 г. 13:31:41(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 798 раз в 737 постах
Автор: vvrr Перейти к цитате
Автор: Александр Лавник Перейти к цитате
Код:
env|grep CSP

?


Пусто.
Сейчас на ноутбуке попытался с нуля все поставить, на нем небыло в принципе Криптопро.
Та же ошибка и тоже пустой вывод env
Вы выполняете в точности эту команду под пользователем root:

Код:
eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix
?
Техническую поддержку оказываем тут
Наша база знаний
Offline vvrr  
#13 Оставлено : 17 декабря 2021 г. 14:16:06(UTC)
vvrr

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Александр Лавник Перейти к цитате
Автор: vvrr Перейти к цитате
Автор: Александр Лавник Перейти к цитате
Код:
env|grep CSP

?


Пусто.
Сейчас на ноутбуке попытался с нуля все поставить, на нем небыло в принципе Криптопро.
Та же ошибка и тоже пустой вывод env
Вы выполняете в точности эту команду под пользователем root:

Код:
eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix
?


Посыпаю голову пеплом, скопипастил вместе с решеткой...
Но всеравно не собирается.

Код:
# eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix
g++ -std=c++98 -D_GLIBCXX_USE_CXX11_ABI=0 -shared PHPCadesCPSigners.o PHPCadesCPSigner.o PHPCadesCPExtendedKeyUsage.o PHPCadesCPAttribute.o PHPCadesCPEKU.o PHPCadesCPEKUs.o PHPCadesCPBasicConstraints.o PHPCadesCPSignedData.o PHPCadesCPPublicKey.o PHPCadesCPPrivateKey.o PHPCadesCPOID.o PHPCadesCPEncodedData.o PHPCadesCPAttributes.o PHPCadesCPCertificateStatus.o PHPCadesCPEnvelopedData.o PHPCadesCPAlgorithm.o PHPCadesCPRecipients.o PHPCadesCPKeyUsage.o PHPCadesAbout.o PHPCadesCPCardholderData.o PHPCadesCPCertificates.o PHPCadesCPSignedXML.o PHPCadesCPHashedData.o PHPCadesCPRawSignature.o PHPCadesCPCertificate.o PHPCadesCPStore.o dllmain.o PHPCadesVersion.o PHPCadesSymmetricAlgorithm.o errormsg.o  -L/opt/cprocsp/lib/amd64 -lcppcades -lcapi10 -lcapi20 -lrdrsup -lcplib  -g -o libphpcades.so 
/usr/bin/ld: /opt/cprocsp/lib/amd64/libcppcades.so: .dynsym local symbol at index 167 (>= sh_info of 13)
/usr/bin/ld: /opt/cprocsp/lib/amd64/libcppcades.so: .dynsym local symbol at index 1156 (>= sh_info of 13)
/usr/bin/ld: невозможно найти -lcplib
collect2: error: ld returned 1 exit status
make: *** [Makefile.unix:26: libphpcades.so] Ошибка 1


Offline Александр Лавник  
#14 Оставлено : 17 декабря 2021 г. 14:50:41(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 798 раз в 737 постах
Удалите из Makefile:

Код:
-lcplib
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Александр Лавник за этот пост.
vvrr оставлено 17.12.2021(UTC)
Offline vvrr  
#15 Оставлено : 17 декабря 2021 г. 20:38:16(UTC)
vvrr

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Александр Лавник Перейти к цитате
Удалите из Makefile:

Код:
-lcplib


Так собралось, но не работает.
Код:
$hash = hash('stribog256', file_get_contents('doc.pdf'));
$sign = file_get_contents('doc.pdf.sig');
try
{
    $hd = new CPHashedData();
    $hd->set_Algorithm(101);
    $hd->SetHashValue($hash);

    $sd = new CPSignedData();
    $sd->set_Content('123');

}
catch(Exception $e)
{
    printf('Exception1: ' . $e->getMessage() . "\n");
    printf("FAIL\n");
}

try
{
  $check = $sd->VerifyHash($hd, $sign, CADES_BES);
  printf("%d",$check);
}
catch(Exception $e)
{
    printf('Exception2: ' . $e->getMessage() . "\n");
    printf("FAIL\n");
}


На $check = $sd->VerifyHash
выдает
Код:
munmap_chunk(): invalid pointer

Offline Александр Лавник  
#16 Оставлено : 21 декабря 2021 г. 11:33:15(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 798 раз в 737 постах
Здравствуйте.

Тестовый пример отрабатывает без ошибок?

Если да, то для решения своей задачи попробуйте использовать функционал phpcades (что именно Вы пытаетесь сделать в своем коде не очень понятно) и при возникновении связанных вопросов лучше создать новую тему в соответствующей ветке форума.
Техническую поддержку оказываем тут
Наша база знаний
Offline vvrr  
#17 Оставлено : 21 декабря 2021 г. 13:35:02(UTC)
vvrr

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Александр Лавник Перейти к цитате
Здравствуйте.

Тестовый пример отрабатывает без ошибок?

Если да, то для решения своей задачи попробуйте использовать функционал phpcades (что именно Вы пытаетесь сделать в своем коде не очень понятно) и при возникновении связанных вопросов лучше создать новую тему в соответствующей ветке форума.


Тест выдает
Код:
Cannot find object or property.
 (0x80092004)TEST FAIL

Но он тоже самое выдает на FreeBSD сервере, на котором проверка ЭЦП (как в приведенном примере кода) работает при этом

В своем коде я получаю хэш документа по ГОСТ Р34.11-2012 с длиной хэша 256 бит и проверяю методом VerifyHash функционала phpcades открепленную подпись для этого файла

Отредактировано пользователем 21 декабря 2021 г. 13:42:26(UTC)  | Причина: Не указана

Offline Александр Лавник  
#18 Оставлено : 21 декабря 2021 г. 13:55:28(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 798 раз в 737 постах
Автор: vvrr Перейти к цитате
Автор: Александр Лавник Перейти к цитате
Здравствуйте.

Тестовый пример отрабатывает без ошибок?

Если да, то для решения своей задачи попробуйте использовать функционал phpcades (что именно Вы пытаетесь сделать в своем коде не очень понятно) и при возникновении связанных вопросов лучше создать новую тему в соответствующей ветке форума.


Тест выдает
Код:
Cannot find object or property.
 (0x80092004)TEST FAIL

Но он тоже самое выдает на FreeBSD сервере, на котором проверка ЭЦП (как в приведенном примере кода) работает при этом

В своем коде я получаю хэш документа по ГОСТ Р34.11-2012 с длиной хэша 256 бит и проверяю методом VerifyHash функционала phpcades открепленную подпись для этого файла
1) Тестовый пример (test_extension.php) предполагает, что у Вас есть личный сертификат, установленный с привязкой к ключевому контейнеру, и в этом сертификате в компонентах имени встречается Test:

Код:
 $cert = SetupCertificate(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY,
                                 CERTIFICATE_FIND_SUBJECT_NAME, "Test", 0,
                                 1);

Если такого сертификата нет, то будет указанная Вами ошибка.

2) По поводу Вашего кода (как я написал ранее) лучше создать отдельную тему в соответствующей ветке форума.
Техническую поддержку оказываем тут
Наша база знаний
Offline vvrr  
#19 Оставлено : 21 декабря 2021 г. 14:36:14(UTC)
vvrr

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Александр Лавник Перейти к цитате
1) Тестовый пример (test_extension.php) предполагает, что у Вас есть личный сертификат, установленный с привязкой к ключевому контейнеру, и в этом сертификате в компонентах имени встречается Test:

Код:
 $cert = SetupCertificate(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY,
                                 CERTIFICATE_FIND_SUBJECT_NAME, "Test", 0,
                                 1);

Если такого сертификата нет, то будет указанная Вами ошибка.

Все есть
Vydelenie_401.png (29kb) загружен 8 раз(а).
более того, даже
Vydelenie_402.png (40kb) загружен 8 раз(а).
Автор: Александр Лавник Перейти к цитате

2) По поводу Вашего кода (как я написал ранее) лучше создать отдельную тему в соответствующей ветке форума.

Код этот рабочий. Он превосходно работает на боевом сервере и работал ранее на Linux Mint 19.
Проблема не в коде.
Offline Александр Лавник  
#20 Оставлено : 21 декабря 2021 г. 14:52:40(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 798 раз в 737 постах
Автор: vvrr Перейти к цитате
Автор: Александр Лавник Перейти к цитате
1) Тестовый пример (test_extension.php) предполагает, что у Вас есть личный сертификат, установленный с привязкой к ключевому контейнеру, и в этом сертификате в компонентах имени встречается Test:

Код:
 $cert = SetupCertificate(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY,
                                 CERTIFICATE_FIND_SUBJECT_NAME, "Test", 0,
                                 1);

Если такого сертификата нет, то будет указанная Вами ошибка.

Все есть
Vydelenie_401.png (29kb) загружен 8 раз(а).
более того, даже
Vydelenie_402.png (40kb) загружен 8 раз(а).
Автор: Александр Лавник Перейти к цитате

2) По поводу Вашего кода (как я написал ранее) лучше создать отдельную тему в соответствующей ветке форума.

Код этот рабочий. Он превосходно работает на боевом сервере и работал ранее на Linux Mint 19.
Проблема не в коде.
У Вас в сертификате в имени субъекта встречается слово Test?

Или Вы изменили тестовый скрипт под Ваши компоненты имени?

Скрипт выполняется от того же пользователя, для которого установлен сертификат?

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