Difference between revisions of "ICS Download"

From Overbyte
Jump to navigation Jump to search
(29 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
'''ICS versions available:'''
 
'''ICS versions available:'''
  
*'''ICS-V8''' for Delphi 7 / C++ Builder 2006 to Delphi XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo / C++ Builder XE3 with FireMonkey cross platform support for POSIX/MacOS, also IPv6 support (main development tree, 32 and 64-bit). Note that latest C++ Builder version supported is XE3 (lack of spare time, sorry).
+
*'''ICS-V8''' for Delphi 7 / C++ Builder 2006 to Delphi XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo / C++ Builder XE3 and 10.2 Tokyo with FireMonkey cross platform support for POSIX/MacOS, also IPv6 support (main development tree, 32 and 64-bit).  
 
*'''ICS-V7''' for Delphi 7 / C++ Builder 2006 to Delphi / C++ Builder XE3 (stable release, no new development, please upgrade to V8).  
 
*'''ICS-V7''' for Delphi 7 / C++ Builder 2006 to Delphi / C++ Builder XE3 (stable release, no new development, please upgrade to V8).  
 
*'''ICS-V6''' for Delphi 7 / C++ Builder 2006 to Delphi / C++ Builder 2007 (discontinued and obsolete, please upgrade to V7 if you do not have to support Windows versions < W2K).
 
*'''ICS-V6''' for Delphi 7 / C++ Builder 2006 to Delphi / C++ Builder 2007 (discontinued and obsolete, please upgrade to V7 if you do not have to support Windows versions < W2K).
Line 15: Line 15:
  
 
Provides download links to latest stable releases. This is a safe choice if you use ICS-V5, ICS-V6 or ICS-V7.
 
Provides download links to latest stable releases. This is a safe choice if you use ICS-V5, ICS-V6 or ICS-V7.
ICS-V8 however is still work in progress and only available here. Note that ICS-V7 and ICS-V8 are the only ICS versions supporting Delphi and C++ Builder 2009 and later, 32 and 64-bit.  
+
ICS-V8 however is still work in progress and the latest versions are available here. Note that ICS-V7 and ICS-V8 are the only ICS versions supporting Delphi and C++ Builder 2009 and later, 32 and 64-bit.
  
== Latest Stable Version ICS V8.44 - recommended ==
+
== Latest Stable Version ICS V8.53 - recommended ==
  
This is the latest recommended version, which has been tested and used for various published ICS application.  It is updated for new releases of RAD Studio and major changes. V8.44 is the version displayed by the main unit OverbyteIcsWSocket.  
+
This is the latest recommended version, which has been tested and used for various published ICS application.  It is updated for new releases of RAD Studio and major changes. V8.50 is the version displayed by the main unit OverbyteIcsWSocket. Note these versions include the latest version of the OpenSSL DLLs at the time of release. 
  
 
{| border="1" cellpadding="4" style="background:#eee;border:1px solid #ccc;text-align:left;border-collapse:collapse;"
 
{| border="1" cellpadding="4" style="background:#eee;border:1px solid #ccc;text-align:left;border-collapse:collapse;"
 
|-
 
|-
 
! Download !! Platforms
 
! Download !! Platforms
 +
|- style="background:#fff;"
 +
| [http://{{SERVERNAME}}/arch/icsv853.zip ICS-V8.53] || Delphi 7 to XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo, C++ Builder 2006 to XE3 and 10.2 Tokyo. Includes OpenSSL 1.1.0h.
 +
|- style="background:#fff;"
 +
| [http://{{SERVERNAME}}/arch/icsv850.zip ICS-V8.50] || Delphi 7 to XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo, C++ Builder 2006 to XE3. Includes OpenSSL 1.1.0f.
 +
|- style="background:#fff;"
 +
| [http://{{SERVERNAME}}/arch/icsv850-D102.zip ICS-V8.50] || Delphi 10.2 Tokyo only. Includes OpenSSL 1.1.0f.
 +
|- style="background:#fff;"
 +
| [http://{{SERVERNAME}}/arch/icsv850-D101.zip ICS-V8.50] || Delphi 10.1 Berlin only. Includes OpenSSL 1.1.0f.
 
|- style="background:#fff;"
 
|- style="background:#fff;"
 
| [http://{{SERVERNAME}}/arch/icsv844.zip ICS-V8.44] || Delphi 7 to XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo, C++ Builder 2006 to XE3. Includes OpenSSL 1.1.0e.  
 
| [http://{{SERVERNAME}}/arch/icsv844.zip ICS-V8.44] || Delphi 7 to XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo, C++ Builder 2006 to XE3. Includes OpenSSL 1.1.0e.  
Line 33: Line 41:
 
| [http://{{SERVERNAME}}/arch/icsv844-D10S.zip ICS-V8.44] || Delphi 10 Seattle only. Includes OpenSSL 1.1.0e.
 
| [http://{{SERVERNAME}}/arch/icsv844-D10S.zip ICS-V8.44] || Delphi 10 Seattle only. Includes OpenSSL 1.1.0e.
 
|- style="background:#fff;"
 
|- style="background:#fff;"
| [http://{{SERVERNAME}}/arch/icsv834.zip ICS-V8.34] || Delphi 7 to XE8, 10 Seattle and 10.1 berlin, C++ Builder 2006 to XE3. Includes OpenSSL 1.1.0b.  
+
| [http://{{SERVERNAME}}/arch/icsv834.zip ICS-V8.34] || Delphi 7 to XE8, 10 Seattle and 10.1 Berlin, C++ Builder 2006 to XE3. Includes OpenSSL 1.1.0b.  
 
|- style="background:#fff;"
 
|- style="background:#fff;"
 
| [http://{{SERVERNAME}}/arch/icsv834-D101.zip ICS-V8.34] || Delphi 10.1 Berlin only. Includes OpenSSL 1.1.0b.
 
| [http://{{SERVERNAME}}/arch/icsv834-D101.zip ICS-V8.34] || Delphi 10.1 Berlin only. Includes OpenSSL 1.1.0b.
Line 48: Line 56:
 
== Zipped Daily Snapshots ==
 
== Zipped Daily Snapshots ==
  
This is the easiest way to get the latest version. These packages are built from the version control repositories automatically when they change and are refreshed once a day. To use the latest OpenSSL version, download this snapshot.  
+
This is the easiest way to get the latest version. These packages are built from the version control repositories automatically when they change and are refreshed once a day. To use the latest OpenSSL version, download this snapshot. Note the snapshot includes the latest version of the OpenSSL DLLs. 
  
 
{| border="1" cellpadding="4" style="background:#eee;border:1px solid #ccc;text-align:left;border-collapse:collapse;"
 
{| border="1" cellpadding="4" style="background:#eee;border:1px solid #ccc;text-align:left;border-collapse:collapse;"
Line 92: Line 100:
 
== Download OpenSSL Binaries (required for SSL-enabled components) ==
 
== Download OpenSSL Binaries (required for SSL-enabled components) ==
  
Please note older versions of the ICS source code had an internal check to only allow loading of the latest OpenSSL it was tested with, so you could not use new DLLs with an old application without recompiling with the latest version of ICS first. But ICS V8.16 on 25th March 2015 relaxed this check so that minor versions with a letter suffix that don't add new features or break anything (in theory) are now supported.  This worked for about a year, but OpenSSL 1.0.2g and 1.0.1s, and later, no longer support SSLv2 which means old versions of ICS can no longer load them, so V8.24 dated 3rd March 2016 or later is now needed for these current and newer OpenSSL releases.  ICS V8.24 and later will currently support up to 1.0.2z, and V8.33 and later up to 1.1.0z.  Also note ICS V8 no longer supports 1.0.0 and earlier.   
+
Please note older versions of the ICS source code had an internal check to only allow loading of the latest OpenSSL it was tested with, so you could not use new DLLs with an old application without recompiling with the latest version of ICS first. But ICS V8.16 on 25th March 2015 relaxed this check so that minor versions with a letter suffix that don't add new features or break anything (in theory) are now supported.  This worked for about a year, but OpenSSL 1.0.2g and 1.0.1s, and later, no longer support SSLv2 which means old versions of ICS can no longer load them, so V8.24 dated 3rd March 2016 or later is now needed for these current and newer OpenSSL releases.  ICS V8.24 and later will currently support up to 1.0.2z, and V8.33 and later up to 1.1.0z.  Also note ICS V8 no longer supports 1.0.1 and earlier.   
  
 
OpenSSL removed support for the obsolete SSLv2 protocol in 2016 from 1.0.1s and 1.0.2g and ICS V8.35 finally removed SSLv2 support even with older OpenSSL releases.
 
OpenSSL removed support for the obsolete SSLv2 protocol in 2016 from 1.0.1s and 1.0.2g and ICS V8.35 finally removed SSLv2 support even with older OpenSSL releases.
Line 100: Line 108:
 
OpenSSL 1.1.0 is a major new version with new DLL file names and many different exports, and requires ICS V8.33 or later.  Generally, applications need not be changed, but there are several new SSL features in V8.33 that should be studied.   
 
OpenSSL 1.1.0 is a major new version with new DLL file names and many different exports, and requires ICS V8.33 or later.  Generally, applications need not be changed, but there are several new SSL features in V8.33 that should be studied.   
  
OpenSSL 1.1.1 will add support for TLS/1.3 and will be released once the protocol is finalised, it's currently at draft 20It will need a new version of ICS for support, but this is anticapted to be only minor changes.
+
OpenSSL 1.1.1 is currently beta testing with final release due shortly, and is not recommended for production machines.  It adds support for TLSv1.3 draft 28 and various new cryptographic private key and hash digest types.  Delphi applications require a version of ICS dated after the OpenSSL release (each needs to be tested for compatibility), usually the nightly zip which is currently V8.55.  TLSv1.3 should be shortly published as RFC8446. Beware OpenSSL 1.1.1 beta versions are draft specific and will not support the final RFC8446 TLSv1.3.   
 +
 
 +
Firefox version 61 now supports the latest TLSv1.3 draft 28 version by default, and successfully accesses the ICS web server. It is currently beta, from  https://www.mozilla.org/en-US/firefox/61.0beta/releasenotes/
  
The OpenSSL DLLs and EXE files included in the latest zips below are digitally code signed 'Open Source Developer, François PIETTE', the lead developer for ICS.  The [https://www.magsys.co.uk/delphi/magtrustchk.asp Magenta Systems Code Signing Trust and Certificate Check component] may be used to check the correctly signed DLLs are being used by ICS, with this functionality planned to be included in ICS itself.  
+
The OpenSSL DLLs and EXE files included in the latest zips below are digitally code signed 'Open Source Developer, François PIETTE', the lead developer for ICS.  ICS V8.38 and later check the DLLs are correctly signed when opening them.  
 
   
 
   
 
{| border="1" cellpadding="4" style="background:#eee;border:1px solid #ccc;text-align:left;border-collapse:collapse;"
 
{| border="1" cellpadding="4" style="background:#eee;border:1px solid #ccc;text-align:left;border-collapse:collapse;"
 
|-
 
|-
 
! Date !! Download !! Description !! Comments
 
! Date !! Download !! Description !! Comments
 +
|- style="background:#fff;"
 +
| 2018-06-20 || [http://{{SERVERNAME}}/arch/openssl-1.1.1-pre8-win32.zip OpenSSL Binaries Win-32 1.1.1-pre8 (beta) TLSv1.3 draft 28 requires ICS V8.55 or later] || Built with Visual Studio Build Tools 2017 || Test software not recommended for production machines. Use with 32-bit applications on Windows 64-bit. Digitally code signed.
 +
|- style="background:#fff;"
 +
| 2018-03-27 || [http://{{SERVERNAME}}/arch/openssl-1.1.0h-win64.zip OpenSSL Binaries Win-64 v1.1.0h requires ICS V8.32 or later] || Built with Visual Studio Build Tools 2017 || For 64-bit applications only (XE2+). Digitally code signed.
 +
|- style="background:#fff;"
 +
| 2018-03-27 || [http://{{SERVERNAME}}/arch/openssl-1.1.0h-win32.zip OpenSSL Binaries Win-32 v1.1.0h requires ICS V8.32 or later] || Built with Visual Studio Build Tools 2017 || Use with 32-bit applications on Windows 64-bit. Digitally code signed. 
 +
|- style="background:#fff;"
 +
| 2018-03-27 || [http://{{SERVERNAME}}/arch/openssl-1.0.2o-win64.zip OpenSSL Binaries Win-64 v1.0.2o, requires ICS V8.24 or later] || Built with Visual Studio Build Tools 2017 || Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
 +
|- style="background:#fff;"
 +
| 2018-03-27 || [http://{{SERVERNAME}}/arch/openssl-1.0.2o-win32.zip OpenSSL Binaries Win-32 v1.0.2o, requires ICS V8.24 or later] || Built with Visual Studio Build Tools 2017 || Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed. 
 +
|- style="background:#fff;"
 +
| 2017-11-03 || [http://{{SERVERNAME}}/arch/openssl-1.1.0g-win64.zip OpenSSL Binaries Win-64 v1.1.0g requires ICS V8.32 or later] || Built with Visual Studio Community 2015 || For 64-bit applications only (XE2+). Digitally code signed.
 +
|- style="background:#fff;"
 +
| 2017-11-03 || [http://{{SERVERNAME}}/arch/openssl-1.1.0g-win32.zip OpenSSL Binaries Win-32 v1.1.0g requires ICS V8.32 or later] || Built with Visual Studio Community 2015 || Use with 32-bit applications on Windows 64-bit. Digitally code signed. 
 +
|- style="background:#fff;"
 +
| 2017-12-07 || [http://{{SERVERNAME}}/arch/openssl-1.0.2n-win64.zip OpenSSL Binaries Win-64 v1.0.2n no SSLv2, requires ICS V8.24 or later] || Built with Visual Studio Community 2015 || Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
 +
|- style="background:#fff;"
 +
| 2017-12-07 || [http://{{SERVERNAME}}/arch/openssl-1.0.2n-win32.zip OpenSSL Binaries Win-32 v1.0.2n no SSLv2, requires ICS V8.24 or later] || Built with Visual Studio Community 2015 || Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed. 
 +
|- style="background:#fff;"
 +
| 2017-11-03 || [http://{{SERVERNAME}}/arch/openssl-1.0.2m-fips-win32.zip OpenSSL Binaries Win-32 v1.0.2m-fips no SSLv2, requires ICS V8.51 or later] || Built with Visual Studio Community 2015, requires Visual C++ Redistributable for Visual Studio 2015 installed || Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed.  This version may be used for testing OpenSSL FIPS 140-2  functionality, but the DLLs will not pass FIPS approval processes.
 +
|- style="background:#fff;"
 +
| 2017-11-03 || [http://{{SERVERNAME}}/arch/openssl-1.0.2m-win64.zip OpenSSL Binaries Win-64 v1.0.2m no SSLv2, requires ICS V8.24 or later] || Built with Visual Studio Community 2015 || Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
 +
|- style="background:#fff;"
 +
| 2017-11-03 || [http://{{SERVERNAME}}/arch/openssl-1.0.2m-win32.zip OpenSSL Binaries Win-32 v1.0.2m no SSLv2, requires ICS V8.24 or later] || Built with Visual Studio Community 2015 || Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed. 
 
|- style="background:#fff;"
 
|- style="background:#fff;"
 
| 2017-05-26 || [http://{{SERVERNAME}}/arch/openssl-1.1.0f-win64.zip OpenSSL Binaries Win-64 v1.1.0f requires ICS V8.32 or later] || Built with Visual Studio Community 2013 || For 64-bit applications only (XE2+). Digitally code signed.  
 
| 2017-05-26 || [http://{{SERVERNAME}}/arch/openssl-1.1.0f-win64.zip OpenSSL Binaries Win-64 v1.1.0f requires ICS V8.32 or later] || Built with Visual Studio Community 2013 || For 64-bit applications only (XE2+). Digitally code signed.  
Line 152: Line 186:
 
== Browser Demo Application using HtmlViewer ==
 
== Browser Demo Application using HtmlViewer ==
  
This is an example internet browser using the HtmlViewer component from: [http://code.google.com/p/thtmlviewer/ Google SVN (11.2)] or [https://github.com/BerndGabriel/HtmlViewer GitHub (11.5)].
+
This is an example internet browser using the HtmlViewer component from [https://github.com/BerndGabriel/HtmlViewer GitHub (11.8)].
 
 
The browser demo is in the V7 nightly zip, in the folder delphi\internet\browser,  the project is FrameBrowserIcs.dpr. An  executable version of the new demo may also be downloaded from here, as may HtmlViewer 11.2 used to test and build the demo.
 
  
 +
The browser demo is in the ICS nightly zip, in the folder samples\delphi\browserdemo, the project is FrameBrowserIcs.dpr. An  executable version of the new demo may also be downloaded from here, built with HtmlViewer 11.8 and ICS V8.53, using Delphi 2007.  Beware HtmlViewer 11.8 only appears to support up to Delphi 10 Seattle and would not build in 10.2 Tokyo.
 +
 
{| border="1" cellpadding="4" style="background:#eee;border:1px solid #ccc;text-align:left;border-collapse:collapse;"
 
{| border="1" cellpadding="4" style="background:#eee;border:1px solid #ccc;text-align:left;border-collapse:collapse;"
 
|-
 
|-
Line 161: Line 195:
 
|- style="background:#fff;"
 
|- style="background:#fff;"
 
| [http://{{SERVERNAME}}/arch/FrameBrowserIcs.zip Executable Browser Demo]  
 
| [http://{{SERVERNAME}}/arch/FrameBrowserIcs.zip Executable Browser Demo]  
|- style="background:#fff;"
 
| [http://{{SERVERNAME}}/arch/htmlviewer112.zip HtmlViewer component 11.2]
 
 
|}
 
|}
  
The HtmlViewer component must be downloaded and installed before the demo can be built.  The demo is based on FrameBrowserIndy project but with various enhancements, specifically display of all HTTP and some or all HTML traffic which makes it very useful for debugging the THttpCli component. The demo needs dated 1st April 2012 or later with the new cookies unit.  
+
The HtmlViewer component must be downloaded and installed before the demo can be built.  The demo is based on FrameBrowserIndy project but with various enhancements, specifically display of all HTTP and some or all HTML traffic which makes it very useful for debugging the THttpCli component.  
  
 
The project is a good basic browser for HTML4, but does not support any scripting, so some sites without backward compatibility may appear strange.
 
The project is a good basic browser for HTML4, but does not support any scripting, so some sites without backward compatibility may appear strange.

Revision as of 10:13, 26 June 2018

ICS is available as source code only. You need Delphi to build the sample programs and create your own application. You will also need OpenSSL libraries if using SSL-enabled components.

ICS versions available:

  • ICS-V8 for Delphi 7 / C++ Builder 2006 to Delphi XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo / C++ Builder XE3 and 10.2 Tokyo with FireMonkey cross platform support for POSIX/MacOS, also IPv6 support (main development tree, 32 and 64-bit).
  • ICS-V7 for Delphi 7 / C++ Builder 2006 to Delphi / C++ Builder XE3 (stable release, no new development, please upgrade to V8).
  • ICS-V6 for Delphi 7 / C++ Builder 2006 to Delphi / C++ Builder 2007 (discontinued and obsolete, please upgrade to V7 if you do not have to support Windows versions < W2K).
  • ICS-V5 for Delphi / BCB 1 to Delphi / C++ Builder 2007 and Delphi .NET (discontinued, important bug fixes may still be backported from ICS-V7). SSL option requires at least Delphi 7 or C++ Builder 2006.

There are four options to obtain the source code.

Overbyte Website

Download from Overbyte web site

Provides download links to latest stable releases. This is a safe choice if you use ICS-V5, ICS-V6 or ICS-V7. ICS-V8 however is still work in progress and the latest versions are available here. Note that ICS-V7 and ICS-V8 are the only ICS versions supporting Delphi and C++ Builder 2009 and later, 32 and 64-bit.

Latest Stable Version ICS V8.53 - recommended

This is the latest recommended version, which has been tested and used for various published ICS application. It is updated for new releases of RAD Studio and major changes. V8.50 is the version displayed by the main unit OverbyteIcsWSocket. Note these versions include the latest version of the OpenSSL DLLs at the time of release.

Download Platforms
ICS-V8.53 Delphi 7 to XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo, C++ Builder 2006 to XE3 and 10.2 Tokyo. Includes OpenSSL 1.1.0h.
ICS-V8.50 Delphi 7 to XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo, C++ Builder 2006 to XE3. Includes OpenSSL 1.1.0f.
ICS-V8.50 Delphi 10.2 Tokyo only. Includes OpenSSL 1.1.0f.
ICS-V8.50 Delphi 10.1 Berlin only. Includes OpenSSL 1.1.0f.
ICS-V8.44 Delphi 7 to XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo, C++ Builder 2006 to XE3. Includes OpenSSL 1.1.0e.
ICS-V8.44 Delphi 10.2 Tokyo only. Includes OpenSSL 1.1.0e.
ICS-V8.44 Delphi 10.1 Berlin only. Includes OpenSSL 1.1.0e.
ICS-V8.44 Delphi 10 Seattle only. Includes OpenSSL 1.1.0e.
ICS-V8.34 Delphi 7 to XE8, 10 Seattle and 10.1 Berlin, C++ Builder 2006 to XE3. Includes OpenSSL 1.1.0b.
ICS-V8.34 Delphi 10.1 Berlin only. Includes OpenSSL 1.1.0b.
ICS-V8.34 Delphi 10 Seattle only. Includes OpenSSL 1.1.0b.
ICS-V8.26 Delphi 7 to XE8, 10 Seattle and 10.1 berlin, C++ Builder 2006 to XE3. Earliest version to support OpenSSL 1.0.2g and later.
ICS-V8.23 Delphi 7 to XE8 and 10 Seattle, C++ Builder 2006 to XE3

From XE8 onwards, Delphi includes a new GetIt tool that offers a catalog of third party components, and allows them to be automatically downloaded and installed. The same stable ICS versions listed above should be available from GetIt. Beware GetIt install each new version in a new directory.

Zipped Daily Snapshots

This is the easiest way to get the latest version. These packages are built from the version control repositories automatically when they change and are refreshed once a day. To use the latest OpenSSL version, download this snapshot. Note the snapshot includes the latest version of the OpenSSL DLLs.

Download Changes log
ICS-V8 Snapshot View

Archives

Download Changes log
ICS-V7 Archive View
ICS-V6 Archive View
ICS-V5 Archive View

Version Control System

Using the version control repository is the best choice if you want to get live access to current development files. Overbyte uses a Subversion server and you need to use a Subversion client such as TortoiseSVN or your favorite browser. The URLs are as follows:

ICS Version SVN URL HTTP URL
ICS-V8 svn://svn.overbyte.be/ics/trunk http://svn.overbyte.be:8443/svn/ics/trunk
ICS-V7 svn://svn.overbyte.be/ics/tags/icsv7 http://svn.overbyte.be:8443/svn/ics/tags/icsv7
ICS-V6 svn://svn.overbyte.be/ics/tags/v6_obsolete http://svn.overbyte.be:8443/svn/ics/tags/v6_obsolete
ICS-V5 svn://svn.overbyte.be/icsv5 http://svn.overbyte.be:8443/svn/icsv5

Use username = ics and password = ics for read access. Write access is only available to TeamICS.

Download OpenSSL Binaries (required for SSL-enabled components)

Please note older versions of the ICS source code had an internal check to only allow loading of the latest OpenSSL it was tested with, so you could not use new DLLs with an old application without recompiling with the latest version of ICS first. But ICS V8.16 on 25th March 2015 relaxed this check so that minor versions with a letter suffix that don't add new features or break anything (in theory) are now supported. This worked for about a year, but OpenSSL 1.0.2g and 1.0.1s, and later, no longer support SSLv2 which means old versions of ICS can no longer load them, so V8.24 dated 3rd March 2016 or later is now needed for these current and newer OpenSSL releases. ICS V8.24 and later will currently support up to 1.0.2z, and V8.33 and later up to 1.1.0z. Also note ICS V8 no longer supports 1.0.1 and earlier.

OpenSSL removed support for the obsolete SSLv2 protocol in 2016 from 1.0.1s and 1.0.2g and ICS V8.35 finally removed SSLv2 support even with older OpenSSL releases.

OpenSSL 1.0.1 and later are only supported by ICS v8, v7 is no longer updated for new OpenSSL versions. The 64-bit DLLs are only for use with Delphi applications compiled for the 64-bit platform, the 32-bit DLLs work on both 32-bit and 64-bit Windows with 32-bit applications.

OpenSSL 1.1.0 is a major new version with new DLL file names and many different exports, and requires ICS V8.33 or later. Generally, applications need not be changed, but there are several new SSL features in V8.33 that should be studied.

OpenSSL 1.1.1 is currently beta testing with final release due shortly, and is not recommended for production machines. It adds support for TLSv1.3 draft 28 and various new cryptographic private key and hash digest types. Delphi applications require a version of ICS dated after the OpenSSL release (each needs to be tested for compatibility), usually the nightly zip which is currently V8.55. TLSv1.3 should be shortly published as RFC8446. Beware OpenSSL 1.1.1 beta versions are draft specific and will not support the final RFC8446 TLSv1.3.

Firefox version 61 now supports the latest TLSv1.3 draft 28 version by default, and successfully accesses the ICS web server. It is currently beta, from https://www.mozilla.org/en-US/firefox/61.0beta/releasenotes/

The OpenSSL DLLs and EXE files included in the latest zips below are digitally code signed 'Open Source Developer, François PIETTE', the lead developer for ICS. ICS V8.38 and later check the DLLs are correctly signed when opening them.

Date Download Description Comments
2018-06-20 OpenSSL Binaries Win-32 1.1.1-pre8 (beta) TLSv1.3 draft 28 requires ICS V8.55 or later Built with Visual Studio Build Tools 2017 Test software not recommended for production machines. Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2018-03-27 OpenSSL Binaries Win-64 v1.1.0h requires ICS V8.32 or later Built with Visual Studio Build Tools 2017 For 64-bit applications only (XE2+). Digitally code signed.
2018-03-27 OpenSSL Binaries Win-32 v1.1.0h requires ICS V8.32 or later Built with Visual Studio Build Tools 2017 Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2018-03-27 OpenSSL Binaries Win-64 v1.0.2o, requires ICS V8.24 or later Built with Visual Studio Build Tools 2017 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
2018-03-27 OpenSSL Binaries Win-32 v1.0.2o, requires ICS V8.24 or later Built with Visual Studio Build Tools 2017 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2017-11-03 OpenSSL Binaries Win-64 v1.1.0g requires ICS V8.32 or later Built with Visual Studio Community 2015 For 64-bit applications only (XE2+). Digitally code signed.
2017-11-03 OpenSSL Binaries Win-32 v1.1.0g requires ICS V8.32 or later Built with Visual Studio Community 2015 Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2017-12-07 OpenSSL Binaries Win-64 v1.0.2n no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2015 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
2017-12-07 OpenSSL Binaries Win-32 v1.0.2n no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2015 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2017-11-03 OpenSSL Binaries Win-32 v1.0.2m-fips no SSLv2, requires ICS V8.51 or later Built with Visual Studio Community 2015, requires Visual C++ Redistributable for Visual Studio 2015 installed Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed. This version may be used for testing OpenSSL FIPS 140-2 functionality, but the DLLs will not pass FIPS approval processes.
2017-11-03 OpenSSL Binaries Win-64 v1.0.2m no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2015 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
2017-11-03 OpenSSL Binaries Win-32 v1.0.2m no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2015 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2017-05-26 OpenSSL Binaries Win-64 v1.1.0f requires ICS V8.32 or later Built with Visual Studio Community 2013 For 64-bit applications only (XE2+). Digitally code signed.
2017-05-26 OpenSSL Binaries Win-32 v1.1.0f requires ICS V8.32 or later Built with Visual Studio Community 2013 Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2017-05-26 OpenSSL Binaries Win-64 v1.0.2l no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
2017-05-26 OpenSSL Binaries Win-32 v1.0.2l no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2017-02-17 OpenSSL Binaries Win-64 v1.1.0e requires ICS V8.32 or later Built with Visual Studio Community 2013 For 64-bit applications only (XE2+). Digitally code signed.
2017-02-17 OpenSSL Binaries Win-32 v1.1.0e requires ICS V8.32 or later Built with Visual Studio Community 2013 Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2017-01-26 OpenSSL Binaries Win-64 v1.0.2k no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
2017-01-26 OpenSSL Binaries Win-32 v1.0.2k no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2016-11-10 OpenSSL Binaries Win-64 v1.1.0c requires ICS V8.32 or later Built with Visual Studio Community 2013 For 64-bit applications only (XE2+). Digitally code signed.
2016-11-10 OpenSSL Binaries Win-32 v1.1.0c requires ICS V8.32 or later Built with Visual Studio Community 2013 Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2016-09-26 OpenSSL Binaries Win-64 v1.0.2j no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+). Digitally code signed.
2016-09-26 OpenSSL Binaries Win-32 v1.0.2j no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit. Digitally code signed.
2016-09-23 OpenSSL Binaries Win-64 v1.0.1u no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit applications only (XE2+).
2016-09-23 OpenSSL Binaries Win-32 v1.0.1u no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit
2016-05-04 OpenSSL Binaries Win-64 v1.0.2h no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit programs only (XE2+).
2016-05-04 OpenSSL Binaries Win-32 v1.0.2h no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit
2016-05-04 OpenSSL Binaries Win-64 v1.0.1t no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". For 64-bit programs only (XE2+).
2016-05-04 OpenSSL Binaries Win-32 v1.0.1t no SSLv2, requires ICS V8.24 or later Built with Visual Studio Community 2013 Built with default OpenSSL options, replaced "/MD" by "/MT". Use with 32-bit applications on Windows 64-bit

Download OpenSSL Binaries (alternative)

OpenSSL website also links to Win32OpenSSL website providing another build of Win32 DLL binaries. Note note that unlike the builds above builds on that site may have dependencies on Visual C++ 2008 Redistributables (to keep dll files smaller) so make sure you include all the required (and correct) redistributable files in your software installation. You probably don't have to care about that if you use binaries above at the cost of slightly larger DLLs. Also note that site does not keep archives of older versions so you may want to watch their page if you prefer their binaries.

Browser Demo Application using HtmlViewer

This is an example internet browser using the HtmlViewer component from GitHub (11.8).

The browser demo is in the ICS nightly zip, in the folder samples\delphi\browserdemo, the project is FrameBrowserIcs.dpr. An executable version of the new demo may also be downloaded from here, built with HtmlViewer 11.8 and ICS V8.53, using Delphi 2007. Beware HtmlViewer 11.8 only appears to support up to Delphi 10 Seattle and would not build in 10.2 Tokyo.

Download
Executable Browser Demo

The HtmlViewer component must be downloaded and installed before the demo can be built. The demo is based on FrameBrowserIndy project but with various enhancements, specifically display of all HTTP and some or all HTML traffic which makes it very useful for debugging the THttpCli component.

The project is a good basic browser for HTML4, but does not support any scripting, so some sites without backward compatibility may appear strange.