./security/tlswrapper, UCSPI/inetd-style TLS encryption wrapper

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 20220114, Package name: tlswrapper-20220114, Maintainer: schmonz

tlswrapper is an TLS encryption wrapper between remote client and local
program prog. Systemd.socket/inetd/tcpserver/... creates the server
connection, tlswrapper encrypts/decrypts data stream and reads/writes
data from/to the program prog as follows:

Internet <--> systemd.socket/inetd/tcpserver/... <--> tlswrapper <--> prog

By running separate instance of tlswrapper for each TLS connection, a
vulnerability in the code (e.g. bug in the TLS library) can't be used to
compromise the memory of another connection.

To protect against secret-information leaks to the network connection
(such Heartbleed) tlswrapper runs two independent processes for every
TLS connection. One process holds secret-keys and runs secret-keys
operations and second talks to the network. Processes communicate with
each other through UNIX pipes.


Master sites:


Version history: (Expand)


CVS history: (Expand)


   2022-01-15 20:04:24 by Amitai Schleier | Files touched by this commit (8) | Package removed
Log message:
Update to 20220114. From the changelog:

- added "experimental" support for delayed encryption (option -nN)
- add tlswrapper-smtp (STARTTLS support for old inetd-style SMTP servers)
   2022-01-04 23:10:37 by Amitai Schleier | Files touched by this commit (8)
Log message:
Fix build on BSDs and Solarish.
   2022-01-04 22:39:03 by Amitai Schleier | Files touched by this commit (4)
Log message:
Add tlswrapper, an UCSPI/inetd-style TLS encryption wrapper.

tlswrapper is an TLS encryption wrapper between remote client and local
program prog. Systemd.socket/inetd/tcpserver/... creates the server
connection, tlswrapper encrypts/decrypts data stream and reads/writes
data from/to the program prog as follows:

Internet <--> systemd.socket/inetd/tcpserver/... <--> tlswrapper \ 
<--> prog

By running separate instance of tlswrapper for each TLS connection, a
vulnerability in the code (e.g. bug in the TLS library) can't be used to
compromise the memory of another connection.

To protect against secret-information leaks to the network connection
(such Heartbleed) tlswrapper runs two independent processes for every
TLS connection. One process holds secret-keys and runs secret-keys
operations and second talks to the network. Processes communicate with
each other through UNIX pipes.