Я пытаюсь установить файл .crt, который выглядит примерно так:
-----BEGIN CERTIFICATE-----
MIIDTzCCAjegAwIBAgIUbhD8XaZ8pUjRnXAidB+meQfX4gowDQYJKoZIhvcNAQEL
BQAwNzELMAkGA1UEBhMCVUsxEzARBgNVBAgMClNvbWUtU3RhdGUxEzARBgNVBAoM
CkJldEJsb2NrZXIwHhcNMTkwMzA1MDg1NDQ0WhcNNDkwMjI1MDg1NDQ0WjA3MQsw
CQYDVQQGEwJVSzETMBEGA1UECAwKU29tZS1TdGF0ZTETMBEGA1UECgwKQmV0Qmxv
Y2tlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJRI3/XLn7pZKSNr
sCHgSd+GUi1FP1xyEKO2kbf5uEWWYH/lCK9g9v5A9PB/hpEnfgUH95iScPMMbbyu
cvTyXczudSs4oPHRXHFJN9anFAuJht+tPm9Q7rI+fLMzorJpw/DfB88gANNuLuNo
RnnRHqbpbZv25xi30VEFcGI4ayoFeh3XYcb+y+mhrxnOi99lQRrAWqVpi0xrShgv
DTUyitei6M0w/TBBzTLyUDOB6+wmyC46+Gz4+j4kf3mEK+jlJEkB9Y2hdREC8g7P
gSu552NkQnRHSqY6PnwpRkQVXnNHskzcOwhO0JTEm/A3EKGkxOhBPE6o3NkfNQJu
B8DeRhUCAwEAAaNTMFEwHQYDVR0OBBYEFHRnP9l0JSA/lkpWCraRjU72m5eBMB8G
A1UdIwQYMBaAFHRnP9l0JSA/lkpWCraRjU72m5eBMA8GA1UdEwEB/wQFMAMBAf8w
DQYJKoZIhvcNAQELBQADggEBAFc2UYgHhVT+0lic4z/6+1CZ0/UBJ3UsrMR5rPIQ
IggCXj1gk2Mj/5Wv0GwmAhRt0+z6fcr9Vg0mH7GmsdvrrzALX++0Nkq16M7wOVUb
llzO9erUrriRVuxDxw8qa9OgSc56HaPzY03SNzqXM0zjeD1zh08W4RZZocT2vtsu
vEAszR7HXRmb3uoCNvBqwuIFv6fPiDxQG/7w8O4mSAjoSAXv3aEGO78eMcQbSrXZ
G0imQfZgZYxX341a288QQ69C2lf24rxi+J/aD2K+keda/mCOGQFE/GgAGHpYxYWe
1o8APgA46AtUnPx2koFs5k6EhRnCvO+tdLoTBYei3Qi4p6Q=
-----END CERTIFICATE-----
, но я не нашел правильного решения для моей ситуации.Прежде чем задавать этот вопрос, я видел много вопросов, что-то вроде этого решения решение
Также пробовал этот кусок кода, но я не хочу, чтобы пользователь был вовлечен в установку сертификата:
Intent intent = KeyChain.createInstallIntent();
InputStream inputStream = getResources().openRawResource(R.raw.root_sertificate);
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
X509Certificate cert = (X509Certificate)certFactory.generateCertificate(inputStream);
intent.putExtra(KeyChain.EXTRA_CERTIFICATE, cert.getEncoded());
intent.putExtra(KeyChain.EXTRA_NAME, "IAT Cert");
startActivityForResult(intent, 0);
Третье решение, которое я попробовал, состояло в следующем:
InputStream inputStream = getResources().openRawResource(R.raw.root_sertificate);
// generate certificate from cert string
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate cert = cf.generateCertificate(inputStream);
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null);//Make an empty store
trustStore.setCertificateEntry("test_alias", cert);
, но здесь я нигде не могу найти этот установленный сертификат.Я буду рад, если кто-то может направить меня к какому-то решению, если это возможно, конечно.