Отправка запроса по POST и получение ответа

1. LeoKeyn 51 11.04.18 13:23 Сейчас в теме
СохранитьНаСервере();

ФайлНаОтправкуТело = "D:\Запрос шифр.txt";



Сервер = "test.rb-ei.com";

Ресурс = "https://test.rb-ei.com/cpuEnquiry.asp";;

СоединениеЗащита = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(),

Новый СертификатыУдостоверяющихЦентровФайл("d:\textcert.pem"));

HTTP = Новый HTTPСоединение(Сервер,,,,,,СоединениеЗащита);

// Запишем в файл содержимое тела запроса (текст)

// Получим размер данных для передачи в заголовок

ФайлНаОтправку = Новый ТекстовыйДокумент;

ФайлНаОтправку.Прочитать(ФайлНаОтправкуТело);

HTTPЗапрос = Новый HTTPЗапрос(Ресурс);

HTTPЗапрос.УстановитьИмяФайлаТела(ФайлНаОтправкуТело);

// Получим временный файл — тело ответа POST запроса

ФайлРезультат = ПолучитьИмяВременногоФайла();

// Заголовок создадим в виде соответствия

ЗаголовокЗапросаHTTP = Новый Соответствие();

// Передаем в заголовках размер и тип данных на отправку

ЗаголовокЗапросаHTTP.Вставить("Content-Length", 123456);

ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; Chsrset=windows-1251");

ЗаголовокЗапросаHTTP.Вставить("Connection", "Close");

// Отсылаем POST запрос на обработку.

// СсылкаНаРесурс — ссылка на веб-сервер (страницу), к которой посылается POST запрос

HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP);

// Получим ответ

ТекстовыйФайлОтвета = Новый ТекстовыйДокумент;

ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.UTF8);

СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст();







Файл сертификата сделал по инструкции http://catalog.mista.ru/public/79494/
Получилось:

POST/cpuEnquiry.asp HTTP/1.1
=============================

MD5 Fingerprint=41:40:BB:C9:DB:6B:56:D2:90:71:17:5F:B7:D4:75:D5
Certificate:
Dat a:
Version: 3 (0x2)
Serial Number:
57:9a:5f:99:00:0e:00:01:db:47
Signature Algorithm: GOST R 34.11-94 with GOST R 34.10-2001
Issuer: emailAddress=cpca@cryptopro.ru, C=RU, L=\x04\x1C\x04>\x04A\x04:\
x042\x040, O=\x04\x1E\x04\x1E\x04\x1E\x00 \x04\x1A\x04 \x04\x18\x04\x1F\x04"\x04
\x1E\x00-\x04\x1F\x04 \x04\x1E, CN=\x04#\x04&\x00 \x00K\x00P\x04\x18\x04\x1F\x00

T\x00O\x00-\x04\x1F\x00P\x00O
Validity
Not Before: Apr 10 12:54:00 2017 GMT
Not After : Apr 10 13:04:00 2022 GMT
Subject: emailAddress=cs@bki-okb.ru, C=RU, L=\x04\x1C\x04>\x04A\x04:\x04
2\x040, O=\x04\x17\x04\x10\x04\x1E\x00 \x04\x1E\x04\x1A\x04\x11, CN=\x04"\x045\x
04A\x04B\x04>\x042\x04K\x049\x00 \x04?\x04>\x04;\x04L\x047\x04>\x042\x040\x04B\x
045\x04;\x04L\x00 \x002\x000\x001\x007/title=\x04"\x045\x04A\x04B\x04>\x042\x0­4K
\x049\x00 \x04?\x04>\x04;\x04L\x047\x04>\x042\x040\x04B\x045\x04;\x04L
Subject Public Key Info:
Public Key Algorithm: GOST R 34.10-2001
Unable to load Public Key
5924:error:0609E09C:digital envelope routines:PKEY_SET_TYPE:unsupported algorith
m:.\crypto\evp\p_lib.c:239:
5924:error:0B07706F:x509 certificate routines:X509_PUBKEY_get:unsupported algori
thm:.\crypto\asn1\x_pubkey.c:148:
X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature, Non Repudiation, Key Encipherment, Data Encip
herment
X509v3 Extended Key Usage:
E-mail Protection, 1.2.643.2.2.34.6, TLS Web Client Authenticati
on
X509v3 Subject Key Identifier:
8F:C1:C6:82:F6:5F:78:E6:86:16:1D:F1:59:D7:5A:46:4C:0A:A8:80
X509v3 Authority Key Identifier:
keyid:2F:8D:57:CC:87:83:49:B0:81:9A:7A:FD:46:AC:1F:27:04:A9:25:5
8

X509v3 CRL Distribution Points:

Full Name:
URI:http://cdp.cryptopro.ru/ra/cdp/2f8d57cc878349b0819a7afd46a
c1f2704a92558.crl

Full Name:
URI:http://cpca.cryptopro.ru/ra/cdp/2f8d57cc878349b0819a7afd46
ac1f2704a92558.crl

Full Name:
URI:http://cpca2.cryptopro.ru/ra/cdp/2f8d57cc878349b0819a7afd4
6ac1f2704a92558.crl

