# denji/golang-tls

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/denji-golang-tls).**

1,329 stars · 159 forks · CC0-1.0

## Links

- GitHub: https://github.com/denji/golang-tls
- Homepage: https://git.io/vSvsI
- awesome-repositories: https://awesome-repositories.com/repository/denji-golang-tls.md

## Topics

`awesome` `go` `golang` `http2` `httpclient` `https` `https-server` `libressl` `openssl` `secure` `security` `security-audit` `security-hardening` `security-scanner` `security-tools` `tools`

## Description

This project provides a collection of practical implementations and code references for establishing secure network communications using transport layer security protocols. It serves as a guide for developers to implement public key infrastructure and enforce encryption standards within client and server applications.

The repository focuses on cryptographic certificate management, including the generation of public and private key pairs and the creation of self-signed certificates for local testing environments. It covers the configuration of secure web servers, offering methods to harden server settings by enforcing specific protocol versions and cipher suites to maintain data privacy and integrity.

The implementation utilizes standard language cryptographic primitives and integrates with system-level certificate stores to verify remote server authenticity. It also provides guidance on managing elliptic curve parameters and parsing digital identity documents to support secure network interactions.

## Tags

### Security & Cryptography

- [Self-Signed Generators](https://awesome-repositories.com/f/security-cryptography/certificate-authorities/client-certificate-generators/self-signed-generators.md) — Creates local cryptographic keys and self-signed certificates for secure development environments. ([source](https://github.com/denji/golang-tls/blob/master/README.md))
- [Cryptography Libraries](https://awesome-repositories.com/f/security-cryptography/cryptography-libraries.md) — Provides a practical implementation library for handling public key infrastructure and encryption.
- [Security & HTTPS](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/web-network-security/security-https.md) — Deploys web services with encrypted communication channels and optimized security settings.
- [TLS Transfer Security](https://awesome-repositories.com/f/security-cryptography/tls-transfer-security.md) — Provides practical code examples and implementation guides for establishing secure network connections and managing certificates using transport layer security protocols.
- [Web Server Hardening](https://awesome-repositories.com/f/security-cryptography/web-server-hardening.md) — Hardens web server security by enforcing modern encryption standards and protocol configurations.
- [Cryptographic Key Management](https://awesome-repositories.com/f/security-cryptography/cryptographic-key-management.md) — Manages cryptographic certificates and key pairs to verify identities across network services. ([source](https://github.com/denji/golang-tls#readme))
- [Secure Network Communication](https://awesome-repositories.com/f/security-cryptography/secure-network-communication.md) — Implements encryption protocols to ensure private and protected network data transmission. ([source](https://github.com/denji/golang-tls#readme))
- [Configuration Hardening](https://awesome-repositories.com/f/security-cryptography/configuration-hardening.md) — Hardens server configurations by enforcing strict protocol versions and cipher suites. ([source](https://github.com/denji/golang-tls/blob/master/README.md))
- [Key Generation Tools](https://awesome-repositories.com/f/security-cryptography/cryptography/key-generation-tools.md) — Provides utilities for generating public and private key pairs for secure communication.
- [Secure Network Connectivity Modules](https://awesome-repositories.com/f/security-cryptography/secure-network-connectivity-modules.md) — Implements encrypted network connectivity modules for secure client-server communication. ([source](https://github.com/denji/golang-tls/blob/master/README.md))
- [Server Certificate Management](https://awesome-repositories.com/f/security-cryptography/security/cryptography-and-secrets/cryptographic-primitives-management/server-certificate-management.md) — Provides tools for generating, parsing, and validating X.509 digital identity documents.
- [Web Server Security Integrations](https://awesome-repositories.com/f/security-cryptography/web-server-security-integrations.md) — Configures web servers to enforce encryption for all incoming network connections. ([source](https://github.com/denji/golang-tls/blob/master/README.md))
- [Elliptic Curve Cryptography](https://awesome-repositories.com/f/security-cryptography/elliptic-curve-cryptography.md) — Implements elliptic curve-based cryptographic operations for secure digital signatures and key exchanges.
- [System Trust Stores](https://awesome-repositories.com/f/security-cryptography/system-trust-stores.md) — Integrates with platform-native certificate stores to verify remote server authenticity.
- [Cryptographic Primitives](https://awesome-repositories.com/f/security-cryptography/cryptography/cryptographic-primitives.md) — Utilizes standard language primitives to implement encryption protocols and secure handshakes.
- [Certificate Authority Managers](https://awesome-repositories.com/f/security-cryptography/cryptography/ssl-tls-certificate-management/certificate-authority-management/certificate-authority-managers.md) — Identifies and manages system-wide certificate authority bundles for trust verification. ([source](https://github.com/denji/golang-tls#readme))

### Part of an Awesome List

- [Hacking Playgrounds & Guides](https://awesome-repositories.com/f/awesome-lists/learning/hacking-playgrounds-guides.md) — Examples demonstrating HTTPS and TLS configuration.

### Networking & Communication

- [Protocol Negotiation Tools](https://awesome-repositories.com/f/networking-communication/protocol-negotiation-tools.md) — Configures secure communication parameters and cipher suites during the handshake process.
