<tt><font size=2>>> 18.05.16 3:11, Robert W Weaver пишет:</font></tt><br><tt><font size=2>>>> The issue is I need to connect to a site
that requires client</font></tt><br><tt><font size=2>>>> authentication.  Don't want to put
the key and cert on each individual</font></tt><br><tt><font size=2>>>> user, so instead want the key and cert
on the proxy.</font></tt><br><tt><font size=2>>>> Diagram:</font></tt><br><br><tt><font size=2>>>> User A ---> Squid S ---> Server
B</font></tt><br><tt><font size=2>>>>         ^  
         ^</font></tt><br><tt><font size=2>>>>         |  
         +-- TLS client authentication</font></tt><br><tt><font size=2>>>>         +-- cleartext
okay</font></tt><br><br><tt><font size=2>On Wed, 18 May 2016 17:48:26 +1200, Amos Jeffries
<squid3@treenet.co.nz> wrote:</font></tt><br><br><tt><font size=2>> On 18/05/2016 10:05 a.m., Yuri Voinov wrote:</font></tt><br><tt><font size=2>>> </font></tt><br><tt><font size=2>>> ..... and a bit below in squid.conf.documented
we can see.....</font></tt><br><tt><font size=2>>> </font></tt><br><tt><font size=2>>> # SSL OPTIONS</font></tt><br><tt><font size=2>>> #</font></tt><br><tt><font size=2>>> -----------------------------------------------------------------------------</font></tt><br><tt><font size=2>>> </font></tt><br><tt><font size=2>>> #  TAG: sslproxy_client_certificate</font></tt><br><tt><font size=2>>> #    Client SSL Certificate to
use when proxying https:// URLs</font></tt><br><tt><font size=2>>> #Default:</font></tt><br><tt><font size=2>>> # none</font></tt><br><tt><font size=2>>> </font></tt><br><tt><font size=2>>> #  TAG: sslproxy_client_key</font></tt><br><tt><font size=2>>> #    Client SSL Key to use when
proxying https:// URLs</font></tt><br><tt><font size=2>>> #Default:</font></tt><br><tt><font size=2>>> # none</font></tt><br><tt><font size=2>>> </font></tt><br><tt><font size=2>>> Ta-daaaaaaaa!</font></tt><br><tt><font size=2>> </font></tt><br><br><tt><font size=2>> You are the one getting it wrong here Yuri :-(</font></tt><br><br><tt><font size=2>I am celebrating Yuri's ta dah.  The clue to
squid.config.documented was crucial, and the specific hint to sslproxy_client_*
was what was missing.</font></tt><br><br><tt><font size=2>From S to B is now working properly.  Squid is
now in the middle, and is performing authentication to server B properly.</font></tt><br><br><tt><font size=2>> * clientca= is for listening ports. He wants
that conectio to be cleartext.</font></tt><br><br><tt><font size=2>> * sslproxy_* directives are for generic DIRECT
connections. He wants a</font></tt><br><tt><font size=2>> specific proxy<->server connection to be
TLS authenticated.</font></tt><br><br><tt><font size=2>> For the S<->B connection to use client
certificates. cert= and key= on</font></tt><br><tt><font size=2>> the cache_peer directive defining that link are
correct.</font></tt><br><br><tt><font size=2>> But there are twe other details that need to
happen for it to work:</font></tt><br><tt><font size=2>> * the server actually challenge for the proxies
'client' cert, and</font></tt><br><tt><font size=2>> * the server trust the CA which signed that cert.</font></tt><br><br><tt><font size=2>This is happening.  I'd generated a CSR and had
the CA that is the "owner" of server B sign it for me.  We
are cool.</font></tt><br><br><tt><font size=2>> The world of "not working" is a very
big place. We need more details of</font></tt><br><tt><font size=2>> *how* its not working in order to have any guideposts
towards what the</font></tt><br><tt><font size=2>> problem actually is. As Yuri used to say a lot,
my psychic friend is on</font></tt><br><tt><font size=2>> holiday.</font></tt><br><br><tt><font size=2>It is now working to an acceptable point, although
there is an enhancement that would be nice.  Right now,</font></tt><br><br><tt><font size=2>1.  A connects to S, requests </font></tt><a href=https://b/some/image.png><tt><font size=2 color=blue>https://B/some/image.png</font></tt></a><br><tt><font size=2>2.  S connects to B over TLS, performs client
authentication, gets /some/image.png (or pulls from cache)</font></tt><br><tt><font size=2>3.  A converts to TLS to S, pulls down data.</font></tt><br><br><tt><font size=2>This is fine, its just that there is an unnecessary
encrypt/decrypt between A and S.  The connection is inside a controlled
data center (on the same switch, perhaps on the same ESX host) so I'm not
concerned about security -- not to mention the cached data isn't especially
sensitive.  </font></tt><br><br><tt><font size=2>So this last bit is just an enhancement, a nice to
have.  Its the opposite of SSL termination for accelerators, so I
suspect its possible, just don't know how to do it.</font></tt><br><br><tt><font size=2>Coffee (or a favorite beverage) all around!</font></tt><br><br><tt><font size=2>--woody</font></tt><br><br><tt><font size=2>-- </font></tt><br><tt><font size=2>Doubt is not a pleasant condition, but certainty is
absurd.</font></tt><br><tt><font size=2>-- Voltaire</font></tt><br><BR>