static bool is_macosx = System.IO.File.Exists (MSX.OSX509Certificates.SecurityLibrary);
static X509RevocationMode revocation_mode;
+#if MONODROID
+ static readonly Converter<Mono.Security.X509.X509CertificateCollection, bool> monodroidCallback;
+#endif
+
static ChainValidationHelper ()
{
+#if MONODROID
+ monodroidCallback = (Converter<Mono.Security.X509.X509CertificateCollection, bool>)
+ Delegate.CreateDelegate (typeof(Converter<Mono.Security.X509.X509CertificateCollection, bool>),
+ Type.GetType ("Android.Runtime.AndroidEnvironment, Mono.Android", true)
+ .GetMethod ("TrustEvaluateSsl",
+ System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic));
+#endif
revocation_mode = X509RevocationMode.NoCheck;
try {
string str = Environment.GetEnvironmentVariable ("MONO_X509_REVOCATION_MODE");
}
#endif
+#if MONODROID
+ result = monodroidCallback (certs);
+ if (result) {
+ status11 = 0;
+ errors = 0;
+ }
+#endif
+
if (policy != null && (!(policy is DefaultCertificatePolicy) || cb == null)) {
ServicePoint sp = null;
HttpWebRequest req = sender as HttpWebRequest;