[squid-users] Squid reject self-signed SSL certificate of ICAP server
Amos Jeffries
squid3 at treenet.co.nz
Thu Jun 22 13:33:02 UTC 2017
On 22/06/17 21:23, Nikita wrote:
>
> 2017-06-21 19:46 GMT+03:00 Alex Rousskov:
>
> On 06/21/2017 10:15 AM, Nikita wrote:
>
> > Is it possible to allow self-signed SSL certificates for ICAP server
> > connections somehow?
>
> Can you configure your OpenSSL library (or equivalent) to trust the ICAP
> server certificate? Squid deletages most of the certificate validation
> work to OpenSSL (or equivalent).
>
>
> Probably worth a try, but generally it is undesirable in my case to
> modify global OpenSSL config.
>
>
> > There is tls-flags=DONT_VERIFY_PEER flag, but in this case Squid
> > don't send it's own certificate to ICAP server
>
> Why do you think tls-flags=DONT_VERIFY_PEER only works if Squid sends
> its own certificate? The two actions (from-peer certificate validation
> and sending of a certificate to a peer) seem unrelated to me.
>
>
> In my case for some unknown reasons Squid don't send its own certificate
> to ICAP server, probably because of DONT_VERIFY_PEER flag, but not sure
> here. BIO_do_handshake fails with "no certificate returned" on ICAP
> server side despite the fact that squid certificate was specified via
> tls-cert and tls-key options of icap_service config directive and ICAP
> server was configured to request client certificate. It seems need to
> investigate Squid source code in more detail to find some answers,
> thanks for advices.
What DONT_VERIFY_PEER does is prevent Squid checking any of the TLS
server details that ensure it is actually talking to the ICAP server you
configured it to use. As Alex said it does not directly prevent Squid
code from sending a client cert, but it *does* allow your Squid traffic
to be diverted to a completely irrelevant ICAP server and you will never
know.
It is quite possible the behaviour you are seeing is simply because
Squid is not even connected to the ICAP server you are trying to test with.
I hope this clarifies why I strongly recommend people erase the
DONT_VERIFY_PEER option from their configs, and get things going without
it. It is not a useful debugging tool, let along production setting.
Amos
More information about the squid-users
mailing list