just-ai / aimybox-android-sdk

Voice assistant SDK for Android
https://aimybox.com
Apache License 2.0
74 stars 16 forks source link

Необходимо доработать SSL-пиннинг для подключения к хосту яндекса #118

Open Steyrix opened 2 years ago

Steyrix commented 2 years ago

Речь идет о хосте tts.api.cloud.yandex.net

В кодовой базе реализовано пробрасывание PinningConfig (для последующего SSL-пиннинга) в конструктор Aimybox. Пробрасывание извне со стороны пользователя библиотеки является оверхедом и лишней логикой, так как все данные для создания PinningConfig лежат в открытом доступе.

Необходимо избавиться от пробрасывания SSL-конфига в конструктор Aimybox и конфигурировать его на стороне SDK. Данные о публичном ключе сертификата Яндекса (захэшированного SHA256) можно взять здесь https://www.ssllabs.com/ssltest/

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