Skip to main content

Posts

Showing posts with the label TLS

Building git 2.6 and enabling TLS 1.2 on CentOS 7

There are scenarios where TLS 1.2 is not just enabled, but the only one accepted. In these cases many clients fail to connect over HTTPS. I needed to be able to use 'git clone https://...' on CentOS 7, and since it was failing and I spent some time on a work around, I'm sharing it here. The system is a CentOS 7 host on DigitalOcean, with kernel Linux 3.10.0-123.8.1.el7.x86_64 git is 1.8.3 , the stock version nss is 3.19.1-5.el7_1 If I do something like curl  --tlsv1.2  https://freeswitch.org the connection is successful, but a command like GIT_CURL_VERBOSE=1 git clone  https://freeswitch.org/stash/ scm/fs/freeswitch.git was giving a connection error with this code: NSS error -12190 (SSL_ERROR_PROTOCOL_VERSION_ ALERT) (freeswitch.org only accepts TLSv1.2). Long story short, I read somewhere that git 2.6 had support for configuring TLSv1.2, and I downloaded the source code of git 2.6.0 from  https://www.kernel.org/ pub/software/...

WebSockets over Node.js: from Plain to Secure

On a previous post I shared my experiments with node.js as a WebSocket server. This is quite useful for people working on WebRTC prototypes and familiar with node.js. Some of the readers may have noticed that I was using plain WebSockets ('ws://' URLs). It's recommended to use Secure WebSockets instead ('wss://' URLs), so I thought of playing with the 'ws' node.js module and "add TLS". On github there's an example in this direction (see below), but I must admit I didn't understand some implications at first. I thought the instantiation of an HTTPS server was just coincidental and meant to provide the web pages and scripts in the example, and that the configuration of 'ws' with 'ssl: true' and certificates was independent. It turns out it's not. The best description of my understanding is that you need an HTTPS server to "decorate" the WebSocket module. The HTTPS server will take care of connectio...