2016-05-30 4 views
1

Так что я разрабатываю приложение, которое использует соединение для подключения к серверу базы данных. Этот сервер использует шифрование TLS и имеет сертификат SSL. Im использует OkHttp3.2 для управления моим подключением к серверу. Я могу подключиться к серверу без каких-либо проблем, а также шифрование работает нормально.SSL-сертификат OkHttp

Мой вопрос основан на тесте сертификатов от java-сервера SSL. Я могу прочитать все, что Сервер отправляет о сертификате (Serial, Signature ...), но я не вижу никакой информации о проверке или уровне доверия, как цепочка сертификатов.

Проверяет ли SSL-модуль сертификат самостоятельно или мне нужно сделать это вручную?

И будет ли присвоение сертификата OkHttp выполнять работу?

И как бы я считывал контрольную сумму SHA сертификата, как это делает какой-то ssl-тестер? например ssllabs.com

+0

Надеюсь, эта ссылка вам полезна. https://github.com/square/okhttp/wiki/HTTPS –

+0

@PravinDivraniya Я прочитал документальный фильм okhttp, но он говорит только, что по умолчанию okhttp доверяет сертификату. Но я хочу проверить действительность сертификата в ручном порядке службой сторонних вечеринок. –

+0

В соответствии с этой ссылкой сертификат может помочь вам выполнить эту работу. http://artemzin.com/blog/certificate-pinning-notes-for-android-java/ –

ответ

0

Итак, благодаря замечанию Правина, я думаю, что знаю все, что мне нужно.

Если кто-то заинтересуют немного вывод статьи:

SSL Engine checkes валидность Андроида Сертификата на каждом запросе. Сертификат сравнивается с корневыми сертификатами корневого сервера в локальном системном хранилище (Настройки -> Безопасность -> Доверенные учетные данные).

Удостоверение сертификата добавит второй уровень безопасности, на самом деле он проверяет, имеет ли сертификат в цепочке сертификатов fringerprint, который равен вашей настройке. Полезно, если вы только хотите разрешить сертификацию определенного провайдера для связи с вашим приложением.