mirror of
https://github.com/awatertrevi/xamarin-neo4j.git
synced 2026-09-22 09:05:29 +00:00
Fix crash on Add Connection: use JavaCast for Android trust manager lookup
OfType<IX509TrustManager>() returns empty on Android because CLR type checking does not work against Java proxy objects. JavaCast<> is the correct API for casting Java-backed objects in MAUI Android bindings. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Security;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using Android.Runtime;
|
||||
using Java.Security;
|
||||
using Java.Security.Cert;
|
||||
using Javax.Net.Ssl;
|
||||
@@ -25,8 +26,9 @@ namespace Xamarin.Neo4j
|
||||
var factory = TrustManagerFactory.GetInstance(TrustManagerFactory.DefaultAlgorithm);
|
||||
factory.Init((KeyStore)null);
|
||||
_androidTrustManager = factory.GetTrustManagers()
|
||||
.OfType<IX509TrustManager>()
|
||||
.First();
|
||||
.OfType<Java.Lang.Object>()
|
||||
.Select(m => m.JavaCast<IX509TrustManager>())
|
||||
.First(m => m != null);
|
||||
}
|
||||
|
||||
public override bool ValidateServerCertificate(Uri uri, X509Certificate2 certificate, X509Chain chain,
|
||||
|
||||
Reference in New Issue
Block a user