Search the Community
Showing results for tags 'ics'.
Found 37 results
-
OverbyteIcsSSLEAY.pas f_SSL_set_msg_callback() declaration mismatch
Ralf Junker posted a topic in ICS - Internet Component Suite
OverbyteIcsSSLEAY.pas line 2160 (SVN 1464) declares f_SSL_set_msg_callback() to use a TProto_msg_cb callback. TProto_msg_cb is defined in line 1270 as a function: TProto_msg_cb = function (write_p, version, content_type: integer; buf: PAnsiChar; size_t: integer; ssl: PSSL; arg: Pointer): Integer; cdecl; { V8.40 handshake protocol message callback } This is different from the OpenSSL definition. The C header declares the callback as a procedure which does not return a value (void): void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg)); Reference: https://www.openssl.org/docs/man1.1.1/man3/SSL_set_msg_callback.html Ralf -
OverbyteIcsSSLEAY.pas f_SSL_clear() declaration mismatch
Ralf Junker posted a topic in ICS - Internet Component Suite
OverbyteIcsSSLEAY.pas line 2097 (SVN 1464) declares f_SSL_clear() like this: f_SSL_clear: procedure(S: PSSL); cdecl = nil; This is different from the OpenSSL definition. The Pascal declaration is a procedure, but the C declaration a function with an Integer return value: int SSL_clear(SSL *ssl); Reference: https://www.openssl.org/docs/man1.1.1/man3/SSL_clear.html Ralf -
OverbyteIcsSSLEAY.pas f_SSL_bytes_to_cipher_list() declaration mismatch
Ralf Junker posted a topic in ICS - Internet Component Suite
OverbyteIcsSSLEAY.pas line 2095 (SVN 1464) declares f_SSL_bytes_to_cipher_list() like this: f_SSL_bytes_to_cipher_list: function(s: PSSL; cbytes: PAnsiChar; len: size_t; isv2format: Boolean; sk, scvsvs: PSTACK_OF_SSL_CIPHER): LongInt; cdecl = nil; { V8.64 } This is different from the OpenSSL definition. The Pascal declaration passes sk and scvsvs as simple pointers, instead of pointer addresses or var parameters. In contrast, the C header uses a double pointer for both parameters: int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t len, int isv2format, STACK_OF(SSL_CIPHER) **sk, STACK_OF(SSL_CIPHER) **scsvs); Reference: https://www.openssl.org/docs/man1.1.1/man3/SSL_bytes_to_cipher_list.html Ralf -
I am using ICS TSslFTPServer (FtpSslType=ftpAuthTls,ftpAuthSsl) and TSslWSocketServer (SslEnable=True) on my Server side application along with TSslContext wherein I am pointing to SslPrivKeyFile and SslCertFile to your sample 01key.pem and 01cert.pem respectively. My Client Application connects and all is well. problem-1) If I try to change the certificates to another of your provided examples or If I build with OpenSSL it gives error 'Can't read certificate file ... error:0909006C:PEM routines:get_name:no start line' problem-2) Using SSL I lose compatibility with WinXP and probably with Vista too. Is there a workaround ? (Angus has suggested me to use the IcsHosts property instead of SslContext but I will need to do more work to get it working for me, hope I am using above mentioned components properly to begin with SSL) (How I generated my own PEM files openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out 01key.pem openssl pkey -in 01key.pem -out 01cert.pem -pubout)
-
I am using TSslFtpServer , TSslWSocketServer along with TSSLContext component successfully when using the SslCAFile , SslCertFile and SslPrivateKeyFile properties to point to files on the Hard Disk. I noticed there are matching SslCALines , SslCertLines and SslPrivateKeyLines . I filled these properties with text from the corresponding files but it did not work. I am asking this because I would prefer not to expose the Certificate files.
-
Hi, I am using ICS TFTPServer and TWSocketServer on my Server side application (Delphi Seattle). I want to use SSL to secure the connections. This question is more related to SSL rather than ICS. I have read on SSL and checked the Demo programs too. I yet need some clarity. Mine is a backup application and will be sending critical data over the WAN. If I generate my own certificates via OpenSSL where do I keep the PEM files for the ICS Server components to access ? Should I generate a different PEM file per customer upon installation or can I supply a common one ? I files are large can I have only password exchanged secretly and data without encryption (My data is already compressed with AES ) ? Regards Allan (Thanks for all the new features in ICS)
-
[BUG] HTTPS support in 64bits - Access Violation
Marcelo Jaloto posted a topic in ICS - Internet Component Suite
Can someone help me? We are having a bug (access violation) with SSL (HTTPS support) only in 64bits. My current Overbyte ICS version is 8.63. The bug is attached image. {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { V8.57 convert wire-format concactanted length prefixed strings to TStrings } function IcsWireFmtToStrList(Buffer: TBytes; Len: Integer; SList: TStrings): Integer; var offset, mylen: integer; AStr: AnsiString; begin Result := 0; if NOT Assigned(SList) then Exit; SList.Clear; offset := 0; while offset < Len do begin mylen := Buffer[offset]; if mylen = 0 then Exit; // illegal offset := offset + 1; SetLength(AStr, mylen); Move(Buffer[offset], AStr[1], mylen); SList.Add(String(AStr)); offset := offset + mylen; end; Result := Slist.Count; end; -
Hi , I am not able to connect to a SSL site with OverbyteIcsSslFtpTst.exe whereas with FileZilla it connects. 'Test.Rebex.Net' allows us to test SSL FTP site. OverbyteIcsSslFtpTst.exe connects to the non-SSL site and gives me directory list, whereas with SSL it does not connect. I have copied libcrypto-1_1 and libssl-1_1 in Exe folder too. I have compiled with Delphi Seattle. With SSL port 990 Executing Requested Command ! Init SSL failed Access violation at address 0062E467 in module 'OverbyteIcsSslFtpTst.exe'. Read of address 00000040 Session Closed, error = 0 Request 12 Done. StatusCode = 550 LastResponse was : '550 Access violation at address 0062E467 in module 'OverbyteIcsSslFtpTst.exe'. Read of address 00000040' Error = 550 (550 Access violation at address 0062E467 in module 'OverbyteIcsSslFtpTst.exe'. Read of address 00000040) Command Failure Without SSL port 21 Executing Requested Command < 220 Microsoft FTP Service Session Connected, error = 0 > USER demo < 331 Password required for demo. > PASS password < 230 User logged in. > CWD / < 250 CWD command successful. > PASV < 227 Entering Passive Mode (195,144,107,198,4,9). ! Passive connection requested to: 195.144.107.198:1033, control channel: 195.144.107.198 > NLST *.* < 150 Opening ASCII mode data connection. < 226 Transfer complete. ! 12bytes received/sent in 203 milliseconds > QUIT < 221 Goodbye. Session Closed, error = 0 Request 12 Done. StatusCode = 226 LastResponse was : '226 Transfer complete.' No error Command Success
-
Hello, I am trying to get data from a page and am getting error "206", the only detail is a "Authorization: Bearer" header. I'm entering the header in event "BeforeHeaderSend" Headers.Add('Authorization:Bearer ' + mToken.Text); HttpCliSusp.Connection := 'Keep-Alive'; HttpCliSusp.ContentTypePost := 'application/json;charset=UTF-8'; HttpCliSusp.RequestVer := '1.0'; HttpCliSusp.RcvdStream := TMemoryStream.Create; HttpCliSusp.URL := 'https://www.url-to-get.com'; HttpCliSusp.Get; i get HttpCliSusp.StatusCode = 206 Using the Indy component "TIdHttp" I get the content normally without error! IdHttp.Request.CustomHeaders.Add('Authorization:Bearer ' + mToken.Text); xHtmlRetorno := IdHttp.Get('https://www.url-get.com'); xHtmlRetorno comes content without errors. Where am I going wrong using the ICS TSslHttpCli component? Thanks!!!
-
Error session closed after a while (copy file by FTPS)
drazde posted a topic in ICS - Internet Component Suite
Hi, I use TSslFtpClient component for connecting to a server via SSL (TSL connections), and also TSslContext and TSslAvlSessionCache. I can connect and trasfer some file, but after a while (7/8 seconds, and about 145 files) the session (not the connection) closes, so I close also the connection and restart it. I would know if is it possible avoid expire the session and do a reconnect to the server. I have to transfer also thousands of file at a time Thanks in advance PS: if I try to copy many file with the OverbyteIcsXferTst1 example, that use TIcsFtpMulti, It give me "FTP Session Closed - Connection reset by peer (#10054)" after only having transferred 45 files -
Hi, I'm trying to build a webservice using Overbyte ICS THTTPAppServer component, i plan to run it as a windows service, i've setup the windows service but got problem when trying the AddGetHandler, the class to handle the request seems not recognized. It failed on line : 948 : TMyHttpHandler(Proc)(FLags); on file OverbyteIcsHttpAppServer.pas. It cause access violation. My Setup is the usual windows service template, and i run the HTTPAppServer on serviceStart event The webserver is working, i'm trying using the FHTTPServer.AddGetAllowedPath('/', afBeginBy); routine and it can handle the request Problem only when try to access the URLHandler. so is it possible to make HTTPAppServer as windows service? And how to setup it correctly Thank you
-
I'm trying to receive UDP packets which are sent to a multicast group. I can see the packets being received in WireShark (dest ip = 225.255.255.255 dest port = 1120), and can receive the data using an example python script I found on the net, meaning that UDP multicast group and port are correct. I'm creating an UDP server like this: var UDPServer: TWSocketServer; begin UDPServer := TWSocketServer.Create(Self); UDPServer.Proto := 'udp'; UDPServer.Addr := '0.0.0.0'; UDPServer.Port := '1120'; UDPServer.MultiCast := true; UDPServer.ReuseAddr := true; UDPServer.MultiCastAddrStr := '225.255.255.255'; UDPServer.OnDataAvailable := OnUDPDataAvailable; UDPServer.Listen(); end; The OnUDPDataAvailable is never called, am I missing something here in setting the server up properly to listen for this group?