Rebex TLS Proxy is a simple yet powerful TLS server with rich command-line interface. It makes it possible to easily add TLS 1.3/1.2 encryption to existing servers (using HTTP and other protocols), or operate as a TLS 1.0/1.1 proxy for legacy client applications or operating systems with no TLS 1.3/1.2 support.
Hashes of the RebexTlsProxy-v1.0.0.zip package SHA-1: 83690835791bb6e82639dcd7222ae138b655198a SHA-256: b399d8dbd9976ff7552958b7696589c42611039ba91dfa4d882c7c65ee4eb2efSee here how to verify hash code of the instalation package.
tlsproxy installto install and configure the service.
tlsproxyto show a list of supported commands, or check out an example below.
tlsproxy tunnel addcommand.
tlsproxy tunnel add --helpto display possible options.
tlsproxy svc restart.
tlsproxy run(make sure to stop the service first).
Rebex TLS Proxy features include:
pre_shared_keyTLS 1.3 extension)
key_shareextension (TLS 1.3)
X25519and Brainpool elliptic curves
This is the most common usage scenario. Let's say you have a legacy HTTP server running in your DMZ that only supports plain HTTP and HTTPS with TLS 1.0, and that your router is configured to make the HTTPS service accessible to the Internet on port 443.
But TLS 1.0 is rapidly getting deprecated (along with TLS 1.1) by major browsers, and unless you provide TLS 1.3 or TLS 1.2 support, clients will soon be unable to access the legacy HTTP server. Rebex TLS Proxy can help here - install it either alongside the old server, or onto a separate server in your DMZ, and configure it to provide a TLS tunnel with TLS 1.3/1.2 support to your old HTTP server (running at 192.168.1.2, for example):
tlsproxy tunnel add --in 0.0.0.0:443 --in-protocol TLS --out 192.168.1.2:80 --certificate-path c:\data\server-cert.pfx
This will make Rebex TLS Proxy accept TLS connections using TLS 1.3 and 1.2 on port 443. Once each connection has been accepted and a secure TLS session negotiated, the proxy will connect to port 80 of 192.168.1.2 (the old HTTP server) and pass all traffic between the client and the server. Once you configure the router to pass connections on port 443 to the new TLS Proxy instead of the old server, clients that no longer support TLS 1.0 or 1.1 will be able to connect again.
Note: Since TLS encryption is now provided by Rebex TLS Proxy, you also need to make an appropriate certificate available to it. In the sample above, we used a certificate stored in a .PFX file. In practice, using Windows Certificate Store might be a better option.
TLS 1.0 and 1.1 are currently being deprecated by major browser vendors, and using them on the Internet is strongly discouraged. However, many existing legacy systems only support these legacy versions and often cannot be easily upgraded. And as long as those systems are operated within safe private networks or DMZs, they don't pose a security hazard. But these systems usually need to communicate with the outside world as well, which will become problematic once Internet-facing endpoints disable support for TLS 1.0 and 1.1.
Rebex TLS can address these situations as well by serving as an adapter that 'converts' TLS 1.3/1.2 (used by the servers on the Internet) to TLS 1.0/1.1 (used by legacy systems running on your private network):
tlsproxy tunnel add --in 0.0.0.0:443 --in-protocol TLS --in-tls-versions TLS10 --out test.rebex.net:443 --out-protocol TLS --out-tls-versions TLS13 --certificate-path c:\data\my-server-cert.pfx
This will make Rebex TLS Proxy accept TLS 1.0 connections on port 443, and tunnel them to port 443 of test.rebex.net via TLS 1.3.
Note: In order for this to work properly, make sure you are using appropriate host names and certificates. For example, when providing a private 'HTTPS with TLS 1.0' endpoint for a third-party 'HTTPS with TLS 1.3' service, you might have to provide your own replacement certificate signed by a custom certification authority and configure all your legacy HTTPS clients accordingly.
Rebex TLS proxy runs on all recent and some not-so-recent Windows platforms:
Both 32-bit and 64-bit platforms are supported.
Rebex TLS Proxy is free for commercial and non-commercial use. See the End User License Agreement (EULA) for details.
1.0.0 (2020-03-17) - Initial public release.