CA証明書をインストールする方法はありますか(.crt
ファイル)Security -> Trusted Credential -> User tab
ADB経由?またはその他の「スクリプト可能な」方法。
私はこれを行う方法を考え出したので、チャールズのプロキシ証明書を信頼することができました。信頼できるSSLルート証明書として追加されます。
まず、証明書のハッシュを取得する必要があります
openssl x509 -inform PEM -subject_hash_old -in charles-proxy-ssl-proxying-certificate.pem | head -1>toto
私はウィンドウを使用して、プロセス内の自動化するために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シェルで動作するスクリプトを適合させることができました:
#!/bin/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
(はい、これはおそらくコメントであるはずですが、まだコメントとして投稿するほどの評判はありません)
次の手順でTrusted Credential -> User
タブ(システムタブではなく、他の回答が表示されます)の下にserver certを表示できました。
#!/bin/bash
subjectHash=`openssl x509 -inform PEM -subject_hash_old -in server.crt | head -n 1`
openssl x509 -in server.crt -inform PEM -outform DER -out $subjectHash.0
adb root
adb Push ./$subjectHash.0 /data/misc/user/0/cacerts-added/$subjectHash.0
adb Shell "su 0 chmod 644 /data/misc/user/0/cacerts-added/$subjectHash.0"
adb reboot