{"id":16301914,"url":"https://github.com/nxadm/certmin","last_synced_at":"2025-03-03T12:30:41.463Z","repository":{"id":53580201,"uuid":"327957830","full_name":"nxadm/certmin","owner":"nxadm","description":"Minimal Certificate Tool","archived":false,"fork":false,"pushed_at":"2023-03-07T01:41:16.000Z","size":300,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-16T09:51:08.691Z","etag":null,"topics":["certificate","chain","go","golang","key","minimalistic","no-runtime-dependencies","openssl","ssl","tls","verify"],"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/nxadm.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-08T16:39:45.000Z","updated_at":"2025-01-29T20:49:56.000Z","dependencies_parsed_at":"2024-06-19T16:35:00.461Z","dependency_job_id":null,"html_url":"https://github.com/nxadm/certmin","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxadm%2Fcertmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxadm%2Fcertmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxadm%2Fcertmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxadm%2Fcertmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nxadm","download_url":"https://codeload.github.com/nxadm/certmin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241664350,"owners_count":19999473,"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":["certificate","chain","go","golang","key","minimalistic","no-runtime-dependencies","openssl","ssl","tls","verify"],"created_at":"2024-10-10T20:55:55.157Z","updated_at":"2025-03-03T12:30:41.075Z","avatar_url":"https://github.com/nxadm.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# certmin\n![CI](https://github.com/nxadm/certmin/workflows/ci/badge.svg)[![Go Reference](https://pkg.go.dev/badge/github.com/nxadm/certmin.svg)](https://pkg.go.dev/github.com/nxadm/certmin)\n\n## Description\n\ncertmin is a small, minimalistic library with high level functions\nfor X509 certificates (SSL). It supports certificates and keys with \nPEM and DER encoding in PKCS1, PKCS5, PKCS7, PKCS8 and PKCS12\ncontainers. Available functions include decoding and encoding of\ncertificates and keys, verify certificates against chains and\nverify a certificate against a key. Utilities include checking \nif a cert is a root CA, finding the leaf certificate,  split certs,\nsort chains in intermediates and roots and retrieving of certificates\nand chains. See: [API documentation at pkg.go.dev](https://pkg.go.dev/github.com/nxadm/certmin).\n\nThere is also a companion [certmin CLI application](https://github.com/nxadm/certmin/cmd/certmin)\nthat consumes many of the functionalities of the library:\n\n```\n$ ./certmin\ncertmin, 0.5.11. A minimalist certificate utility.\nSee https://github.com/nxadm/certmin for more information.\n\nUsage:\n  certmin skim cert-location1 [cert-location2...] \n    [--leaf|--follow] [--no-roots]\n    [--sort|--rsort] [--once] [--keep] [--no-colour]\n  certmin verify-chain cert-location [cert-location2...]\n    [--root=ca-file1 --root=ca-file2...]\n    [--inter=inter-file1 --inter=inter-file2...]\n    [--leaf|--follow] [--no-roots]\n    [--sort|--rsort] [--keep] [--no-colour]\n  certmin verify-key key-file cert-location1 [cert-location2...]\n    [--keep] [--no-colour]\n  certmin [-h]\n  certmin [-v]\n\nCertificate locations can be local files or remote addresses. Remote locations\ncan be a hostname with optionally a port attached by \":\" (defaults to port\n443) or an URL (scheme://hostname for known schemes like https, ldaps, smtps,\netc. or scheme://hostname:port for non-standard ports). When verifying a\nchain, the OS trust store will be used if no roots certificates are given as\nfiles or remotely requested. \n\nActions:\n  skim         | sc : skim certificates (including bundles).\n  verify-chain | vc : match certificates again its chain(s).\n  verify-key   | vk : match keys against certificate(s).\n\nGlobal options (optional):\n  --leaf      | -l  : show only the local or remote leaf, not the chain.\n  --no-roots  | -n  : don't retrieve root certificates.\n  --follow    | -f  : follow Issuer Certificate URIs to retrieve chain.\n  --root      | -r  : root certificate file(s).\n  --inter     | -i  : intermediate certificate file(s).\n  --sort      | -s  : sort the certificates and chains from leaf to root.\n  --rsort     | -z  : sort the certificates and chains from root to leaf.\n  --once      | -o  : if within a location several certificates share an\n                      intermediate/root, don't show certificates more than\n                      once to visually complete the chain. If \"rsort\" not\n                      given it enables \"sort\".  \n  --keep      | -k  : write the requested certificates and chains to files\n                      as PKCS1 PEM files (converting if necessary). \n  --no-colour | -c  : don't colourise the output.\n  --help      | -h  : this help message.\n  --version   | -v  : version message.\n```\n\n## Installation\n\ncertmin is available using the standard `go get` command.\n\nInstall by running:\n\n    go get github.com/nxadm/certmin\n   \nThe CLI tool can be installed by running:\n\n    go get github.com/nxadm/certmin/cmd/certmin\n\n## Usage\n\ncertmin can be loaded by a regular import:\n\n``` go\nimport \"github.com/nxadm/certmin\"\n```\n\n## API\n\nRead the API documentation at [pkg.go.dev](https://pkg.go.dev/github.com/nxadm/certmin).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnxadm%2Fcertmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnxadm%2Fcertmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnxadm%2Fcertmin/lists"}