{"id":17049870,"url":"https://github.com/jackspirou/syscerts","last_synced_at":"2025-09-07T21:43:33.838Z","repository":{"id":55444816,"uuid":"53067771","full_name":"jackspirou/syscerts","owner":"jackspirou","description":"Gather local system certificates in Go.","archived":false,"fork":false,"pushed_at":"2020-12-30T13:32:12.000Z","size":183,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-15T09:55:52.333Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jackspirou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-03T17:02:12.000Z","updated_at":"2020-12-31T16:21:29.000Z","dependencies_parsed_at":"2022-08-15T00:30:23.484Z","dependency_job_id":null,"html_url":"https://github.com/jackspirou/syscerts","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/jackspirou%2Fsyscerts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackspirou%2Fsyscerts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackspirou%2Fsyscerts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackspirou%2Fsyscerts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackspirou","download_url":"https://codeload.github.com/jackspirou/syscerts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":220599509,"owners_count":16673697,"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-14T09:55:35.028Z","updated_at":"2024-10-19T19:06:39.860Z","avatar_url":"https://github.com/jackspirou.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# syscerts\nGather local system certificates in Go via a public `SystemRootsPool` method.\n\n#### What does this do?\nProvide a way to gather local system certificates\non different OS platforms.\n\n#### How does it do it?\nIt uses the `crypto/x509` package and provides a single public method called\n`SystemRootsPool()` to return a `*x509.CertPool` object.\n\n#### How do you use it?\n```Go\n// gather CA certs\ncertpool := syscerts.SystemRootsPool()\n\n// place them in an HTTP client for trusted SSL/TLS connections\ntlsConfig := \u0026tls.Config{RootCAs: certpool}\ntransport := \u0026http.Transport{TLSClientConfig: tlsConfig}\nclient := \u0026http.Client{Transport: transport}\n\n// make a request\nresp, err := client.Do(req)\n```\n\n#### Why even do it?\nThe `crypto/x509` package already has a `systemRootsPool` method.\nThe `crypto/x509.systemRootsPool` method is almost the same as\n`github.com/jackspirou/syscerts.SystemRootsPool`.\nThe difference? The `crypto/x509.systemRootsPool` method is private so you\ncannot access it. :(\n\nThere are plans for the `crypto/x509.systemRootsPool` method to become public\nin Go 1.7. When this happens you might no longer need `github.com/jackspirou/syscerts.SystemRootsPool`.\n\nThe only reason you may still use this package after the Go 1.7 release might\nbe for the Mac OSX System Keychain certs which are not included in the\n`crypto/x509` package. Relevant lines below:\n\n* https://github.com/jackspirou/syscerts/blob/master/root_darwin.go#L24-L32\n\nFind more about this Go issue here: https://github.com/golang/go/issues/13335\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackspirou%2Fsyscerts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackspirou%2Fsyscerts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackspirou%2Fsyscerts/lists"}