> From: [email protected] On Behalf Of Sharanagoud B D
> Sent: Tuesday, 09 October, 2012 06:39

> Is there a option to specify a source interface along with 
> openssl s_cleint option to establish multiple HTTP 
> Connections from single linux device? This is required to 
> test certificate caching scenario where need to have multiple 
> clients trying to connect to a same server.
> 
> For Ex: specify eth1:1, eth1:2..etc...
> 
0. s_client doesn't do HTTP connections. It does SSL/TLS, only.
If you feed it HTTP input (manually or from a file or program), 
you've got HTTPS. (s_server -www can do some minimal HTTPS.)

1. You can't specify an interface. You can't even specify 
a "bind" (local) address, which is how the usual socket 
interface (used by openssl) maps to a local interface.

2. You can have multiple connections from one client 
IP address to a given server IP address, because 
nearly all clients including s_client get unique port.
Does the server need to see different addresses? If so, 
that will cause problems when used with NATted clients, 
which many these days are, especially on the public net.

3. If your server listens/accepts at multiple addresses, 
on a different subnet for each interface -- and listen-all 
(0.0.0.0 or ::0) is usually the default -- your IP stack 
should automatically use the matching client address.

4. If you can run virtual machines for the clients, you 
may be able to assign only selected interfaces and addresses 
to those virtual machines. This will depend on the particulars 
of the virtual machine software and I can't help there.

5. Or just use multiple real machines. Simple and foolproof.

But do you really need this? If you are concerned about server 
behavior, you don't need s_client to test it; you can write 
a trivial program using openssl (which can bind), or find 
other client software. I've heard rumors perl or gawk can 
do such things, and I believe are standard on Linux.
Java can definitely do it with about 20 lines of code -- 
that's what I use -- and is pretty easy to install 
(if you can instal software at all).

If you are concerned about s_client behavior, it doesn't do 
any caching by itself. It uses exactly and only what's in 
static files that you can look at.

Or it occurs to me, are you thinking about *session* caching 
(rather than certificates)? openssl library does support 
session caching within a process, or through some kind of 
shared storage, but s_client will only re-use a session 
if you explicitly specify -sess_out and -sess_in .


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [email protected]
Automated List Manager                           [email protected]

Reply via email to