RL 'Bob' Morgan wrote:
Heikki Toivonen wrote:

I just enabled the final piece in the SSL support for IMAP and SSL. We
now check the X.509 certificate that was returned by the server and make
sure that the host it was issued to is the same host we connected to.

Just to make sure: the name that your client should be comparing with (ie, the one it has, as opposed to one of the names it finds in the cert) is the name "as entered by the user" or otherwise obtained by the

Yes, that is what I believe is implemented right now. That's one thing that we need to either devise a test for and/or confirm this in an audit.

Also, in terms of what's in the cert, it's important to provide support
for getting the name from the subjectAltName field as well as the more

Yes, there's support for that already. Only one subjectAltName is supported at the moment, though (several could be specified in the certificate).

usual (but unfortunately entirely bogus from a spec point of view)
CN-in-the-Subject-DN.  Also worth noting that behavior is undefined if
there happens to be more than one CN RDN in the Subject DN; probably the
right thing to do is to check against the last one in the sequence.

I've heard some others checking only first one in case it is unclear what to do.

I would avoid doing a case-sensitive check, it can only lead to
mysterious problems.  That said, I have no idea how IDN affects this

You mean upper/lowercasing string before comparison could produce different results? The only character that I know of with this problem is the Turkish I (I don't remember the exact rules, but going from lower case i to upper case I and back will get you different letter than going from upper case I to lower and back - or something like that). Anyway, as far as I understand the spec does require case insensitive comparison, so that is what is now implemented (first converted to lower case, then compared).

practice, I'm sure the right thing in the long run is to do an
octet-string match, but in the meantime I don't think we want to have to
figure out failure cases where the user entered "Foo.Bar.Edu" as the
hostname for some reason.

IDN is a whole can of worms that I haven't paid any attention to yet. I don't know when IDN support is even in the plans for Chandler (for example Internet Explorer does not support IDN although there is a plugin from Verisign that enables them for IE).

IDN causes security problems in browsers, see
http://www.shmoo.com/idn/homograph.txt. Some are of the opinion that the
problem is not in browsers but organizations that give out domain names
and certificates (they should not give out names that can be used to
spoof users).

But what I really want to write about is the multiple host thing.
Unfortunately wildcard behavior is also not well-standardized, but it is
also common practice.  At our site we depend on the ability to tell
users to configure their clients to go to
<username>.mailserver.washington.edu, have DNS resolve to the address of
their mailserver, have all the servers use a *.mailserver.washington.edu
cert, and have clients accept that as matching their user-entered
service name.  As far as I know this works with all IMAP clients we've
tried (some of which has required complaints to vendors in the past).

I suspect that code varies a lot on exactly which wildcard forms are
supported ( *.foo.bar.com, *foo.bar.com, *.*.bar.com, etc), and I don't
believe there's a single written-down spec to follow, but I believe that
at least the *.foo.bar.com style is widely supported and widely used.

I understood from the specs that * can match to the nearest beginning/end of line and/or dot. So m*.example.com would match my.example.com for example. What was not clear to me is if multiple asterisks are allowed. Right now Chandler supports one asterisk that is matched as I explained above (and works with all your samples as well except the one with two asterisks).

--
  Heikki Toivonen


Attachment: signature.asc
Description: OpenPGP digital signature

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to