# #android #firebase
#Android #огневая база
Вопрос:
Мое приложение отлично работает на реальном устройстве, где при запуске в эмуляторе происходит сбой. ниже приведен журнал.
E/FirebaseInstanceId: Failed to get FIS auth token java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: Unacceptable certificate: EMAILADDRESS=certadmin@netskope.com, CN=caadmin.netskope.com, O=netSkope Inc, L=London, ST=London, C=GB at com.google.android.gms.tasks.Tasks.zzb(Unknown Source:61) at com.google.android.gms.tasks.Tasks.await(Unknown Source:23) at com.google.firebase.iid.GmsRpc.setDefaultAttributesToBundle(com.google.firebase:firebase-iid@@20.2.3:55) at com.google.firebase.iid.GmsRpc.startRpc(com.google.firebase:firebase-iid@@20.2.3:37) at com.google.firebase.iid.GmsRpc.getToken(com.google.firebase:firebase-iid@@20.2.3:13) at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$2$FirebaseInstanceId(com.google.firebase:firebase-iid@@20.2.3:164) at com.google.firebase.iid.FirebaseInstanceId$Lambda$4.start(Unknown Source:8) at com.google.firebase.iid.RequestDeduplicator.getOrStartGetTokenRequest(com.google.firebase:firebase-iid@@20.2.3:14) at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$3$FirebaseInstanceId(com.google.firebase:firebase-iid@@20.2.3:163) at com.google.firebase.iid.FirebaseInstanceId$Lambda$1.then(Unknown Source:6) at com.google.android.gms.tasks.zzf.run(Unknown Source:2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run(Unknown Source:6) at java.lang.Thread.run(Thread.java:919) Caused by: javax.net.ssl.SSLHandshakeException: Unacceptable certificate: EMAILADDRESS=certadmin@netskope.com, CN=caadmin.netskope.com, O=netSkope Inc, L=London, ST=London, C=GB at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:231)
Ответ №1:
Каждое приложение должно явно добавлять пользовательские сертификаты:
res/xml/network_security_config.xml
lt;network-security-configgt; lt;base-configgt; lt;trust-anchorsgt; lt;certificates src="system"/gt; lt;certificates src="user"/gt; lt;/trust-anchorsgt; lt;/base-configgt; lt;/network-security-configgt;
Также убедитесь, что AndroidManifest.xml содержит атрибут android:networkSecurityConfig в теге:
lt;?xml version="1.0" encoding="utf-8"?gt; lt;manifest ... gt; lt;application android:networkSecurityConfig="@xml/network_security_config" ... gt; ... lt;/applicationgt; lt;/manifestgt;