Internet ToolKit for 4D

Internet ToolKit for 4D



Please read What's New in ITK v2.6.x

OpenSSL DLL under Windows (ITK v2.6.1 or above)

ITK v2.6.1 is the first version of ITK to use OpenSSL thru DLLs.

These DLLs are provided with the Windows version of ITK and can be kept in the Win4DX folder or installed in the WINDOWS/system32 folder.

Copies of the DDL documents, entitled "LIBEAY32.DLL" and "SSLEAY32.DLL" are included in the ITK download archive. Merely keeping these with the ITK plugin document in the Win4DX folder will suffice for full SSL functionality within ITK.

As more and more bugs and vulnerabilities are fixed in OpenSSL, ITK can benefit from new versions of OpenSSL by using external DLLs without needing to update the plugin itself. You just need to update the DLLs to have bugs and vulnerabilities fixed in the SSL code of ITK.

A Windows installer for the DLLs is available here:

http://www.slproweb.com/products/Win32OpenSSL.html

This installer puts the DLLs directly in the WINDOWS/system32 folder.

The current version of OpenSSL is 0.9.7e, last updated on October 25th 2004.

The Light binary package of ITK does not require the DLL as it does not provide any cryptography and SSL support.

License numbers

ITK v2.5 and above uses new license numbers.

This version requires ITK v2.5 license numbers and doesn't accept ITK v2 or ITK v1 license numbers. To get your ITK v2.5 license number, please contact one of the ITK distributors.

ITK "Light Binary Package" limitations

The "Light" binary package file can be used with both ITK Pro (with no stream limitation) and ITK Light license numbers (with the 8 streams limit). The "light binary package" is only provided to save disk space by removing cryptography and SSL code.

The Windows version of the Light binary does not required the OpenSSL DLLs in order to be used.

No more 68K code version

ITK v2.6 does not contain 68K code anymore. If you still need to use ITK on a 68K Macintosh, please contact ITK's Technical support (support@internet-toolkit.com).

SSL in ITK v2.5 and above:

1) Minimal code modification required

See the What's New info for more details.

If you're acting as a server, you must call ITK_SSLSetCert to specify the certificate and private key (see below).

2) Certificates are mandatory when acting as an "SSL server"

You MUST have a certificate in order to act as an SSL "server". You don't need to have a certificate to act as an "SSL client".

More details on certificates.

Some more details...

ITK's SSL implementation comes from the OpenSSL library used also by Apache and 4D 6.7 and above. ITK's SSL implementation support 40 and 128bits encryption levels (as well as 168 bits, using TripleDES).

ITK's SSL implementation is only supported under Windows and PowerPC, there is no plan to support a 68K version.


Version History:

2.6.1 - 23/Nov/2004

Changes

  • OpenSSL libraries updated to OpenSSL v0.9.7e
  • Windows OpenSSL integration changed to DLLs from directly within plugin

2.6.1 Beta 4 Release - 6/May/2004

Bug fixed

  • Vulnerability fix in the openssl library

2.6.1 Beta 3 Release - 22/Jan/2004

Bug fixed

  • Some memory problems have been fixed by changing the 'SetHandleSize' code.
  • ITK_TCPRcv got some fixes in the OpenTransport code (MacOS 9/X)
  • ITK_TCPRcv under Windows was returning SSL data in small chunks (each SSL encrypted data packet was read one by one). Now it tries to read as many data as available.
  • ITK_Text2xxx & ITK_xxx2Text routines now check that the 32000 chars boundary is not broken. If the resulting string is longer than 32000 chars, it is now cut to 32000 chars.

2.6.1 Beta 2 Release - 10/Apr/2003

Bug fixed

  • ITK_BlobSearch/Replace could crash when blobs were not allocated
  • ITK_TCPRcv under MacOS could return invalid data when the status of the stream had reached 14 due to bad value returned by ITK_TCPChRcvd
  • ITK_Addr2Name under MacOS X was not returning dotted IP names anymore (like 194.2.244.1) if no name could be retrieved
  • ITK_Encrypt/ITK_Decrypt routines could crash when the InitialValue parameter was not initialized

Other

  • ITKccert.pem can now store client certificate that will be used by ITK_TCPOpen

2.6.1 Beta 1 Release - 30/Dec/2002

Bug fixed

  • ITK_SSLSetCert: better support of chained certificates.
  • ITK_TCPStrmInfo now handles UDP sockets correctly (could crash under MacOS)
  • ITK_TCPInfos under MacOS X was not returning valid TCP layers version infos.
  • ITK_Addr2Name under MacOS X was not returning dotted IP names anymore (like 194.2.244.1)
  • ITK_TCPClose on SSL streams was shutting down the SSL layers, now this is done in ITK_TCPRelease.
  • ITK_Status2A was not handling invalid streamRef correctly, now status -1 is returned for invalid streams and not considered as an error.
  • ITK_BlobGzip now uses a slightly large compression buffer (500 bytes more). 
 

Last update: 22-Nov-2004 by CQ