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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline SamQws  
#1 Оставлено : 22 ноября 2017 г. 20:10:54(UTC)
SamQws

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

Группы: Участники
Зарегистрирован: 27.10.2017(UTC)
Сообщений: 2

Здравствуйте, подскажите пожалуйста как помощью sdk для php можно зашифровать файл?
при попытке зашифровать содержимое файла возникает ошибка
$cp = new \CPEnvelopedData();
$cp->get_Recipients()->Add($cert);
$cp->set_Content(base64_encode($sd->get_Content()));
$cp->Encrypt(BASE64_TO_BINARY);
в результате исполнения кода выбрасывается следующая ошибка The group or resource is not in the correct state to perform the requested operation. (0x8007139F)

Отредактировано пользователем 24 ноября 2017 г. 11:31:10(UTC)  | Причина: Не указана

Offline cross  
#2 Оставлено : 24 ноября 2017 г. 14:22:49(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
А можете полный код примера приложить?
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline SamQws  
#3 Оставлено : 24 ноября 2017 г. 15:16:04(UTC)
SamQws

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

Группы: Участники
Зарегистрирован: 27.10.2017(UTC)
Сообщений: 2

как оказалось проблема была в том, что сначала нужно было указывать контент
$cp->set_Content(base64_encode($sd->get_Content()));
а потом
$cp->get_Recipients()->Add($cert);
Offline cross  
#4 Оставлено : 25 ноября 2017 г. 14:52:27(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Сразу не обратил на это внимание. Это ожидаемое поведение. Из документации на EnvelopedData:
Цитата:

The plaintext content of a message to be enveloped. Setting this property must be done before the Encrypt method is called.
When the value of this property is reset, directly or indirectly, the whole state of the object is reset, and any encrypted content in the object is lost.

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