command
module
Version:
v0.0.0-...-4ea3ae0
Opens a new window with list of versions in this module.
Published: Jan 26, 2022
License: MIT
Opens a new window with license information.
Imports: 2
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
TLS Experiment
Minimal TLS 1.2 Client Handshake implementation in Go. The project was implemented for academic purpose.
Support
- The project can be easily extended with more cipher suites. At the moment it has support only for
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
.
- Each TLS structure can be visualized in JSON format.
Workflow
- Creates
Client Hello
- Receives and parses
Server Hello
, Server Certificate
, Server Key Exchange
, Server Hello Done
- Generates and sends
Client Key Exchange
- Calculates
Client Encryption Keys
- Sends
Client Change Cipher Spec
, Client Handshake Finished
- Receives and parses
Server Change Cipher Spec
, Server Handshake Finished
- Encrypts a raw HTTP request and sends
Client Application Data
- Receives
Server Application Data
- Decrypts the HTTP response
Links
Documentation
¶
There is no documentation for this package.
Source Files
¶
Directories
¶
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
|
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446. |
Click to show internal directories.
Click to hide internal directories.