I am trying to build a VPN in Go lang to learn about VPN in general.
Here are steps to build one:
- Set up a secure communication channel:
- Use openssl to create cert.pem and key.pem
- Set TLS connection via certificate
- Create Client-Server Model:
- Code server.go
- Code client.go
- Implement a symmetric key encryption (AES) for data transfer.
- Use RSA for Key Exchange
- Others... still figuring out.