Подтвердить что ты не робот

Использование функции jQuery ajax() с сертификатом клиента SSL

Я хочу сделать вызов XHR службе REST с помощью функции ajax() jQuery. В принципе, это работает отлично, но служба REST доступна только через https и требует, чтобы клиент аутентифицировался с использованием сертификата клиента.

Как отправить сертификат клиента с помощью функции jQuery ajax()?

4b9b3361

Ответ 1

Можно сделать ssl ajax-вызовы, если источник запроса и цель находятся в одном домене и с помощью https: Защита AJAX и SSL. Но вы не можете сделать аутентификацию ssl в своем вызове ajax.

Ответ 2

Аутентификация сертификата клиента (а) выполняется только по запросу сервера и (б) выполняется прозрачно браузером в отношении уровней HTTP и JavaScript.

Когда сервер запрашивает сертификат клиента (который может повлечь заново согласование после HTTP-запроса), браузер должен предложить всплывающее окно для выбора сертификата (который зависит от браузера, а не под любым управлением JavaScript или HTML ) или выберите его автоматически в зависимости от его настроек.

Таким образом, он не выполняет функцию jQuery ajax(), чтобы что-либо делать с сертификатом клиента.

Сверху моей головы, я не уверен, будет ли браузер вызывать всплывающее окно выбора клиента, если он возникает только во время этого вызова AJAX (это, вероятно, зависит от браузера). Однако, если выбор клиентского сертификата уже сделан (или если выбор является автоматическим), браузер будет использовать его для аутентификации, как и для любого другого обычного запроса.

Ответ 3

Недавно я сталкивался с подобным бизнесом, читал сертификат пользователя UKey.

когда я использую ajax, он не работает в IE, но с Chrome все в порядке, диалоговое окно сертификата в UKey появится перед запросом.

Я должен изменить практику, используя html ссылку на сайт двусторонней аутентификации. это работает хорошо во всех браузерах. Firefox не работает, потому что у него есть хранилище сертификатов.