Jump to content

Angus Robertson

  • Content Count

  • Joined

  • Last visited

  • Days Won


Angus Robertson last won the day on January 21

Angus Robertson had the most liked content!

Community Reputation

97 Excellent

About Angus Robertson

  • Birthday December 16

Technical Information

  • Delphi-Version
    Delphi 10.3 Rio

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Angus Robertson

    SFTP and SSLFTP Are they the same?

    No ICS does not support SSH. Angus
  2. Angus Robertson

    Need some help on TSslFtpClient

    Depending on your version of Delphi and project options, you may need to copy libcrypto-1_1.dll and libssl-1_1.dll from the samples directory into whatever directory the DCUs and EXE end up in, perhaps win32\debug or win32\release. All ICS SSL applications need access to libcrypto-1_1.dll and libssl-1_1.dll which are the latest versions of OpenSSL. In theory, these can be loaded from a directory in the common path or windows directory, but because there are so many different applications using OpenSSL, you can get lots of old DLL versions on your PC, often not compatible with each other. So generally it is safest to distribute the OpenSSL DLLs in the same directory as your application, so you have a reliable known version. By default, ICS applications will try and load from the local directory first before looking elsewhere, in your case it probably found an old OpenSSL DLL elsewhere on your PC, but was missing the other. You can force ICS to load the DLLs from a specific directory, to avoid such issues. Angus
  3. Angus Robertson

    SVN server updated

    The server now uses all three protocols, svn, http and https. The old server did not have https or rather we never set it up. I agree the svn protocol on port 3690 is very old, but we always supported it and many people will have scripts expecting to use svn (like me) rather than http, so it's still running. Angus
  4. Angus Robertson

    SVN server updated

    Now trying to get the zips updated automatically, seems someone has been messing with SVN commands in the past 12 years, which is why I never updated anything! Angus
  5. Angus Robertson

    SVN server updated

    Apologies if anyone has been having trouble accessing the ICS SVN over the last week, I've retired the 12 year old VM it was running on and now installed SVN on a new hosted Windows Server 2019, not trivial since I'd forgotten how we set it up all those years ago and I've avoided messing with it so as not to break it. But SVN is now running on a modern version of Apache supporting SSL and running on ports 80, 443 and 8443 (the old one), so you can access http://svn.overbyte.be/svn/ or https://svn.overbyte.be/svn/ as well as the old URL, or svn://svn.overbyte.be/ which is unchanged. That last server took a long time to set-up because I thought it was part of Apache but turns out to be a little SvnServe program that had been running for 12 years without me noticing. SVN is now also available on IPv6, but that is transparent and handled by DNS. I believe the Apache SSL configuration is correct, but it also serves svn.magsys.co.uk with a separate certificate and sometimes gets confused about which to send. Please shout if SVN does not behave as expected. Angus
  6. Angus Robertson

    filename for download file THttpServer

    ICS has a TMimeTypesList component that will read MIME types from the Windows registry, a supplied file mime.types or an internal list, application/vnd.ms-excel is common. This component is used by TSslHttpServer for files it opens. Angus
  7. Angus Robertson

    Need some help on TSslFtpClient

    You should build the sample OverbyteIcsXferTst.dpr which is a a full SSL FTP client GUI, and uses TIcsFtpMulti which is much easier and quicker to use than TSslFtpclient. Angus
  8. Angus Robertson

    filename for download file THttpServer

    Beware ContentType: xls/xls is not commonly supported by browsers, but if it works... Angus
  9. Angus Robertson

    Only default ICS sample SSL certificate is working

    Sorry, seems the CreateSelfSignedCert function in OverbyteIcsSslX509Utils.pas got broken while being modernised, you need to add a missing line: MySslCertTools.ExpireDays := Days; { V8.64 got lost } and it will work properly again. Sorry, did not test that old function properly. The modern way to create a self signed certificate is using fields and buttons on the New Certificate Properties and Create Certificates tabs. First click 'Generate Key Pair', complete the various New Certificate Request Properties, previous tab, click 'Create Self Signed Cert from Properties', then at the bottom of the tab specify the file names for the formats you want to save, tick if you want the private key in the same file, then click the buttons to save in PEM, PKCS12, DER, etc. Finally on the List Certificate tab, click View Single File to double check the certificate is created properly. Those three tabs perform most of the common certificate functions of the OpenSSL command line tool. Angus
  10. Angus Robertson

    Only default ICS sample SSL certificate is working

    By old files, I meant long expired SSL certificates and job files that are no longer needed since ICS samples can now do everything they did. People try to use them and wonder why they don't work. Angus
  11. Angus Robertson

    filename for download file THttpServer

    Generally, the 'filename' is that of the page accessed with the GET request and is not returned in the response header. Again generally you should use the FilenameToContentType function to get the content type, which will return 'application/octet-stream' for an XLS file, which will cause the browser to bring up a dialogue box asking what to do with the file. If you want to display the file, there are Microsoft special headers to do so. Keep it simple until it works. Angus
  12. Angus Robertson

    Only default ICS sample SSL certificate is working

    Created PEM files how, which applications or which functions with what parameters. Generally public certificates can no longer be issued with an expiry beyond one year and certain ICS tools do limit that. Angus
  13. Angus Robertson

    Only default ICS sample SSL certificate is working

    As I said before, you don't need to use OpenSSL command line tools to create certificates, ICS has functions to do that. ICS has a lot of really old examples untested for 10 years, really should be removed. You should build the OverbyteIcsPemTool.dpr sample which has numerous facilities for creating, testing, converting and viewing X509 certificates, in various formats. Then open your certificate files which will immediately tell you whether ICS can read them, and display all the content. There are several Wiki FAQs on certificates I previously suggested you read that explain this all in detail. ICS with OpenSSL applications work perfectly on Vista and Windows 2008, two of my public servers are 2008, closed down last week due to Microsoft support ending after 12 years. I believe ICS applications still work on Windows XP but that has been out of support for years so no longer tested. The latest version 1.1.1 of OpenSSL no longer supports Windows XP, you need to use 1.0.2 or 1.1.0, both of which are now out of support so no security fixes. OpenSSL and Microsoft do offer paid support for XP and 1.0.2 for large organisations that really can not upgrade, but not for home users. Angus
  14. Angus Robertson

    Loading SSL Certificates into EXE (TSslContext)

    The latest versions of TSslFtpServer and TSslWSocketServer do not require to use an SslContext, which was never well documented and is complicated to use. You should instead use IcsHosts to specify listeners, SSL properties and certificates, The IcsHosts SslCert property can be a file name or an string containing a PEM certificate and the component loads either automatically. This is all done in TSslWSocketServer.LoadOneCert if you really want to do it the old way. Angus
  15. Angus Robertson

    TSimpleWebSrv and POST

    OverbyteIcsWebAppServerUploads,pas is a handler that accepts POSTed files. Angus