Re: SSL option fail_if_no_peer_cert has the wrong default value

Vincent de Phily <[email protected]>
Newsgroups gmane.comp.lang.erlang.bugs
Organization Mobile Devices
Message-ID <2669416.bbodvexb5K@moltowork>
On Wednesday 11 March 2015 12:15:51 Vincent de Phily wrote:
> On Tuesday 10 March 2015 19:35:28 Ingela Anderton Andin wrote:
> > > In f_i_n_p_c's case, changing the default would probably close more bugs
> > > than it'd open. Importantly, the new bugs would cause a visible failure,
> > > rather than the invisible security hole caused by the current bugs.
> > > It'll
> > > be an annoyance for the minority of people who actually need
> > > f_i_n_p_c=false, but it's a clear win overall.
> > > 
> > > I even think that f_i_n_p_c should be completely deprecated, since it's
> > > niche behavior can be obtained with a custom verify_fun. But it seems
> > > like I'd have a hard time convincing you about that :p
> > 
> > We will think about it. It is not entirely up to me, but my opinion will
> > count.
> 
> Thanks, I hope I provided a good enough argument that the change is worth
> the potential incompatibility.

I did a web search on explicit use of f_i_n_p_c in other projects and was 
surprised at how often it was set to false instead of true, to the point that 
I wonder wether I don't understand the option correctly, or wether users don't 
understand the implications.

My understanding is this:
 * If you want to authenticate the peer (as opposed to just encrypting the
   communication), you set verify_peer. Connection to a peer that fails
   authentification will be refused.
 * You then have the option, using f_i_n_p_c=false, to nevertheless accept the
   connection for a specific case of auth failure (peer didn't send a cert).
 * This only makes sense if you have a fallback method to authenticate the
   peer. Authenticate using ssl certs orelse authenticate using account
   passwords, for example. An authentication that can be trivially bypassed
   (by not sending a cert) might as well not be done at all.

Is that understanding correct, or is there a usecase of f_i_n_p_c=false where 
you don't require an alternate authentication method once the ssl 
authentication has failed ? Can you point at projects that use f_i_n_p_c=false 
properly ?


-- 
Vincent de Phily

_______________________________________________
erlang-bugs mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-bugs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.