Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2017-08

FPHTTPClient OpenSSL implementation

3 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Pavol Stugel

Hi,

For years I'm working with synapse (Ararat) with OpenSSL and there  is same openssl.pas lib. So problem is with:

in InitSSLInterface:

     if assigned(_RandScreen) then
       _RandScreen;

and method:

procedure RandScreen;
begin
if InitSSLInterface and Assigned(_RandScreen) then
     _RandScreen;
end;

This take "desktop screenshot" and generate some hash. BUT taking this is 2 seconds long (I can load whole SW and prepare all data for our system for less than 1 sec. or render 240 frames of nice graphics ...). Problem is only on Windows (all versions). And some software warn about "screen taking action software". So is there any requirements to have this in opnessl in FPC? Problem is heavy visible on large screens (1440p plus...).

Reply by email

Michael Van Canneyt
to Pavol Stugel
Pavol Stugel wrote 27 lines
Hi, For years I'm working with synapse (Ararat) with OpenSSL and there  is same openssl.pas lib. So problem is with: in InitSSLInterface:     if assigned(_RandScreen) then       _RandScreen; and method: procedure RandScreen; begin if InitSSLInterface and Assigned(_RandScreen) then     _RandScreen; end; This take "desktop screenshot" and generate some hash. BUT taking this is 2 seconds long (I can load whole SW and prepare all data for our system for less than 1 sec. or render 240 frames of nice graphics ...). Problem is only on Windows (all versions). And some software warn about "screen taking action software". So is there any requirements to have this in opnessl in FPC? Problem is heavy visible on large screens (1440p plus...).

I suppose this is not necessary; it is probably meant to generate some randomness. There are 2 options:
1. Remove the call completely;
2. Add a parameter to InitSSLInterface to disable the call, using some default value.

In view of backwards compatibility, the second is probably preferable.

Michael.

Reply by email

Pavol Stugel
to Michael Van Canneyt

2. option don't resolve "screen capture software" warning in enterprise, and I found this from doc:

"RAND_event() and RAND_screen() are deprecated since OpenSSL 1.1.0. Use the functions described above instead."
https://www.openssl.org/docs/man1.1.0/crypto/RAND_screen.html

so 1.option will be nice.

Pavol

Dňa 29. 8. 2017 o 8:44 Michael Van Canneyt napísal(a):

Show quoted text 9 lines
I suppose this is not necessary; it is probably meant to generate some randomness. There are 2 options: 1. Remove the call completely; 2. Add a parameter to InitSSLInterface to disable the call, using some default value. In view of backwards compatibility, the second is probably preferable. Michael.

Reply by email