Статус: Новичок
Группы: Участники
Зарегистрирован: 03.03.2025(UTC) Сообщений: 5
|
Уважаемая поддержка - помогите, третья неделя пошла, как я пытаюсь просто подписать XML с помощью криптопро Ubuntu, php Подписываю тестовым ключом - все работает Подписываю рабочим ключом - обычная подпись данных работает, подпись xml отдает ошибку Uncaught Exception: Cannot find the certificate and private key for decryption. В чем может быть дело? Отредактировано пользователем 10 марта 2025 г. 19:10:47(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,634   Сказал «Спасибо»: 568 раз Поблагодарили: 2284 раз в 1785 постах
|
Автор: Milanin  Уважаемая поддержка - помогите, третья неделя пошла, как я пытаюсь просто подписать XML с помощью криптопро
Ubuntu, php
Подписываю тестовым ключом - все работает
Подписываю рабочим ключом - обычная подпись данных работает, подпись xml отдает ошибку Uncaught Exception: Cannot find the certificate and private key for decryption.
В чем может быть дело? Здравствуйте, протестируйте сертификат и контейнер от пользователя под которым работает php, как устанавливали сертификаты и рабочий связывали с контейнером? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.03.2025(UTC) Сообщений: 5
|
Не очень понимаю, что значит протестировать сертификат? php запускаем под рутом, устанавливаем тоже под ним. certmgr -l -store uMy сертификат показывает Устанавливаем вот так RUN /opt/cprocsp/bin/$(uname -m)/certmgr -install -pfx -file /tmp/personal.pfx -cont '\\.\HDIMAGE\container_name' -pin ${CERT_PASSWORD} -store uMy -silent && \ rm -f /tmp/personal.pfx
Название контейнера в certmgr почему-то не такое, как задавали при установке С рабочим ключом вот такой код работает $signer = new CPSigner(); $signer->set_TSAAddress($tsp_addres); $signer->set_Certificate($cert);
$sd = new CPSignedData(); $sd->set_Content($content);
$sm = $sd->Sign($signer, 1, 0);
А вот такой уже нет $signer = new CPSigner();
$signer->set_Certificate($cert); $sd = new CPSignedXml(); $sd->set_SignatureType(2); $sd->set_Content($sContent);
$signedMessage = $sd->Sign($signer,null); printf("%s\n", $signedMessage); С тестовым ключом работают оба Отредактировано пользователем 10 марта 2025 г. 21:06:48(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close