Проверка SSL сертификатов сервера при установке Websocket соединения¶
По умолчанию, при установке безопасного Websocket соединения с сервером, Android SDK отдает проверку SSL сертификата сервера на уровень системы. В свою очередь, система сверяет сертификат с записями в хранилище сертификатов.
При этом, если на сервере, в целях отладки, установлен самоподписанный сертификат, он не пройдет проверку. Поэтому в сборке 1.0.1.73 добавлена опция сессии SessionOptions.trustAllCertificates
(по умолчанию false
). Чтобы принимать любые, в том числе самоподписанные сертификаты при установке соединения, необходимо установить данную опцию в true
Пример использования
private CheckBox mTrustAllCer;
...
mTrustAllCer = (CheckBox) findViewById(R.id.trust_all_certificates_default);
...
/**
* The options for connection session are set.
* WCS server URL is passed when SessionOptions object is created.
* SurfaceViewRenderer to be used to display video from the camera is set with method SessionOptions.setLocalRenderer().
* SurfaceViewRenderer to be used to display preview stream video received from the server is set with method SessionOptions.setRemoteRenderer().
*/
SessionOptions sessionOptions = new SessionOptions(url);
sessionOptions.setLocalRenderer(localRender);
sessionOptions.setRemoteRenderer(remoteRender);
sessionOptions.trustAllCertificates(mTrustAllCer.isChecked());
Warning
Используйте это только для тестирования. Приложение, которое доверяет любым сертификатам, не пройдет модерацию Google Play (или любого альтернативного магазина приложений)