Белый список самозаверяющих сертификатов SSL в приложении? - PullRequest
0 голосов
/ 06 мая 2018

Сценарий такой: у нас есть мобильное приложение, которое обменивается данными с нашим внутренним сервером через https, приложение имеет собственные модули и части HTML5, в которые встроено webview / Cordova, поэтому некоторые из связей https происходят из собственных вызовов, в то время как другие от звонков ajax. Мы хотим использовать самозаверяющий сертификат SSL для нашего внутреннего сервера, который уже использовался для некоторых из наших существующих веб-приложений.

Для прошлых веб-приложений нам нужно только дать указание нашим клиентам добавить наш самоподписанный сертификат в хранилище доверенных сертификатов браузера, и все в порядке. Интересно, что мне нужно сделать, чтобы наше мобильное приложение внесло в белый список наш самозаверяющий сертификат, особенно при соединении с помощью вызовов ajax из встроенных HTML5-частей Webview / Cordova. В настоящее время кажется, что я могу настроить веб-просмотр таким образом, чтобы подавлять все ошибки SSL и принимать все самозаверяющие сертификаты, но что, если я просто хочу внести в белый список наш собственный самозаверяющий сертификат?

Например, адрес сервера - 192.168.12.25, и я создаю свой собственный самозаверяющий сертификат для этого IP-адреса, и я хочу, чтобы наше мобильное приложение распознавало только этот конкретный самоподписанный сертификат для 192.168.12.25 как действительный, а не какой-либо другой произвольный самозаверяющий сертификат.

1 Ответ

0 голосов
/ 13 августа 2018

Что вам нужно, это закрепление SSL. Вы должны встроить самоподписанный сертификат вашего сервера в приложение и построить из него TrustManager. Для получения более подробной информации см. https://developer.android.com/training/articles/security-ssl#UnknownCa.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...