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

Уведомление

Icon
Error

6 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline two_oceans  
#11 Оставлено : 13 августа 2019 г. 12:29:04(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Код:
//Шифрование подписанного документа
      org.w3c.dom.Document doc = StartEncrypt(KeyCertificate.ExtractCertFromCertStore(), nameFile);
      X509Certificate.addTextNode(KeyCertificate.certToBase64(KeyCertificate.GetCertificateFromStorage("zeus")));
Ну, получается все вроде бы на месте. ExtractCertFromCertStore() - берет сертификат получателя (ФСС), nameFile - имя документа для шифрования, GetCertificateFromStorage() - сертификат отправителя, который сразу добавляется в результат без необходимости замены. Остается проверить сами сертификаты ... и наверно схему обмена ключей. Вроде уже где-то писал про этот подводный камень - для сертификатов гост-2012 автоматом выбирается схема PRO12_EXPORT, а для фсс нужна PRO_EXPORT как с сертификатом гост-2001, так и гост-2012.

Отредактировано пользователем 13 августа 2019 г. 12:39:35(UTC)  | Причина: Не указана

Offline PashaTechnique  
#12 Оставлено : 13 августа 2019 г. 12:31:31(UTC)
PashaTechnique

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: two_oceans Перейти к цитате
Код:
//Шифрование подписанного документа
      org.w3c.dom.Document doc = StartEncrypt(KeyCertificate.ExtractCertFromCertStore(), nameFile);
      X509Certificate.addTextNode(KeyCertificate.certToBase64(KeyCertificate.GetCertificateFromStorage("zeus")));
Ну, получается все вроде бы на месте. ExtractCertFromCertStore() - берет сертификат получателя (ФСС), nameFile - имя документа для шифрования, GetCertificateFromStorage() - сертификат отправителя, который сразу добавляется в результат без необходимости замены. Остается проверить сами сертификаты.


Applause Буду очень рад услышать как это сделатьApplause
Offline PashaTechnique  
#13 Оставлено : 14 августа 2019 г. 6:11:53(UTC)
PashaTechnique

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

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

Сказал(а) «Спасибо»: 2 раз
ATTENTION
ACHTUNG
Уважаемые криптофорумчане.

Кто-нибудь уже подскажите, где или в каком методе происходит дефолтная подстановка это схемой PRO_EXPERT...
Offline PashaTechnique  
#14 Оставлено : 14 августа 2019 г. 7:27:14(UTC)
PashaTechnique

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

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

Сказал(а) «Спасибо»: 2 раз
Ну это просто магия какая-то.

Единственное что мне не хватало для нормальной отправки запроса.
Код:

        //Создание случайного сессионного ключа.
        final KeyGenerator kg = KeyGenerator.getInstance("GOST28147");
        kg.init(CryptParamsSpec.getInstance(CryptParamsSpec.Rosstandart_TC26_Z));
        final SecretKey sessionKey = kg.generateKey();


