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
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to