Почему я получаю эту ошибку ERR_CERT_AUTHORITY_INVALID при вызове HTTPS API с использованием самозаверяющего сертификата службы Angular? - PullRequest
0 голосов
/ 14 ноября 2018

У меня возникает следующая проблема при попытке вызвать внешний API REST HTTPS из службы Angular:

У меня есть служба Angular:

@Injectable()
export class MailDetailProtocolloService {

    private protocolloAooApiUrl = 'https://myservercom:443/my_project/api/GetDeparmentsList';  

    constructor(
        private http: HttpClient
    )
    {
    }

    /** GET AOO List chiamando un'API esterna */

    getAooList(): Observable<Aoo[]> {
        return this.http.get<Aoo[]>(this.protocolloAooApiUrl)
    }

}

Проблемав том, что этот API использует самоподписанный сертификат и, вызывая его, я получаю следующее сообщение об ошибке в консоли:

GET https://myservercom:443/my_project/api/GetDeparmentsList net::ERR_CERT_AUTHORITY_INVALID

Почему?Как я могу это исправить и вызвать его, используя этот самоподписанный сертификат?

1 Ответ

0 голосов
/ 14 ноября 2018

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

Как это сделать, зависит от вашей операционной системы и браузера.

Вот учебник для Windows

Вот учебник для Mac

Вот учебник для WindowsLinux

В отличие от «толстых клиентов», нет никакого способа сделать это автоматически с веб-приложениями;это политика безопасности по умолчанию для всех современных браузеров.Представьте, что веб-сайт может отправлять конфиденциальные данные в фоновом режиме на вредоносный веб-сайт.

...