{"id":21898329,"url":"https://github.com/aetherinox/certmgr","last_synced_at":"2026-01-11T03:14:10.950Z","repository":{"id":216932683,"uuid":"742288880","full_name":"Aetherinox/certmgr","owner":"Aetherinox","description":"Utility allows you to install PFX keypairs for Strong Name signing inside a container. It is useful for MSBuild / Visual Studio and works as a replacement for sn.exe (Strong Name manager) and the common issue of registering keypairs with your MSBuild container. ","archived":false,"fork":false,"pushed_at":"2024-08-04T19:46:37.000Z","size":671,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T13:03:00.547Z","etag":null,"topics":["certificates","keypairs","sn-exe","strong-names","strongnames","visual-studio","vs2022","x509"],"latest_commit_sha":null,"homepage":"","language":"C#","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/Aetherinox.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":"2024-01-12T06:29:38.000Z","updated_at":"2024-08-04T19:46:40.000Z","dependencies_parsed_at":"2024-01-13T18:46:36.864Z","dependency_job_id":"7483dd4c-a6de-4bc2-b3c2-dd02fb30d267","html_url":"https://github.com/Aetherinox/certmgr","commit_stats":null,"previous_names":["aetherinox/certmgr","aetherinaux/certmgr"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Fcertmgr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Fcertmgr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Fcertmgr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aetherinox%2Fcertmgr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aetherinox","download_url":"https://codeload.github.com/Aetherinox/certmgr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246669367,"owners_count":20814804,"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":["certificates","keypairs","sn-exe","strong-names","strongnames","visual-studio","vs2022","x509"],"created_at":"2024-11-28T14:25:59.708Z","updated_at":"2026-01-11T03:14:10.902Z","avatar_url":"https://github.com/Aetherinox.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"Docs/images/banner.png\" width=\"860\"\u003e\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e\u003cb\u003eCertificate Manager\u003c/b\u003e\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![Version](https://img.shields.io/github/v/tag/Aetherinox/certmgr?logo=GitHub\u0026label=version\u0026color=ba5225) ![Downloads](https://img.shields.io/github/downloads/Aetherinox/certmgr/total) ![Repo Size](https://img.shields.io/github/repo-size/Aetherinox/certmgr?label=size\u0026color=59702a) ![Last Commit)](https://img.shields.io/github/last-commit/Aetherinox/certmgr?color=b43bcc)\n\n\u003c/div\u003e\n\n---\n\n\u003cbr /\u003e\n\n# About\n\n`certmgr` is a utility which aims to replace `sn.exe` (the Strong Name Utility).\n\nThe primary use behind it is an error that people will often find themselves running across when attempting to sign their Visual Studio projects:\n\n\n\u003e [!WARNING]  \n\u003e Cannot import the following key file: your_keyfile.pfx. The key file may be password protected. \n\u003e \n\u003e To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: \n`VS_KEY_ABCDEF1234567000`\n\n\u003cbr /\u003e\n\nThe above error can occur either when you're attaching a new keypair to your project, or wanting to replace / update an existing keypair.\n\nTypically to correct this, you would utilize `sn.exe` and execute the command:\n\n```shell\nsn -i \u003cPFX_KEYFILE\u003e \u003cCONTAINER_ID\u003e\n```\n\nHowever, many users (and myself) have ran across the issue that this command does not rectify the issue.\n\n`certmgr.exe` makes registering your certificate easier by executing\n\n```shell\n./certmgr.exe --install your_keyfile.pfx \"CERT_PFX_PASSWORD\" VS_KEY_XXXXXXXXXXXXXXXX\n```\n\nYou should then be able to successfully build your project and sign it with your new key.\n\n\u003cbr /\u003e\n\nFull [commands](#commands) listed below with [examples](#syntax)\n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n# Dependencies\nThis console application has a few dependencies depending on your needs.\n\n\u003cbr /\u003e\n\n| Dependency | Description |\n| --- | --- |\n| `certutil` | \u003cbr /\u003e[Certutil](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/certutil) is required for CertMgr **Delete** and **List** functionality.\u003cbr /\u003e\u003cbr /\u003eCertutil should come with windows and is part of the Windows Certificate service. \u003cbr /\u003e\u003cbr /\u003eYou should already have it with your operating system. \u003cbr /\u003e\u003cbr /\u003e|\n| `signtool` | \u003cbr /\u003eThe [Sign Tool](https://learn.microsoft.com/en-us/windows/win32/seccrypto/signtool) is required if using the CertMgr **Sign** functionality. \u003cbr /\u003e \u003cbr /\u003e Can be installed from the [Windows 10 SDK / Windows 11 SDK / Windows Kit](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/), or [Visual Studio](https://visualstudio.microsoft.com/downloads/). \u003cbr /\u003e \u003cbr /\u003e |\n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n# Commands\n\nThe following information displays the command syntax for certmgr.exe\n\n\u003cbr /\u003e\n\n### Flags\n\n| Flag | Description |\n| --- | --- |\n| `-n, --info` | Show information about a specified PFX keyfile |\n| `-l, --list` |  List all certificates and containers |\n| `-i, --install` |  Install PFX keyfile and register with container |\n| `-s, --sign` |  Sign binary / dll with key using signtool |\n| `-d, --delete` |  Delete keyfile for specified container id |\n| `-x, --deleteall` |  Delete all keys for all containers |\n\n\u003cbr /\u003e\n\n### Syntax\n| Command | Description |\n| --- | --- |\n| `certmgr -n \u003cPFX_FILE\u003e` | Show information about a specified PFX keyfile  |\n| `certmgr -i \u003cPFX_FILE\u003e \u003cPFX_PASSWD\u003e` | Install PFX keyfile |\n| `certmgr -i \u003cPFX_FILE\u003e \u003cPFX_PASSWD\u003e \u003cCONTAINER_ID\u003e` | Install PFX keyfile for Visual Studio project container |\n| `certmgr -l` | List all certificates |\n| `certmgr -d \u003cCONTAINER_ID\u003e` | Delete key for specified container id |\n| `certmgr -x` | Delete all keys for all containers |\n| `certmgr -s \u003cPFX_THUMBPRINT\u003e \u003cFILE_TO_SIGN\u003e` | Sign binary / dll with key using signtool |\n\n\u003cbr /\u003e\n\n---\n\n\u003cbr /\u003e\n\n# Previews\n\n\u003cp align=\"center\"\u003e\u003cimg style=\"width: 85%;text-align: center;border: 1px solid #353535;\" src=\"Docs/images/1.png\"\u003e\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faetherinox%2Fcertmgr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faetherinox%2Fcertmgr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faetherinox%2Fcertmgr/lists"}