Haha, thanks Sebastien ;-) Jeff
On Tue, Aug 30, 2011 at 6:22 PM, Sebastien Pouliot <sebast...@xamarin.com>wrote: > I will hit "reply all", I will hit "reply all", I will hit "reply > all", I will hit "reply all", I will hit "reply all", I will hit > "reply all", I will hit "reply all", I will hit "reply all", I will > hit "reply all", I will hit "reply all", I will hit "reply all", I > will hit "reply all", I will hit "reply all", I will hit "reply all", > I will hit "reply all", I will hit "reply all", I will hit "reply > all", I will hit "reply all", I will hit "reply all", I will hit > "reply all", I will hit "reply all", I will hit "reply all", I will > hit "reply all", I will hit "reply all", I will hit "reply all", I > will hit "reply all", I will hit "reply all" eventually and, with a > bit of luck, the right email address ;-) > > ---------- Forwarded message ---------- > From: Sebastien Pouliot <sebast...@xamarin.com> > Date: Wed, Aug 24, 2011 at 2:52 PM > Subject: Re: [MonoTouch] Are there any known issues with WebClient and SSL? > To: Nic Wise <n...@fastchicken.co.nz> > > > Hello Nic, > > You're seeing this because recent monotouch release enabled the > "E:all" tracing (i.e. it's harmless and has always been there). This > "E:all" is useful for debugging but that also means _every_ exceptions > are being logged, even the ones that are "normal" (catched and > processed in the BCL). > > In this specific case MonoTouch inherits the code to check the > certificate stores (used on Linux, Windows and MacOSX...). However > shared (machine) stores do not (and cannot) exists in iOS so the check > fails and execution continue normally. I have some code to remove that > (and a bit more) code from executing. It needs a bit more testing but > once done it should all go away :-) > > Sebastien > > On Wed, Aug 24, 2011 at 2:14 PM, Nic Wise <n...@fastchicken.co.nz> wrote: > > I'm still working out whats going on, but i'm getting this in the > > debug log (in the simulator): > > > > (NOTE: the code works. It's just _messy_ in the output logs....) > > > > [0xb0981000:] EXCEPTION handling: > > System.Security.Cryptography.CryptographicException: Store Root > > doesn't exists. > > > > "Threadpool worker" tid=0x0xb0981000 this=0x0xb4555e8 thread handle > > 0x11d state : not waiting owns () > > at System.Security.Cryptography.X509Certificates.X509Store.Open > > (System.Security.Cryptography.X509Certificates.OpenFlags) [0x000ae] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Store.cs:224 > > at > System.Security.Cryptography.X509Certificates.X509Chain.get_LMRootStore > > () [0x00018] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:280 > > at System.Security.Cryptography.X509Certificates.X509Chain.get_Roots > > () [0x00011] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:251 > > at > System.Security.Cryptography.X509Certificates.X509Chain.get_CertificateCollection > > () [0x00021] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:336 > > at System.Security.Cryptography.X509Certificates.X509Chain.FindParent > > (System.Security.Cryptography.X509Certificates.X509Certificate2) > > [0x00000] in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:414 > > at > System.Security.Cryptography.X509Certificates.X509Chain.BuildChainFrom > > (System.Security.Cryptography.X509Certificates.X509Certificate2) > > [0x00011] in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:356 > > at System.Security.Cryptography.X509Certificates.X509Chain.Build > > (System.Security.Cryptography.X509Certificates.X509Certificate2) > > [0x00017] in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:113 > > at System.Net.ServicePointManager/ChainValidationHelper.ValidateChain > > (Mono.Security.X509.X509CertificateCollection) [0x0009d] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/ServicePointManager.cs:467 > > at > Mono.Security.Protocol.Tls.SslClientStream.OnRemoteCertificateValidation2 > > (Mono.Security.X509.X509CertificateCollection) [0x0000d] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs:423 > > at > Mono.Security.Protocol.Tls.SslStreamBase.RaiseRemoteCertificateValidation2 > > (Mono.Security.X509.X509CertificateCollection) [0x00000] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslStreamBase.cs:210 > > at > Mono.Security.Protocol.Tls.SslClientStream.RaiseServerCertificateValidation2 > > (Mono.Security.X509.X509CertificateCollection) [0x00000] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs:446 > > at > Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates > > (Mono.Security.X509.X509CertificateCollection) [0x0001f] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:198 > > at > Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 > > () [0x00054] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:105 > > at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () > > [0x00037] in > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls.Handshake/HandshakeMessage.cs:105 > > at > Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage > > (Mono.Security.Protocol.Tls.TlsStream) [0x00039] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:81 > > at > Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback > > (System.IAsyncResult) [0x00127] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/RecordProtocol.cs:397 > > at (wrapper runtime-invoke) > > <Module>.runtime_invoke_void__this___object > > (object,intptr,intptr,intptr) <IL 0x00052, 0xffffffff> > > [0xb0981000:] EXCEPTION handling: > > System.Security.Cryptography.CryptographicException: Store Root > > doesn't exists. > > > > ------------ AND ------------------- > > [0xb087f000:] EXCEPTION handling: System.ArgumentNullException: > > Argument cannot be null. > > Parameter name: type > > > > "Threadpool worker" tid=0x0xb087f000 this=0x0xb455738 thread handle > > 0x11a state : not waiting owns () > > at System.Activator.CheckType (System.Type) [0x00006] in > > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Activator.cs:339 > > at System.Activator.CreateInstance > > > (System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[]) > > [0x00000] in > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Activator.cs:246 > > at System.Activator.CreateInstance (System.Type,object[],object[]) > > [0x00000] in > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Activator.cs:234 > > at System.Activator.CreateInstance (System.Type,object[]) [0x00000] > > in > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Activator.cs:229 > > at System.Security.Cryptography.CryptoConfig.CreateFromName > > (string,object[]) [0x00061] in > > > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Security.Cryptography/CryptoConfig.cs:493 > > at > System.Security.Cryptography.X509Certificates.X509ExtensionCollection..ctor > > (Mono.Security.X509.X509Certificate) [0x000ac] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509ExtensionCollection.cs:89 > > at > System.Security.Cryptography.X509Certificates.X509Certificate2.get_Extensions > > () [0x00021] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Certificate2.cs:151 > > at > System.Security.Cryptography.X509Certificates.X509Chain.ProcessCertificateExtensions > > (System.Security.Cryptography.X509Certificates.X509ChainElement) > > [0x00000] in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:678 > > at System.Security.Cryptography.X509Certificates.X509Chain.WrapUp () > > [0x00020] in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:666 > > at System.Security.Cryptography.X509Certificates.X509Chain.ValidateChain > > (System.Security.Cryptography.X509Certificates.X509ChainStatusFlags) > > [0x000a1] in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:511 > > at System.Security.Cryptography.X509Certificates.X509Chain.Build > > (System.Security.Cryptography.X509Certificates.X509Certificate2) > > [0x0001f] in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs:114 > > at System.Net.ServicePointManager/ChainValidationHelper.ValidateChain > > (Mono.Security.X509.X509CertificateCollection) [0x0009d] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/ServicePointManager.cs:467 > > at > Mono.Security.Protocol.Tls.SslClientStream.OnRemoteCertificateValidation2 > > (Mono.Security.X509.X509CertificateCollection) [0x0000d] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs:423 > > at > Mono.Security.Protocol.Tls.SslStreamBase.RaiseRemoteCertificateValidation2 > > (Mono.Security.X509.X509CertificateCollection) [0x00000] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslStreamBase.cs:210 > > at > Mono.Security.Protocol.Tls.SslClientStream.RaiseServerCertificateValidation2 > > (Mono.Security.X509.X509CertificateCollection) [0x00000] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/SslClientStream.cs:446 > > at > Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates > > (Mono.Security.X509.X509CertificateCollection) [0x0001f] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:198 > > at > Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 > > () [0x00054] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls.Handshake.Client/TlsServerCertificate.cs:105 > > at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () > > [0x00037] in > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls.Handshake/HandshakeMessage.cs:105 > > at > Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage > > (Mono.Security.Protocol.Tls.TlsStream) [0x00039] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/ClientRecordProtocol.cs:81 > > at > Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback > > (System.IAsyncResult) [0x00127] in > > > /Developer/MonoTouch/Source/mono/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/RecordProtocol.cs:397 > > at (wrapper runtime-invoke) > > <Module>.runtime_invoke_void__this___object > > (object,intptr,intptr,intptr) <IL 0x00052, 0xffffffff> > > [0xb087f000:] EXCEPTION handling: System.FormatException: Invalid format > string > > > > "Threadpool worker" tid=0x0xb087f000 this=0x0xb455738 thread handle > > 0x11a state : not waiting owns () > > at System.DateTime.ParseExact > > > (string,string[],System.IFormatProvider,System.Globalization.DateTimeStyles) > > [0x0005c] in > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/DateTime.cs:1761 > > at System.DateTime.ParseExact > > > (string,string,System.IFormatProvider,System.Globalization.DateTimeStyles) > > [0x0001c] in > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/DateTime.cs:1741 > > at System.DateTime.ParseExact (string,string,System.IFormatProvider) > > [0x00000] in > /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/DateTime.cs:927 > > at System.Net.CookieParser.TryParseCookieExpires (string) [0x00018] > > in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/CookieParser.cs:133 > > at System.Net.HttpWebResponse.SetCookie (string) [0x00217] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/HttpWebResponse.cs:394 > > at System.Net.HttpWebResponse.FillCookies () [0x00030] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/HttpWebResponse.cs:338 > > at System.Net.HttpWebResponse..ctor > > > (System.Uri,string,System.Net.WebConnectionData,System.Net.CookieContainer) > > [0x000af] in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/HttpWebResponse.cs:89 > > at (wrapper remoting-invoke-with-check) > > System.Net.HttpWebResponse..ctor > > > (System.Uri,string,System.Net.WebConnectionData,System.Net.CookieContainer) > > <IL 0x00024, 0xffffffff> > > at System.Net.HttpWebRequest.SetResponseData > > (System.Net.WebConnectionData) [0x00039] in > > > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/HttpWebRequest.cs:1266 > > at (wrapper remoting-invoke-with-check) > > System.Net.HttpWebRequest.SetResponseData > > (System.Net.WebConnectionData) <IL 0x00039, 0xffffffff> > > at System.Net.WebConnection.ReadDone (System.IAsyncResult) [0x0025d] > > in > /Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/WebConnection.cs:509 > > at (wrapper runtime-invoke) > > <Module>.runtime_invoke_void__this___object > > (object,intptr,intptr,intptr) <IL 0x00052, 0xffffffff> > > > > > > > > > > > > the psudeocode is: > > > > new up a WebClient > > set credentials and 2 headers > > accept any cert: > > ServicePointManager.ServerCertificateValidationCallback = (sender, > > cert, chain, ssl) => true; > > > > then > > > > webrequest.downloadstring("https://url") > > > > > > NOW: despite all that crap thrown out into the logs, it works. Code is > > fine, function is fine, it just throws out a load of stack dumps.... > > > > Jeff? > > > > Cheers > > > > Nic > > > > -- > > Nic Wise > > t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise > > b. http://www.fastchicken.co.nz/ > > > > mobileAgent (for FreeAgent): get your accounts in your pocket. > > http://goo.gl/IuBU > > Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa > > London Bike App: Find the nearest Boris Bike, and get riding! > http://goo.gl/Icp2 > > _______________________________________________ > > MonoTouch mailing list > > MonoTouch@lists.ximian.com > > http://lists.ximian.com/mailman/listinfo/monotouch > > > _______________________________________________ > MonoTouch mailing list > MonoTouch@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/monotouch >
_______________________________________________ MonoTouch mailing list MonoTouch@lists.ximian.com http://lists.ximian.com/mailman/listinfo/monotouch