|
by Paul de Grijp [pauldegrijp at hotmail dot com] posted on 2003/09/17 |
|
Hello,
Does anyone know how to implement the security library under windows 98. Because it doesn't work. I use Internet Explorer 5.01
Regards,
Paul de Grijp |
by Pieter Philippaerts [Pieter at mentalis dot org] posted on 2003/09/18 |
|
The problem you were seeing was due to a bug in Microsoft's RSACryptoServiceProvider class. We've included a workaround in the most recent version of the Security Library, so it should work now. |
by Meriamon [meriamon at gmx dot net] posted on 2003/09/19 |
|
I have Windows ME, and it still doesn't work. There's still the "byte array too large" exception.
|
by Pieter Philippaerts [Pieter at mentalis dot org] posted on 2003/09/19 |
|
Meriamon, have you upgraded to the latest version [v1.0.13.680]? If you have, could you be more specific about the error? [stack trace, etc.] |
by Meriamon posted on 2003/09/20 |
|
Yes, I have the latest version.
The exception stack:
Org.Mentalis.Security.SecurityException: An error occurs while communicating with the remote host. ---> System.Security.Cryptography.CryptographicException: Byte array is too large. The maximum size byte array that can be encrypted by this public key implementation is 16 bytes.
at System.Security.Cryptography.RSACryptoServiceProvider.Encrypt(Byte[] rgb, Boolean fOAEP)
at Org.Mentalis.Security.Ssl.Shared.RSAKeyTransform.CreateKeyExchange(Byte[] data)
at Org.Mentalis.Security.Ssl.Shared.ClientHandshakeLayer.ProcessServerHelloDone(HandshakeMessage message)
at Org.Mentalis.Security.Ssl.Shared.ClientHandshakeLayer.ProcessMessage(HandshakeMessage message)
at Org.Mentalis.Security.Ssl.Shared.HandshakeLayer.ProcessMessages(RecordMessage message)
at Org.Mentalis.Security.Ssl.Shared.RecordLayer.ProcessBytes(Byte[] buffer, Int32 offset, Int32 size)
at Org.Mentalis.Security.Ssl.Shared.CompatibilityLayer.ProcessServerHello(Byte[] bytes, Int32 offset, Int32 size)
at Org.Mentalis.Security.Ssl.Shared.CompatibilityLayer.ProcessHello(Byte[] bytes, Int32 offset, Int32 size)
at Org.Mentalis.Security.Ssl.Shared.SocketController.OnReceive(IAsyncResult ar)
--- End of inner exception stack trace ---
at Org.Mentalis.Security.Ssl.SecureSocket.EndSend(IAsyncResult asyncResult)
at Org.Mentalis.Security.Ssl.SecureSocket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at Org.Mentalis.Security.Ssl.SecureSocket.Send(Byte[] buffer)
at SmtpClient.Send(String data)
at SmtpClient.Start()
It seems that it still tries to use the standard RSACryptoServiceProvider.
I had a look at the RSAKeyTransform class, maybe there's a problem with m_KeyProp that sets m_NeedsHack back to false?
|
by Pieter Philippaerts [Pieter at mentalis dot org] posted on 2003/09/20 |
|
Thanks Meriamon, it was indeed a problem with m_KeyProp and CLR 1.1. It worked fine under 1.0.
Anyhow, I've uploaded a new version [v1.0.13.681] of the library that works on both CLR 1.0 and 1.1. |
by Meriamon posted on 2003/09/21 |
|
It works fine now, thanks!! |
by Jon [jljackson222 at hotmail dot com] posted on 2003/12/20 |
|
I am having the same problem. What is the work around or solution? |
by Pieter Philippaerts [Pieter at mentalis dot org] posted on 2003/12/20 |
|
Download the latest version of the Security Library [http://www.mentalis.org/soft/projects/seclib/] and look for the RSAKeyTransform class. |
by Jon Jackson [jjacksn at mit dot edu] posted on 2004/04/11 |
|
Hi, I need the transform fix as well. I downloaded the solution but I can't seem to find it, where in the project is it? |
by jon [jjacksn at mit dot edu] posted on 2004/04/11 |
|
ignore me. |