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

Reply via email to