Tuesday, May 7, 2024

IoC - DI


Inversion of Control (IoC) design is achieved using service locator, factory pattern or Dependency Injection (DI).  DI is the recent framework to build in the modern application framework.

As depicted in the diagram, DI has 4 core elements

  1. Client - dependent role
  2. Server - functionality provider 
  3. Injector - creates server instances to client
  4. Interface - communication contract between client and server

DI decouples objects from their dependencies by receiving from an external source - not with direct implementations.

Multiple ways of dependency injection implementations are available in github https://github.com/gsenthilvel/InversionOfControl 

Top-3 advantages

  1. Loosely coupled
  2. Unit testability
  3. Scalability

Top-3 disadvantages

  1. Complexity to develop
  2. Reduced transparency
  3. Overhead to troubleshoot/debug


Sunday, May 5, 2024

TLS-1.2 Architecture


The architecture of TLS (Transport Layer Security) 1.2, is defined in RFC 5246. As defined in the given diagram, TLS 1.2 has 4 phases of execution.

1. Record TCP check

It serves as the underlying transport mechanism for TLS, which is responsible for encapsulation of higher-level protocols

2. Certificate Exchange

In mutual authentication scenarios, client and server exchanges and verifies certificates to generates shared keys.

3. Key Exchange

The communication is based on the chosen cipher suite. The client and server then generate a pre-master secret and exchange it securely.

4. Final Data Transmission

Both the client and server connect with encrypted derived keys, to confirm that the handshake. It enables to continue the client request and server response in secured way.

Source code is demonstrated using C# in github repo at gsenthilvel/tls-demo (github.com)

Saturday, May 4, 2024

SSL TLS End of Life


In the world of secured HTTP protocol (HTTPS), Secure Socket Layer (SSL) and Transport Layer Security (TLS) plays a vital role in the network industry.

SSL is a cryptographic protocol, which extends HTTP to authenticate internet connections and enable encryption and SSL decryption for data communication over a network. 

SSL 1.0

  • Release: SSL 1.0 was never publicly released due to serious security flaws.

SSL 2.0

  • Release in 1995
  • End of Life: The Internet Engineering Task Force (IETF) officially deprecated in 2011 through RFC 6176.

SSL 3.0

  • Release in 1996
  • End of Life: June 2015 through RFC 7568.


TLS is a direct evolution of SSL and introduced to address security vulnerabilities in the earlier protocol.

TLS 1.0

  • Release in January 1999
  • End of Life: IETF recommended deprecating TLS 1.0 in 2018. Major browsers like Google Chrome, Mozilla Firefox, Microsoft Edge, and Safari officially ended support in 2020.

TLS 1.1

  • Release in April 2006
  • End of Life: IETF in 2018, with major browsers in 2020.

TLS 1.2

  • Release in August 2008
  • End of Life: Now, it is widely supported; but recommended to TLS 1.3 for which adoption increases.

TLS 1.3

  • Release in August 2018
  • End of Life: Not applicable as it is current standards


Friday, May 3, 2024

Ubuntu 24.04 LTS


Yday Canonical announced the availability of Landscape’s first LTS release. 

Today, it was required to upgrade/replace the end-of-life version Ubuntu 16.04.2 LTS at my work.  As sync, it's a great opportunity to explore the latest and greatest version Ubuntu 24.04 LTS

Landscape 24.04 LTS features a new versioned API, a new web portal with accessibility and performance in mind, and intuitive controls for software distribution. It comprises Landscape Server and Landscape Client. 

With a modernized backend and web portal in place, engineering teams can work efficiently, focusing on patches and new features.

Fact sheet is available at https://pages.ubuntu.com/rs/066-EOV-335/images/Landscape%20DS%20v3%205.4.2024.pdf?version=0&_gl=1*ux7hxq*_gcl_au*NDc5NjcxODM3LjE3MTQ3OTAwMDk.&_ga=2.140511158.548493742.1714790009-980279757.1714790009

This new version is not just faster, but also a fortress system.  Welcome to Noble Numbat!