avoid potential InvalidCastException when we already deal with bad/non-present extens...
authorSebastien Pouliot <sebastien@xamarin.com>
Thu, 14 Jul 2011 20:40:41 +0000 (16:40 -0400)
committerSebastien Pouliot <sebastien@xamarin.com>
Tue, 19 Jul 2011 14:34:57 +0000 (10:34 -0400)
mcs/class/System/System.Net/ServicePointManager.cs

index c3714cf98e910463bceee93f02394b1c14519bd3..867ce387297e4421aaca9fe2fa431b202a937b80 100644 (file)
@@ -638,8 +638,8 @@ namespace System.Net
                                        if (cert.Version < 3)
                                                return true;
 
-                                       X509KeyUsageExtension kux = (X509KeyUsageExtension) cert.Extensions ["2.5.29.15"];
-                                       X509EnhancedKeyUsageExtension eku = (X509EnhancedKeyUsageExtension) cert.Extensions ["2.5.29.37"];
+                                       X509KeyUsageExtension kux = (cert.Extensions ["2.5.29.15"] as X509KeyUsageExtension);
+                                       X509EnhancedKeyUsageExtension eku = (cert.Extensions ["2.5.29.37"] as X509EnhancedKeyUsageExtension);
                                        if (kux != null && eku != null) {
                                                // RFC3280 states that when both KeyUsageExtension and 
                                                // ExtendedKeyUsageExtension are present then BOTH should