On Mon, Apr 01, 2019 at 10:38:49AM -0400, Viktor Dukhovni wrote: > On Mon, Apr 01, 2019 at 02:09:25PM +0300, Andrei Kovacs wrote: > > > So, if I understand correctly, the configuration for the SNI file if it is > > in hash format should be: > > > > domain1.com static:/path/to/pem1.pem > > domain2.com static:/path/to/pem2.pem > > That makes no sense. You're putting tables inside tables. It is > not turtles all the way down. The correct syntax is: > > main.cf: > indexed = ${default_database_type}:${config_directory}/ > tls_server_sni_maps = ${indexed}sni-chains > > sni-chains: > domain1.example /etc/postfix/sni/domain1.example.pem > domain2.example /etc/postfix/sni/domain2.example.pem > > The "sni-chains" table MUST be created with "postmap -F". It holds > a snapshot of the *content* of the listed files, not their names! > > If you later change the file content, but don't rebuild the table, > the data in the table will remain stale. You'll need to rebuild > the table (again with "postmap -F") whenever you want to start using > new certificates, even if the file names are unchanged. > > The files must always list the private key before the associated > certificate chain. You can list a file with just the key first, > and then the certificate file. An advanced use case is to list > multiple files for the same domain, each with a key and certificate > chain for a different algorithm. Or you can concatenate multiple > chains into a single file (again one per algorithm, with the key > first).
It seems a documentation update is needed, but I'd like to hear whether the above is sufficiently clear, or whether more remains unclear. This may need a new section in TLS_README. Or should we spin off a smaller SNI_README? -- Viktor.