I’ve recently updated my Xamarin.Android applications to target Android 13. While testing applications on an Android 13 emulator, I noticed that some network calls kept failing with an exception message of “Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED”. This also included calls made to a test server with ngrok which I use extensively.
After troubleshooting and searching, I found this issue on GitHub: https://github.com/xamarin/xamarin-android/issues/6351. To save anyone time, the workarounds for a production server are available at this comment on GitHub. The comment also provides a detailed explanation of what is happening, so I won’t repeat that here.
If you are only having issues in your development environment such as I was, the easiest solution is to disable the expired IdenTrust DST Root CA X3 certificate from Android’s trust store (“Digital Signature Trust Co. – DST Root CA X3” in the settings). The .gif below shows you how to do that using the Android emulator.
If you stumbled upon this post after experiencing the issue, I hope I managed to save you some time figuring this out.