O Makecert. exe (ferramenta de criação de certificado)

A ferramenta de criação de certificado gera os certificados x. 509 somente para testes. Ele cria um par de chaves público e privado para assinaturas digitais e armazena em um arquivo de certificado. Essa ferramenta também associa o par de chaves de nome do Editor de especificado e cria um certificado x. 509 que vincula a um nome de usuário especificado para a parte pública do par de chaves.

O Makecert. exe inclui opções básicas e estendidas. Opções básicas são aqueles mais comumente usados para criar um certificado. Opções estendidas fornecem mais flexibilidade.

As chaves particulares de certificado geradas por essa ferramenta nunca devem ser armazenadas em arquivos. snk. Se você precisar armazenar uma chave particular, você deve usar um contêiner de chave. Para obter mais informações sobre como armazenar uma chave particular em um recipiente de chave, consulte Como: Armazenar Chaves Asssimétricas em um Contêiner de Chaves.

Observação

Você deve usar um armazenamento de certificados para armazenar com segurança seus certificados.Os arquivos. snk usados por esta ferramenta armazenam chaves particulares de forma desprotegida.Quando você cria ou importa um arquivo. snk, tenha cuidado para protegê-lo durante o uso e removê-lo quando terminar.

A ferramenta de criação de certificado é instalada automaticamente com o Visual Studio. Para iniciar a ferramenta, use o Prompt de comando Visual Studio. No prompt de comando, digite o seguinte:

makecert [options] outputCertificateFile

Argumento

Descrição

outputCertificateFile

O nome do arquivo. cer, onde o certificado x. 509 de teste será gravado.

Opções básicas

Opção

Descrição

-n nome

Especifica o nome do certificado da entidade. Esse nome deve estar de acordo com o padrão x. 500. O método mais simples é especificar o nome entre aspas duplas, precedidas por CN =; Por exemplo, -n "CN = myName".

-pe

Marca a chave particular gerada como exportável. Isso permite que a chave particular a serem incluídos no certificado.

-sk KeyName

Especifica o local de recipiente de chave da entidade, que contém a chave particular. Se um recipiente de chave não existir, ela será criada.

-sr local

Especifica o local de armazenamento de certificado da entidade. local pode ser uma currentuser (padrão) ou localmachine.

-ss armazenar

Especifica o nome de armazenamento do certificado da entidade que armazena o certificado de saída.

-# número

Especifica um número de série de 1 a 2.147.483.647. O padrão é um valor exclusivo gerado pelo Makecert. exe.

-$ autoridade

Especifica a autoridade de autenticação do certificado, deve ser definido de qualquer commercial (para certificados usados por editores de software comercial) ou individual (para certificados usados por editores de software individuais).

-?

Exibe a sintaxe de comando e uma lista de opções básicas da ferramenta.

-!

Exibe uma lista de opções estendidas para a ferramenta e a sintaxe de comando.

Opções estendidas

Opção

Descrição

-a algoritmo

Especifica o algoritmo de assinatura. algorithm must be md5, sha1 (the default), sha256, sha384, or sha512.

-b dd/mm/aaaa

Especifica o início do período de validade. O padrão é a data atual.

-crl

Gera uma lista de realocação de certificados (CRL) em vez de um certificado.

-cy certType

Especifica o tipo de certificado. Os valores válidos são end para a entidade final e authority para a autoridade de certificação.

-e dd/mm/aaaa

Especifica o término do período de validade. Padrões de 31/12/2039 11: 59: 59 GMT.

-eku oid,oid…

Insere uma lista de identificadores de objeto (OIDs) separados por ponto-e-vírgula, maior uso de chave no certificado.

-h número

Especifica a altura máxima da árvore abaixo deste certificado.

-ic arquivo

Especifica o arquivo de certificado do emissor.

-ik keyName

Especifica o nome do recipiente de chave do emissor.

-iky KeyType

Especifica o tipo de chave do emissor, que deve ser uma das seguintes opções: signature(que indica que a chave é usada para uma assinatura digital), exchange (que indica que a chave é usada para criptografia de chave e a troca de chaves), ou um inteiro que representa um tipo de provedor. Por padrão, você pode passar 1 para uma chave de troca ou 2 para uma chave de assinatura.

-in nome

Especifica o nome comum do certificado do emissor.

-ip provedor

Especifica o nome do provedor de CryptoAPI do emissor. Para obter informações sobre o nome do provedor de CryptoAPI, consulte o –sp opção.

-ir local

Especifica o local de armazenamento de certificado do emissor. local pode ser uma currentuser (padrão) ou localmachine.

-is armazenar

Especifica o nome do armazenamento de certificado do emissor.

-iv pvkFile

Especifica o arquivo de chave particular do emissor. pvk.

-iy tipo

Especifica o tipo de provedor de CryptoAPI do emissor. Para obter informações sobre o tipo de provedor de CryptoAPI, consulte o –sy opção.

-l link

Links para informações de diretiva (por exemplo, para um URL).

