]> Pileus Git - ~andy/fetchmail/blob - README.SSL-SERVER
Bump version to 6.4.4, and mention Japanese translation update.
[~andy/fetchmail] / README.SSL-SERVER
1 SSL server requirements
2 -----------------------
3
4 This document is meant for Internet service providers as a check-list.  If
5 fetchmail refers you to it, mail this file to the support address for the
6 server that caused the reference.
7
8 In order to let any mail client (not just fetchmail) verify server certificates 
9 properly, so that users can be sure their connection is not eavesdropped, there 
10 are several requirements that need to be fulfilled.
11
12 1. Match certificate and DNS names:
13
14    The server certificate's "common name" or "subject alternative name" must 
15    match the name by which clients are connecting. Avoid the use of wildmats if 
16    possible, not all clients support them (fetchmail does).
17
18    This may sound trivial, but for load balancing and failover setups, it may  
19    not be obvious.
20
21 2. Provide the *full* certificate chain
22
23    Many SSL documents tell you to install the server certificate, silently 
24    assuming that it were directly signed by a trusted root certification 
25    authority (CA).
26
27    If your server certificate is not directly signed by the root certification 
28    authority (root CA), then you are using an intermediate CA. In this case,
29    you *MUST* (as per the TLS standard) provide *ALL* intermediate
30    certificates.
31
32    If you fail to provide intermediate certificates, clients can only connect 
33    if the end user overrides/disables security warnings in his/her software, 
34    and this disables the detection of eavesdroppers.
35
36    The intermediate CA certificates must be issued after the server's 
37    certificate in proper order, that is:
38    first the intermediate CA cert that signed the servers' certificate, then 
39    the intermedate CA cert that signed the previous intermediate CA, and all 
40    the way back to the root CA cert (which you should omit).
41
42    You can optionally add the root CA certificate, but this is redundant, as 
43    the client needs to have that installed anyways (see 3 below) in its store 
44    of trusted root certification authorities in order to verify certificates 
45    that this root CA has signed.
46
47    For software that does not offer "chain certificate" options, but that 
48    supports reading certificates in PEM format, it is usually sufficient to 
49    concatenate all the certs in proper order (again, from server to root).
50
51 3. Provide the *root* CA's certificate separately.
52
53    Provide the root CA's certificate in a place where your end users will 
54    quickly and easily find it, or provide a link to it. Depending on which mail 
55    software your clients use, it may not be pre-installed, and users require 
56    this root CA to verify your SSL server certificate, and possibly 
57    intermediate certificates.
58
59    This is particularly important if you're using local self-signed 
60    certificates, as these are never preinstalled into end-users clients.
61
62    Your technical support team should have the finger prints of this root CA 
63    readily available at least in MD5 and SHA1 formats and offer to clients and 
64    be ready to answer client questions as to the fingerprints (for 
65    verification) and installation in commonly used clients.
66
67    Many systems will install the Mozilla root certificate bundle in an
68    easy to find place, so if you are signing your certificates by a CA
69    that Mozilla trusts, this helps many users.