ЭЦП расшифровка ответ ФСС ЭЛН .Net

958
17 октября 2017, 00:23

Возникла проблема интеграции с ЭЛН ФСС. Использую КриптоПро для подписи запроса. Скопировал контейнер Рутокен в реест. Оттуда установил сертификат личный. Пример взял с SDK подписания, подпись проходит, проверка успешна, отправляю зашифрованный запрос на сервис:

public void SendFss()
{
    string oRequest = "";
    XmlDocument doc = new XmlDocument();
    doc.Load("c_encrypted.xml");
    oRequest = doc.OuterXml;
    //Builds the connection to the WebService.
    HttpWebRequest req =(HttpWebRequest)WebRequest.Create("https://docs.fss.ru/WSInsurerCrypto/FileOperationsLnPort?WSDL");
    req.Headers.Add("SOAPAction", "\"http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl/getPrivateLNData\"");
    req.ContentType = "text/xml; charset=\"utf-8\"";
    req.Accept = "text/xml";
    req.Method = "POST";
    //Passes the SoapRequest String to the WebService
    using (Stream stm = req.GetRequestStream())
    {
        using (StreamWriter stmw = new StreamWriter(stm))
        {
            stmw.Write(oRequest);
        }
    }
    //Gets the response
    WebResponse response = req.GetResponse();
    //Writes the Response
    Stream responseStream = response.GetResponseStream();
    StreamReader sr = new StreamReader(responseStream);
    string str = sr.ReadToEnd();
    File.WriteAllText("resp_txt.xml", str);
}

Где c_encrypted зашифрованный запрос. Ответ приходит от от сервиса и пытаюсь его расшифровать:

public void Decrypt(string xmlFile="resp_txt.xml")
{
    XmlDocument xd = new XmlDocument();
    xd.PreserveWhitespace = true;
    //xd.PreserveWhitespace = false;
    xd.Load(xmlFile);
    EncryptedXml exml = new EncryptedXml(xd);
    exml.DecryptDocument()
}

И на DecryptDocument возникает ошибка:

Не удается извлечь ключ дешифрования.

Почему не может найти контейнер по сертификату?

READ ALSO
Можно ли открывать файлы напрямую через ListBox?

Можно ли открывать файлы напрямую через ListBox?

Можно ли открывать файлы напрямую через ListBox? Нужно например: если нажать в ListBox вторую строку и тогда, чтоб открылся в программе файл "Scene2"...

366
Операция MEX, не укладываюсь в 3 секунды - C# [требует правки]

Операция MEX, не укладываюсь в 3 секунды - C# [требует правки]

Операция MEX, не укладываюсь в 3 секунды - C#

211