Jump to content

FPiette

Members
  • Content Count

    1200
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by FPiette

  1. FPiette

    ICS V8.67 announced

    Sure ! Why don't you do it and give it away for free to ICS community? That would be great as well.
  2. You are wrong there. Your application can't start. And most ICS sample do load OpenSSL automatically at startup. Here how to stop loading OpenSSL before really needed: 1) Take OverbyteIcsHttpsTest.dproj sample program. 2) Locate THttpsTstForm.FormShow event handle in OverbyteIcsHttpsTst1.pas source code. 3) At the end of that handler, you'll find this code: OverbyteIcsWSocket.LoadSsl; 4) Comment out form that line (including it) to the end of the event hanlder. Recompile, copy the exe to a folder when OpenSSL is not there. Run the executable. It starts nicely. Enter an http URL (not https) and click "Get" button. You'll see the document downloaded. Enter a https URL and click "Get" button. This time you should get an error because OpenSSL DLL are not found. Copy OpenSSL and retry. Https link will work. Using ProcessMonitor you can see when the OpenSSL are loaded. I hope you understand I demonstrated the ICS application can start without OpenSSL DLL present and the SAME application can do https once the DLL are in place.
  3. How do you distribute/deploy your application? Why don't you deploy all dependencies along with the executable? Think about a setup program. Using a setup application (There are plenty) or write one yourself using Delphi. You can also embed the OpenSSL into your executable and extract it on the first run. As long as you don't request any SSL related function, OpenSSL will no be required (ICS use dynamic load).
  4. Look better. And explain clearly what problem you have! Up to know you are very confusing. Sometimes you want SSL and sometimes you don't. That's not a problem at all if this is for different applications. Did you see my previous reply mentioning USE_SSL define?
  5. If you don't need SSL, your don't need OpenSSL DLL. But, you have to tell ICS to compile without SSL code and that is done by undefining USE_SSL. You'll find this define in source/include/OverbyteIcsDefs.inc just comment out the line and recompile EVERYTHING.
  6. FPiette

    How do I execute code after FormShow ?

    Is it a VCL or FMX application ?
  7. Then you have been very lucky. Every single GExperts release for the last few years has been flagged as malware. That probably result of the use of some library or component that your software (GExperts) use and that some viruses are using as well. Or some virus took part of GExperts source code. I use almost NO external library in my software, I use nearly only my own code. And when using something for elsewhere (VirtualTreeView for example), I never use pre-built dcu nor any runtime package nor any pre-built DLL. I always recompile EVERYTHING. There are also bad anti-virus software that has a lot of false positive because of their poor detection mechanism or their bugs.
  8. I never had any of my Delphi generated application flagged as malware. I use Delphi since version 1. I used all versions.
  9. FPiette

    Update issue

    Could you tell us what you have done to solve the issue? Do you know that Delphi 12 will be available shortly?
  10. FPiette

    Update issue

    Which OS are you using? Check if all updates have been installed. Disable any "security" product such as anti-virus, just the time to check.
  11. Fundamentally, HTTP protocol is a session-less protocol. It mean that between request-answer cycle either all involved parties are free to close the connection (client, server and in-between items such as proxies). Building an application on the fact that sometimes it is possible to have the connection remaining open for "some (long) time" is really a bad idea. Actually, cookies have been invented to overcome the disconnected state and yet link consecutive requests to the same client.
  12. FPiette

    Load DLL from resource, bypassing a file?

    Which is what I'll do for the first version, may experiment later with memory loading, but don't plan to spend much effort on it. Care should be taken concerning the directory where to extract the DLL. Usually the application are stored in a directory requiring admin permission to be written (Program Files). The DLL must be extracted to a writable directory. It could be specified in the application INI file (or registry) and/or located in some directory in the user profile (Somewhere in "AppData").
  13. Thanks for your feedback. It's important for the community to have the final resolution.
  14. There are global settings in the IDE. I have the "enterprise" edition. Maybe this makes a difference? Since the issue seems related to Overbyteicsavltrees, maybe you could try to build a very simple new project project calling it?
  15. I have not done anything related to your issue. When something doesn't work, always use latest source. Useless to find any bug in older code. So I have done a quick test with latest source to check your issue and everything worked as expected. I guess the issue is related to your setup. The most probable is that you inadvertently changed some source code or some compiler/linker option. Maybe you have chance to check on another computer (or VM), preferably one where CBuilder is not yet installed.
  16. I wouldn't know where to start. Install Tortoise SVN which is a friendly subversion client. Then follow Go for a Test Drive. Follow the steps in "Creating a repository", then "Import a project" and "Checking out a working copy". You need ICS svn url and password that you'll find on ICS wiki at the page for ICS download. Read the section "Version Control System". Once you have the working copy... start the work with it.
  17. That's not what I have done. I updated my local source code using ICS subversion repository. Try that.
  18. Using Builder 11.3 ? Yes: Embarcadero® C++Builder 11 Version 28.0.47991.2819 Beside ICS, no add-on nor any third party component installed. Only C-Builder personality loaded. Running on Win11 22H2.
  19. I tried today with the latest content from SVN repository. First compiled all packages for 32 bits platform and release build configuration. The compiler complain about units to be removed because present in a required package. I accepted to remove the units and all packages now compile fine. Then I changed platform for 64 bits and release build configuration. Built IcsCommonCB110Run.bpl: Success. Built IcsVclCB110Run.bpl: success. Built IcsFmxCB110Run.bpl: Success. Design time package must NOT be compiled as they are for the IDE and MUST be 32 bits as the IDE is a 32 bits application. You reported: Conclusion: Can't reproduce the issue.
  20. You should mention where EXACTLY you get the AV. The debugger should tells you. Reproduce here the source lines around the AV.
  21. FPiette

    Hext to Byte to Text = x509 cert

    ICS (Internet Component Suite) has two units which handle X509 certificates. OverbyteIcsSslX509Certs.pas and OverbyteIcsSslX509Utils.pas. They are somewhat an encapsulation of OpenSSL library and Windows Library. Although I'm ICS main author, I'm not the right person to explain the details. Maybe you should read this post in the support mailing list and start a new post if you have more questions. BTW: ICS is freeware. Look at https://wiki.overbyte.eu.
  22. FPiette

    Hext to Byte to Text = x509 cert

    The way numbers are represented is platform dependent. I don't know any platform which use 56 bit for an integer (7 bytes you said). Usually you have 8, 16, 32 ou 64 bits integers (Byte, Short, Integer and Int64 in Delphi). Java code you present make me think that the 7 bytes in the TBytes has to be prefixed by a 8th byte to form a 8 byte (64 bit) integer. (decimal) 1.000.000.000 is (hex)3B 9A CA 00. I don't see thoses bytes in the TBytes you show. So the representation is not direct, whatever the byte order is. Maybe the number is encrypted or it is not 1.000.000.000 ?
  23. FPiette

    Hext to Byte to Text = x509 cert

    TBytes is a kind of byte array. You say that the smartcard returns "30 82 05 ....". Do you mean the TBytes[0] containe ascii '3', TBytes[1] contains ascii '0', TBytes[2] contains ascii space and so on? OR Do you mean TBytes[0] contain $30, TBytes[1] containes $82 and so on. It would help if you correctly explain what you really get and what you printed out to show in your message. I would also help if you tell us the exact x509 certificate you need: .pem, .cer, .crt, .der or other file. I guess the smartcard return a .der (binary). Did you already read this resource : https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/
  24. FPiette

    Hext to Byte to Text = x509 cert

    I which type of variable to you get that data?
×