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

Уведомление

Icon
Error

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

Статус: Активный участник

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

Сказал(а) «Спасибо»: 6 раз
в следующем примере (см код ниже)

sSignedMessage = oSignedData.SignCades(oSigner, CAdESCOM.CADESCOM_CADES_TYPE.CADESCOM_CADES_T, true);
ОШИБКА:
{System.Runtime.InteropServices.COMException (0xC2100100): При попытке отправки запроса возникла ошибка HTTP в CAdESCOM.ICPSignedData5.SignCades(Object Signer, CADESCOM_CADES_TYPE CadesType, Boolean bDetached, CAPICOM_ENCODING_TYPE EncodingType) в SignCreateVerifyCADES.Program.SignCreate(String CertID, Byte[] data) в C:\Users\astarkov\Documents\Visual Studio 2015\Projects\ESODFunctions\SignCreateVerifyCADES\Program.cs:строка 63}

sSignedMessage = oSignedData.SignCades(oSigner, CAdESCOM.CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, true);
ЗДЕСЬ (когда не надо никаких запросов) - НОРМ

Код:
        private static string SignCreate(string CertID, byte[] data)
        {
            var oStore = new CAdESCOM.CPStore();
            oStore.Open(CAPICOM.CAPICOM_STORE_LOCATION.CAPICOM_LOCAL_MACHINE_STORE,
                "My", CAPICOM.CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

            CAPICOM.ICertificate2 icert = null;

            foreach (var cert in oStore.Certificates)
            {
                if ((cert as CAPICOM.ICertificate2).SubjectName.Contains("CN="+CertID))
                {
                    icert = cert as CAPICOM.ICertificate2;
                    break;
                }
            }

            if (icert == null)
            {
                throw new Exception(string.Format("Сертификат для {0} не найден", CertID));
            }

            var oSigner = new CAdESCOM.CPSigner();
            oSigner.Certificate = icert;
            oSigner.TSAAddress = @"http://www.cryptopro.ru/tsp/tsp.srf";
            var oSignedData = new CAdESCOM.CadesSignedData();
            oSignedData.ContentEncoding = CAdESCOM.CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY;
            oSignedData.Content = Convert.ToBase64String(data);

            string sSignedMessage = "";
            try
            {
                sSignedMessage = oSignedData.SignCades(oSigner, CAdESCOM.CADESCOM_CADES_TYPE.CADESCOM_CADES_T, true);
            }
            catch (Exception ex)
            {
                throw new Exception("Ошибка подписи: " + ex.Message);
            }
            oStore.Close();
            return sSignedMessage;
        }


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