Advertisement

02.19.2007 at 03:04PM PST, ID: 22399769
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

Using INDY With A Secure Proxy (HTTPS)

Tags: indy, delphi, https, proxy
My programmers, who are working in Builder 6.0 and Delphi, are trying to use INDY (versions 9 and 10) to connect to a secure proxy server (HTTPS)... and are having no luck.  

I purchased some support from Atozed and they have not been much help so far.

Is anyone doing this successfully or have any ideas on how to make it work?

Also, are there any commercial third party components, that might be a better solution?

Thanks.

- Dave
Start your free trial to view this solution
Question Stats
Zone: Programming
Question Asked By: optdave55
Solution Provided By: gtokas
Participating Experts: 2
Solution Grade: B
Views: 251
Translate:
Loading Advertisement...
02.19.2007 at 03:56PM PST, ID: 18567394

Rank: Guru

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.19.2007 at 04:38PM PST, ID: 18567572

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.20.2007 at 07:38AM PST, ID: 18571270

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.27.2007 at 08:59AM PST, ID: 18618472

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.27.2007 at 10:05AM PST, ID: 18619022

Rank: Guru

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
02.19.2007 at 03:56PM PST, ID: 18567394

Rank: Guru

>>I purchased some support from Atozed and they have not been much help so far.
Me too and as far as I know even though I'm NOT using Delphi, their primary tool, I know that they are really helpful. It will be better if we have some more details about the project and specifications.

George Tokas.
 
02.19.2007 at 04:38PM PST, ID: 18567572

Rank: Master

Hi,

You can try:

TIdTCPClient/Server with SSL
http://www.indyproject.org/Sockets/Demos/index.en.aspx

download sample from http://adg.bmpcoe.org/IndySSL/
(from site:
SSL CLIENT:
This program is a simple TCP Client that makes an SSL connection on port 3000. To connect to a server, enter the IP address of the server in the box labeled "Host:", and then press the "Connect" button. Once a connection has been established, the client displays any text received from the server in the memo area. To send text to the server, enter it in the available edit box, and then press [enter].

SSL SERVER:
This program establishes a TCP Server that listens for SSL connections on port 3000. When a connection is received, the server responds with "Hello", and then listens for any other lines of text sent from the client. When a line is received, it is echoed to the screen as well as back to the client.

See note present on the site about required dll's).

another previous contributions
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22095668.html
still open (Need to get SSL working correctly with indy 10 - specifically the TIDHTTP component)
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22087897.html

Download also the help file (pdf format - more than 3000 pages).
You can read useful infos:


TIdServerInterceptOpenSSL
Implements Secure Sockets Layer support for Indy Server Intercept components.
Description
The TIdServerInterceptOpenSSL server intercept class implements the Open SSL implementation of Secure Sockets Layer
through support .DLL's available at http://www.intelicom.si/. You have to deploy these support .DLL's in order to use this
component's functionality in your application. To do this, we recommend that you install the .DLL's in the user's system directory.
Indy does not give you any legal rights to use SSL. Some nations including the U.S. regulate or prohibit the export of strongencryption
such as SSL. In addition, using SSL in some nations may be illegal. It is up to you to determine the legal situation in
your nation.

OnGetPassword
Event type for password retrieval.
Description
OnGetPassword is an event that requests the password for unlocking the private key stored in a file. You can simply set the
Password variable with the proper password or you can add some dialog box that prompts user for the password.
procedure TForm1.IdServerInterceptOpenSSL1GetPassword(var Password: String);
begin
Password := 'aaaa';
end;

OnStatusInfo
Provides status information for an SSL connection.
Description
OnStatusInfo is an event that can be used for debugging the connection establishment. It sends a message (Msg) with current
status.
procedure TForm1.IdServerInterceptOpenSSL1StatusInfo(Msg: String);
begin
ShowMessage(Msg);
end;


OnVerifyPeer
Event type for peer X.509 certificate verification.
Description
OnVerifyPeer is an event that can be used for peer checking. The events passes the TIdX509 structure (certificate ) that
embeds the values of peer's certificate. You can read certificate time restrictions, issuer name, subject name.
The result value signals if you are pleased with peer's info. If you return False then the connection will be dropped, elsewhere
you will keep the connection.
function TForm1.IdServerInterceptOpenSSL1VerifyPeer(
Certificate: TIdX509): Boolean;
begin
ShowMessage(DateTimeToStr(Certificate.notBefore));
ShowMessage(Certificate.Issuer.OneLine);
ShowMessage(Certificate.Subject.OneLine);
Result := True;
end;


TIdCustomHTTPServer is a TIdTCPServer descendant that specifies properties, methods, and events for an implementation
of the Hypertext Transfer Protocol (HTTP) as described in the Internet Standards document:
RFC 1945 - Hypertext Transfer Protocol [HTTP] version 1.0 (http://www.rfc-editor.org/rfc/rfc1945.txt)
RFC 2616 - Hypertext Transfer Protocol [HTTP] version 1.1 (http://www.rfc-editor.org/rfc/rfc2616.txt)
Application do not normally create instances of TIdCustomHTTPServer. Most properties, methods, and events in
TIdCustomHTTPServer are protected to allow descendant classes to override their implementaion. Use TIdHTTPServer to
access published properties, method, and events.
TIdCustomHTTPServer also supports the Secure Hypertext Transport protocol (HTTPS) as described in the Internet Standards
document:
RFC 2660 - The Secure HyperText Transfer Protocol (http://www.rfc-editor.org/rfc/rfc2660.txt)
Assign an instance of TIdServerInterceptOpenSSL to the Intercept property to allow use of the HTTPS protocol. For the
Windows platform, you must install the Indy OpenSSL support .DLL's available at http://www.intelicom.si to enable Secure
Socket Layer support.

.....

etc, etc, ....

Hope this can help a little.


Assisted Solution
 
02.20.2007 at 07:38AM PST, ID: 18571270
Hi George,

Here are some more details... including the latest response from Atozed.

- Dave

-------------------------------------------------------------------------------------------------------------------------

Hello!

We are developing code with using Borland C++ Builder and Indy 9. Now we have big trouble with connection to https pages, that we need through proxy. It looks like bug in Indy.

The problem is because we have delay with response after doing Http->Post to https server when we use proxy. Delay takes up to 5 minutes, all this time no CPU and network loading shows - the program just hangs for 5 minutes, then continue to work good.

We have tried to switch to Indy 10, but there still the same problem.

Please, look into this problem ASAP and if possible come to us with solution.

--------------------------------------------------------------------------------------------------------------------------
Subject: Problem with connection to https page through https proxy

Message: We are now seeing some issues. However, to continue debugging, we will at least need 300 units, but we can't guarantee for 100% that we can solve this issue.

--------------------------------------------------------------------------------------------------------------------------

 
02.27.2007 at 08:59AM PST, ID: 18618472
Looks like this one is not going to get solved.  Atozed has identified some bugs and wants more credits to keep going, but they still cannot guarantee that they will be able get INDY working.

So we are now evaluating commercial components.  I have found these two.

http://www.clevercomponents.com/products/inetsuite/suite.asp?referrer=home

http://www.nsoftware.com/ipworks/ssl/

Does anyone know of any others?

- Dave
 
02.27.2007 at 10:05AM PST, ID: 18619022

Rank: Guru

The second one is known to me for the stability, credibility and robustness....
The first one looks very promising for a trial run....

George Tokas.
Accepted Solution
 
 
20080236-EE-VQP-29