Menu
- Certificate Local Computer
- Certificate Manager Vista
- Windows 10 Certificate Store Path
- Local Machine Certificate Manager Job
Adding the snap-in to the a 'blank' MMC instance is the only way I'm aware of to open the machine's certificate store in the management console. You can always save that console, if you'd like, so that you don't have to manually add the snap-in in the future, but the default certmgr.msc saved console has the Certificates snap-in targeted at the user. Dec 30, 2014 Typically when working with certificates we are concerned with the computer certificates so this will be our focus. But the same principles apply to the other contexts as well. We’ve already seen that by typing SET-LOCATION CERT: in PowerShell will access the root of the Certificates data store on the local machine.
-->The Certificate Manager tool (Certmgr.exe) manages certificates, certificate trust lists (CTLs), and certificate revocation lists (CRLs).
The Certificate Manager is automatically installed with Visual Studio. To start the tool, use the Command Prompts.
Note
The Certificate Manager tool (Certmgr.exe) is a command-line utility, whereas Certificates (Certmgr.msc) is a Microsoft Management Console (MMC) snap-in. Because Certmgr.msc is usually found in the Windows System directory, entering
certmgr
at the command line may load the Certificates MMC snap-in even if you have opened the Developer Command Prompt for Visual Studio. This occurs because the path to the snap-in precedes the path to the Certificate Manager tool in the PATH environment variable. If you encounter this problem, you can execute Certmgr.exe commands by specifying the path to the executable.This tool is automatically installed with Visual Studio. To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). For more information, see Command Prompts.
For an overview of X.509 certificates, see Working with Certificates.
At the command prompt, type the following:
Syntax
Parameters
Argument | Description |
---|---|
sourceStorename | The certificate store that contains the existing certificates, CTLs, or CRLs to add, delete, save, or display. This can be a store file or a systems store. |
destinationStorename | The output certificate store or file. |
Option | Description |
---|---|
/add | Adds certificates, CTLs, and CRLs to a certificate store. |
/all | Adds all entries when used with /add. Deletes all entries when used with /del. Displays all entries when used without the /add or /del options. The /all option cannot be used with /put. |
/c | Adds certificates when used with /add. Deletes certificates when used with /del. Saves certificates when used with /put. Displays certificates when used without the /add, /del, or /put option. |
/CRL | Adds CRLs when used with /add. Deletes CRLs when used with /del. Saves CRLs when used with /put. Displays CRLs when used without the /add, /del, or /put option. |
/CTL | Adds CTLs when used with /add. Deletes CTLs when used with /del. Saves CTLs when used with /put. Displays CTLs when used without the /add, /del, or /put option. |
/del | Deletes certificates, CTLs, and CRLs from a certificate store. |
/eencodingType | Specifies the certificate encoding type. The default is X509_ASN_ENCODING . |
/fdwFlags | Specifies the store open flag. This is the dwFlags parameter passed to CertOpenStore. The default value is CERT_SYSTEM_STORE_CURRENT_USER. This option is considered only if the /y option is used. |
/h[elp] | Displays command syntax and options for the tool. |
/nnam | Specifies the common name of the certificate to add, delete, or save. This option can only be used with certificates; it cannot be used with CTLs or CRLs. |
/put | Saves an X.509 certificate, CTL, or CRL from a certificate store to a file. The file is saved in X.509 format. You can use the /7 option with the /put option to save the file in PKCS #7 format. The /put option must be followed by either /c, /CTL, or /CRL. The /all option cannot be used with /put. |
/rlocation | Identifies the registry location of the system store. This option is considered only if you specify the /s option. location must be one of the following: - currentUser indicates that the certificate store is under the HKEY_CURRENT_USER key. This is the default.- localMachine indicates that the certificate store is under the HKEY_LOCAL_MACHINE key. |
/s | Indicates that the certificate store is a system store. If you do not specify this option, the store is considered to be a StoreFile. |
/sha1sha1Hash | Specifies the SHA1 hash of the certificate, CTL, or CRL to add, delete, or save. |
/v | Specifies verbose mode; displays detailed information about certificates, CTLs, and CRLs. This option cannot be used with the /add, /del, or /put options. |
/yprovider | Specifies the store provider name. |
/7 | Saves the destination store as a PKCS #7 object. |
/? | Displays command syntax and options for the tool. |
Remarks
Certmgr.exe performs the following basic functions:
- Displays certificates, CTLs, and CRLs to the console.
- Adds certificates, CTLs, and CRLs to a certificate store.
- Deletes certificates, CTLs, and CRLs from a certificate store.
- Saves an X.509 certificate, CTL, or CRL from a certificate store to a file.
Certmgr.exe works with two types of certificate stores: StoreFile and system store. It is not necessary to specify the type of certificate store; Certmgr.exe can identify the store type and perform the appropriate operations.
Running Certmgr.exe without specifying any options launches the certmgr.msc snap-in, which has a GUI that helps with the certificate management tasks that are also available from the command line. The GUI provides an import wizard, which copies certificates, CTLs, and CRLs from your disk to a certificate store.
You can find the names of X509Certificate stores for the
sourceStorename
and destinationStorename
parameters by compiling and running the following code.For more information about certificates, see Working with Certificates.
Examples
The following command displays a default system store called
my
with verbose output.The following command adds all the certificates in a file called
myFile.ext
to a new file called newFile.ext
.The following command adds the certificate in a file named
testcert.cer
to the my
system store.The following command adds the certificate in a file named
TrustedCert.cer
to the root certificate store.The following command saves a certificate with the common name
myCert
in the my
system store to a file called newCert.cer
.Certificate Local Computer
The following command deletes all CTLs in the
my
system store and saves the resulting store to a file called newStore.str
.Certificate Manager Vista
The following command saves a certificate in the
my
system store in the file newFile
. You will be prompted to enter the certificate number from my
to put in newFile
.