[Mono-bugs] [Bug 69805][Nor] Changed - SslClientStream - Server Certificate Validation

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sat, 27 Nov 2004 08:08:54 -0500 (EST)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by meddochat@zonnet.nl.

http://bugzilla.ximian.com/show_bug.cgi?id=69805

--- shadow/69805	2004-11-26 16:47:53.000000000 -0500
+++ shadow/69805.tmp.5731	2004-11-27 08:08:54.000000000 -0500
@@ -246,6 +246,60 @@
 This is possible if you have some "bad" files in your certificate
 store. A good way to be sure is to put a breakpoint in the
 validateCertificates method and step into the chain building process.
 
 If you don't have a debugger then remove the "try/catch" clause around
  line 228. The exception thrown should give us some clues.
+
+------- Additional Comments From meddochat@zonnet.nl  2004-11-27 08:08 -------
+after editing SslClientStream.NegotiateHandshake, i get the following 
+exception message:
+
+System.IO.IOException: The authentication or decryption has failed. --
+-> System.
+Security.Cryptography.CryptographicException: Specified key is not a 
+valid size
+for this algorithm.
+   at System.Security.Cryptography.AsymmetricAlgorithm.set_KeySize
+(Int32 value)
+   at System.Security.Cryptography.RSACryptoServiceProvider..ctor
+(Int32 dwKeySize, CspParameters parameters, Boolean useDefaultKeySize)
+   at Mono.Security.X509.X509Certificate.get_RSA() in 
+e:\mcs\class\Mono.Security\Mono.Security.X509\X509Certificate.cs:line 
+334
+   at 
+Mono.Security.Protocol.Tls.TlsServerSettings.UpdateCertificateRSA() 
+in 
+e:\mcs\class\Mono.Security\Mono.Security.Protocol.Tls\TlsServerSetting
+s.cs:line 119
+   at 
+Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.Updat
+e() in 
+e:\mcs\class\Mono.Security\Mono.Security.Protocol.Tls.Handshake.Client
+\TlsServerCertificate.cs:line 62
+   at 
+Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessag
+e(TlsStream handMsg) in 
+e:\mcs\class\Mono.Security\Mono.Security.Protocol.Tls\ClientRecordProt
+ocol.cs:line 100
+   at Mono.Security.Protocol.Tls.RecordProtocol.ReceiveRecord() in 
+e:\mcs\class\Mono.Security\Mono.Security.Protocol.Tls\RecordProtocol.c
+s:line 133
+   at Mono.Security.Protocol.Tls.SslClientStream.NegotiateHandshake() 
+in 
+e:\mcs\class\Mono.Security\Mono.Security.Protocol.Tls\SslClientStream.
+cs:line 706
+   --- End of inner exception stack trace ---
+   at Mono.Security.Protocol.Tls.SslClientStream.NegotiateHandshake() 
+in 
+e:\mcs\class\Mono.Security\Mono.Security.Protocol.Tls\SslClientStream.
+cs:line 754
+   at Mono.Security.Protocol.Tls.SslClientStream.BeginRead(Byte[] 
+buffer, Int32offset, Int32 count, AsyncCallback callback, Object 
+state) in 
+e:\mcs\class\Mono.Security\Mono.Security.Protocol.Tls\SslClientStream.
+cs:line 429
+   at Mono.Security.Protocol.Tls.SslClientStream.Read(Byte[] buffer, 
+Int32 offset, Int32 count) in 
+e:\mcs\class\Mono.Security\Mono.Security.Protocol.Tls\SslClientStream.
+cs:line 615
+   at Indy.Sockets.Tls.IOHandlerTls.SetPassThrough(Boolean AValue)