Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Авторизация на вебсервисе с помощью сертификата SSL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
АлексНик
Отправлено: 03 Декабря, 2021 - 16:28:51
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Дек. 2021  


Помог: 0 раз(а)




Для авторизации на вебсервисе предлагается отправить POST запрос следующего формата.

POST /Authenticate HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: DiadocAuth ddauth_api_client_id=testClient- 8ee1638deae84c86b8e2069955c2825a
Content-Length: 1252
Connection: Keep-Alive
<Двоичное DER-представление X.509-сертификата пользователя>


Вопрос возникает отправкой Двоичного DER-представление X.509-сертификата пользователя
Имеется файл этого самого DER-представление X.509-сертификата пользователя,
Каким образом его можно отправить в пост запрос
 
 Top
Vladimir Kheifets
Отправлено: 03 Декабря, 2021 - 17:18:34
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




АлексНик пишет:
Для авторизации на вебсервисе предлагается отправить POST запрос следующего формата.

POST /Authenticate HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: DiadocAuth ddauth_api_client_id=testClient- 8ee1638deae84c86b8e2069955c2825a
Content-Length: 1252
Connection: Keep-Alive
<Двоичное DER-представление X.509-сертификата пользователя>


Вопрос возникает отправкой Двоичного DER-представление X.509-сертификата пользователя
Имеется файл этого самого DER-представление X.509-сертификата пользователя,
Каким образом его можно отправить в пост запрос


Добрый день!
Чем Вы отправляете POST запрос - PHP-cURL, JS-AJAX?
Могли бы Вы показать код?
Обычно, в документации вебсервиса дают рекомендации и примеры кодов.

(Отредактировано автором: 03 Декабря, 2021 - 17:31:02)

 
 Top
АлексНик
Отправлено: 03 Декабря, 2021 - 17:34:28
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Дек. 2021  


Помог: 0 раз(а)




Пробоал так.
PHP:
скопировать код в буфер обмена
  1.         $postdata=file_get_contents('C:/OSPanel/domains/ddk/gorizont.cer');
  2.         $opts=array('http'=>
  3.                 array(
  4.                         //'ssl'=>$ssl,
  5.                         'method'=>'POST',
  6.                         'header'=>"Content-Type: application/x-www-form-urlencoded\nConnection: Keep-Alive\nAuthorization: DiadocAuth ddauth_api_client_id=testClient",
  7.                         'content'=>$postdata
  8.                 )
  9.         );
  10.         $context=stream_context_create($opts);
  11.         $result=file_get_contents('diadoc-api.kontur.ru/Authenticate',false,$context);
 
 Top
Vladimir Kheifets
Отправлено: 04 Декабря, 2021 - 07:34:39
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




АлексНик пишет:
Пробоал так.
PHP:
скопировать код в буфер обмена
  1.         $postdata=file_get_contents('C:/OSPanel/domains/ddk/gorizont.cer');
  2.         $opts=array('http'=>
  3.                 array(
  4.                         //'ssl'=>$ssl,
  5.                         'method'=>'POST',
  6.                         'header'=>"Content-Type: application/x-www-form-urlencoded\nConnection: Keep-Alive\nAuthorization: DiadocAuth ddauth_api_client_id=testClient",
  7.                         'content'=>$postdata
  8.                 )
  9.         );
  10.         $context=stream_context_create($opts);
  11.         $result=file_get_contents('diadoc-api.kontur.ru/Authenticate',false,$context);


Добрый день!
Ошибка в Content-Type: application/x-www-form-urlencoded
См. https://api-docs[dot]diadoc[dot]ru/ru/la[dot][dot][dot]nticate[dot]html#id2
Цитата:
Аутентификация по сертификату:
Необходимо указать type - certificate, в тело запроса передать бинарное содержимое
открытого ключа сертификата c заголовком Content-Type: application/octet-stream.
Советую Вам переписть код на cURL PHP.
Удачи!
 
 Top
АлексНик
Отправлено: 04 Декабря, 2021 - 10:04:20
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Дек. 2021  


Помог: 0 раз(а)




Спасибо за ответ поигрался с заголовками, вроде заработало.
Не могу найти информации доступны ли для функции file_get_contents() просмотр заголовков ответа при использовании протокола НTTP. Если нет, придется использовать CURL
 
 Top
Vladimir Kheifets
Отправлено: 04 Декабря, 2021 - 14:23:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




АлексНик пишет:
Спасибо за ответ поигрался с заголовками, вроде заработало.
Не могу найти информации доступны ли для функции file_get_contents() просмотр заголовков ответа при использовании протокола НTTP. Если нет, придется использовать CURL

см. $http_response_header
https://www.php.net/manual/de/re...sponseheader.php
Удачи!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB