{"id":27380097,"url":"https://github.com/sky93/aaguid-information-generator","last_synced_at":"2025-08-08T01:30:28.092Z","repository":{"id":287601304,"uuid":"965070886","full_name":"sky93/aaguid-information-generator","owner":"sky93","description":"Updated AAGUID Information for your Webauthn projects.","archived":false,"fork":false,"pushed_at":"2025-04-12T18:04:42.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T19:22:08.205Z","etag":null,"topics":["aaguid","fido2","go","golang","webauthn"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sky93.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,"zenodo":null}},"created_at":"2025-04-12T10:50:16.000Z","updated_at":"2025-04-12T18:04:30.000Z","dependencies_parsed_at":"2025-04-12T19:22:10.768Z","dependency_job_id":"f41be5b5-2152-4a26-8103-c778637c8f0f","html_url":"https://github.com/sky93/aaguid-information-generator","commit_stats":null,"previous_names":["sky93/aaguid-information-generator"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky93%2Faaguid-information-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky93%2Faaguid-information-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky93%2Faaguid-information-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky93%2Faaguid-information-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sky93","download_url":"https://codeload.github.com/sky93/aaguid-information-generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248685149,"owners_count":21145215,"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":["aaguid","fido2","go","golang","webauthn"],"created_at":"2025-04-13T14:19:02.519Z","updated_at":"2025-04-13T14:19:03.034Z","avatar_url":"https://github.com/sky93.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AAGUID Information Generator\n\nThis repository contains a command-line utility that fetches the [FIDO Alliance Metadata Service (MDS3)](https://mds.fidoalliance.org/) and [Passkey Provider AAGUIDs](https://github.com/passkeydeveloper/passkey-authenticator-aaguids) and generates a static Go map of **AAGUID → Entry** objects. These objects capture various authenticator metadata entries as defined by the [FIDO specifications](https://fidoalliance.org/specifications/).\n\n## Overview\n\n- **`main.go`** — The generator tool that:\n    1. Downloads the MDS3 JWT and Passkey Provider AAGUIDs\n    2. Verifies the JWT signature (using x5c cert chain) for MDS3\n    3. Extracts the JSON payload and unmarshals it\n    4. Builds a static map (`map[string]Entry`)\n    5. Writes two files (`types.go`, `metadata.go`) under user provided location. By default `internal/aaguids/`.\n\n- **`internal/aaguids/types.go`** — Contains the Go types for describing authenticator metadata, enumerations, and status objects.\n- **`internal/aaguids/metadata.go`** — Contains the `metadata` map literal of **AAGUID → Entry**, generated automatically by the tool. Also includes helper functions (`GetEntry`) to retrieve metadata for a particular AAGUID.\n\n## Installation\n\n```bash\ngo install github.com/sky93/aaguid-information-generator@latest\n```\n\nThis installs the `aaguid-information-generator` command into your Go toolchain.\n\n## Usage\n\nYou can simply run the command below in your project root directory:\n\n```bash\naaguid-information-generator -o=internal/\n```\n\nAnd you will have:\n\n- `internal/aaguids/types.go` (if not already present)\n- `internal/aaguids/metadata.go` updated with the latest data from MDS3\n\nThen you can use it like below:\n\n```go\ndata, exists := aaguids.GetEntry(\"AUTHENTICATOR_AAGUID\")\n```\n\n## Security Considerations\n\n1. **MDS Trust**  \n   The FIDO MDS root of trust is the FIDO Alliance certificate authority. By default, this tool verifies the JWT’s x5c chain using system trust. You can add custom logic if you have stricter pinning requirements.\n\n2. **Updates**  \n   FIDO MDS is updated over time. (Typically once per month.) By running `aaguid-information-generator` again, you ensure you have the newest data. Check `BLOBPayload.NextUpdate` in the code if you want an automatic refresh schedule.\n\n3. **AAID vs AAGUID**  \n   This generator focuses on FIDO2 AAGUIDs. UAF-based entries with `AAID` only (no AAGUID) are generally skipped. If you need to handle UAF or U2F certificate key identifiers, you can customize the code.\n\n## License\n\n[MIT License](LICENSE)\n\n---\n\n**Enjoy generating and embedding up-to-date authenticator metadata for your FIDO2/WebAuthn ecosystem!**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky93%2Faaguid-information-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsky93%2Faaguid-information-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky93%2Faaguid-information-generator/lists"}