An open API service indexing awesome lists of open source software.

https://github.com/denismurphy/secure-https-client-mtls

HTTPS client implementation in C using mutual TLS (mTLS) authentication.
https://github.com/denismurphy/secure-https-client-mtls

c client-certificate-authentication cmake https mbedtls mtls

Last synced: 7 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# ๐Ÿ”’ 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:

```bash
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