Ответ получен. Уже даже расшифровал его. Есть два нюанса которые мне не понятны и с чем это связанно соответственно тоже.
И так использую пока самый простой метод на стороне сервиса - это получение нового номера ЭЛН.
Вот собственно расшифрованный ответ:
Код:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header><wsse:Security S:actor="http://eln.fss.ru/actor/fss/ca/1027739443236"><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="http://eln.fss.ru/actor/fss/ca/1027739443236">MIIIJTCCB9KgAwIBAgIRAMR1DVsR5NuA6BHzyun8ReUwCgYIKoUDBwEBAwIwggEfMRwwGgYJKoZI
hvcNAQkBFg11Y0B2b3NraG9kLnJ1MRgwFgYFKoUDZAESDTExNjc3NDYyODkyNDgxGjAYBggqhQMD
gQMBARIMMDA3NzI5NDk4ODEzMQswCQYDVQQGEwJSVTEYMBYGA1UECAwPNzcg0JzQvtGB0LrQstCw
MRkwFwYDVQQHDBDQsy4g0JzQvtGB0LrQstCwMTEwLwYDVQQJDCjRg9C70LjRhtCwINCj0LTQsNC7
0YzRhtC+0LLQsCwg0LTQvtC8IDg1MSkwJwYDVQQKDCDQpNCT0JHQoyDQndCY0JggwqvQktC+0YHR
hdC+0LTCuzEpMCcGA1UEAwwg0KTQk9CR0KMg0J3QmNCYIMKr0JLQvtGB0YXQvtC0wrswHhcNMTgx
MDA4MTIwNTU4WhcNMTkxMDA4MTIxNTU4WjCCAZQxGDAWBgUqhQNkARINMTAyNzczOTQ0MzIzNjEa
MBgGCCqFAwOBAwEBEgwwMDc3MzYwNTY2NDcxNDAyBgNVBAkMK9Ce0YDQu9C40LrQvtCyINC/0LXR
gNC10YPQu9C+0LosINC00L7QvCAz0LAxHzAdBgkqhkiG9w0BCQEWEGcucHJ5YW1vdkBmc3MucnUx
CzAJBgNVBAYTAlJVMQswCQYDVQQIDAI3NzEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQsDFnMGUG
A1UECgxe0KTQvtC90LQg0YHQvtGG0LjQsNC70YzQvdC+0LPQviDRgdGC0YDQsNGF0L7QstCw0L3Q
uNGPINCg0L7RgdGB0LjQudGB0LrQvtC5INCk0LXQtNC10YDQsNGG0LjQuDFnMGUGA1UEAwxe0KTQ
vtC90LQg0YHQvtGG0LjQsNC70YzQvdC+0LPQviDRgdGC0YDQsNGF0L7QstCw0L3QuNGPINCg0L7R
gdGB0LjQudGB0LrQvtC5INCk0LXQtNC10YDQsNGG0LjQuDBmMB8GCCqFAwcBAQEBMBMGByqFAwIC
JAAGCCqFAwcBAQICA0MABECEkSwF1tUQy0VCXJxoCCHcWH40247CTla0jJli3jNSjdcj0pc3YjxM
/cND94wWL7K4Olk8msDN7zGNgcCwmIZno4IEZzCCBGMwDgYDVR0PAQH/BAQDAgPYMB0GA1UdJQQW
MBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHSAEFjAUMAgGBiqFA2RxATAIBgYqhQNkcQIwNgYF
KoUDZG8ELQwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKTCCAQgG
BSqFA2RwBIH+MIH7DCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjAp
DCoi0JrRgNC40L/RgtC+0J/RgNC+INCj0KYiINCy0LXRgNGB0LjQuCAyLjAMT9Ch0LXRgNGC0LjR
hNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8xMjQtMzAxMCDQvtGC
IDMwLjEyLjIwMTYMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjR
jyDihJYg0KHQpC8xMjgtMjk4MyDQvtGCIDE4LjExLjIwMTYwggFgBgNVHSMEggFXMIIBU4AUjMT1
xwUOCKrWHyz8rQaXa1sowluhggEspIIBKDCCASQxHjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlh
ei5ydTELMAkGA1UEBhMCUlUxGDAWBgNVBAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMu
INCc0L7RgdC60LLQsDEuMCwGA1UECQwl0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+
0LwgNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgxGDAWBgUq
hQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0NzQzNzUxLDAqBgNVBAMM
I9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4ggsA1FjD1QAAAAAADDAdBgNVHQ4E
FgQUqFxeJxIJdDYfxXvNkZpupHIZNkYwJwYJKwYBBAGCNxUKBBowGDAKBggrBgEFBQcDAjAKBggr
BgEFBQcDBDBxBgNVHR8EajBoMDGgL6AthitodHRwOi8vdWMudm9za2hvZC5ydS9jZHAvdm9za2hv
ZF9nb3N0MTIuY3JsMDOgMaAvhi1odHRwOi8vY2RwMS52b3NraG9kLnJ1L2NkcC92b3NraG9kX2dv
c3QxMi5jcmwwgYIGCCsGAQUFBwEBBHYwdDA3BggrBgEFBQcwAoYraHR0cDovL3VjLnZvc2tob2Qu
cnUvY2RwL3Zvc2tob2RfZ29zdDEyLmNydDA5BggrBgEFBQcwAoYtaHR0cDovL2NkcDEudm9za2hv
ZC5ydS9jZHAvdm9za2hvZF9nb3N0MTIuY3J0MCsGA1UdEAQkMCKADzIwMTgxMDA4MTIwNTU4WoEP
MjAxOTEwMDgxMjA1NThaMAoGCCqFAwcBAQMCA0EAzvp/kUQBSGrurEz478+bY4+lVNYtR3pqB4m+
0CC9atS12eG0QCb7HQ52TSiv4OddD7alVOSS8WEL6OSLah0B3Q==</wsse:BinarySecurityToken><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/><SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/><Reference URI="#OGRN_1027739443236"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/></Transforms><DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/><DigestValue>7wgpLIIj3zbzYPIACoG2HwXH9UJEgEcaBGg6imIYmA0=</DigestValue></Reference></SignedInfo><SignatureValue>Ey2YNN8A+xIz+ISWGB2BzG2kV1oy8TNHecpG9ORCOLwbmGKDXnmSoPbYDKdgFqI6Tz5LT3baQC0w
xYtdDzKfxQ==</SignatureValue><KeyInfo><wsse:SecurityTokenReference><wsse:Reference URI="#http://eln.fss.ru/actor/fss/ca/1027739443236" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></KeyInfo></Signature></wsse:Security></SOAP-ENV:Header><S:Body wsu:Id="OGRN_1027739443236"><ns1:getNewLNNumResponse xmlns:ns1="http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl" xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><ns1:fileOperationsLnUserGetNewLNNumOut><ns1:REQUEST_ID>LNNUMMO_1025401011833_2019_08_14_00001</ns1:REQUEST_ID><ns1:STATUS>0</ns1:STATUS><ns1:MESS>ORA-20001: Отсутствует подпись головной организации</ns1:MESS><ns1:DATA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></ns1:fileOperationsLnUserGetNewLNNumOut></ns1:getNewLNNumResponse></S:Body></S:Envelope>