-len número

Especifica o comprimento da chave gerado, em bits.

-m número

Especifica a duração em meses do período de validade do certificado.

-nscp

Inclui a extensão de autorização de cliente do Netscape.

-r

Cria um certificado auto-assinado.

-scarquivo

Especifica o arquivo de certificado da entidade.

-sky KeyType

Especifica o tipo de chave da entidade, que deve ser uma das seguintes opções: signature(que indica que a chave é usada para uma assinatura digital), exchange (que indica que a chave é usada para criptografia de chave e a troca de chaves), ou um inteiro que representa um tipo de provedor. Por padrão, você pode passar 1 para uma chave de troca ou 2 para uma chave de assinatura.

-sp provedor

Especifica o nome da entidade CryptoAPI provedor, que deve ser definido nas subchaves do registro de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider. Se ambos os –sp e –sy estiver presente, o tipo de provedor deve corresponder a CryptoAPI da Type o valor da subchave de. o provedor

-sv pvkFile

Especifica o arquivo de chave particular da entidade. pvk. O arquivo é criado se não houver nenhum.

-sy tipo

Especifica o tipo de provedor de CryptoAPI da entidade, que deve ser definido nas subchaves do registro de tipos de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider. Se ambos os –sy e –sp estiver presente, o nome do provedor deve corresponder a CryptoAPI da Name o valor da subchave de tipo de provedor.

-tbs

Especifica o certificado ou arquivo CRL a ser assinado.

Exemplos

O comando a seguir cria um certificado de teste emitido pela raiz de teste padrão e grava-o para testCert.cer.

makecert testCert.cer

O comando a seguir cria um certificado emitido pela raiz de teste padrão e salva-o em um armazenamento de certificados.

makecert -ss testCertStore

O comando a seguir cria um certificado emitido pela raiz de teste padrão e salva-o em um armazenamento de certificados. Ele explicitamente coloca o certificado na currentuser do armazenamento.

makecert -ss testCertStore -sr currentuser

O comando a seguir cria um certificado de teste e grava-o para textXYZ.cer, usando o recipiente de chave da entidade e o nome do x. 500. sujeito do certificado

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer 

O comando a seguir cria um certificado emitido pela raiz de teste padrão, cria um arquivo. pvk e gera o certificado para o armazenamento e o arquivo.

makecert -sv testCert.pvk -ss testCertStore testCert.cer

O comando a seguir cria um certificado emitido pela raiz de teste padrão, cria um recipiente de chave e gera o certificado para o armazenamento e o arquivo.

makecert -sk myTestKey -ss testCertStore testCert.cer

O comando a seguir cria um certificado auto-assinado, especifica um nome de assunto de "CN = empresa XYZ", especifica início fim final períodos de validade, coloca a chave do my Especifica uma chave de troca de armazenamento e faz com que a chave particular exportável.

makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my

O comando a seguir cria um certificado auto-assinado que pode ser usado para testar um aplicativo da web que usa o Secure Sockets Layer (SSL) em um servidor da web cuja URL é www.example.com. O OID definido pelo –eku opção identifica se o certificado como um certificado de servidor SSL. O certificado está armazenado na my armazenar e está disponível no nível de máquina (em vez de usuário). A chave particular do certificado é exportável e o certificado é válido a partir de 10 de maio de 2010 até 22 de dezembro de 2011.

Makecert –r –pe –n CN="www.example.com" –b 05/10/2010 –e 12/22/2011 –eku 1.3.6.1.5.5.7.3.1 –ss my –sr localmachine -sky exchange –sp "Microsoft RSA SChannel Cryptographic Provider" –sy 12

Os comandos a seguir criam certificados e salvá-los em armazenamentos. O primeiro comando cria um certificado usando a raiz de teste padrão e salva o certificado para um armazenamento. O segundo comando cria outro certificado usando o certificado recém-criado e salva o segundo certificado para outro armazenamento.

makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore

Os comandos a seguir criam certificados e salvá-los em armazenamentos. O primeiro comando salva o certificado para o my do armazenamento. O segundo comando cria outro certificado usando o certificado recém-criado. Porque há mais de um certificado na my store, o segundo comando identifica o primeiro certificado usando o seu nome comum.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore

Os comandos a seguir criam certificados e salvá-los em arquivos e o armazena. O primeiro comando cria um certificado usando a raiz de teste padrão e salva o certificado para o my armazenar e para um arquivo. O segundo comando cria outro certificado usando o recém-criado testCert.cer certificado. Porque há mais de um certificado na my store, o segundo comando identifica o primeiro certificado usando o nome de arquivo de certificado.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore

Consulte também

Referência

Cert2spc.exe (ferramenta de teste do certificado de editor de Software)

Prompt de comando Visual Studio

Outros recursos

Ferramentas.NET Framework

Histórico de alterações

Date

History

Motivo

Maio de 2010

Revisado exaustivamente.

Comentários do cliente.