{"id":25190091,"url":"https://github.com/keyfactor/keyfactor-go-client","last_synced_at":"2026-04-02T20:54:36.340Z","repository":{"id":59046163,"uuid":"419495897","full_name":"Keyfactor/keyfactor-go-client","owner":"Keyfactor","description":"Go package that uses the Keyfactor API","archived":false,"fork":false,"pushed_at":"2025-03-21T22:27:34.000Z","size":746,"stargazers_count":3,"open_issues_count":10,"forks_count":2,"subscribers_count":3,"default_branch":"v3","last_synced_at":"2025-03-31T12:58:07.460Z","etag":null,"topics":["golang","keyfactor-api-client"],"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/Keyfactor.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-10-20T21:33:42.000Z","updated_at":"2025-01-16T21:16:33.000Z","dependencies_parsed_at":"2023-10-04T10:15:33.284Z","dependency_job_id":"5d77c3cd-b119-4688-a20c-450493148348","html_url":"https://github.com/Keyfactor/keyfactor-go-client","commit_stats":null,"previous_names":[],"tags_count":90,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keyfactor%2Fkeyfactor-go-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keyfactor%2Fkeyfactor-go-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keyfactor%2Fkeyfactor-go-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keyfactor%2Fkeyfactor-go-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Keyfactor","download_url":"https://codeload.github.com/Keyfactor/keyfactor-go-client/tar.gz/refs/heads/v3","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252932619,"owners_count":21827341,"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":["golang","keyfactor-api-client"],"created_at":"2025-02-09T21:18:54.061Z","updated_at":"2026-04-02T20:54:36.293Z","avatar_url":"https://github.com/Keyfactor.png","language":"Go","readme":"# Keyfactor Command Golang Client (DEPRECATED)\n\nThe Keyfactor Command Golang Client is a Go module that provides abstracted methods of interacting with the Keyfactor API. The primary supported functionality is the creation and modification of SSL/TLS certificates, updating certificate metadata, and creating certificate stores.\n\n## Integration status: Deprecated\nThis client is deprecated as of `2024-09` and will no longer be maintained. Please use the [Keyfactor Command Go Client SDK](https://github.com/Keyfactor/keyfactor-go-client-sdk) for future integrations.\n\n## About the Keyfactor API Client\n\nThis API client allows for programmatic management of Keyfactor resources.\n\n## Support for Keyfactor Command Golang Client\n\nKeyfactor Command Golang Client is open source and there is **no SLA** for this tool/library/client. Keyfactor will address issues as resources become available. Keyfactor customers may request escalation by opening up a support ticket through their Keyfactor representative.\n\n###### To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab.\n___\n\n\n\n\n# Keyfactor Command Go Client\nThe client is a Golang module for the Keyfactor Command Web API\n\n### Usage\nThis module's primary use is as a client to connect to Keyfactor Command using the Command API. \n\nTo use this module, include\n```github.com/Keyfactor/keyfactor-go-client/pkg/keyfactor```, add at least \none invocation to a function/structure used by the module, then run \n```go mod tidy``` and ```go mod vendor``` to download the package.\n\n#### Example\nLet's suppose that a Go project needs to download a certificate from Keyfactor.\nThe Keyfactor Command Go Client must be initialized by creating and populating an\n`AuthConfig` structure, and passing it to `NewKeyfactorClient`. This\nfunction ensures that the provided configuration data is valid by making a test\ncall to Keyfactor. If no error occurs, a `Client` structure is returned with\nassociated methods for interacting with Keyfactor Command.\n```go\n// Step 1: Create authentication structure\nclientConfig := \u0026keyfactor.AuthConfig{\n    Hostname: HOSTNAME,\n    Username: USERNAME,\n    Password: PASSWORD,\n}\nclient, err := keyfactor.NewKeyfactorClient(clientConfig)\nif err != nil {\n    log.Fatal(err)\n}\n```\n\nNext, an `arguments` structure for the specific API method must be created\ncontaining (at least) the required arguments for the call to Keyfactor Command. In this\nexample, a certificate is being downloaded. In this case, we're assuming that\nthe Keyfactor Command certificate ID is known. Other options can be specified, such as\nthe option to include metadata or deployed locations data. \n```go\n// Step 2: Create arguments structure\ndownloadArgs := \u0026keyfactor.DownloadCertArgs{\n    CertID:       1860,\n    IncludeChain: true,\n    CertFormat:   \"PEM\",\n}\n```\n\nFinally, call the appropriate `keyfactor` method for the required\ntask. In this case, the `DownloadCertificate` method is used. All functions expect (unless otherwise stated) require two \narguments as pointers to an `APIClient`\nstructure and an arguments structure. \n```go\n// Step 3: Call associated function\nresponse, err := client.DownloadCertificate(downloadArgs)\nif err != nil {\n    log.Fatal(err)\n}\n\nfmt.Printf(\"%#v\", response)\n```\n\n### Installation\nAs of now, this module is designed as an imported package, and therefore doesn't\nhave a module directly designed for installation. Future functionality could be\na CLI that uses the module.\n\n### Supported Methods\n* ```EnrollPFX```\n* ```DownloadCertificate```\n* ```EnrollCSR```\n* ```UpdateMetadata```\n* ```RevokeCert```\n* ```DeployPFXCertificate```\n* ```GetCertificateContext```\n* ```RecoverCertificate```\n* ```CreateStore```\n* ```GetCertStoreType```\n* ```DeleteCertificateStore```\n* ```GetCertificateStoreByID```\n* ```AddCertificateToStores```\n* ```RemoveCertificateFromStores```\n* ```GetSecurityIdentities```\n* ```CreateSecurityIdentity```\n* ```DeleteSecurityIdentity```\n* ```GetSecurityRole```\n* ```DeleteSecurityRole```\n* ```CreateSecurityRole```\n* ```UpdateSecurityRole```\n* ```GetTemplate```\n* ```UpdateTemplate```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeyfactor%2Fkeyfactor-go-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeyfactor%2Fkeyfactor-go-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeyfactor%2Fkeyfactor-go-client/lists"}