Authority Information Access:
OCSP - URI:http://ocsp.cryptopro.ru/ocsp/ocsp.srf
OCSP - URI:http://ocsp2.cryptopro.ru/ocsp/ocsp.srf
CA Issuers - URI:http://cpca.cryptopro.ru/cacer.p7b

X509v3 Private Key Usage Period:
Not Before: Apr 10 12:54:00 2017 GMT, Not After: Apr 10 12:54:00
2018 GMT
Signature Algorithm: GOST R 34.11-94 with GOST R 34.10-2001
17:85:70:f2:14:d0:f0:79:35:62:41:03:2e:bc:91:90:75:eb:
e0:db:91:13:8d:e9:1b:dc:9c:66:79:5b:18:d9:17:86:2f:fd:
62:8d:4a:2e:67:11:a1:89:14:77:de:6f:80:bc:f3:09:8d:58:
57:4d:d5:8a:73:91:a3:e1:08:19
-----BEGIN CERTIFICATE-----

MIIEvDCCBGugAwIBAgIKV5pfmQAOAAHbRzAIBgYqhQMCAgMwgZIxIDAeB
gkqhkiG
9w0BCQEWEWNwY2FAY3J5cHRvcHJvLnJ1MQswCQYDVQQGEwJSVTEVMBMGA1UE­Bx4M
BBwEPgRBBDoEMg
QwMSUwIwYDVQQKHhwEHgQeBB4AIAQaBCAEGAQfBCIEHgAtBB8E
IAQeMSMwIQYDVQQDHhoEIwQmACAASwBQBBg
EHwBUAE8ALQQfAFAATzAeFw0xNzA0
MTAxMjU0MDBaFw0yMjA0MTAxMzA0MDBaMIHPMRwwGgYJKoZIhvcNAQkBF
g1jc0Bi
a2ktb2tiLnJ1MQswCQYDVQQGEwJSVTEVMBMGA1UEBx4MBBwEPgRBBDoEMgQw­MRcw
FQYDVQQKHg4EFwQ
QBB4AIAQeBBoEETE9MDsGA1UEAx40BCIENQRBBEIEPgQyBEsE
OQAgBD8EPgQ7BEwENwQ+BDIEMARCBDUEOwRMA
CAAMgAwADEANzEzMDEGA1UEDB4q
BCIENQRBBEIEPgQyBEsEOQAgBD8EPgQ7BEwENwQ+BDIEMARCBDUEOwRMMGM
wHAYG
KoUDAgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQIQwKpVpyYtYCl/eOKiD­C+56
u58VI598eieaJk1F7
/cqTlHCPOEm8ORJlOEs5TbeVHB2oxytA1LzlO7sjMCUiSWj
ggJgMIICXDAOBgNVHQ8BAf8EBAMCBPAwJgYDVR0l
BB8wHQYIKwYBBQUHAwQGByqF
AwICIgYGCCsGAQUFBwMCMB0GA1UdDgQWBBSPwcaC9l945oYWHfFZ11pGTAqo­gDA
f
BgNVHSMEGDAWgBQvjVfMh4NJsIGaev1GrB8nBKklWDCCAQcGA1UdHwSB/zCB­/DBR
oE+gTYZLaHR0cDovL2NkcC
5jcnlwdG9wcm8ucnUvcmEvY2RwLzJmOGQ1N2NjODc4
MzQ5YjA4MTlhN2FmZDQ2YWMxZjI3MDRhOTI1NTguY3JsM
FKgUKBOhkxodHRwOi8v
Y3BjYS5jcnlwdG9wcm8ucnUvcmEvY2RwLzJmOGQ1N2NjODc4MzQ5YjA4MTlh­N2Fm
ZDQ2
YWMxZjI3MDRhOTI1NTguY3JsMFOgUaBPhk1odHRwOi8vY3BjYTIuY3J5cHRv­
cHJvLnJ1L3JhL2NkcC8yZjhkNTd
jYzg3ODM0OWIwODE5YTdhZmQ0NmFjMWYyNzA0
YTkyNTU4LmNybDCBqQYIKwYBBQUHAQEEgZwwgZkwMgYIKwYBBQ
UHMAGGJmh0dHA6
Ly9vY3NwLmNyeXB0b3Byby5ydS9vY3NwL29jc3Auc3JmMDMGCCsGAQUFBzAB­hido
dHRwOi8vb
2NzcDIuY3J5cHRvcHJvLnJ1L29jc3Avb2NzcC5zcmYwLgYIKwYBBQUH
MAKGImh0dHA6Ly9jcGNhLmNyeXB0b3By
by5ydS9jYWNlci5wN2IwKwYDVR0QBCQw
IoAPMjAxNzA0MTAxMjU0MDBagQ8yMDE4MDQxMDEyNTQwMFowCAYGKoU
DAgIDA0EA
F4Vw8hTQ8Hk1YkEDLryRkHXr4NuRE43pG9ycZnlbGNkXhi/9Yo1KLmcRoYkU­d95v
gLzzCY1YV03
VinORo+EIGQ==

-----END CERTIFICATE-----


Получаю ошибку

{Документ.ЗапросВБКИ.Форма.ФормаДокумента.Форма(66)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP);
по причине:
Ошибка работы с Интернет: Удаленный узел не прошел проверку


Что я не так то сделал с сертификатом, помогите пожалуйста
+
По теме из базы знаний
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот