Как загрузить SSL-сертификат, используя входной поток для Retrofit - PullRequest
0 голосов
/ 11 ноября 2019

Мне нужно добавить свой SSL-сертификат для Retrofit в Android, но я не могу найти файл, используя пример кода Google для этого.

Вот пример из Google, который я использую https://developer.android.com/training/articles/security-ssl

При запуске:

val caInput: InputStream = BufferedInputStream(FileInputStream("rest_of_the_world_production.crt"))

Я получаю ошибку

 Caused by: java.io.FileNotFoundException: rest_of_the_world_production.crt: open failed: ENOENT (No such file or directory)

и мгновенный сбой при попытке доступа к файлу. В настоящее время этот файл хранится в виде файла crt в файле res / raw / rest_of_the_world_production.crt, так почему Android не может его найти?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2019

Получается, что я импортировал

android.R

вместо

com.myApp.R

Изменение этого параметра позволило мне найти свой сертификат и импортировать его.

0 голосов
/ 11 ноября 2019

Сделайте это следующим образом:

InputStream cert = context.getResources().openRawResource(R.raw.my_cert); 
// Place your 'my_cert.crt' file in `res/raw`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...