-
Добрый день!
Вопрос такой: Как можно передать xml-сообщение с запросом серверу по HTTPS? Сообщение должно подписываться.
-
так же как и не xml сообщение
-
Можно примерчик, если не сложно? Я так понимаю методом Post? Как подписать?
-
> mv (21.07.2008 13:47:02) [2]
Так как ударение на XML то надо понимать, что обычный стринг ты умее передавать.
-
Мне наверно нужно передавать запрос в XMLDoc? Типа XMLDoc.XML.Text. Делаю первый раз. С чего начать совершенно не знаю
-
с помощью каких компонентов можно достучаться к серверу? IdHTTP я так понимаю не поддерживает протокол CryptoPro
-
у криптопро нет никакого протокола
-
xml документом создаешь боди запроса. криптопрой (точнее через криптоапи 2.0) ставишь ЭЦП на контенте. далее idHTTP + OpenSSL или wininet засылаешь сам запрос с эцп на сервер.
примеров не проси, это на пример не тянет а на статью в журнале мурзилка про вашего мальчика.
-
> mv (21.07.08 16:58) [5]
выкинь idhttp если собираешься работать с https, пользуй wininet
-
> выкинь idhttp если собираешься работать с https, пользуй > wininet
аргументируйте, плз
-
> laao (23.07.2008 14:29:09) [9]
У тебя есть серьезные замечания к Internet Explorer?
-
а как пост сделать через вининет?
-
> laao (23.07.08 14:29) [9]
idhttp работает через openssl, openssl не имеет доступа к системному хранилищу сертификатов, их придется все время экспортировать в формат crt, если сертификат к тому же еще и содержит закрытый ключ и хранится в формате pfx с паролем, openssl вообще с ним не отработает
> пост (23.07.08 14:49) [11]
немешало бы почитать справку по HttpOpenRequest
-
все прочитано.
hSession := InternetOpen('блаблабла',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
Conn := InternetConnect(hSession,'localhost',80,nil,nil,INTERNET_SERVICE_HTTP,0,0);
Req := HttpOpenRequest(Conn,nil,'/blablabla',nil,'referer',nil,0,0);
первые два вызова ок. у третьего код ошибки 122. Какого буфера ему не хватает -- не понятно
-
ну че врешь то? нагло... прочитано... да если бы было прочитано вторым параметром Nil бы не стояло...
-
-
Да был там у меня и явный пост 'POST' один фик.
-
1. post верни, иначе это не post, а get 2. Var
s:String;
SetLength(s,10*1024);
SetLength(Result,FormatMessage(
FORMAT_MESSAGE_FROM_SYSTEM,
Nil,
GetLastError,
0,
@s[1],
10*1024,
Nil
));
ShowMessage(s); чего пишет?
-
"область данных переданная по системному вызовы слишком мала". то есть 122 и есть
-
интересно... а если через IE post запрос провести через форму - отрабатывает?
|