И так по порядку:
Почему когда я задавал в запросе указывая идентификационный номер МО, он был одним, а в ответе пришел другой?

Запрос:
Код:

        //Добавляем заголовки для помещения информации о подписи:
        WSSecHeader header = new WSSecHeader();
        header.setActor("http://eln.fss.ru/actor/mo/OGRN_1025401011833"); 
        header.setMustUnderstand(false);


Ответ:
Код:

<wsse:Reference URI="#http://eln.fss.ru/actor/fss/ca/1027739443236" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>


Второй вопрос уже написан в ответе на запрос (Отсутствует подпись головной организации). Вот тут если можно поподробнее?
Offline two_oceans  
#15 Оставлено : 14 августа 2019 г. 8:09:10(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Поздравляю!
Цитата:
И так по порядку:
Почему когда я задавал в запросе указывая идентификационный номер МО, он был одним, а в ответе пришел другой?
Это надо смотреть по методическим рекомендациям сервиса ФСС. Навскидку, в запросе был ОГРН больницы, в ответе ОГРН самого ФСС. Вроде как логично, если зависит от отправителя.
Цитата:
Второй вопрос уже написан в ответе на запрос (Отсутствует подпись головной организации). Вот тут если можно поподробнее?
Код:
 strRef.setAttribute("URI", "OGRN_1025401011833");
Насколько вижу по коду в начале темы, Вы так и не вняли совету из прошлой темы вставить решетку в URI поэтому вероятно ФСС считает что сертификата нет и ЭЦП не верна.
Код:
 strRef.setAttribute("URI", "#OGRN_1025401011833");

Отредактировано пользователем 14 августа 2019 г. 8:19:05(UTC)  | Причина: Не указана

Offline PashaTechnique  
#16 Оставлено : 14 августа 2019 г. 8:33:07(UTC)
PashaTechnique

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: two_oceans Перейти к цитате
Поздравляю!
Цитата:
И так по порядку:
Почему когда я задавал в запросе указывая идентификационный номер МО, он был одним, а в ответе пришел другой?
Это надо смотреть по методическим рекомендациям сервиса ФСС. Навскидку, в запросе был ОГРН больницы, в ответе ОГРН самого ФСС. Вроде как логично, если зависит от отправителя.
Цитата:
Второй вопрос уже написан в ответе на запрос (Отсутствует подпись головной организации). Вот тут если можно поподробнее?
Код:
 strRef.setAttribute("URI", "OGRN_1025401011833");
