<div dir="ltr"><div><div>Hi!<br><br></div>The partial chain option lets you do the certificate path validation with an intermediate as "roo"t e.i. certificates above the trusted intermediate are not validated. I can see that it might be practical if the server would try building the path, but that is not the way I read the RFC.<br><br></div>Regards Ingela Erlang/OTP team - Ericsson AB<br><div><br><div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2018-02-23 23:03 GMT+01:00 Chris Rempel <span dir="ltr"><<a href="mailto:csrl@gmx.com" target="_blank">csrl@gmx.com</a>></span>:<br><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Interesting. In my understanding it is perfectly valid for a server to choose to trust an intermediate certificate and validate connecting peers against it.<br>
<br>
In fact erlang's ssl implementation provides for such a concept through partial_chain, except the implementation requires the client to send the chain up to and including the trusted intermediate. But the client should not have to send what the server considers the "trusted root".<br>
<br>
I think the question is, why does the client have to send the trusted intermediate certifoveicate. How does not sending it "break TLS" as you say? Do you mean it breaks erlang's implementation of TLS, or its a spec violation? I can find no indication of that.<br>
"<br>
Chris<br>
<br>
<br>
Sent: Friday, February 23, 2018 at 9:45 AM<br>
From: "Erik Seres" <<a href="mailto:erikseres@exosite.com">erikseres@exosite.com</a>><br>
To: "Erlang-Questions Questions" <<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a>><br>
Subject: Re: [erlang-questions] Intermediate certificate as CA<br>
<span class="im HOEnZb"><br>
When you say "breaks the TLS protocol" are you referring to establishing trust through PKI or that somehow the connection security is somehow compromised?<br>
<br>
Erik<br>
<br>
</span><span class="im HOEnZb">> On 2018. Feb 23., at 14:53, Ingela Andin <<a href="mailto:ingela.andin@gmail.com">ingela.andin@gmail.com</a>[<wbr>mailto:<a href="mailto:ingela.andin@gmail.com">ingela.andin@gmail.com</a>]<wbr>> wrote: <br>
><br>
> Hi!<br>
><br>
> <br>
</span><div class="HOEnZb"><div class="h5">> 2018-02-22 17:57 GMT+01:00 Erik Seres <<a href="mailto:erikseres@exosite.com">erikseres@exosite.com</a>[mailto:<a href="mailto:erikseres@exosite.com"><wbr>erikseres@exosite.com</a>]>:<br>
><br>
> > Hello,<br>
> > We are developing a custom service that uses TLS certificates. Clients connect to that service and must present their client certificate. The client certificates are signed by a CA managed by our service. Our service's CA cert is in turn signed by a root cert, and not self signed. We do not want to require the clients to hold the services intermediate cert, and so they connect just presenting their own client certificate. <br>
> <br>
> That breaks the TLS protocol. The peer in either direction should send the whole certificate chain with the exception of the ROOT certificate that is optional as the peer has to own it to be able to verify it.<br>
> <br>
> > However, the erlang SSL application does not seem to allow for this setup. It seems to require that to verify the client certificate, that the service's cert is self signed (ie a root cert) or that the client provide all intermediate certs in the chain. Is there a way to configure the service with the intermediate cert as the ca, and not require the client to also send it as part of the chain?<br>
> <br>
> <br>
> You can use the option verify_fun to customize the certificate path validation, but you would have to be careful to only accept the valid cases.<br>
> <br>
> Regards Ingela Erlang/OTP team - Ericsson AB<br>
> <br>
><br>
> > <br>
> > Thanks,<br>
> > Erik<br>
><br>
______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div></div></div></div></div></div>