Skip to content

denismurphy/secure-https-client-mtls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”’ Secure HTTPS Client with mTLS 🌐

HTTPS client implementation in C using mutual TLS (mTLS) authentication.

πŸ”§ How It Works

  1. 🌱 Initializes the TLS context and seeds the random number generator
  2. πŸ“œ Loads and parses certificates and private keys
  3. πŸ”Œ Sets up the network connection and configures SSL settings
  4. 🀝 Performs the SSL/TLS handshake
  5. πŸ“€ Sends an HTTP GET request to the server
  6. πŸ“₯ Receives and displays the server's response
  7. 🧹 Cleans up and frees resources

🚦 Getting Started

To build and run this project:

  1. Ensure you have CMake and a C compiler installed
  2. Clone this repository
  3. Navigate to the project directory
  4. Install mbedTLS
  5. Run the following commands:
mkdir build
cd build
cmake ..
make
./https-mtls

πŸ”’ Security Note

This project demonstrates the use of mTLS for secure communication. In a real-world scenario, you should never hardcode certificates and private keys in your source code. Instead, use secure methods to store and retrieve these sensitive credentials.

πŸ“ License

This project is licensed under the MIT License

About

HTTPS client implementation in C using mutual TLS (mTLS) authentication.

Topics

Resources

Stars

Watchers

Forks