<div dir="ltr">I added a comment on your Stack Overflow post (incorrectly closed, IMHO, but the SO crowd can be prickly).<div><br></div><div>The right thing to do depends on knowing a couple more details:</div><div> 1. Where are you getting your certificates?</div>

<div> 2. What's the best way to name the servers you trust?</div><div><br></div><div>Since you have a proprietary protocol, the easiest thing to do is make sure the cert chains up to a root you trust (ideally not system-installed roots, because nobody knows how deep the sewage flows there—the only exception would be if you want to delegate trust issues to a user of your software who might be expected to manage their own trustpoints using system configuration tools, but that gives me the willies). Then make sure the name on the cert matches the name of who you think you're communicating with (could be DNS name, or some other identification of the entity); if you may want to use SSL libraries which check certs and which are designed for HTTPS, you probably want to use the DNS name.</div>

<div><br></div><div>I don't know enough about JSSE-specific implementation to be able to give you a precise answer.</div><div><br></div><div> - Tim</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Fri, Aug 9, 2013 at 3:03 PM, Patrick Pelletier <span dir="ltr"><<a href="mailto:code@funwithsoftware.org" target="_blank">code@funwithsoftware.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word">One thing mentioned in the "Most Dangerous Code in the World" paper (and I've verified experimentally) is that JSSE doesn't validate the hostname against the X.509 certificate, so if one uses JSSE naively, one is open to man-in-the-middle attacks.  The best solution I've been able to figure out is to "borrow" the hostname validation code from Apache HttpComponents.  But I'm curious what other people who use JSSE are doing, and if there's a "best practice" for doing this.<div>

<br></div><div>Apologies if this isn't on-topic for this list; I know you guys mostly discuss higher-level issues, rather than APIs.  I already tried asking on Stack Overflow, and they said it was off-topic for Stack Overflow:</div>

<div><br></div><div><a href="http://stackoverflow.com/questions/18139448/how-should-i-do-hostname-validation-when-using-jsse" target="_blank">http://stackoverflow.com/questions/18139448/how-should-i-do-hostname-validation-when-using-jsse</a></div>

<div><br></div><div>So, a meta-question would be: where is the right place to ask this question?  I haven't been able to find a JSSE-specific mailing list.</div><div><br></div><div>Thanks,</div><div><br></div><div>--Patrick</div>

<div><br></div></div><br>_______________________________________________<br>
cryptography mailing list<br>
<a href="mailto:cryptography@randombit.net">cryptography@randombit.net</a><br>
<a href="http://lists.randombit.net/mailman/listinfo/cryptography" target="_blank">http://lists.randombit.net/mailman/listinfo/cryptography</a><br>
<br></blockquote></div><br></div>