ионная структура / ионная нативная http: ssl клиентская аутентификация - PullRequest
0 голосов
/ 03 мая 2018

Я ссылаюсь на этот вопрос: https://forum.ionicframework.com/t/ionic-native-http-ssl-client-based-authentification/129596

есть идеи, как реализовать аутентификацию на основе клиента ssl (взаимные tls) в ионной структуре? Я использую ионные родной плагин http. я поместил .cer-файл в папку platform / android / asset.

this.http.acceptAllCerts(true);
this.http.enableSSLPinning(false);

this.http.get('https://someip/backend/all', {}, {})
  .then(data => {
    console.log("data",data)
  })
  .catch(error => {
    console.log("error",error);
  });

в настоящее время запросы http не отправляют требуемый ssl-сертификат с каждым запросом.

<html>
<head><title>400 No required SSL certificate was sent</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>No required SSL certificate was sent</center>
<hr><center>nginx/1.10.3 (Ubuntu)</center>
</body>
</html>

та же проблема при использовании angular / http для отправки http-запросов

Ионная информация

cli packages: (C:\Users\myname\AppData\Roaming\npm\node_modules)

@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

глобальные пакеты:

cordova (Cordova CLI) : not installed

местные пакеты:

@ionic/app-scripts : 3.1.8
Cordova Platforms  : android 6.3.0 browser 5.0.0
Ionic Framework    : ionic-angular 3.9.2

Система:

Android SDK Tools : 26.1.1
Node              : v6.11.3
npm               : 3.10.10
OS                : Windows 10

Переменные среды:

ANDROID_HOME : C:\Users\myname\Android\sdk

Разное:

backend : pro

1 Ответ

0 голосов
/ 24 сентября 2018

Для Android я использую Cordova с установленным плагином «cordova-client-cert-authentication», это сработало сразу: после установки плагина и компиляции приложения, он спрашивает, какой сертификат использовать, как только приложение запустились и запросы работают как положено.

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

...