Horde/IMP authentication to Cyrus via client certificates?

Kevin P. Fleming kpfleming at starnetworks.us
Wed Feb 16 23:18:07 EST 2005


I'm trying to come up with a configuration of Horde/IMP and Cyrus 2.2.x 
that will be easy to use and easy to manage :-) (I've got a number of 
these systems to set up).

So far, I have been successful using client certificates to identify 
users to Apache 2.0.x, and using a custom Horde auth module I can pass 
that identity information into Horde (and all its apps except IMP) 
without trouble. This is nice, it keeps the users from having to "log 
in" to Horde, as long as they are using a browser where they have 
installed the certificate that I supply them they are all set.

However, IMP needs to be able to log in to Cyrus IMAP, and that's where 
things break down. Even though Cyrus IMAP supports IMAP-over-TLS, which 
uses a certificate to identify the server, it does not appear that it 
knows anything about client certificates (to say nothing of the fact 
that I'd have to hack c-client to allow it to send the client 
certificate to Cyrus, but I can do that). Ideally I'd like to be able to 
connect to the IMAP port, issue STARTTLS, supply a client certificate 
and have it validated the same way that Apache does, and once that is 
done I have both a TLS encrypted session _and_ I'm already logged into 
IMAP with the email address embedded in my certificate being my 
authenticated/authorized name.

I will also need to support password-based authentication for cases 
where the user is not using a browser with their custom certificate 
installed, but since they will be doing so 99% of the time I'd like to 
avoid them having to enter a username/password to get into Horde/IMP.

Any thoughts on how difficult it would be to get Cyrus IMAP to accept a 
client certificate, validate it and automatically "log in" the user once 
that is done? I'll happily contribute the code back to CMU if I get it 
working, but I though I'd ask the gurus for their opinions before I 
tried to tackle it :-)
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list