Если по какой-то причине вы не можете установить сертификат на Android устройство через пользовательский интерфейс, это можно сделать через ADB.
Подробнее про ADB можно узнать тут.
Установка
Создайте файл со скриптом следующего содержания. Или
#!/bin/bash
# path to PEM or CRT file
IN="/path-to-cert/file.crt"
OUT="$(openssl x509 -inform PEM -subject_hash_old -in $IN | head -1).0"
cat $IN > $OUT
openssl x509 -inform PEM -text -in $IN -out /dev/null >> $OUT
# adb root
# adb shell mount -o rw,remount,rw /system
adb remount
adb push $OUT /system/etc/security/cacerts/
adb shell chmod 644 /system/etc/security/cacerts/$OUT
adb reboot
rm $OUT
В файле укажите свой путь до PEM или CRT сертификата. Если у вас сертификат CER, его необходимо предварительно конвертировать.
openssl x509 -inform DER -in ssl_certificate.cer -out ssl_certificate.crt
Возможно для записи сертификата на устройство понадобиться root, в таком случае раскомментируйте в скрипте соответствующую строку.
В зависимости от вашего устройства / системы, возможно вместо adb remount
придется указать одну из следующих команд, чтобы разрешить доступ к файловой системе и записать сертификат.
adb shell mount -o remount,rw /system
или
adb shell mount -o rw,remount,rw /system
или
adb shell mount -o rw,remount,rw /
Если нужно вернуть права на Read Only.
adb shell mount -o ro,remount,ro /system
Далее сделайте скрипт исполняемым.
chmod +x '/path-to-script/cert-install.sh'
Затем подключитесь к устройству по ADB и запустите скрипт.
cert-install.sh
При успешном завершении в консоль будет выведено сообщение примерно следующего содержания.
remount succeeded
4c3ca1db.0: 1 file pushed. 0.4 MB/s (6918 bytes in 0.018s)
Отсутствие ошибок в консоли будет свидетельствовать от том, что сертификат успешно установлен, затем устройство перезагрузится.
Ссылки
На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.
Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.