Насколько вижу по коду в начале темы, Вы так и не вняли совету из прошлой темы вставить решетку в URI поэтому вероятно ФСС считает что сертификата нет и ЭЦП не верна.
Код:
 strRef.setAttribute("URI", "#OGRN_1025401011833");


Насчет первого вопроса думаю рано или поздно узнаю, но спасибо за наводку!

А что если в данный момент URI выглядит вот так, нужен ли этот символ:
Код:

strRef.setAttribute("URI", "http://eln.fss.ru/actor/mo/1025401011833");


Вообщем-то уже попробовал и с решеткой отправить запрос, собственно ничего не изменилось, а к чему она вообще?
Но с другой стороны если сертификата нет, ЭЦП не верна, скорее всего сервис бы послал меня, учитывая что по-моему мнению на стороне сервиса стоят верификации ЭЦП.

Offline two_oceans  
#17 Оставлено : 14 августа 2019 г. 9:56:28(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Цитата:
Но с другой стороны если сертификата нет, ЭЦП не верна, скорее всего сервис бы послал меня, учитывая что по-моему мнению на стороне сервиса стоят верификации ЭЦП.
Как я понимаю, того чего просили сервис не вернул, а прислал описание ошибки, то есть "послал".

Цитата:
Вообщем-то уже попробовал и с решеткой отправить запрос, собственно ничего не изменилось, а к чему она вообще?
Решетка это разделитель в URI между "адресом страницы" и "ID в документе". Если части "адрес страницы" нет (стоит первая решетка или значение ури пустое), то используется текущий документ. Если части "ID в документе" нет, то есть решетка последняя или отсутствует, используется весь документ. Таким образом, если написать OGRN_1111 без решетки это будет считаться как адрес страницы, но OGRN_1111 это не валидный адрес, поэтому скорее всего будет либо исключение либо выберется пустая строка вместо содержимого тега с ID OGRN_1111. Если написать #OGRN_1111 это будет считаться как выбор содержимого ID OGRN_1111 в текущем документе (включая сам тег с ID, что нам и требуется). Опять же если такого ID нет в документе, то выберется пустая строка (в этом случае исключение бывает редко). Если в документе 2 одинаковых ID то будет либо исключение либо выберется первый из них. Делаем выводы по аналогии для другого значения:

Если укажете ури http://eln.fss.ru/actor/mo/1025401011833 без решетки, то при проверке будет пытаться скачать страницу по адресу http://eln.fss.ru/actor/mo/1025401011833 целиком. Полагаю такого адреса нет и будет либо исключение или пустая строка. ID со значением http://eln.fss.ru/actor/mo/1025401011833 будет невалидный (из-за наличия двоеточия и слешей), поэтому ури #http://eln.fss.ru/actor/mo/1025401011833 скорее всего тоже выберет пустую строку. Как видите что так пустая строка, что так, ничего не изменилось. Это в свою очередь означает что сертификат не найден при проверке и невозможно проверить SignatureValue. Если SignatureValue не проверено, то положено прерывать проверку подписи. Поэтому надо придумать другое значение ID (валидное), а в ури поставить решетку первой перед значением ID другого элемента.

Подробнее про валидность ID http://www.datypic.com/sc/xsd/t-xsd_ID.html
Цитата:
The type xsd:ID is used for an attribute that uniquely identifies an element in an XML document. An xsd:ID value must be an NCName. This means that it must start with a letter or underscore, and can only contain letters, digits, underscores, hyphens, and periods.
xsd:ID carries several additional constraints:
Their values must be unique within an XML instance, regardless of the attribute's name or its element name.
A complex type cannot include more than one attribute of type xsd:ID, or any type derived from xsd:ID.
xsd:ID attributes cannot have default or fixed values specified.
По-русски (вольно): тип xsd:ID основан на типе NCName, это означает что значение должно начинаться с подчеркивания или буквы и может содержать только следующие символы: буквы, цифры, подчеркивания, дефисы, точки. Кроме того, на накладываются дополнительные ограничения: значение должно быть уникально в xml документе, другие типы не могут содержать 2 и более атрибута типа xsd:ID, любой тип основанный на xsd:ID не может иметь значения по умолчанию или фиксированного значения.

