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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Milanin  
#1 Оставлено : 10 марта 2025 г. 19:09:16(UTC)
Milanin

Статус: Новичок

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline Андрей *  
#2 Оставлено : 10 марта 2025 г. 19:21:37(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,
как устанавливали сертификаты и рабочий связывали с контейнером?
Техническую поддержку оказываем тут
Наша база знаний
Offline Milanin  
#3 Оставлено : 10 марта 2025 г. 21:04:28(UTC)
Milanin

Статус: Новичок

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

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