Установка сертификата пользователя через ADB

есть ли способ установить сертификат CA () под Security -> Trusted Credential -> User tab через ADB? или любым другим "сценарием".

2 ответов


Я придумал способ сделать это, таким образом, я смог доверять сертификату Charles proxy. он будет добавлен как доверенный корневой сертификат SSL.

сначала вам нужно получить хэш сертификата

openssl x509 -inform PEM -subject_hash_old -in charles-proxy-ssl-proxying-certificate.pem | head -1>toto

Я использую windows, храню его в var в вопросе автоматизации процесса set /p totoVar=<toto

set totoVar=%totoVar%.0 && DEL toto

cat charles-proxy-ssl-proxying-certificate.pem > %totoVar%

openssl x509 -inform PEM -text -in charles-proxy-ssl-proxying-certificate.pem -out nul >> %totoVar%

adb shell mount -o rw,remount,rw /system

adb push %totoVar% /system/etc/security/cacerts/

adb shell mount -o ro,remount,ro /system

adb reboot

благодаря этому ответу установите сертификат пользователя через ADB я смог адаптировать скрипт, который работает на оболочке bash:

openssl x509 -inform PEM -subject_hash_old -in charles-proxy-ssl-proxying-  certificate.pem | head -1
cert_name=$(!!).0
cat charles-proxy-ssl-proxying-certificate.pem > $cert_name
openssl x509 -inform PEM -text -in charles-proxy-ssl-proxying-certificate.pem-out nul >> $cert_name
adb shell mount -o rw,remount,rw /system
adb push $cert_name /system/etc/security/cacerts/
adb shell mount -o ro,remount,ro /system
adb reboot

(Да, я знаю, что это, вероятно, должен быть комментарий, но у меня недостаточно репутации, чтобы опубликовать его в качестве комментария)