Отредактировано пользователем 14 августа 2019 г. 10:02:24(UTC)  | Причина: Не указана

Offline PashaTechnique  
#18 Оставлено : 14 августа 2019 г. 10:15:25(UTC)
PashaTechnique

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: two_oceans Перейти к цитате
Цитата:
Но с другой стороны если сертификата нет, ЭЦП не верна, скорее всего сервис бы послал меня, учитывая что по-моему мнению на стороне сервиса стоят верификации ЭЦП.
Как я понимаю, того чего просили сервис не вернул, а прислал описание ошибки, то есть "послал".

Цитата:
Вообщем-то уже попробовал и с решеткой отправить запрос, собственно ничего не изменилось, а к чему она вообще?
Решетка это разделитель в URI между "адресом страницы" и "ID в документе". Если части "адрес страницы" нет (стоит первая решетка или значение ури пустое), то используется текущий документ. Если части "ID в документе" нет, то есть решетка последняя или отсутствует, используется весь документ. Таким образом, если написать OGRN_1111 без решетки это будет считаться как адрес страницы, но OGRN_1111 это не валидный адрес, поэтому скорее всего будет либо исключение либо выберется пустая строка вместо содержимого тега с ID OGRN_1111. Если написать #OGRN_1111 это будет считаться как выбор содержимого ID OGRN_1111 в текущем документе (включая сам тег с ID, что нам и требуется). Опять же если такого ID нет в документе, то выберется пустая строка (в этом случае исключение бывает редко). Если в документе 2 одинаковых ID то будет либо исключение либо выберется первый из них. Делаем выводы по аналогии для другого значения:


Все, я вспомнил, я сделал так как вы просили, начала появляться ошибка и я это убрал, но я не понимаю что он хочет от меня.
Попробовал слетает сразу это в картинке прикрепил. Гуглил указывается что это какой-то баг JDK. Так и не дошло как убрать, есть какие-то предположения?
Пересмотрел кучу проектов и исходников нигде не видел чтобы ставили эту решетку, даже в сэмплах от CryptoPro.


Код:

        SOAPBody soapBody = soapEnv.getBody();
        
        Name name = soapEnv.createName("Id");
        soapBody.addAttribute(name, "#OGRN_1025401011833");
        
        SOAPElement soapElement = soapBody.addChildElement("getNewLNNum", "end");
	SOAPElement element = soapElement.addChildElement("ogrn");
	еlement.addTextNode("1025401011833");


sertifikaty.jpg (336kb) загружен 9 раз(а).

Отредактировано пользователем 14 августа 2019 г. 10:18:04(UTC)  | Причина: Не указана

Offline PashaTechnique  
#19 Оставлено : 14 августа 2019 г. 10:32:35(UTC)
PashaTechnique

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

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

Сказал(а) «Спасибо»: 2 раз
Пробовал еще другой вариант.
Код:

        SOAPBody soapBody = soapEnv.getBody();
        
        soapBody.setAttributeNS("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
                "wsu:Id", "OGRN_1025401011833");
        
        SOAPElement soapElement = soapBody.addChildElement("getNewLNNum", "end");
		SOAPElement element = soapElement.addChildElement("ogrn");
		element.addTextNode("1025401011833");


Принцип построения сообщения не изменился, но на решетку он и в этом случае ругается. Как я понял из ошибки, он не может найти такой элемент чтобы сослаться на него, верно?
Но в таком случае где он должен находиться...
Offline two_oceans  
#20 Оставлено : 14 августа 2019 г. 10:38:21(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Ошибка про не найденный элемент. В коде вообще сообщения #18 творится что-то непонятное. Для начала нужно опредедиться, что есть элемент куда будет положен сертификат и есть элемент тела запроса. У них должны быть разные ID. В ID решетка не нужна (буквально выше перечисление символов допустимых в ID, среди них решетки нет), а вот в URI решетка нужна. Это нормально когда их значения отличаются на решетку. Еще раз деликом код создания документа и подписания напомните пожалуйста. Запрос на момент подписания и после подписания тоже не помешает. Вероятно дело в том, что на момент подписания еще нет элемента с ID OGRN_1025401011833.

Отредактировано пользователем 14 августа 2019 г. 10:39:56(UTC)  | Причина: Не указана

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