You can always use the indy components. They have a working https implementation which I have successfully used in a SOAP based application and Lazarus's WST package. (see http://wiki.lazarus.freepascal.org/Indy_with_Lazarus).

The downside is that the indy components do not seem to have been updated for a long time and have not kept up-to-date with OpenSSL. I have attached below a patch I have used to keep the components up-to-date with SSL headers.

Tony



On 16/02/17 12:41, Rainer Stratmann wrote:
How does httpy work, what is needed?

TLS/SSL library?

A http webserver without encryption I programed already on my own and wanted
to integrate https.

Is there any example code of https?
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Index: fpc/IdSSLOpenSSLHeaders.pas
===================================================================
--- fpc/IdSSLOpenSSLHeaders.pas    (.../tags/R10-2-0-3)    (revision 8065)
+++ fpc/IdSSLOpenSSLHeaders.pas    (.../trunk)    (revision 8065)
@@ -7073,7 +7076,8 @@
   where the symbolic link libbsl.so and libcrypto.so do not exist}
   SSL_DLL_name         = 'libssl'; {Do not localize}
   SSLCLIB_DLL_name     = 'libcrypto'; {Do not localize}
- SSLDLLVers : array [0..4] of string = ('','0.9.9','.0.9.8','.0.9.7','0.9.6'); + SSLDLLVers : array [0..6] of string = ('','1.0.1','1.0.0','0.9.9','.0.9.8','.0.9.7','0.9.6'); +// SSLDLLVers : array [0..3] of string = ('0.9.9','.0.9.8','.0.9.7','0.9.6');
   {$ENDIF}
   {$IFDEF WIN32_OR_WIN64_OR_WINCE}
   SSL_DLL_name       = 'ssleay32.dll';  {Do not localize}
@@ -9479,9 +9485,9 @@
   @IdSslWrite := LoadFunction(fn_SSL_write);
   @IdSslCtxCtrl := LoadFunction(fn_SSL_CTX_ctrl);
   @IdSslGetError := LoadFunction(fn_SSL_get_error);
-  @IdSslMethodV2 := LoadFunction(fn_SSLv2_method);
-  @IdSslMethodServerV2 := LoadFunction(fn_SSLv2_server_method);
-  @IdSslMethodClientV2 := LoadFunction(fn_SSLv2_client_method);
+//  @IdSslMethodV2 := LoadFunction(fn_SSLv2_method);
+//  @IdSslMethodServerV2 := LoadFunction(fn_SSLv2_server_method);
+//  @IdSslMethodClientV2 := LoadFunction(fn_SSLv2_client_method);
   @IdSslMethodV3 := LoadFunction(fn_SSLv3_method);
   @IdSslMethodServerV3 := LoadFunction(fn_SSLv3_server_method);
   @IdSslMethodClientV3 := LoadFunction(fn_SSLv3_client_method);

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to