{"id":16612889,"url":"https://github.com/ttys3/go-mtls-example","last_synced_at":"2026-04-21T11:07:32.993Z","repository":{"id":101550236,"uuid":"443360582","full_name":"ttys3/go-mtls-example","owner":"ttys3","description":"go mtls example","archived":false,"fork":false,"pushed_at":"2024-12-10T17:36:43.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T15:42:35.989Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ttys3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-31T14:15:32.000Z","updated_at":"2024-12-10T17:36:47.000Z","dependencies_parsed_at":"2025-01-17T15:36:49.351Z","dependency_job_id":null,"html_url":"https://github.com/ttys3/go-mtls-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttys3%2Fgo-mtls-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttys3%2Fgo-mtls-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttys3%2Fgo-mtls-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttys3%2Fgo-mtls-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ttys3","download_url":"https://codeload.github.com/ttys3/go-mtls-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242917698,"owners_count":20206515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T01:45:15.152Z","updated_at":"2026-04-21T11:07:27.971Z","avatar_url":"https://github.com/ttys3.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-mtls-example\n\na simple https client and server example to demonstrate the Mutual TLS authentication\n\n## What is mutual TLS (mTLS)?\n\nref: https://www.cloudflare.com/learning/access-management/what-is-mutual-tls/\n\n**Mutual TLS**, or **mTLS** for short, is a method for mutual authentication. mTLS ensures that the parties at each end of a network connection are who they claim to be by verifying that they both have the correct private key. The information within their respective TLS certificates provides additional verification.\n\nmTLS is often used in a Zero Trust security framework* to verify users, devices, and servers within an organization. It can also help keep APIs secure.\n\n*Zero Trust means that no user, device, or network traffic is trusted by default, an approach that helps eliminate many security vulnerabilities.\n\n## Refs\n\nA Complete Guide to Securely Connecting Go Servers and Clients Using Mutual TLS https://smallstep.com/hello-mtls/doc/combined/go/go\n\nConfiguring Your Go Server for Mutual TLS https://smallstep.com/hello-mtls/doc/server/go\n\nUsing Mutual TLS on the Client Side with Curl https://smallstep.com/hello-mtls/doc/client/curl\n\nGenerating self-signed root CA certificate and private key\nhttps://github.com/cloudflare/cfssl#generating-self-signed-root-ca-certificate-and-private-key\n\n\nGenerating a local-issued certificate and private key\nhttps://github.com/cloudflare/cfssl#generating-a-local-issued-certificate-and-private-key\n\nmTLS on production usage: https://learn.hashicorp.com/tutorials/nomad/security-enable-tls#node-certificates\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fttys3%2Fgo-mtls-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fttys3%2Fgo-mtls-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fttys3%2Fgo-mtls-example/lists"}