Hi list,

I've created a small CA hierarchy using OpenSSL with the following
structure:

                                  Root CA
                            _____/       \_____
                           /                   \
                Mail sub-CA                     Other sub-CA
                 /       \
                /         \
       Server sub-CA    Client sub-CA
          /     \            /     \
     Server1  Server2   Client1  Client2


This is certainly over-engineered for my small setup, but I wanted to
create a toolbox to create a full-fledged PKI... whatever.

I use the following straightforward configuration:
- On the server:
% smtpd_tls_security_level = may
% smtpd_tls_cert_file = Server.pem
% smtpd_tls_key_file = Server.key
% smtpd_tls_CAfile = Client_SubCA_chain.pem
% smtpd_tls_ask_ccert = yes
% smtpd_tls_loglevel = 1

- On the client:
% smtp_tls_security_level = may
% smtp_tls_cert_file = Client.pem
% smtp_tls_key_file = Client.key
% smtp_tls_CAfile = Server_SubCA_chain.pem
% smtp_tls_loglevel = 1

It works.  Postfix logs that the connection is "Trusted".  Woohoo!
However, I'm a little bit confused about the certificates accepted.

I've swept through RFC 2459 and as I understand the fourth paragraph of
section 6, the certification path validation must begin with a
self-signed certificate.  This mean that smtpd_tls_CAfile must contains
all certificates from RootCA to Server sub-CA.  Therefore if a client
provides a certificate issued by the Mail sub-CA or the Root CA
directly, it will work.  What's the way to prevent this?  Of course, as
the owner of the PKI, I could ensure that such certificates would never
be issued.  But is there any technical mean to prevent this?

By the way, I have the feeling this could be done using a server-side
policy map similar to smtp_tls_policy_maps but there is certainly a good
reason for this setting to not exist, though I don't see why.

Thanks for your help.
Regards,
-- 
Jeremie Le Hen

Humans are born free and equal.  But some are more equal than others.
                                            -Coluche

Reply via email to