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.
- Host: GitHub
- URL: https://github.com/denismurphy/secure-https-client-mtls
- Owner: denismurphy
- Created: 2024-09-05T08:54:44.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-05T09:44:58.000Z (10 months ago)
- Last Synced: 2024-11-30T18:47:31.612Z (7 months ago)
- Topics: c, client-certificate-authentication, cmake, https, mbedtls, mtls
- Language: C
- Homepage:
- Size: 6.84 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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