<div dir="ltr">The cafile option specifies the "chain" file squid should send back to the client along with the cert, exactly as you would normally do with Apache httpd or Nginx.<div>In the example the generated server cert is depth 0, CA2 is depth 1 and CA1 is depth 2.</div><div>If the client has CA1 installed as a trust anchor then technically you don't need to send CA1 as it is discarded by the client once the trust relationship for CA2 is established.</div><div>It's good practice to send the full chain though as it makes troubleshooting easier.<br></div><div>From a client perspective you can quickly grab the whole chain with openssl s_client and check if CA1 is in the trust store.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 6, 2017 at 10:40 AM, senor <span dir="ltr"><<a href="mailto:frio_cervesa@hotmail.com" target="_blank">frio_cervesa@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello All.<br>
I'd like clarification of the documentation at<br>
<a href="http://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpWithIntermediateCA" rel="noreferrer" target="_blank">http://wiki.squid-cache.org/<wbr>ConfigExamples/Intercept/<wbr>SslBumpWithIntermediateCA</a><br>
<br>
In section "CA certificate preparation" it is stated that a file should<br>
be created with "intermediate CA2 followed by root CA1 in PEM format".<br>
CA1 is the cert trusted by the clients. CA2 is used to sign the mimicked<br>
certs. And finally the statement "Now Squid can send the intermediate<br>
CA2 public key with root CA1 to client and does not need to install<br>
intermediate CA2 to clients."<br>
<br>
The specification states that the clients MUST NOT use CA1 provided in<br>
the TLS exchange. CA1 must be (and in this scenario is) already included<br>
in its trusted store of CAs.<br>
<br>
As I understand it, the TLS exchange with the client for a bumped<br>
connection should have the mimicked server cert followed by the<br>
intermediate cert (CA2) and that's all. The client completes the chain<br>
with the already trusted CA1.<br>
<br>
The example file created is used for cafile= option to http_port which<br>
is supposed to be for verifying client certs which is not part of this<br>
scenario.<br>
<br>
This is getting a little long-winded so I'll wait to see what anyone has<br>
to say about my assumptions or understanding.<br>
<br>
Thanks,<br>
Senor<br>
<br>
______________________________<wbr>_________________<br>
squid-users mailing list<br>
<a href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.<wbr>org</a><br>
<a href="http://lists.squid-cache.org/listinfo/squid-users" rel="noreferrer" target="_blank">http://lists.squid-cache.org/<wbr>listinfo/squid-users</a><br>
</blockquote></div><br></div>