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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Юхансон  
#1 Оставлено : 15 июля 2021 г. 12:26:15(UTC)
Юхансон

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

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

Добрый день!
Имеем некий веб-сервис на 1С, который общается с четным знаком, получает оттуда данные по кодам маркировки и отдает эту информацию розничным магазинам.
Проблема в подписании запроса для получения токена, все остальное работает.
Под обычным пользователем в клиентском приложении нет никаких проблем и с этим подписанием.
А под пользователем IIS в веб-сервисе возвращает ошибку.

Проблемная строка: sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, EncodingType);
Сообщение об ошибке: Invalid window handle

При чем тут window handle, не очень понятно.
Может способ которым я пользуюсь предназначен только для запуска из какого-либо приложения (с окном)? Или все-таки проблемы в правах пользователя?
Заранее спасибо за советы.

Ниже собственно кусок кода:

CADESCOM_BASE64_TO_BINARY = 1; // Входные данные пришли в Base64
CADESCOM_CADES_TYPE = 1; // Тип усовершенствованной подписи
CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0; // Атрибут штампа времени подписи
oSigner = Новый COMОбъект("CAdESCOM.CPSigner");
// Объект, задающий параметры создания и содержащий информацию об усовершенствованной подписи.
oSigner.Certificate = ПолучитьСертификатПоОтпечатку(sThumbprint);
oSigningTimeAttr = Новый COMОбъект("CAdESCOM.CPAttribute");
oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
oSigningTimeAttr.Value = ТекущаяДата();
oSigner.AuthenticatedAttributes2.Add(oSigningTimeAttr);
ТекстДляПодписи = СокрЛП(ТекстДляПодписи);
oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
// Объект CadesSignedData предоставляет свойства и методы для работы с усовершенствованной подписью.
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = СокрЛП(ТекстДляПодписи);
EncodingType = 0;
sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE, bDetached, EncodingType);
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.