This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: "Stunnel" – news · newspapers · books · scholar · JSTOR (January 2024) (Learn how and when to remove this template message),This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Stunnel" – news · newspapers · books · scholar · JSTOR (January 2024) (Learn how and when to remove this template message) (Learn how and when to remove this template message)

Developer(s)Michał Trojnara
Initial release10 December 1998; 25 years ago (1998-12-10)[citation needed]
Stable release
5.69 / 4 March 2023; 10 months ago (2023-03-04)[1]
Written inC[2]
Operating systemMulti-platform
TypeProxy, Encryption
LicenseGNU General Public License Edit this at Wikidata

Stunnel is an open-source multi-platform application used to provide a universal TLS/SSL tunneling service.

Stunnel is used to provide secure encrypted connections for clients or servers that do not speak TLS or SSL natively.[3] It runs on a variety of operating systems,[4] including most Unix-like operating systems and Windows. Stunnel relies on the OpenSSL library to implement the underlying TLS or SSL protocol.

Stunnel uses public-key cryptography with X.509 digital certificates to secure the SSL connection, and clients can optionally be authenticated via a certificate.[5]

If linked against libwrap, it can be configured to act as a proxyfirewall service as well.[citation needed]

Stunnel is maintained by Polish programmer Michał Trojnara and released under the terms of the GNU General Public License (GPL) with OpenSSL exception.[citation needed]


A stunnel can be used to provide a secure SSL connection to an existing non-SSL-aware SMTP mail server. Assuming the SMTP server expects TCP connections on port 25, the stunnel would be configured to map the SSL port 465 to non-SSL port 25. A mail client connects via SSL to port 465. Network traffic from the client initially passes over SSL to the stunnel application, which transparently encrypts and decrypts traffic and forwards unsecured traffic to port 25 locally. The mail server sees a non-SSL mail client.[citation needed]

The stunnel process could be running on the same or a different server from the unsecured mail application; however, both machines would typically be behind a firewall on a secure internal network (so that an intruder could not make its own unsecured connection directly to port 25).[citation needed]

See also


  1. ^ Trojnara, Michał. "Downloads". Stunnel. Retrieved 4 March 2023.
  2. ^ Trojnara, Michał. "stunnel sources". GitHub. Retrieved 12 May 2020.
  3. ^ O'Donovan, Barry (October 2004). "Secure Communication with Stunnel". Linux Gazette, Issue 107.
  4. ^ ""stunnel: Ports"". Archived from the original on 1 April 2019. Retrieved 24 August 2020.
  5. ^ "stunnel(8) manual"